majoritatea sistemelor de operare sunt proiectate pentru multitasking. Aceasta înseamnă că mai multe procese vor rula în același timp. Dar realitatea este că fiecare procesor rulează sau execută doar o activitate sau o comandă la un moment dat. Fiecare sistem de operare vine cu un planificator. Acesta este un centru de comandă programat care acordă prioritate prin comutarea acțiunilor în funcție de rezultatele anticipate.
definiția unui software în timp real este una care vine cu un planificator care decide ce activitate ar trebui să aibă loc la un anumit moment. De fapt, toate dispozitivele de calculator vin cu programatori, dar executarea lor nu este avansat. Facilități complexe, cum ar fi instalațiile de producție necesită o mai mare precizie, viteză și personalizare.
de ce să alegeți software-ul în timp real?
într-un mediu de producție, mai multe sarcini au loc simultan. Aveți nevoie de un programator pentru a determina ce acțiune are prioritate și care trebuie să aștepte. Proiectarea software-ului în timp real (RTS) trebuie să garanteze determinismul. Acest lucru poate fi, de asemenea, considerat predictibilitate. Aceasta este programarea care determină sarcina care are preferință. Nerespectarea unei comenzi rezonabile duce la rezultate negative.
există un element de termen pentru fiecare RTS. În timpul programării, sistemul trebuie să răspundă la o comandă într-un interval de timp stabilit. Lipsa acestui termen poate fi catastrofală, ca în cazul implementării unui airbag, sau poate aduce pur și simplu rezultate nedorite, ca în producția în care calitatea unui produs este redusă.
ce determină software-ul de înaltă calitate în timp real?
programarea a dat naștere la numeroase aplicații care pot fi utilizate în scopuri de automatizare. În general, software-ul în timp real este o aplicație a cărei performanță este considerată actuală sau imediată de către utilizator. Cu toate acestea, câțiva factori determină dacă se califică drept RTS sau nu.
- timpul de execuție cel mai rău caz (WCET): aceasta este extrema la care o aplicație dezamăgește utilizatorul. Ar trebui să fie cât mai puțin posibil.
- timpul necesar pentru a executa o sarcină: Tehnologia și automatizarea sunt concepute pentru a reduce timpul necesar executării anumitor sarcini. Timpul trebuie sincronizat sau aliniat la alte sarcini care sunt legate. Aici, viteza nu este la fel de importantă ca sincronizarea activităților.
- Numărul de sarcini pe o platformă hardware: software-ul ar trebui să efectueze cât mai multe sarcini posibil folosind hardware limitat. Acest lucru se potrivește cu obiectivele de calcul și este principiul din spatele multitasking-ului.