- Ano ang RTOS?
- Bakit RTOS ??
- Pagkakaiba sa pagitan ng Real time Operating System at Operating System
- Mga uri ng RTOS
- Mga pakinabang ng paggamit ng libreng RTOS
- Ang ilang mga pangunahing isyu na nauugnay sa RTOS
- Paano gamitin ang RTOS
Ang mga naka-embed na system ay may malawak na hanay ng aplikasyon sa lahat ng mga elektronikong aparato sa paligid natin, isang maliwanag na halimbawa ay ang mini laptop na dinadala namin sa amin sa lahat ng oras, oo tumutukoy ako sa aming mga mobile phone.
Kailan man ang naka-embed na system ay nasa larawan laging ito ay isang kumbinasyon ng hardware tulad ng Microcontrollers o Microprocessors at software tulad ng isang firmware o operating system. Ang isang Operating System ang bumubuo sa base ng lahat ng mga electronics device at pinamamahalaan ang parehong hardware at software sa loob ng anumang elektronikong aparato. Ang term operating system ay hindi lamang limitado sa Unix at Windows para sa mga computer ngunit maaari ring mapalawak sa mga microcontroller. Ang isang tulad ng operating system na maaaring tumakbo sa Microcontrollers ay tinatawag na Real time operating system. Malalaman dito ang tungkol sa RTOS at mga aplikasyon ng real time operating system.
Ano ang RTOS?
Ang real time operating system na kilalang kilala bilang RTOS ay nagbibigay ng controller na may kakayahang tumugon sa pag-input at kumpletuhin ang mga gawain sa loob ng isang tukoy na tagal ng oras batay sa priyoridad. Sa unang pagtingin, ang isang RTOS ay maaaring tunog tulad ng anumang iba pang naka-embed na programa o firmware, ngunit ito ay itinayo sa arkitektura ng isang operating system. Samakatuwid, tulad ng anumang operating system na RTOS ay maaaring payagan ang maraming mga programa upang maisagawa nang sabay-sabay na sumusuporta sa multiplexing. Tulad ng alam natin ang core ng isang processor o controller ay maaari lamang magpatupad ng isang solong tagubilin sa bawat oras, ngunit ang RTOS ay may tinatawag na schedulerna nagpapasya kung aling tagubilin ang naisakatuparan muna at sa gayon ay isinasagawa ang mga tagubilin ng maraming mga programa nang sunud-sunod. Teknikal na isang RTOS ay lumilikha lamang ng isang ilusyon ng multi-pagkuha sa pamamagitan ng pagpapatupad ng mga paralleled na tagubilin nang paisa-isa.
Ginagawa nitong angkop ang RTOS para sa iba't ibang mga application sa totoong mundo. Sa RTOS para sa anumang input tuwing ang isang lohika ay nasuri na nagbibigay ng kaukulang output. Ang lohika na ito ay sinusukat sa batayan ng hindi lamang ang lohikal na pagiging masalimuot ngunit pati na rin sa tagal ng oras kung saan naisagawa ang tiyak na gawain. Kung ang isang system ay nabigo sa pagsasagawa ng gawain sa tiyak na tagal ng oras na ito ay kilala bilang kabiguan ng system.
Bakit RTOS ??
- Ang pagkakaroon ng mga driver: Maraming mga driver na magagamit sa loob ng RTOS, na nagbibigay-daan sa amin upang direktang gamitin ang mga ito para sa iba't ibang mga application.
- Naka-iskedyul na mga file: Pinangangalagaan ng RTOS ang pag-iiskedyul kaya sa halip na tumuon sa pag-iiskedyul ng anumang system maaari lamang kaming mag-focus sa pagbuo ng application. Halimbawa, ginagamit ang mga file ng pag-iiskedyul ng gawain upang tukuyin ang ilang mga pagkilos tuwing natutugunan ang isang hanay ng mga kundisyon. Gumagamit ang RTOS ng ilang mga advanced na algorithm para sa pag-iiskedyul ng karaniwang tumatakbo, handa at naka-block na mga estado na habang tumatakbo ang RTOS ay pinapanatili ang higit na pagtuon sa pagbuo ng application kaysa sa pag-iiskedyul.
- Kakayahang umangkop ng pagdaragdag ng mga tampok: Sa loob ng RTOS kahit na handa kang magdagdag ng mga bagong tampok, maaari mo lamang itong idagdag nang hindi nakakagambala sa mga mayroon nang tampok
Pagkakaiba sa pagitan ng Real time Operating System at Operating System
Mayroong iba't ibang mga pagkakaiba sa pagitan ng real time operating system at mga operating system tulad ng Windows, Linux atbp. Tingnan natin sila isa-isa sa tulong ng format ng talahanayan:
S.Hindi | Operating System | Sistema ng real time |
1 | Ang pagbabahagi ng oras ay ang batayan ng pagpapatupad ng mga proseso sa operating system | Ang mga proseso ay naisakatuparan batay sa pagkakasunud - sunod ng kanilang priyoridad |
2 | Ang operating system ay kumikilos bilang isang interface sa pagitan ng hardware at software ng isang system | Ang real time system ay dinisenyo upang maipatupad ito para sa mga totoong problema sa mundo |
3 | Ang pamamahala ng memorya ay hindi isang kritikal na isyu pagdating sa pagpapatupad ng operating system | Ang pamamahala ng memorya ay mahirap na batay sa real time na isyu ng memorya ay inilalaan, na mismong kritikal |
4 | Mga Aplikasyon: Opisina, Data center, System para sa bahay atbp | Mga Aplikasyon: Pagkontrol ng sasakyang panghimpapawid o reactor ng nukleyar, mga kagamitan sa pagsasaliksik ng pang-agham |
5 | Mga halimbawa: Microsoft Windows, Linux, OS | Mga halimbawa: Gumagawa ang Vx, QNX, Windows CE |
Mga uri ng RTOS
Maaari naming ikategorya ang real time operating system nang higit sa lahat sa tatlong bahagi na
- Hard operating system ng real time
- Malambot na operating system ng real time
- Firm real time operating system
1. Hard operating system ng real time
Simulan nating maunawaan ang ganitong uri ng operating system gamit ang isang halimbawa, ang live na halimbawa nito ay ang flight control system. Sa loob ng system ng pagkontrol ng flight ano mang mga gawain na ibinibigay ng piloto sa anyo ng isang input dapat itong isagawa sa oras. Sa isang mahirap na real time na operating system, ang mga pagkabigo ng system ay maaaring tiisin. Ang mga tampok ng matapang na RTOS ay:
- Upang maisagawa ang mga gawain sa oras
- Ang pagkabigo upang matugunan ang deadline ay nakamamatay
- Garantisadong mas masahol na oras ng pagtugon ng kaso
- Maaaring humantong sa pagkabigo ng system
2. Soft real time operating system
Ang pinakamadaling halimbawa ng paggamit ng malambot na RTOS ay online database, tulad ng sa loob ng malambot na RTOS ang parameter na mas pinag-aalala namin ay ang bilis. Samakatuwid, ang mga tampok ng malambot na RTOS ay:
- Dapat gampanan ang mga gawain nang mas mabilis hangga't maaari
- Ang huli na pagkumpleto ng mga gawain ay hindi kanais-nais ngunit hindi nakamamatay
- Mayroong posibilidad ng pagkasira ng pagganap
- Hindi maaaring humantong sa pagkabigo ng system
3. Matibay na real-time na operating system
Ang braso ng robot na ginagamit upang pumili ng mga bagay ay maaaring isaalang-alang bilang kabilang sa isa sa mga halimbawa ng matatag na RTOS. Dito, sa loob ng firm na ito ng RTOS kahit na naantala ang proseso ay disimulado ito.
Mga pakinabang ng paggamit ng libreng RTOS
Ang mga sumusunod ay ang kalamangan ng paggamit ng RTOS sa iyong mga aplikasyon.
- Walang isyu sa firewall
- Mababang bandwidth para sa pinahusay na pagganap
- Pinahusay na seguridad at privacy
- Mababang gastos, dahil sa pagbawas sa mga bahagi ng hardware at software na ginamit para sa pag-unlad
Ang ilang mga pangunahing isyu na nauugnay sa RTOS
Ngayon, sa kabila ng pagkakaroon ng maraming kalamangan para sa RTOS sa totoong aplikasyon ng mundo, mayroon din itong iba't ibang mga kawalan. Ang ilan sa mga isyu na nauugnay dito ay tinalakay dito.
- Karaniwang ginagamit ang mga pagkagambala sa mga programa upang ihinto ang pagpapatupad ng programa upang mailipat ang daloy sa ilang ibang mahahalagang bahagi ng code. Dito, sa loob ng RTOS dahil kinakailangan ng mabilis na oras ng pagtugon; inirerekumenda na ang mga pagkagambala ay dapat na hindi pinagana para sa isang minimum na posibleng oras.
- Dahil, ang kernel ay dapat ding tumugon para sa iba't ibang mga kaganapan kinakailangan na magkaroon ng mas maliit na sukat ng kernel upang ito ay dapat magkasya nang maayos sa loob ng ROM
- Ang mga sopistikadong tampok ng RTOS ay dapat na alisin dahil walang konsepto ng tulad ng virtual memory sa loob nito.
Paano gamitin ang RTOS
Ngayong alam mo na kung ano ang RTOS at kung saan mo ito magagamit, upang makapagsimula sa RTOS ay karaniwang kailangan mong gamitin ang Tornado o ang FreeRTOS development environment. Tingnan natin ang isang maikling pagtingin sa parehong kapaligiran sa pag-unlad na ito.
Tornado - VxWorks
Ang buhawi ay isang pinagsamang kapaligiran upang makabuo ng real time na may kaugnayan sa naka- embed na mga aplikasyon ng RTOS sa target na sistema. Ang buhawi ay binubuo ng tatlong pangunahing mga elemento na nakalista sa ibaba.
1) VxWorks
2) Mga tool sa pagbuo ng application (tagatala at nauugnay na mga programa)
3) Pinagsamang kapaligiran sa pag-unlad, na maaaring pamahalaan, i-debug at subaybayan ang aplikasyon ng VxWorks
Ang VxWorks ay isang network na operating system ng real time. Upang magsimula sa VxWorks dapat mayroon kaming isang development kit (target) kasama ang isang workstation. Dito, ang development kit ay walang iba kundi ang target na host o sangkap na nakikipag-usap sa target na server sa workstation. Ang target dito ay nagkokonekta sa mga tool ng buhawi tulad ng shell at debugger. Samakatuwid, gamit ang VxWorks mai-configure namin at maitayo ang mga system habang binibigyan kami ng Tornado ng isang graphic na interface ng gumagamit at mga tool ng command line para sa pagsasaayos at pagbuo.
Napakahalagang punto na nagmumula sa larawan dito ay habang nag-i-install ng buhawi sa loob ng iyong system ang direktoryo ng pag-install ay dapat gumamit ng mga pathname bilang:
installDir / target. Halimbawa kung nais mong itabi ang iyong buhawi sa C: \ buhawi sa isang windows host ang buong pathname ay dapat makilala sa kasong iyon bilang installDir / target / h / vxworks.h.
Dito, hindi namin tatalakayin nang detalyado ang tungkol sa mga tampok ng mga gawa ng Vx (iiwan namin iyon para sa susunod na tutorial) ngunit tatalakayin namin kung paano magagawa ang pag-unlad gamit ang C ++ sa loob ng Vxworks gamit ang WindRiver GNU. Tinutulungan kami ng WindRiver GNU sa pagbibigay ng isang graphic na pagtatasa patungkol sa nakakagambalang kasangkot habang isinasagawa pati na rin ang ulat sa paggamit ng memorya.
Halimbawa, ang nakasaad sa itaas na pagtingin sa WindRiver ay nagpapaliwanag ng kaugnay na numero ng processor kasama ang priyoridad ng mga gawain (tLowPri & tHighPri). Ang estado ng iddle ie berdeng linya ng kulay ay nakasaad sa tagal ng panahon kung saan ang processor ay wala sa estado ng pagtatrabaho, na sinusunod pagkatapos ng bawat ilang segundo. Ang t1, t7, t8 & t9 ay walang iba kundi ang iba`t ibang ginamit na mga processor. Dito, pinili lamang namin ang t7 processor.
Samakatuwid, ang Windriver na ito ay may kakayahang mag-apply ng parehong VxWorks at mga application subroutine ng application. Maaari mong ilunsad ang application ng Windriver alinman sa form ng buhawi ng tool sa paglulunsad ng buhawi (-> i button) mamaya mag-click sa menu at pagkatapos ay mag-click sa shell. Panghuli, mula sa command prompt na uri ng "> windsh target server".
Ngayon upang mag-program gamit ang C ++, mahalagang isama ang INCLUDE_CPLUS_DEMANGLER na sangkap, pinapayagan ng bahagi ng demangler na ito ang mga simbolo ng target na shell na ibalik ang nababasa ng tao na mga form ng mga simbolong C ++. Bago, mag-download ng module ng C ++ sa target ng Vxworks, sundin ang proseso na kilala bilang munching. Dito, tumutukoy ang munching sa karagdagang hakbang sa pagproseso ng host.
Compile C ++ application source program at kumuha ng halimbawang hello.cpp file. Sa paglaon ay patakbuhin ito upang madiin ang.o at ipagsama ang nabuong ctdt.c file. Dagdag dito, i-link ang application sa ctdt.o upang makabuo ng nada-download na module, hello.out sa loob ng VxWorks. Ang output pagkatapos maipatupad ang VxWorks na ito ay magiging isang file na gagamitin sa ilang target.
Libreng RTOS
Pangkalahatan, tuwing nagsisimula kami sa RTOS sa pangkalahatan ay ginugusto namin ang Vx Works RTOS. Ngunit, narito tayo ng isang talakayan sa maikling tungkol sa Libreng RTOS, na maaari ring magamit ng mga nagsisimula upang dumaan sa konsepto ng real time operating system. Ang libreng RTOS ay binuo ng koponan ni Richard Barry at FreeRTOS, pagmamay-ari din ng Real time engineers ltd ngunit ito ay malayang gamitin at maaaring mai-download lamang sa pamamagitan ng pag-click sa link sa ibaba
Mag-download ng Libreng ROTS
Ang pinakabagong bersyon ng libreng RTOS na ginagamit sa oras ng artikulong ito ay bersyon 10, na nakasaad bilang FreeRTOS V10.
Ang pinakamalaking bentahe ng libreng RTOS na ginagawang higit na mataas sa mga tuntunin ng iba pang RTOS ay ang platform independiyenteng pag- uugali sa mga tuntunin ng hardware ie ang c code na gagamitin namin upang magpatupad ng isang operating system na maaaring tumakbo sa iba't ibang mga platform na may iba't ibang arkitektura. Samakatuwid hindi alintana kung gumagamit ka ng 8051 microcontroller o ilang pinakabagong ARM microcontroller na ang code na iyong isinulat kasama ang proseso ng pagpapatupad ay magkatulad para sa pareho.
Maraming iba pang mga benepisyo ng paggamit ng libreng RTOS sa mga gawa sa Vx at iba pang mga tool sa pagpapatakbo ng RTOS. Ang ilan sa kanila ay maaaring sabihin bilang:
- Nagbibigay ng mas madaling pagsubok
- Nagtataguyod ng konsepto ng muling paggamit ng code
- Mas kaunting oras ng idle
- Madaling mapanatili
- Abstract ang impormasyon sa tiyempo
Gayundin, ang pangunahing Kernel, kung saan ang Kernel ay tumutukoy sa gitnang bahagi ng isang operating system na naroroon sa loob ng libreng RTOS na ginagawang ma-access upang magamit para sa iba't ibang mga application. Dahil madali itong maglakip ng pinalawak na mga module sa mga operating system upang makuha ang mas maraming mga aplikasyon nang walang bayad na RTOS ay nagiging mas malakas.
Ang isa sa mga halimbawa ng paggamit ng libreng RTOS ay maaaring ipaliwanag sa pamamagitan ng paggamit ng konsepto ng pagsasama ng Libreng RTOS sa Nabto. Ang Nabto ay isang libreng web device na ginagamit upang ilipat ang impormasyon mula sa aparato sa browser.
Samakatuwid sa pagsasama-sama ng Libreng RTOS sa Nabto ay ginagawang isang maliit na piraso ng C code tulad ng ipinaliwanag sa pigura a. Ngayon ang isang araw na Internet of Things (IOT) ay nasa takbo at bawat IOT na aparato na maa-access namin ay may isang natatanging URL sa internet at pinapayagan ng teknolohiya ang ligtas at labis na mababang bandwidth point upang ituro ang mga koneksyon. Sa kawalan ng pagkakakonekta sa internet ang kombinasyon na ito ay maaaring maging kapaki-pakinabang. Samakatuwid, ang libreng RTOS ay isang tanyag na pagpipilian pagdating sa pagpapatupad ng IOT.