Analiza comparativă a sistemelor de operare ale familiilor Windows și Mac OS. Scurt rezumat al proiectului. Noi sisteme de operare

Publicat: 01/06/2006
Versiunea text: 1.0

1. Descrierea generală a sistemelor de operare în timp real

Baza oricărui complex hardware și software, inclusiv a celor care funcționează în timp real, este sistemul de operare (OS). Un sistem de operare este un set de programe care asigură gestionarea resurselor unui complex hardware-software (sistem informatic) și procese care utilizează aceste resurse în calcule. O resursă în acest context este orice componentă logică sau fizică (și în totalitate) a unui sistem de calcul sau a unui complex hardware și software și capabilitățile pe care le oferă.

Principalele resurse sunt procesorul (timp de procesare), RAM și dispozitivele periferice.

Managementul resurselor se rezumă la îndeplinirea următoarelor sarcini: simplificarea accesului la resurse, distribuirea acestora între procese.

Rezolvarea primei probleme vă permite să „ascundeți” caracteristicile hardware ale sistemului de calcul și, astfel, să oferiți utilizatorului sau programatorului o mașină virtuală cu o gestionare semnificativ mai ușoară.

Astfel, sistemul de operare acceptă următoarele interfețe: utilizator ( limbajul de comandă să gestioneze funcționarea sistemului și a unui set de servicii); software (un set de servicii care eliberează programatorul de operațiunile de rutină de codare).

Funcția de distribuție a resurselor este una dintre cele mai importante sarcini rezolvate de sistemul de operare, dar nu este inerentă tuturor sistemelor de operare, ci doar celor care asigură executarea simultană a mai multor programe (procese).

Un proces este o secvență de acțiuni prescrise de un program sau de partea sa completă logic, precum și de date utilizate în calcule. Un proces este unitatea minimă de muncă pentru care sunt alocate resurse.

În prezent, există o mare varietate de sisteme de operare, care sunt clasificate după următoarele criterii:

    numărul de utilizatori deserviți simultan de sistem;

    numărul de procese care pot rula simultan sub controlul sistemului de operare;

    tipul de acces al utilizatorului la sistem;

    tip de complex hardware și software.

În conformitate cu primul semn, se disting sistemele de operare cu un singur utilizator și multi-utilizator. A doua caracteristică împarte sistemul de operare în single și multi-tasking.

În conformitate cu a treia caracteristică, sistemele de operare sunt împărțite în:

    sisteme de procesare în loturi. În acest caz, se formează un pachet din programele care urmează să fie executate și prezentate sistemului pentru procesare. În acest caz, utilizatorii nu interacționează direct cu sistemul de operare;

    sisteme de partajare a timpului, oferind acces interactiv simultan la sistemul informatic al mai multor utilizatori prin terminale. În acest caz, resursele de sistem sunt alocate fiecărui utilizator „la rândul său”, în conformitate cu una sau alta disciplină de serviciu;

    sisteme în timp real, care ar trebui să ofere un timp de răspuns garantat la evenimente externe (a se vedea mai jos pentru mai multe detalii).

A patra caracteristică împarte sistemul de operare în unic și multiprocesor, în rețea și distribuit. Pentru sistemele de operare multi-utilizator și multitasking, disciplina de întreținere este un indicator important. În conformitate cu aceasta, se face o distincție între modurile preventive și de coordonare de lucru multitasking. Într-o organizație preventivă, numai sistemul de operare este responsabil pentru alocarea timpului procesorului sarcinilor (de exemplu, pentru fiecare sarcină, un procesor este alocat pe rând și pentru o perioadă de timp strict fixă, dar este posibilă și service-ul prioritar). În cazul unei organizații de potrivire, fiecare sarcină, după ce a primit controlul, determină ea însăși când să „da” procesorul unei alte sarcini.

În general, coordonarea este mai eficientă și mai fiabilă decât preempțiunea, dar factorul determinant la implementarea programelor este faptul că un anumit program nu ar trebui să folosească exclusiv timpul procesorului.

În prezent, există un număr mare de tipuri de sisteme de operare, dar în cele ce urmează va fi luat în considerare doar sistemul de operare RT.

Mai întâi trebuie să definim un sistem în timp real.

Sistem în timp real(SRV) este un sistem a cărui funcționare corectă depinde nu numai de corectitudinea logică a calculelor, ci și de timpul în care se fac aceste calcule.

Pentru evenimentele care au loc într-un astfel de sistem, momentul la care au loc aceste evenimente și corectitudinea lor logică sunt importante.

Un sistem funcționează în timp real dacă performanța sa este adecvată vitezei proceselor fizice la obiectele de monitorizare sau control (adică procese legate direct de funcțiile îndeplinite de un anumit sistem în timp real). Sistemul de control trebuie să colecteze date, să le prelucreze conform unor algoritmi specificați și să emită o acțiune de control într-o perioadă de timp care să asigure îndeplinirea cu succes a sarcinilor atribuite.

1.1 Ce este un sistem în timp real

Recent, din ce în ce mai des ne confruntăm cu sarcini care necesită gestionarea unor procese sau echipamente complexe cu ajutorul unui computer. Mai mult, toate evenimentele din aceste procese au loc atunci când au loc. Un computer poate efectua doar un număr finit de operații într-un timp finit, așa că se pune întrebarea: va avea computerul timp să calculeze situația la viteza necesară și să emită acțiuni de control specifice care ar fi adecvate la un anumit moment în timp. Dupa parerea mea problemele acest fel a apărut din utilizarea vitezei foarte mari în producția modernă. Este clar că semnalele în natură se propagă cu o viteză finită, viteza de funcționare este, de asemenea, finită, prin urmare este fundamental imposibil să ne așteptăm la acțiuni instantanee (cauzate de un anumit eveniment) de la un computer. La urma urmei, oricât de modern (a se citi - puternic în performanță, de exemplu. de mare viteză procesarea comenzilor și operațiunilor), indiferent de ce computer este, fizic are nevoie de cel puțin o fracțiune de secundă pentru a executa un mic grup simplu de comenzi și, uneori, această dată este prea mult. Astfel, timpul de reacție al sistemului la un eveniment este strict mai mare decât zero. Sarcinile reale permit o anumită întârziere în acțiuni și, dacă sistemul are un timp de reacție mai mic decât această întârziere acceptabilă, atunci este corect să-l numim un sistem în timp real. Deoarece în natură procese diferite au loc la viteze diferite, același sistem se poate încadra în cadrul dat pentru un proces și nu se poate potrivi pentru altul. Astfel, are sens să vorbim despre un sistem în timp real în legătură cu o anumită sarcină. De exemplu, pentru a reprezenta un grafic dependența temperaturii medii a aerului pentru o zi în ziua săptămânii, aproape orice computer cu aproape orice software va funcționa ca un sistem în timp real. Dacă controlăm aterizarea unei aeronave, unde milisecundele joacă un rol semnificativ, ar fi mai potrivit să alegem cu atenție hardware și software.

Pe lângă sarcina considerată de a răspunde la un anumit eveniment, există și alte clase de sarcini în timp real. Una dintre cele întâlnite frecvent este sarcina de a monitoriza sau controla constant un proces dinamic, adică. atunci când trebuie să schimbi continuu semnale cu lumea exterioară. Un computer este un sistem discret, deci este necesar să se efectueze unele acțiuni cu anumite perioade finite de timp, presupunând că în aceste perioade scurte de timp lumea exterioară rămâne neschimbată. Dacă sistemul nostru este capabil să proceseze informații și să producă semnale de control la frecvența necesară, atunci poate fi numit sistem în timp real. Nu este greu de înțeles că această problemă poate fi ușor redusă la cea anterioară, folosind începutul următorului interval de timp ca eveniment. Timpul de reacție trebuie să fie mai mic decât timpul de eșantionare al procesului. Astfel, sarcina descrisă mai devreme este cea mai importantă când vine vorba de sisteme în timp real. Trebuie remarcat faptul că funcționarea nesatisfăcătoare a sistemului din punct de vedere al latenței în unele sarcini poate duce la consecințe fatale, iar în altele nu vor apărea situații anormale sau nedorite. De exemplu: dacă sistemul de măsurare a temperaturii din exemplul descris mai sus ajunge accidental cu întârziere într-un interval de timp inacceptabil, atunci aceasta înseamnă că am schimbat pur și simplu selecția punctelor de citire a temperaturii și vom obține în continuare rezultatul corect, dar dacă automatul apropierea unui avion de pasageri este întârziată accidental pentru o secundă la o rafală bruscă de vânt, avionul poate să nu ajungă pe pistă și zeci de oameni vor muri. Astfel, sistemele ar trebui împărțite în sisteme hard și soft în timp real.

Sistem greu de timp real este un sistem în care incapacitatea de a oferi un răspuns la orice eveniment la un moment dat este un eșec și duce la imposibilitatea rezolvării sarcinii. Timpul de reacție în sistemele hard în timp real ar trebui să fie minim. Cele mai multe sisteme hard-time real sunt sisteme de monitorizare și control. Astfel de RTS sunt dificil de implementat, deoarece sunt supuse unor cerințe speciale de securitate.

Definiție exactă moale în timp real nu există, așa că putem include aici toate SRV-urile care nu se încadrează în categoria celor dure. Astfel, un sistem soft în timp real s-ar putea să nu poată face totul într-un timp dat, așa că se pune problema stabilirii criteriilor pentru succesul (normalitatea) funcționării sale.

În plus, RTS poate fi împărțit în sisteme specializate și universale.

De specialitate SRV este un sistem în care cerințele specifice de timp sunt inițial determinate. Un astfel de sistem trebuie să fie proiectat special pentru a îndeplini aceste cerințe.

universal SRV trebuie să poată îndeplini sarcini temporare arbitrare (predeterminate în prealabil) fără a utiliza echipamente speciale. Dezvoltarea unor astfel de sisteme este cea mai dificilă sarcină, deși, de obicei, cerințele pentru astfel de sisteme sunt mai blânde decât cerințele pentru sistemele specializate.

1.2 Cerințe de bază pentru SRV

    capacitatea de a efectua mai multe sarcini în paralel;

    predictibilitate;

    timpul de răspuns maxim (nu mediu) la un eveniment este important;

    cerințe speciale în materie de siguranță;

    Posibilitatea de funcționare fără probleme pentru o perioadă lungă de timp.

1.3 Caracteristicile generale ale SRV

    sisteme mari și complexe;

    sisteme distribuite;

    interacțiune rigidă cu echipamentul;

    îndeplinirea sarcinilor depinde de timp;

    complexitatea testării.

RTS trebuie să răspundă la diferite tipuri de evenimente interne și externe (periodice și neperiodice). Trebuie remarcat faptul că dacă un sistem aparține clasei SRV nu are nimic de-a face cu performanța sa. Cerințele inițiale pentru timpul de răspuns a sistemului și alți parametri de timp sunt determinate fie de specificațiile tehnice ale sistemului, fie pur și simplu de logica funcționării acestuia. Este clar intuitiv că viteza proceselor de la unitatea de monitorizare și control ar trebui să fie mai mare, cu atât mai mare este viteza proceselor de la unitatea de monitorizare și control.

1.4 Modalități de utilizare a sistemului de operare

5 tipuri sisteme de operare:

    Sistemul de operare clasic. Win NT, Linux și Unix.

    Sistem de operare clasic cu extensie RT (Win NT - RTX, RT Linux, RT Unix)

    Sistem de operare propriu RV. Orice programator își poate crea propriul RTOS folosind mai multe metode existente la momentul scrierii: creați un sistem de operare bazat pe o platformă existentă potrivită în acest scop sau scrieți-l de la zero. Au fost publicate multe cărți pe această temă, atât în ​​format hârtie, cât și în format electronic, care descriu principiile dezvoltării unor astfel de sisteme, etapele principale, prevederile, punctele fundamentale etc. Un exemplu de astfel de literatură ar putea fi cartea numărul 2 din lista de referințe de la sfârșitul rezumatului.

    OS comercial. Un exemplu ar fi sisteme precum VxWorks, OS9 etc. Trebuie remarcat faptul că astfel de sisteme sunt foarte scumpe. De exemplu, costul unui pachet complet VxWorks OS (Tornado 1.0) în 2002 a fost de aproximativ 15.000 USD. Cu toate acestea, de-a lungul anilor, un astfel de sistem a devenit semnificativ mai ieftin - astăzi costul său este de aproximativ 10.000 USD (Tornado versiunea 2.0 și mai mare - costul total depinde de componentele selectate).

Pentru mai mult considerație detaliată Capacitățile RTOS sunt date cifre orientative, dând o idee despre ordinea timpului de răspuns și sistemele de operare adecvate. Acest tabel este format pe baza datelor experimentale obținute pe baza sistemelor de calcul construite pe procesoare Intel 80486DX. Fara indoiala, acest procesor astăzi este depășit, dar se pot trage concluzii cu privire la nivelul de răspuns la evenimentele externe ale diferitelor sisteme RT.

Tabelul arată că intervalul de timp RTOS este destul de strict. Printre sistemele de operare moderne există o clasă de produse concepute special pentru construirea de sisteme hard în timp real - VxWorks, OS9, QNX, LynxOS, OSE și altele. Aceste sisteme conțin setul necesar de instrumente și, în unele cazuri, sunt singura opțiune - trebuie să mergi pentru asta, indiferent de costuri. Cu toate acestea, destul de des cerințele pentru timp real (predictibilitatea completă a timpului de răspuns) devin mai puțin stricte, de exemplu, este necesar să se obțină doar performanța medie dorită.

Uneori este suficient să controlezi cu strictețe doar unul dintre evenimente, permițând în același timp reacții întârziate la celelalte. În astfel de cazuri, opțiunile de alegere se extind, iar rezultatele dorite pot fi obținute folosind sisteme de operare atât de răspândite precum LINUX, Windows NT, Windows CE, completându-le cu extensii în timp real (RTAI, RT LINUX, RTX).

1.5 Cerințe pentru sistemul de operare la proiectarea unui RTOS

1.5.1 Cerință 1. Sistemul de operare trebuie să fie cu mai multe fire și să fie întreruptibil

După cum sa menționat mai sus, un RTOS trebuie să fie previzibil, ceea ce înseamnă că timpul maxim pentru finalizarea unei activități trebuie să fie cunoscut în prealabil și trebuie să fie în concordanță cu cerințele aplicației.

Prima cerință este ca sistemul de operare să fie multi-threaded conform principiului priorității absolute (întreruptibil). Planificatorul trebuie să fie capabil să întrerupă orice fir de execuție și să ofere resursa firului de execuție care are cel mai mult nevoie de ea. Sistemul de operare (și hardware-ul) trebuie să ofere, de asemenea, întreruperi la nivelul de gestionare a întreruperilor.

1.5.2 Cerința 2: Trebuie să existe un concept de prioritate a firelor

Problema este de a determina ce sarcină necesită resursa. Într-o situație ideală, RTOS alocă resursa firului de execuție sau driver-ului cu termenul limită cel mai apropiat (așa-numitul OS determinat de termen).

Pentru a implementa acest lucru, sistemul de operare trebuie să cunoască timpul necesar fiecărui fir de execuție pentru a se finaliza (încă nu există un sistem de operare construit pe acest principiu, deoarece este prea complex de implementat), astfel încât dezvoltatorii de sisteme de operare adoptă un alt punct de vedere: conceptul de nivel de prioritate este introdus sarcinile și constrângerile de timp se reduc la priorități. Deoarece deciziile speculative sunt pline de erori, indicatorii SRV sunt redusi. Pentru a realiza mai eficient această transformare a constrângerilor, proiectantul poate folosi teoria orarului sau modelarea prin simulare, deși acest lucru poate să nu fie util. În prezent nu există altă soluție, așa că este necesar conceptul de prioritate a firelor.

1.5.3 Cerința 3: OS trebuie să ofere mecanisme previzibile de sincronizare a sarcinilor

Sarcinile partajează date (resurse) și trebuie să comunice între ele, prin urmare trebuie să existe mecanisme de blocare și comunicare.

1.5.4 Cerința 4: Trebuie să existe un sistem de moștenire prioritară

De fapt, acest mecanism de sincronizare și faptul că firele diferite împărtășesc același spațiu de memorie este ceea ce distinge firele de procese. Procesele nu împart același spațiu de memorie. De exemplu, versiunile mai vechi ale UNIX nu erau multi-threaded. Vechiul UNIX este un sistem de operare multitasking, unde sarcinile sunt procese care comunică prin fire de execuție (conducte) și memorie partajată. Ambele mecanisme folosesc sistemul de fișiere, iar comportamentul acestuia este imprevizibil.

Combinația dintre prioritatea firului și partajarea resurselor între ele duce la un alt fenomen: problema clasică a inversării priorității. Acest lucru poate fi ilustrat cu un exemplu în care există cel puțin trei fire. Când un fir cu prioritate inferioară a ocupat o resursă partajată cu un fir cu prioritate mai mare și un fir cu prioritate medie se execută primul, firul cu prioritate cea mai înaltă va fi suspendat până când resursa este eliberată și firul cu prioritate medie se poate executa. În această situație, timpul necesar pentru a finaliza firul cu cea mai mare prioritate depinde de nivelurile de prioritate inferioare - aceasta este inversarea priorității. Este clar că într-o astfel de situație este dificil să se mențină termenul de execuție.

Pentru a elimina astfel de inversiuni, RTOS trebuie să permită moștenirea priorității, adică promovarea priorității la nivelul firului apelant. Moștenirea înseamnă că un fir care blochează o resursă moștenește prioritatea firului pe care îl blochează (adevărat doar dacă firul pe care îl blochează are o prioritate mai mare).

Uneori se susține că într-un sistem bine conceput această problemă nu apare. În cazul sistemelor complexe, acest lucru nu poate fi convenit. Singura modalitate de a rezolva această problemă este de a crește manual prioritatea firului de execuție înainte ca resursa să devină blocată - acest lucru este posibil în cazul în care două fire de execuție cu priorități diferite concurează pentru aceeași resursă. În general, nu există o soluție.

1.5.5 Cerința 5: Comportamentul sistemului de operare trebuie cunoscut

În cele din urmă, trebuie luate în considerare constrângerile de timp. Timpul de execuție al apelurilor de sistem și momentul comportamentului sistemului în diferite circumstanțe trebuie să fie cunoscute de dezvoltator, astfel încât producătorul RTOS trebuie să ofere următoarele caracteristici:

Latența întreruperii (adică timpul de la momentul întreruperii până la momentul începerii sarcinii): trebuie să fie previzibil și în concordanță cu cerințele aplicației. Această valoare depinde de numărul de întreruperi suspendate simultan;

timpul maxim de execuție al fiecărui apel de sistem (trebuie să fie previzibil și independent de numărul de obiecte din sistem);

timpul maxim de mascare a întreruperii de către drivere și sistemul de operare.

niveluri de întrerupere a sistemului;

nivelurile de întrerupere ale driverelor de dispozitiv, caracteristicile lor de sincronizare etc.

Când sunt cunoscute toate caracteristicile specificate ale sistemului de operare, este posibil să ne imaginăm dezvoltarea unui RTOS bazat pe acest sistem de operare, ținând cont de capacitățile RTOS și hardware-ul selectat.

2. Prezentare generală a sistemelor de operare în timp real

Astăzi există peste 100 de RTOS-uri comerciale. Există multe sisteme și sisteme software gratuite (sau shareware) care au statut de proiecte de cercetare sau universitare. Să luăm în considerare mai întâi scurta descriere unele sisteme în timp real, iar apoi ne vom opri mai detaliat asupra Win NT RTX RTS, ca fiind cel mai promițător sistem.

2.1 QNX

Sistemul de operare QNX este dezvoltat de compania canadiană QNX Software System Ltd (1981).

Sistemul de operare QNX este un sistem de operare hibrid pe 16/32 de biți care poate fi configurat de utilizator după cum dorește. Cel mai adesea este folosit pentru a crea sisteme care funcționează în timp real. Timpul necesar pentru instalarea completă a sistemului, inclusiv instrumentele de rețea, este de numai 10-15 minute, după care puteți începe lucrul. Cerințele reduse ale sistemului de resurse sunt deja evidente în faptul că sistemul cu mediul de dezvoltare necesar și suficient sub forma compilatorului Watcom C/C++ (compilatorul principal pentru QNX) se încadrează în 10 MB.

QNX este primul sistem de operare comercial construit pe principiile unui microkernel și mesagerie. Sistemul este implementat ca un set de procese independente (dar care interacționează prin schimbul de mesaje). diverse niveluri(manageri și șoferi), fiecare implementând anumit tip serviciu.

Aceste idei ne-au permis să obținem câteva avantaje importante:

    predictibilitatea, adică aplicabilitatea sa la probleme grele în timp real. Nicio versiune de UNIX nu poate atinge această calitate deoarece codul nucleului este prea mare. Orice apel de sistem de la un handler de întrerupere în UNIX poate duce la o latență imprevizibilă (ca în Windows NT);

    scalabilitate și eficiență obținute prin utilizarea optimă a resurselor și însemnând aplicabilitatea acesteia pentru sistemele încorporate. Directorul dev conține doar fișierele necesare pentru sarcinile atribuite, corespunzătoare driverelor necesare. Driverele și managerii pot fi lansate și șterse (cu excepția sistemului de fișiere) dinamic, pur și simplu din linia de comandă. De asemenea, este posibil să achiziționați doar acele module care sunt de fapt necesare pentru a furniza funcțiile necesare;

    extensibilitate și fiabilitate în același timp, deoarece driverul scris nu trebuie să fie compilat în nucleu, riscând să provoace instabilitate a sistemului.

Sistemul este construit folosind tehnologia FLEET, care se caracterizează prin următoarele. QNX este un RTOS bazat pe microkernel (aproximativ 10 KB). Sistemul folosește transmiterea mesajelor ca mijloc principal de interacțiune între procese. Datorită acestui fapt, într-un mediu pe 32 de biți, este posibil ca procesele cu coduri de 32 și 16 biți să interacționeze, iar mesajele sunt transmise între orice proces, indiferent dacă procesele sunt pe același computer sau pe noduri diferite de rețea.

Un utilizator care lucrează pe unul dintre nodurile rețelei poate avea acces la orice resurse ale altor noduri, inclusiv porturi, sistem de fișiere și sarcini. Utilizatorul nu trebuie să se aprofundeze în protocolul de rețea, care, apropo, nu este un secret, până la structura sa. Conține pachete care sunt folosite și pentru transmiterea mesajelor. Administratorul de rețea recunoaște aceste pachete și le transmite către microkernel, care, la rândul său, le transmite către magistrala de mesaje locală. QNX recunoaște mai mult decât pachete de mesaje din procesele QNX. De asemenea, puteți contacta cu ușurință administratorul de rețea pentru a transfera protocoale de pachete, cum ar fi TCP/IP, 8MB etc. Puteți contacta mai mulți administratori de rețea printr-un singur cablu.

Sistemul de operare QNX unește întreaga rețea de PC-uri într-un singur set de resurse cu o transparență absolută a accesului la acestea. Nodurile pot fi adăugate și eliminate din rețea fără a afecta integritatea sistemului. Rețeaua QNX este atât de flexibilă încât poate rețea orice set eterogen de computere compatibile Intel conectate prin Arcnet, Ethernet, Token Ring sau un port serial care poate fi, de asemenea, conectat la un modem. În plus, este posibil ca un computer să participe în mai multe rețele simultan, iar dacă una dintre ele devine supraîncărcată sau eșuează, QNX va folosi automat alte rețele disponibile fără a pierde informații.

QNX are unele limitări datorită concentrării sistemului pe piața în timp real încorporată:

    fără suport SMP;

    intrare lipsă memorie virtuala pe disc;

    suport ineficient și non-standard pentru fire;

    implementarea incompletă a afișării fișierelor în memorie;

    fără suport pentru socket-uri de domeniu UNIX;

    măsuri de securitate slabe în cadrul propriului protocol de rețea.

În ciuda dezavantajelor inerente, multe programe de utilizator au fost dezvoltate pentru QNX, cum ar fi bazele de date, care adesea depășesc omoloagele lor care rulează alte sisteme de operare.

În industria rusă, QNX se găsește destul de des. Acest lucru se datorează disponibilității unei cantități suficiente de software pentru QNX (drivere etc.) pentru diverse echipamente prezentate pe piața rusă.

2.2 VxWorks/Tornado

Sistemul de operare în timp real VxWorks și mediul de instrumente Tornado de la Wind River Systems sunt concepute pentru dezvoltarea de software pentru computere încorporate care funcționează în sisteme hard-time real. Sistemul de operare VxWorks este un sistem de dezvoltare software de aplicații cu instrumente încrucișate. Dezvoltarea se realizează pe un computer instrumental (gazdă) în mediul Tornado pentru execuția ulterioară pe o mașină țintă (țintă) care rulează VxWorks.

VxWorks acceptă arhitecturi țintă:

    Motorola 680x0 și CPU32, PowerPC;

    Intel 386/486/Pentium, Intel 960;

    Rezervă, Mips R3000/4000;

    AMD 29K, Motorola 88110;

  • Platforme de instrumente acceptate pentru Tornado (gazde):

    Sun SPARCstation (SunOS și Solaris);

    HP 9000/400.700 (HP-UX);

    IBM RS6000 (AIX);

    Silicon Graphics (IRIX);

    DEC Alpha (OSF/1);

  • Interfețe gazdă-țintă acceptate:

    Ethernet gazdă-țintă;

    emulator in-circuit ICE (In-Circuit Emulator);

    autobuz transversal (backplane).

Sistemul de operare VxWorks este construit așa cum ar trebui să fie un sistem de operare greuîn timp real, folosind tehnologia microkernel, adică la nivelul inferior neîntrerupt de kernel, sunt efectuate doar funcțiile de bază ale programării sarcinilor și managementul comunicării/sincronizării acestora. Toate celelalte funcții de nivel superior ale sistemului de operare (gestionarea memoriei, managementul I/O, rețea etc.) se bazează pe funcții simple nivel inferior, ceea ce face posibilă asigurarea performanței și predictibilității nucleului, precum și construirea cu ușurință a configurației necesare a sistemului de operare.

Nucleul eolian multitasking folosește un algoritm de programare a sarcinilor care ia în considerare prioritățile și este declanșat de întreruperi. Ca mijloc principal de sincronizare a sarcinilor și de acces reciproc exclusiv la resurse partajate Miezul vântului folosește semafore. Există mai multe tipuri de semafore care vizează diferite sarcini de aplicație: binare, întregi, excludere reciprocă și POSIX.

Toate părțile VxWorks dependente de hardware sunt situate în module individuale astfel încât dezvoltatorul de sistem încorporat să poată porta VxWorks pe mașina sa țintă personalizată. Acest set de module de configurare și inițializare se numește BSP (Board Support Package) și este furnizat pentru calculatoare standard (procesor VME, PC sau Sparcstation) în cod sursă. Un dezvoltator de mașini personalizate poate lua ca referință un BSP care este cel mai apropiat ca arhitectură de un computer standard și poate porta VxWorks la mașina sa, dezvoltând propriul BSP folosind kitul de portare BSP.

2.2.1 Instrumente de bază de rețea ale VxWorks: rețea UNIX, SNMP și STREAM.

VxWorks a fost primul sistem de operare în timp real care a implementat protocolul TCP/IP ținând cont de cerințele de timp real. De atunci, VxWorks acceptă toate instrumentele de rețea standard pentru UNIX: TCP/UDP/ICMP/IP/ARP, Sockets, SLIP/CSLIP/PPP, telnet/rlogin/rpc/rsh, ftp/tftp/bootp, NFS (client și server) ).

Wind River Systems a anunțat (1994) programul WindNet, în cadrul căruia producătorii de top softwareîn domeniul comunicațiilor și-au integrat produsele software cu VxWorks.

Astăzi acestea sunt protocoale de rețea X.25, ISDN, ATM, SS7, Frame Relay și OSI; Instrumente CASE pentru dezvoltarea sistemelor distribuite bazate pe standardele ROOM (Real-Time Object Oriented Modeling) și CORBA (Common Object Request Broker Architecture); managementul rețelei folosind tehnologii MBD (Management By Delegation) și CMIP/GDMO (Common Management Information Protocol/Guidelines for Definition of Managed Objects).

2.2.2 Monitorizare și depanare în timp real: WindView.

Depanatoarele convenționale, care vă permit să examinați starea programelor și a datelor la punctele de întrerupere, sunt instrumente statice de depanare. Oportunitățile de studiere a dinamicii execuției programului și a modificărilor datelor sunt oferite de mijloace speciale depanare în timp real care urmărește evenimentele de interes pentru utilizator și le acumulează într-un buffer pentru analiza ulterioară.

Urmărirea evenimentelor de sistem (comutații de sarcini, scriere în coada de mesaje, setarea unui semafor etc.) este posibilă folosind analizatorul dinamic WindView, care afișează evenimentele acumulate în buffer pe o diagramă temporală.

Recent, microprocesoarele de înaltă performanță, precum și sistemele de operare în timp real, sunt din ce în ce mai utilizate în așa-numitele aplicații „profund încorporate” (electronica auto, aparate de birou și de uz casnic, măsurare și dispozitive medicale si etc.). Există două cerințe principale pentru astfel de sisteme informatice: dimensiuni reduse și costuri reduse, prin urmare sistemele cu microprocesoare profund încorporate pun două probleme în modul de utilizare a RTOS serial: cantități mici de memorie utilizate și absența interfețelor „extra” prin care țintă și mașinile instrumentale ar putea fi conectate în stadiul dezvoltării software-ului încorporat.

În special pentru sistemele cu memorie foarte limitată, Wind River Systems a dezvoltat un nucleu WindStream redus, care nu necesită mai mult de 8 KB de ROM și 2 KB de RAM pentru a funcționa. În același timp, întreaga gamă de instrumente VxWorks, inclusiv WindView, este aplicabilă WindStream.

Lanțul de instrumente Tornado are o arhitectură deschisă, care permite altor companii de instrumente de dezvoltare software în timp real să-și integreze produsele software cu Tornado. Utilizatorul își poate conecta propriile instrumente de dezvoltare specializate la Tornado, precum și să extindă capacitățile instrumentelor Wind River Systems.

Configurația standard Tornado include kernel-ul VxWorks și bibliotecile de sistem, GNU C/C++ Toolkit, depanator la distanță la nivel de limba sursă CrossWind, shell WindSh, configuratorul BSP WindConfig etc.

Există multe produse software integrate cu Tornado, produse de alte companii.

2.3 RTLinux

2.3.1 Principalele dificultăți la implementarea sistemelor în timp real în mediul LINUX

După cum am menționat mai sus, sarcina principală este de a răspunde la un eveniment extern într-o anumită perioadă de timp. Eveniment extern de obicei, din punctul de vedere al unui programator, arată ca o întrerupere hardware. În sistemele de operare multitasking moderne, nucleul este primul care răspunde la o întrerupere hardware. Apoi, această întrerupere poate ajunge cumva la sarcina aplicației prin driverele de dispozitiv. Dar într-un sistem multitasking, mai multe sarcini trebuie să ruleze simultan și pentru a furniza o întrerupere, nucleul trebuie să pună procesul care rulează în prezent într-o stare de repaus, să trezească procesul dorit și să îi transmită întreruperea. Pentru a face acest lucru, trebuie să schimbați contextele, ceea ce durează mult, astfel încât întreruperea va fi livrată procesului cu o întârziere semnificativă. În plus, după ce un proces primește o întrerupere, nu se poate fi sigur că procesarea informațiilor va fi finalizată în cel mai scurt timp posibil, deoarece Dacă computerul este echipat cu un singur procesor și în sistem rulează mai multe sarcini, atunci poate apărea oricând o comutare de activitate cu o altă comutare de context. Ca urmare, timpul de reacție poate fi nerezonabil de lung (pe un computer destul de puternic).

Linux este un sistem de operare modern compatibil POSIX și asemănător Unix pentru computere și stații de lucru, adică un sistem de operare de rețea multi-utilizator.

Sistemul de operare Linux acceptă standarde și protocoale de sisteme deschise rețele de internet. Toate componentele sistemului, inclusiv codul sursă, sunt distribuite cu o licență pentru copiere și instalare gratuită pentru un număr nelimitat de utilizatori.

Caracteristicile caracteristice ale Linux ca sistem de operare:

    multitasking (este o necesitate);

    modul multiplayer;

    modul procesor protejat (modul protejat 386);

    protecția memoriei procesului (o defecțiune a programului nu poate cauza blocarea sistemului);

    împărțirea paginilor după înregistrare între instanțele unui program care rulează. Aceasta înseamnă că procesele care sunt instanțe ale unui program pot folosi aceeași memorie la execuție. Când un astfel de proces încearcă să scrie în memorie, pagina 4K în care este scrisă este copiată în spațiul liber. Această proprietate crește performanța și economisește memorie;

    memorie virtuală cu organizare a paginii (adică nu întregul proces inactiv este mutat din memorie pe disc, ci doar pagina necesară); memorie virtuală în partiții separate de disc și/sau fișiere de sistem de fișiere; capacitate de memorie virtuală de până la 2 GB; modificarea dimensiunii memoriei virtuale în timpul execuției programului;

    memorie de program partajată și memoria cache a discului: toată memoria liberă este folosită pentru schimbul tampon cu discul;

    biblioteci partajate încărcate dinamic;

    program dump pentru analiză post-mortem: vă permite să analizați cu un depanator nu numai un program care rulează, ci și un program care s-a terminat anormal;

    Certificat POSIX.1, sursă compatibilă cu standardele System V și BSD;

    prin compatibilitate cu emulator compatibil iBS2 cu SCO, SVR3, SVR4 pentru programe descărcabile;

    disponibilitatea textului sursă al tuturor programelor, inclusiv textele nucleului, driverele, instrumentele de dezvoltare și aplicațiile. Aceste texte sunt distribuite gratuit. În prezent, unele companii furnizează o serie de programe comerciale pentru Linux fără cod sursă, dar tot ce era gratuit rămâne gratuit;

    managementul locurilor de muncă POSIX;

    Emularea coprocesorului este în nucleu, așa că aplicația nu trebuie să-și facă griji cu privire la emularea coprocesorului. Desigur, dacă este disponibil un coprocesor, atunci acesta este utilizat;

    mai multe console virtuale: pe un afișaj există mai multe sesiuni de lucru independente simultane comutate de la tastatură;

    suport pentru o serie de sisteme de fișiere comune (MINIX, Xenix, sisteme de fișiere System V); disponibilitatea propriului sistem de fișiere avansat, cu o capacitate de până la 4 TB și cu nume de fișiere de până la 255 de caractere;

    acces transparent la partițiile DOS (sau OS/2 FAT): partiția DOS arată ca parte a sistemului de fișiere Linux; Suport VFAT (WNT, Windows 95);

    acces (numai pentru citire) la sistemul de fișiere HPFS-2 OS/2 2.1;

    sprijin pentru toată lumea formate standard CD ROM;

    Suport de rețea TCP/IP, inclusiv ftp, telnet, NFS etc.

Popularitatea tot mai mare a Linux-ului îi determină pe dezvoltatori să arunce o privire mai atentă asupra acestui sistem de operare. În acest moment, acest sistem de operare este pregătit pentru o funcționare stabilă, iar deschiderea codului sursă și a arhitecturii sale, împreună cu popularitatea în creștere, îi obligă pe programatori să-și transfere dezvoltările pe multe platforme hardware: SGI, IBM, Intel, Motorola etc.

Pentru sarcini în timp real, comunitatea de dezvoltatori Linux utilizează activ extensii speciale - RTLinux, KURT și UTIME, care fac posibilă obținerea unui mediu stabil în timp real. RTLinux este un sistem dur în timp real, în timp ce KURT (KU Real Time Linux) este un sistem soft în timp real. Extensia Linux UTIME, inclusă în KURT, vă permite să creșteți frecvența ceasului sistemului, ceea ce duce la o schimbare mai rapidă a contextului sarcinii.

RTLinux este un sistem de operare în care un nucleu mic în timp real coexistă cu nucleul Linux asemănător Posix. Scopul principal este de a pune la dispoziție servicii complexe și un comportament optimizat al sistemului în situații standard pentru un sistem de partajare a timpului, în același timp, efectuând sarcini în timp real. În trecut, sistemele de operare în timp real erau primitive - programe simple care ofereau utilizatorului puțin mai mult decât o simplă bibliotecă de funcții de bază. Dar în zilele noastre utilizatorii cer acces la TCP/IP, afisaj graficși sisteme de ferestre, baze de date și alte servicii care nu sunt nici primitive, nici simple. O soluție este să adăugați servicii în timp real la nucleul subiacent în timp real, ceea ce a fost făcut în VXworks și, ușor diferit, în microkernel-ul QNX. A doua posibilitate este de a modifica nucleul standard și de a-l face complet întreruptibil.

2.3.2 Organizarea RTLinux

RTLinux este organizat într-un al treilea mod, în care un nucleu simplu în timp real rulează un nucleu obișnuit ca una dintre sarcinile în timp real cu cea mai mică prioritate, folosind o mașină virtuală pentru a face nucleul standard complet întreruptibil.

În RTLinux, toate întreruperile sunt deservite de nucleul în timp real și apoi transferate la nucleul standard, dar numai dacă nu este nevoie să rulați una dintre sarcinile în timp real. Pentru a minimiza numărul de modificări ale nucleului standard, acest mecanism este implementat folosind emularea ICH (Interrupt Control Hardware). Kernel-ul Linux în timp real și sarcinile utilizatorului pot comunica prin cozi neblocante și segmente de memorie partajată.

Din perspectiva unui programator, cozile arată ca dispozitivele seriale UNIX standard care pot fi accesate folosind apelurile de sistem POSIX read/write/open/ioctl. Memoria partajată este accesată prin apelul de sistem mmap.

RTLinux folosește Linux pentru a porni, a accesa majoritatea dispozitivelor, rețea, sisteme de fișiere, management procesele Linuxși încărcarea modulelor de kernel, ceea ce face posibilă modificarea cu ușurință a sistemului în timp real.

Un program în timp real constă din două părți: o sarcină, care este un modul kernel, și un proces obișnuit UNIX/Linux și se ocupă de procesarea datelor, afișare și acces la rețea și orice alte funcții care nu necesită o sincronizare atât de strictă.

În practică, s-a dovedit că ideea RTLinux a avut mare succes. În cel mai rău caz, latența de întrerupere a computerului de 486/33Mhz s-a dovedit a fi mai mică de 30 µs, ceea ce este aproape de limita hardware. Pentru sarcinile aplicate, simbioza sistemelor în timp real și a celor optimizate pentru „cazul general” s-a dovedit a fi foarte reușită. Cea mai frecvent utilizată configurație RTLinux este sarcinile primitive în timp real cu memorie alocată static fără protecție a memoriei, un planificator simplu cu priorități fixe fără protecție împotriva planurilor nerealizate, dezactivarea întreruperilor hardware, memoria partajată este singurul mecanism de sincronizare a sarcinilor în timp real și set limitat operațiuni pe cozile FIFO atașate proceselor Linux obișnuite.

Nucleul Linux permite încărcarea și descărcarea dinamică a modulelor nucleului. Reprezentând părți individuale ale nucleului în timp real ca module, este ușor să schimbați nucleul în timp real. Au fost deja scrise programatoare alternative și un modul semafor. În timp ce sistemul rulează, puteți încărca un modul cu sarcini în timp real, apoi puteți descărca programator standardși încărcați, de exemplu, programatorul EDF. Puteți încerca diferite combinații de module până când este găsită cea optimă.

Acest Varianta Linux vă permite să efectuați sarcini în timp real, ceea ce se realizează prin inserarea unui nucleu în timp real între nucleul standard Linux și întreruperile hardware și scapă de motivul principal pentru care Linux este nepotrivit pentru sarcini în timp real - decalajul mare de întrerupere.

Din punct de vedere RTLinux, Linux este una dintre sarcinile în timp real cu cea mai mică prioritate, care poate fi întreruptă atunci când este necesar. Această structură impune unele restricții asupra sarcinilor în timp real. Nu se pot folosi cu ușurință diverși șoferi Linux, nu au acces la rețea etc., dar pot face schimb de date cu sarcini standard Linux.

Cozile FIFO simple sunt implementate pentru a face schimb de date între procesele în timp real și procesele Linux. O aplicație tipică constă din două părți - o sarcină în timp real care operează direct hardware-ul și, de obicei, o sarcină Linux care efectuează alte operațiuni, cum ar fi salvarea datelor pe disc, trimiterea lor prin rețea, interacțiunea cu utilizatorul (GUI ), etc.

Cea mai scurtă perioadă pentru sarcinile în timp real invocate periodic în RTLinux pe Pentium 120 este mai mică de 150 µs. Sarcinile numite prin întrerupere pot avea o perioadă mult mai scurtă.

Nucleul în timp real nu protejează împotriva supraîncărcărilor. Dacă una dintre sarcinile în timp real utilizează complet procesorul, Nucleul Linux, având cea mai mică prioritate, nu va primi control și sistemul se va bloca. Sarcinile în timp real rulează în spațiul de adrese kernel cu privilegii kernel și pot fi implementate, de exemplu, folosind module Linux.

Trebuie remarcat faptul că LynuxWorks a început să livreze (17.05.2002) sistemul de operare integrat BlueCat Linux pentru Intel Internet Exchange Architecture Software Developers Kit (Intel IXA SDK) 2.0, conceput pentru familia de procesoare de rețea Intel IXP1200. Sistemul de operare BlueCat Linux este distribuit gratuit cu Intel IXA SDK 2.0.

VxWorks a devenit mult timp standardul de facto pentru marea majoritate a sistemelor care utilizează sisteme de operare încorporate. Memoria flash a sistemului informatic IXP1200 conține încărcătorul de nucleu VxWorks. Pentru dezvoltatori, acest lucru simplifică sarcina de a scrie noi programe. În plus, capacitatea de a opera procesorul de rețea sub sistemul de operare Linux (cu extensii în timp real) a fost deja implementată. Suportul software este oferit de unii producători de sisteme de operare Linux (de exemplu, LynuxWorks etc.).

2.4 Monitorizare și control în timp real folosind OS9

2.4.1 Introducere

Pentru a controla una sau mai multe instalații la distanță dintr-un singur centru și a verifica starea acestora, CS (Franța) a dezvoltat un sistem de monitorizare. Poate fi folosit pentru controlul instalațiilor energetice, sistemelor de aer condiționat, sistemelor de securitate, fabricilor de proces, rețelelor, transportoarelor industriale și a fost deja implementat în multe instalații civile și militare.

Sistemul oferă hardware și soluție software toate aspectele controlului. Gamă largă de posibilități Interfețele oferă colectarea datelor de la senzori exteriori, dispozitive finale, unități I/O programabile și sisteme gazdă.

Sistemul de control poate fi împărțit în două niveluri:

    Nivelul 1 pentru colectarea și prelucrarea datelor locale;

    Nivelul 2 pentru colectarea și analizarea datelor de la obiecte la distanță.

Fig.1. Conceptul general al sistemului

Sarcinile de la nivelul 1 sunt efectuate de unitatea GESCAP (de exemplu, o stație de lucru pe un procesor Motorola 68010 cu 1 MB RAM), iar la nivelul 2 - de o unitate GESVA (de exemplu, o stație de lucru pe un procesor Motorola 68030 cu 4 MB). RAM). Unitățile GESVA și GESCAP folosesc același sistem de operare (OS-9) și software de aplicație. Doar terminalele video și funcționalitatea sunt diferite. Această uniformitate face sistemul mai ușor de instalat, utilizat și întreținut.

Întrucât interfața de utilizator a GESVA și GESCAP este intuitivă, munca de configurare este simplă și nu necesită cunoștințe speciale de calculator. Utilizatorul se ocupă cu meniuri pop-up și casete de dialog, oferind acces la următoarele caracteristici standard.

Configurarea blocurilor I/O analogice sau digitale (alarme, mesaje, priorități etc.):

    operații logice (ȘI, SAU...) asupra datelor de intrare;

    stabilirea corespondenței conectorilor la fiecare dispozitiv de intrare/ieșire;

    rearanjarea dispozitivelor de intrare/ieșire;

    interacțiune grafică cu elemente de animație.

Funcții de afișare a stării:

    starea blocurilor I/O, dispozitivelor, conexiunilor, alarme, jurnal de bord în timp real.

Caracteristici grafice:

    localizarea automată a alarmelor în imagini;

    navigarea prin imagini ale surselor de date;

    afișarea curbelor în timp real;

    afișare video a curbelor în timp real.

Functii de comunicare:

    Protocol de comunicare JBUS/MODBUS (RS-232/RS-422);

    comunicare cu sistemul de asistență în localizarea și eliminarea defecțiunilor (GESDOC).

Funcții de imprimare:

    imprimare a structurii sistemului;

    Imprimarea unei liste de alarme și evenimente.

Functii in diverse scopuri:

    integrarea de noi sarcini cu software fără a necesita modificări la nivel de cod sursă.

2.4.2 Cum s-a dezvoltat acest sistem de aplicații?

Principalele cerințe software au fost:

    aceeași compoziție de programe de aplicație și o singură interfață utilizator pe diferite plăci și tipuri de afișare;

    un mediu rapid, avansat cu mai multe ferestre, care consumă cât mai puțină memorie posibil;

    un sistem de operare în timp real multitasking, flash ROM cu cerințe reduse de memorie.

Drept urmare, a fost selectat sistemul de operare OS9, care îndeplinește cel mai bine cerințele enumerate.

Pachetul WINOTOOLS a fost selectat ca mediu de dezvoltare cu mai multe ferestre. Folosind utilitarele WINOTOOLS puteți dezvolta toate elementele fără programare interfața cu utilizatorul(ferestre, instrumente de introducere a datelor grafice, butoane, mesaje de avertizare etc.).

Datorită cerințelor sale modeste de memorie și timpului de răspuns rapid, WINOTOOLS, combinat cu caracteristicile OS9, este un mediu ideal pentru dezvoltarea unei varietăți de aplicații în timp real care rulează în modul grafic.

WINOTOOLS oferă următoarele utilități:

PAINT este un editor grafic orientat pe obiecte pentru dezvoltarea de interfețe utilizator, panouri de control și diagrame. PAINT este conceput pentru a fi personalizabil și integrat în programul de aplicație al unui utilizator. Toate fișierele de date grafice create cu PAINT pot fi modificate complet fără accesarea codului sursă (fișierele în format GIF sunt importate).

SCRIPT este un limbaj care vă permite să simulați toate dialogurile interfeței cu utilizatorul înainte de a scrie o linie de cod sursă. Acest utilitar vă permite să verificați rapid corectitudinea interfeței cu utilizatorul.

DATABASE - o bibliotecă de funcții C care asigură managementul bazei de date (corespondența dintre date și fișierele index ale bazei de date).

INPUT/OUTPUT LIBRARY - o bibliotecă de funcții C care oferă interfață între interfața cu utilizatorul și dispozitivele de intrare/ieșire.

2.5 Windows NT

2.5.1 Posibilitatea de a utiliza Windows NT ca sistem de operare în timp real

Recent, extensiile în timp real pentru Windows NT au devenit populare. Acest lucru se datorează, pe de o parte, extinderii domeniilor de aplicare a controlului computerizat, pe de altă parte, popularității relativ scăzute și costului ridicat al sistemelor de operare specializate în timp real. Dar chiar dacă nu ar fi așa și nu s-ar ști mai puțin despre alte sisteme, Win NT RTX ar fi totuși cel mai popular. Nu degeaba raportul dintre utilizatorii sistemelor de operare Windows și utilizatorii sistemelor Linux/Unix este de 1000 la 1. Este destul de logic ca o persoană, care lucrează acasă într-un singur sistem, dorește să vadă același sistem care este de înțeles -l sistem convenabil si la serviciu. Interfața Win32 este standard și familiară unui număr mare de programatori și utilizatori. Sub NT există un număr mare de aplicații gata făcute (inclusiv cele de comunicare), precum și instrumente de dezvoltare populare. Din păcate, Windows NT „în forma sa pură” nu poate fi clasificat ca sistem de operare în timp real. Motivele pentru aceasta sunt discutate în articolele lui Martin Timmerman și Jean-Christophe Monfret din Real-Time Magazine Q21997.

Aici sunt câțiva dintre ei:

    număr insuficient de priorități în timp real;

    lipsa moștenirii prioritare ca mijloc de combatere a inversării prioritare;

    sistem de gestionare a întreruperilor nepotrivit pentru RTOS.

    În Windows NT, întreruperile sunt accesate din driverul kernelului, iar întreruperile în sine sunt procesate în două etape: în primul rând, este apelată o rutină de serviciu de întrerupere (ISR) foarte scurtă, care efectuează procesarea critică, procesarea principală a întreruperilor are loc în Procedura amânată. Apel (DPC). Toate DPC-urile sunt executate la același nivel de prioritate pe o bază FIFO.

Astfel, timpul de finalizare a procesării dvs. DPC se dovedește a fi imprevizibil în funcție de prezența altor drivere în sistem și de activitatea acestora. Pentru sistemele cu determinism strict este necesar să se cunoască exact timpul maxim din momentul în care apare o întrerupere până la intrarea în procedura de procesare și să se garanteze că nu este depășit.

2.5.2 RTX - extensie în timp real pentru Windows NT de la VenturCom

O soluție posibilă este utilizarea unui subsistem în timp real împreună cu Windows NT, care rulează pe același procesor (dacă există un singur procesor) sau pe un procesor(e) dedicat(e) (dacă există mai multe). Această abordare este utilizată de VenturCom în produsul RTX. Esența abordării este utilizarea unui HAL modificat (Hardware Abstraction Level). Microsoft nu permite schimbarea nucleului, iar codul sursă HAL este furnizat partenerilor săi, dintre care unul este VenturCom.

După instalarea RTX, o stație de lucru sau un server NT standard se transformă într-un sistem de operare greu în timp real. NT însăși nu bănuiește acest lucru. Nici nucleul NT, nici subsistemul runtime nu au fost modificate. Subsistemul în timp real este vizibil din Windows NT ca un alt driver de dispozitiv.

Sistemul de operare Windows NT a fost dezvoltat inițial ca un scop general. Totuși, pe piața actuală a sistemelor specializate, pentru a asigura deschiderea la fiecare nivel de sistem, există tendința de a utiliza sisteme de operare Microsoft Windows. Acest lucru se datorează următoarelor motive:

    interfața de programare a aplicațiilor (API) Win32 este în prezent standardul de facto pentru programatori;

    interfața grafică cu utilizatorul (GUI) este atât de populară încât interfețele GUI ale altor sisteme de operare încep să semene din ce în ce mai mult cu ea;

    au fost dezvoltate un număr mare de drivere de la producători independenți;

    Au fost dezvoltate multe instrumente de dezvoltare integrate (IDE) foarte puternice.

2.5.3 Windows NT 4.0 ca RTOS. Cerințe generale

Pentru a fi numit RTOS, sistemul de operare trebuie să satisfacă unele set minim cerințe care sunt necesare, dar nu suficiente. Am subliniat acest lucru chiar la începutul lucrării mele, dar să repetăm:

    sistemul de operare trebuie să accepte multithreading (multi-threading) și preempțiunea sarcinilor prin prioritate (preemptable);

    trebuie să existe un concept de prioritate fir (fir);

    sistemul de operare trebuie să susțină mecanisme de sincronizare a execuției firelor (firelor) cu caracteristici previzibile;

    trebuie să existe un mecanism de moștenire a priorităților;

    Comportamentul sistemului de operare trebuie să fie cunoscut și previzibil (întârzieri de întrerupere interne, întârzieri de comutare a sarcinilor, întârzieri ale șoferului etc.).

Windows NT îndeplinește în mod clar prima cerință. Și al doilea, dar pentru modul în timp real nivelurile de prioritate nu sunt suficiente. Este aproape imposibil să proiectați un sistem bun în timp real, de exemplu cu programare monotonă, deoarece Cantitate Disponibilă nu vor exista suficiente niveluri de prioritate de execuție a firelor. În plus, NT nu are un mecanism de moștenire prioritară.

Pentru a gestiona întreruperile pentru a minimiza timpul petrecut cu rutinele de serviciu de întrerupere (ISR), NT a introdus conceptul de apeluri de procedură amânată (DPC). Deși prioritatea acestor apeluri este mai mare decât prioritatea firelor de execuție a utilizatorului și a sistemului, toate sunt la același nivel. Aceasta înseamnă că toate apelurile DPC sunt puse în coadă într-o coadă FIFO și că o întrerupere de nivel înalt va fi deservită numai atunci când toate apelurile DPC anterioare și-au încheiat execuția. Ca urmare, timpul de răspuns al sistemului devine imprevizibil, ceea ce contrazice a cincea cerință.

Managementul memoriei NT se bazează pe memoria virtuală. Aceasta implică protecția memoriei, traducerea adreselor și schimbarea. Pentru aplicațiile RT, schimbarea este inacceptabilă. Paginile de memorie pot fi blocate în memoria fizică. Cu toate acestea, Jeffrey Richter susține în cartea sa că, dacă un proces nu este activ, NT poate debloca paginile procesului și le poate scrie din memoria fizică pe disc.

2.5.4 Extensii în timp real pentru Windows NT. Extinderea funcționalității

Extensiile în timp real adaugă funcționalități specifice în timp real la Windows NT:

    Apar procese în timp real, controlate de propriul planificator. Acest planificator funcționează deja conform tuturor regulilor programatorilor în timp real și utilizează un algoritm de preempțiune bazat pe priorități. În plus, procesele în timp real au prioritate față de procesele standard Win32, înlocuindu-le. Procesele în timp real au un grad complet diferit de fiabilitate și funcționalitate specifică în comparație cu procesele standard Windows NT.

    Procesele în timp real și procesele standard Win32 au un mijloc de comunicare între ele.

    Procesele în timp real au propria lor interfață de programare RTAPI, care implementează un set dezvoltat de instrumente caracteristice interfețelor de program (API) ale sistemelor de operare în timp real.

    Aceeași aplicație poate folosi atât funcții standard Win32, cât și funcții specifice API în timp real (RTAPI), ceea ce vă permite să izolați secțiunile critice ale codului aplicației Windows NT și să controlați sincronizarea și fiabilitatea execuției acestora.

    Devine posibilă monitorizarea performanței și timpilor de răspuns ai sistemului. Înghețarea aplicației standard Windows NT sau blocarea sistemului nu provoacă înghețarea aplicațiilor în timp real.

    Devine posibil să lucrați cu ceasuri rapide și temporizatoare de înaltă rezoluție.

    Permite accesul direct la memorie și la dispozitivele fizice

2.5.4.1 Subsistemul RTSS în timp real

Subsistemul RTSS în timp real oferă majoritatea funcțiilor și gestionarea resurselor extensiilor în timp real. Din punct de vedere al implementării, RTSS arată ca un driver Windows NT și rulează în modul kernel. Acest lucru permite suficient într-un mod simplu aranjați interacțiunea între procesele în timp real și procesele Windows NT. RTSS oferă execuția funcțiilor RTAPI și conține un planificator de fire în timp real cu 128 de priorități fixe. RTSS conține, de asemenea, un manager de obiecte care oferă mecanisme unificate pentru utilizarea resurselor de sistem.

Managementul obiectelor RTSS: Oferă capabilități unificate de gestionare a obiectelor RTSS (creare, închidere, acces). Obiectele RTSS sunt: ​​temporizatoare, manevre de întreruperi și excepții (pornire, oprire, ecran albastru), fire de execuție, procese, semafoare, mutexuri, memorie partajată, cutii poştale, console și fișiere I/O, registre.

2.5.4.2 HAL în timp real

HAL este o componentă software a nivel scăzut atunci când driverele de kernel interacționează cu hardware-ul. În special, la nivelul HAL are loc procesarea inițială a întreruperilor temporizatorului. O caracteristică importantă a implementării HAL în timp real este că este pe deplin compatibilă cu HAL standard și, în plus, timpul de execuție al codurilor HAL în timp real și al codurilor HAL standard sunt același dacă subsistemul în timp real nu este utilizat. .

2.5.4.3 Interfață de programare în timp real RTAPI

Interfață software RTAPI în timp real este o extensie a Win32 și conține, în primul rând, un set de funcții necesare pentru gestionarea dispozitivelor. RTAPI este implementat în două forme - ca un subset al subsistemului în timp real (RTSS) și ca o bibliotecă cu legături dinamice (DLL) care poate fi apelată din aplicațiile Win32. RTAPI conține următoarele grupuri functii:

    Process and Thread Management: Oferă o interfață compatibilă cu Win32 pentru gestionarea, crearea, reprioritizarea, profilarea și terminarea thread-urilor în timp real.

    Comunicare între procese: RTAPI utilizează semafore, mutexuri și memorie partajată pentru a comunica atât între firele în timp real, cât și între firele în timp real și între procesele în timp real și procesele WIN32.

    Managementul memoriei: Permite blocarea aplicațiilor în memorie, prevenind schimbarea lor în fișierul de pagină.

    Acces la memorie fizică: aplicația utilizator poate accesa date la adresele memoriei fizice.

    Managementul întreruperilor: Conține funcții care vă permit să atribuiți și să dezactivați gestionanții de întreruperi, să activați și să dezactivați întreruperi.

    Ceasuri și cronometre: Conține funcții pentru gestionarea ceasurilor și cronometrelor (crearea, ștergerea, anularea, inițializarea cronometrelor, atribuirea de gestionare a întreruperilor)

Control I/O: RTAPI oferă două moduri de a controla dispozitivele I/O. În primul rând, aplicațiile utilizatorilor pot accesa direct adresele de porturi I/O, permițând ca dispozitivele să fie programate direct. În plus, un dispozitiv extern poate fi controlat de drivere speciale (ușor de dezvoltat), pentru care RTAPI oferă o interfață specială.

3. RT OS utilizat în sistemele CNC moderne

În prezent, multe sisteme de operare RT prezintă indicatori de performanță similari, așa că una dintre cele mai importante condiții pentru succesul unui sistem de operare (împreună cu performanța ridicată) este prezența unui mediu de dezvoltare dezvoltat, interfețe grafice și suport de rețea; capacitatea de a lucra pe dispozitive multiprocesor. Printre cele mai cunoscute sisteme de operare RT pentru sisteme CNC sunt:

  • RTMX (compania RTMX-Uniflex);

    AMX (Kadak Products Ltd.);

    OS-9000 (Sisteme cu microunde);

    Lynx OS (Sisteme în timp real Lynx);

    VRTX (sisteme gata);

    FlexOS (Unitate Novell Dedicated Sys Bus);

    QNX (de la Quantum Software Systems)

    Sistemul de operare RV cu design propriu.

3.1 Sistem de operare RV cu design propriu

În ciuda numărului aparent suficient de sisteme de operare în timp real, multe companii mari încep să-și dezvolte propriul sistem de operare RT. Procesele și ciclurile tehnologice devin din ce în ce mai complexe, calitatea și cerințele impuse sistemelor de operare sunt mai mari. Prin urmare, compania se poate confrunta cu două situații: fie plătește o companie terță pentru a dezvolta un sistem de operare pentru ea însăși, fie compania își dezvoltă propriul sistem de operare RT pentru sistemele sale CNC. Al doilea este deosebit de important dacă scopul este de a păstra secrete caracteristicile tehnologice ale producției.

3.2 FlexOS

Momentan folosit foarte rar. Acest sistem de operare a fost modern și popular, dar acum este destul de depășit. Siemens avea propriul său sistem de operare FlexOS, propriile limbi și magistralele de teren. Atunci Siemens a proclamat deschiderea drept principiu. Standardul de facto pentru Siemens anterioare și, în general, pentru software-ul de control al proceselor de la diferite companii a fost sistemul de operare Windows NT, care a făcut posibilă utilizarea în software a întregului bagaj acumulat în sistemele de birou.

3.3 QNX

Acest sistem de operare este destinat nu numai computerelor personale, ci și pentru o mare varietate de dispozitive inteligente de uz casnic și industrial - sisteme care controlează procese tehnologice, mașini CNC, set-top box-uri Internet, unități de redare video, console de jocuri. Acest sistem de operare este destul de remarcabil și unic din multe puncte de vedere. În 1982, în Canada, Quantum Software Systems, Limited - QSSL, creat de domnii Bell și Dan Dodge, a introdus în lume cel mai recent sistem de operare multitasking, multi-utilizator în timp real, „Quick UNIX”, despre care se spune că ar fi fost dezvoltat , a început la cererea Departamentului de Apărare al Statelor Unite. Era un sistem de operare asemănător UNIX, sau mai degrabă, compatibil cu standardul de portabilitate al aplicației POSIX, conform căruia sunt realizate și UNIX și populara sa clonă Linux.

3.4 Windows XP

Oricât de ciudat ar suna, se întâmplă ca Windows XP să fie folosit ca interfață grafică pentru operator și să fie folosit un sistem de operare special în timp real pentru a furniza în siguranță funcții CNC. Dacă apare o problemă pe XP (de exemplu, cu conexiunea la rețea), aceasta nu va afecta procesarea sau mașina în sine, deoarece CNC funcționează în propriul sistem de operare.

3.5 Windows NT4

În general, este acceptat că este un sistem de operare de rețea de încredere, multitasking și, foarte important, are o interfață Windows 95 care a devenit nativă pentru mulți. Multe companii îl folosesc atunci când își dezvoltă sistemele CNC:

    De exemplu, Walter Grinders echipează mașinile modelului Helitronic_Power cu propriul sistem CNC deschis (tip HMC 500). Sistemul CNC HMC 500 utilizează un procesor Pentium, sistemul de operare Windows NT și software-ul Walter Window Mode. Software-ul Walter Window Mode este un produs proprietar al Walter Grinders.

    Sistemul WinPCNC este un sistem CNC cu un singur computer construit pe o platformă puternică de computer personal cu sistem de operare Windows NT și extensie RTX 4.1 în timp real. Aparține clasei PCNC (Personal Computer Numerical Control), adică. la clasa așa-numitelor „sisteme de control personal”, care sunt considerate pe bună dreptate astăzi cea mai promițătoare clasă de sisteme CNC de nouă generație. Sistemul folosește un singur procesor pentru a deservi toate funcțiile sale, inclusiv funcțiile electrice. Hardware-ul este reprezentat de echipamente standard de computere personale și module de interfață suplimentare pentru comunicarea cu servomotorizările de alimentare și de mișcare principală, unități de automatizare electrice și panoul de operare. Toate aceste instrumente sunt disponibile astăzi pe piața computerelor și, prin urmare, nu este nevoie să organizați producția specială de sisteme CNC.

Desigur, aș dori să am Windows NT ca sistem de operare RT. Dar poate Windows NT astăzi, chiar și cu extensii în timp real, să se ocupe de sarcinile pe care RT OS le-a rezolvat întotdeauna? Numeroase teste au arătat că pe platformele computerizate tipice bazate pe procesoare Pentium, timpul maxim de răspuns la întrerupere (de la apariția întreruperii până la intrarea în firul de procesare, inclusiv restabilirea contextului) este de 25-80 μs, cu condiția ca sistemul testat să fie puternic. încărcate: verificare disc (chkdsk), aplicații GUI și schimb intensiv de rețea. Aceste cifre sunt comparabile cu cele furnizate de alte sisteme de operare RT și depășesc unele dintre ele.
Având în vedere cele de mai sus, este logic să începeți să căutați o soluție de succes Real-Time Extensions pentru Windows NT. Trebuie spus că Windows NT nu este un sistem deschis și este clar în prealabil că proiectele Real-Time Extensions de la companii terțe vor fi doar suplimente care nu schimbă esența sistemului de operare.

Suplimentarea nucleului standard NT cu un nucleu în timp real este abordarea care stă la baza ofertelor de la Radisys, Imagination și LP Elektronik. Există două implementări fundamental diferite:

    plasați nucleul în timp real în rutina de serviciu de întrerupere Windows NT sau într-un driver de dispozitiv;

    plasați nucleul în timp real în afara spațiului de adrese Windows NT.

Ca urmare, aș dori să remarc faptul că, deși metodele de implementare a extensiilor în timp real diferă, esența lor este aceeași - funcționarea simultană a două sisteme de operare pe un procesor: Windows NT și în timp real, plus capacitatea de a interacționa între procese în timp real și procese Windows NT.

3.6 Windows CE 2.0 - sisteme CNC deschise

GE Fanuc Automation s-a pregătit pentru lansarea sistemelor CNC din seria Is - primele sisteme CNC deschise din lume cu un sistem de operare Windows CE 2.0 încorporat. Seria include trei modele: mod. Seria 160 Is, mod. Seria 180 Is si mod. Seria 210. Seria Is Sistemele CNC pot fi folosite pentru a controla diverse tipuri de masini de debitare a metalelor, variind de la strunguri cu 2 axe la centre de prelucrare cu 5 axe, masini de debitat cu laser, prese de stantat, etc.

Sistemul de operare Windows CE 2.0 este, după cum știți, conceput pentru computere de buzunar și, prin urmare, are o dimensiune foarte mică. În același timp, capacitățile sale sunt destul de suficiente pentru a implementa funcțiile pe care ar trebui să le aibă sistemele CNC deschise moderne. Datorită dimensiunii reduse a Windows CE 2.0, sistemele CNC din seria Is au reușit să elimine necesitatea unui hard disk. Memoria flash cu o capacitate de 45 MB este folosită pentru a stoca sistemul de operare și programele de control. Absența unui hard disk în sistemele CNC din seria Is le face extrem de rezistente la solicitări mecanice, care sunt greu de eliminat în timpul transportului și exploatării în condiții reale de producție.

3.7 Nucleu

Sistemul de operare Nucleus, conceput pentru aplicații încorporate, a fost dezvoltat de Accelerated Technology Inc. (ATI, SUA), fondată în 1990 de doi programatori. Ei și-au propus un obiectiv foarte specific: să creeze un sistem de operare în timp real foarte compact pentru sisteme embedded, independent de tipul de procesor, complet deschis (ceea ce înseamnă livrare cu cod sursă), bine documentat și la un preț accesibil.
Dacă Nucleus este comparat, de exemplu, cu un astfel de cunoscut RT OS QNX, atunci este ușor de observat o serie de diferențe ale acestora.

Nucleus este un sistem încrucișat, în timp ce QNX este atât un mediu de dezvoltare, cât și un mediu de rulare. Un sistem încrucișat se referă la o tehnologie de dezvoltare în care software-ul este creat pe o platformă software și hardware și executat pe alta. Combinația QNX de medii de dezvoltare și runtime este foarte utilă în cazurile în care utilizatorul lucrează la o arhitectură compatibilă cu PC-ul IBM.

Nucleus vă permite să dezvoltați software pentru multe procesoare, în timp ce QNX vă permite să dezvoltați software doar pentru compatibile IBM PC.

Spre deosebire de QNX, Nucleus vine cu cod sursă. Acest lucru este deosebit de important pentru armată, deoarece disponibilitatea codului sursă complet facilitează certificarea aplicației create.

La achiziționarea Nucleus, cumpărătorul plătește o singură dată: ATI nu percepe taxe suplimentare pentru replicarea software-ului său. Costul acestui sistem de operare împreună cu instrumentele necesare este de 10-30 mii de dolari.La achiziționarea QNX, utilizatorul trebuie să plătească pentru sistemul complet (aproximativ 2500 de dolari pentru OS și compilatorul Watcom C), iar la replicarea software-ului, cumpărați de la minim QSSL de la licențe modulare ale companiei pentru setul necesar de drivere (de la 50 la 1000 de dolari).

QNX 4.x respectă standardul POSIX 1003. Nucleus nu respectă acest standard, dar are un set destul de puternic de apeluri de sistem.

3.8OSE 5.0

Sharp Microelectronics și Enea Embedded Technology colaborează pentru a optimiza componentele BlueStreak System-on-Chip special pentru utilizarea în dispozitivele mobile.

În primul proiect, Enea găzduiește versiunea 5.0 a sistemului de operare în timp real (RTOS) OSE pe un microcontroler LH7A400 pe 32 de biți. Acest System-on-Chip, bazat pe nucleul ARM922TT de 200 megaherți, include deja numeroase module periferice, cum ar fi dispozitivul USB, interfața MultimediaCard, controler DMA extern, interfețe seriale și paralele, inclusiv suport pentru infraroșu, precum și controlere programabile cu interfețe LCD directe pentru toate tipurile obișnuite de afișare (STN, Color STN, TFT și Sharps Advanced-TFT). Acceptă rezoluții de până la 1024x768 pixeli, cu până la 64.000 de culori și 15 semitonuri. Astfel, BlueStreak SoC LH7A400 este conceput pentru a fi utilizat ca procesor în dispozitivele mobile de ultimă generație.

3.9 OS-9

OS-9 aparține clasei UNIX de sisteme de operare în timp real similare și oferă multe elemente familiare ale mediului UNIX pentru utilizare. Cu toate acestea, designul original modular, orientat pe obiecte al sistemului, este la fel de nou acum ca și când a fost creat pentru prima dată. OS-9 este un sistem în timp real extrem de configurabil, de înaltă performanță. Modularitatea sistemului înseamnă că poate fi scalat pentru a satisface atât nevoile sistemelor încorporate mici, cât și aplicațiile de rețea mari. Toate componentele funcționale ale OS-9, inclusiv nucleul, sunt ierarhice manageri de fișiere, sistemul de intrare/ieșire și instrumentele de dezvoltare sunt implementate ca module independente. Prin combinarea acestor module, dezvoltatorul poate crea sisteme cu o mare varietate de configurații - de la nuclee miniaturale autonome orientate spre ROM până la sisteme de dezvoltare multi-utilizator la scară completă. De regulă, programele sunt dezvoltate în configurații cu funcții complete. Odată ce codul programului în timp real a fost depanat, modulele de dezvoltare și I/O sunt detașate, iar codul rezultat este gata de rulare sub controlul kernel-ului pe sistemul țintă.

3.10 VxWorks/Tornado

Sistemul de operare VxWorks este un sistem cu dezvoltare software de aplicații încrucișate, adică dezvoltarea se realizează pe un computer instrument (gazdă) în mediul Tornado pentru execuția ulterioară pe o mașină țintă care rulează VxWorks.

VxWorks acceptă arhitecturi țintă (ținte): Motorola 680x0 și CPU32, Intel 386/486/Pentium/.., Intel 960, SPARC, Mips R3000/4000, ARM, Motorola 88110, HP PA-RISC, Hitachi SH7600, DEC Alpha, PowerPC , Siemens C16x.

Platforme de instrumente acceptate pentru Tornado (gazde): Sun SPARCstation (SunOS și Solaris), HP 9000/400,700 (HP-UX), IBM RS6000 (AIX), Silicon Graphics (IRIX), DEC Alpha (OSF/1), PC (Windows) 95 și NT).

Interfețe gazdă-țintă acceptate: Ethernet, RS-232, ICE (Emulator In-Circuit), cross-bus (backplane), emulator ROM, interfață BDM (Background Debug Mode).

Lanțul de instrumente Tornado are o arhitectură deschisă, care permite altor companii de instrumente de dezvoltare software în timp real să-și integreze produsele software cu Tornado. Utilizatorul poate, de asemenea, să își conecteze propriile instrumente de dezvoltare specializate la Tornado, precum și să extindă capacitățile instrumentelor Wind River Systems.

Configurația standard Tornado include kernel-ul VxWorks și bibliotecile de sistem, GNU C/C++ Toolkit, depanator la distanță la nivel de limba sursă CrossWind, shell WindSh, configuratorul BSP WindConfig etc.

3.12 RTX

VenturCom a dezvoltat subsistemul în timp real RTX (Extensii în timp real) pentru Windows NT cu binecuvântarea și sprijinul Suport Microsoft. Microsoft a licențiat codul sursă pentru o componentă a Windows NT numită Hardware Abstraction Level (HAL), care definește practic caracteristicile de gestionare a întreruperilor ale sistemului de operare. RTX adaugă apeluri suplimentare la interfața de programare a aplicației (RTAPI, Real-Time API) și, de asemenea, încarcă un HAL modificat care<изолирует>întreruperi hardware din nucleul Windows NT. RTX oferă sistemului un ceas în timp real cu extensie de 1 ms și reduce timpul de răspuns. RTX oferă proceselor acces la adresele fizice ale memoriei și porturile I/O, precum și metode speciale de lucru cu memoria paginată care elimină latența inerentă Windows NT. Încercări de repornire sau opriri grele, cum ar fi<голубой экран>. În plus, sunt oferite interfețe care înlocuiesc funcțiile WIN32 responsabile cu programarea și sincronizarea sarcinilor, mesageria intertask, lucrul cu întreruperi hardware etc. Cel mai interesant lucru este că acest lucru nu necesită modificări la Windows NT și acest lucru nu va afecta performanța programelor existente.

Pentru dezvoltatorii embedded, VenturCom oferă o versiune de Windows NT care necesită mai puțin de 10 MB de ROM și 8 MB de RAM. Paginarea paginilor de memorie virtuală este interzisă și ca a Drivere suplimentare Sunt oferite drivere Null-Display și Null-Input, permițând sistemului să funcționeze fără afișaj și tastatură.

3.13 Soimul

Sub acest nume de cod frumos putem recunoaște cu ușurință sistemul de operare iRMX, care este familiar pentru mulți. După ce Intel a transferat drepturile asupra acestui RTOS către RadiSys, acesta din urmă a lucrat neobosit pentru a integra produsul rezultat cu platforma Windows NT. Compania a ales calea standard de licențiere a codurilor sursă la nivel HAL de la Microsoft, cu modificarea lor ulterioară pentru a îndeplini cerințele stricte în timp real.

Ca și în cazul precedent, la funcțiile standard WIN32 se adaugă noi funcții optimizate pentru funcționarea în timp real. Nucleul în timp real bazat pe iRMX coexistă în sine cu nucleul Windows NT și este responsabil pentru executarea proceselor critice pentru performanță. Windows NT, împreună cu toate aplicațiile standard, este în acest caz procesul cu cea mai mică prioritate, care primește control numai dacă toate sarcinile în timp real sunt într-o stare inactivă. Subsistemul în timp real poate continua să funcționeze chiar dacă Windows NT se blochează complet.

4. Prezentare generală CNC

Mai jos este un tabel de corespondență - în care CNC-urile moderne, ce sisteme de operare sunt utilizate.

Sistem CNCsistem de operare
Siemens GmbH
840 D/ 810 DWindows/UNIX în timp real
840 DiMS Win NT/ XP + RTX
802DDOS în timp real
802 S/CSistem de operare de design propriu
GE Fanuc
0T-D, 1018T, 3000C, 6M, 7,SYS P - Model EQNX 6.2 Windows NT
160i-MBWindows 2000 (programabil ISO-DIN)
Seria 210 IsWindows CE 2.0
Seria 180 IsWindows CE 2.0
Seria 160 IsWindows CE 2.0
Balt-System SPb
NC201Sistem de operare de dezvoltare proprie (fără informații)
NC110
NC210Sistem de operare de dezvoltare proprie (fără informații)
M.S.H.
MSH PC-104MS Win NT/ XP + RTX
MSH TURBO-UMS Win NT/ XP + RTX
MSH TURBO-MMS Win NT/ XP + RTX
MSH TURBO-120MMS Win NT/ XP + RTX
FMS
FMS-3000 - N.Novgorod
FMS-3100 - N.NovgorodSoftware-ul de sistem este implementat pe baza unui nucleu dur în timp real folosind biblioteca RT-Kernel,
Heidenhain (Germania)
TNC 145TNC 151TNC 155TNC 355TNC 4110TNC 426TNC 530Sunt utilizate următoarele sisteme de operare: QNX 6.2DOSWindowsUnixLinux
Gildemeister
Eltra PilotEltra-pilot GD-4AWindows NT4
MAHO (Germania)
MAHO 332MAHO 432MS DOS, MS Windows 3.x
NCT
NCT 2000Linux RT sau Windows RT
Numerik
CNC 600CNC 645CNC 646Windows NT4
WinPCNCsistem CNC cu un singur computer construit pe o platformă de computer personal cu sistemul de operare Windows NT și extensia în timp real RTX 4.1 de la VentureCom
KRT4-00 - ConturPartea terminalului MS Win NT/ XP + RTX

5. Concluzii

Deci ce sistem de operare ar trebui să alegi? Dacă luăm în considerare o arhitectură CNC cu dublu procesor, atunci este mai bine să instalați un sistem de operare fiabil cu o interfață convenabilă (Windows NT) pe modulul PC care efectuează sarcina terminalului și să instalați un sistem de operare RT pe modulul NC, care rezolvă geometria. și probleme logice, de exemplu QNX, care este bine structurat și are un set dezvoltat de mecanisme specifice în timp real, compacte și previzibile.
Puterea de calcul a computerelor personale moderne este în continuă creștere, iar astăzi este posibil să se construiască un sistem CNC cu un singur procesor. Pentru a-l implementa, este necesar să combinați două sarcini, PC și NC, sub controlul unui singur sistem de operare.

Este imposibil să spunem fără ambiguitate ce sisteme de operare folosesc furnizorii CNC atunci când le creează. Acestea. Este imposibil să distingem un anumit sistem de alții. Alegerea sistemului de operare depinde de sarcinile pe care trebuie să le rezolve și de securitatea financiară a utilizatorului final. Chiar și în cadrul aceleiași companii puteți găsi un număr mare de SRV-uri diferite.

Pentru a atinge diferite obiective de producție, este logic să folosiți sisteme diferite, care îndeplinește cel mai bine anumite cerințe. Mai mult, uneori vorbim nu numai despre caracteristicile sistemului, ci și despre costuri monetare.

Încă o dată, extensiile pentru Win NT ar trebui remarcate în special ca fiind cel mai flexibil și mai justificat sistem, câștigând o popularitate tot mai mare în rândul dezvoltatorilor de top și utilizatorilor avansați.

6. Literatura folosită

  • Timmerman M., Monfret J-C., „Windows NT as Real-Time OS?”, Real-Time Magazine 2/97, 6-13
  • Sorokin S.A. Sisteme în timp real. STA. 1997, nr. 2, p. 22-29
  • Shalunov S. Hurd OS - dezvoltare FSF bazată pe un microkernel. Sisteme deschise. 1997. Nr. 3
  • Volodin S.V., Makarov A.N., Utrikhin Yu.D., Faradzhaev V.A. Proiectare la nivelul întregului sistem a sistemelor de control automatizate în timp real. M. 1984
  • Locul sistemelor de afișare a informațiilor în sistemele de control automatizate în timp real.
  • Extensii în timp real Windows NT: o prezentare generală, Revista în timp real, 97Q2, Dr. ir. Martin Timmerman, director general, Jean-Christophe Monfret, manager de proiect, Real-Time Consult.
  • Sosonkin V.L., Martinov G.M. Analiza nivelului mondial actual de soluții arhitecturale în domeniul CNC
  • Martinov G.M., Sosonkin V.L. Problemă în timp real

Introducere

Un computer este un sistem de calcul format din hardware și software. Funcționarea acestuia necesită un software de bază - un sistem de operare. Fără un sistem de operare, un computer nu poate funcționa.

Un sistem de operare este un set de programe care organizează și controlează funcționarea unui computer.

Scopul lucrării: efectuează o analiză comparativă a sistemelor de operare ale familiilor Windows și Mac OS.

Sarcini:

  • Definiți un sistem de operare;
  • Luați în considerare funcțiile sistemelor de operare;
  • Efectuați o analiză comparativă a sistemelor de operare.

1. Definiții și concepte de bază

1.1. sistem de operare

Un sistem de operare este un set de programe de sistem interconectate care sunt încărcate atunci când computerul este pornit și sunt stocate permanent în memoria computerului. Ei conduc un dialog cu utilizatorul, gestionează computerul, resursele acestuia (RAM, spațiu pe disc etc.) și lansează alte programe (aplicații) pentru execuție. Sistemul de operare oferă utilizatorului și programelor de aplicație o modalitate convenabilă de a comunica (interfață) cu dispozitivele computerizate.

Motivul principal pentru necesitatea unui sistem de operare este că operațiunile elementare pentru operarea dispozitivelor computerizate și gestionarea resurselor computerului sunt operațiuni de nivel foarte scăzut, astfel încât acțiunile care sunt solicitate de utilizator și de programele de aplicație constau în câteva sute sau mii de astfel de operatii elementare.

De exemplu, o unitate de disc magnetică „înțelege” doar operațiuni de bază precum pornirea/oprirea motorului de antrenare, instalarea capetelor de citire pe un anumit cilindru, selectarea unui cap de citire specific, citirea informațiilor de pe o pistă de disc într-un computer etc. Și chiar și pentru a efectua o acțiune atât de simplă, cum ar fi copierea unui fișier de pe o dischetă pe alta (un fișier este un set de informații numit pe un disc sau pe un alt mediu de stocare al mașinii), este necesar să efectuați mii de operațiuni pentru a rula comenzi pentru unitatea de disc, verificați execuția acestora, căutați și procesați informații în tabele plasând fișiere pe discuri etc.

Sistemul de operare ascunde de utilizator toate aceste detalii complexe și inutile și îi oferă acestuia o interfață convenabilă cu care să lucreze. De asemenea, efectuează diverse acțiuni auxiliare, cum ar fi copierea sau imprimarea fișierelor. Sistemul de operare încarcă toate programele în RAM, le transferă controlul la începutul activității lor, efectuează diverse acțiuni la solicitarea execuției programelor și eliberează memoria RAM ocupată de programe atunci când acestea sunt finalizate.

Sistemele de operare pot fi împărțite în grupuri (clasificate) după următoarele criterii:
1. După numărul de utilizatori: sistem de operare cu un singur utilizator (deservește un singur utilizator); multi-utilizator (funcționează cu mulți utilizatori)
2. După numărul de procese: o singură sarcină (procesează o singură sarcină - nu mai este folosită); multitasking (localizează mai multe sarcini simultan în RAM, care sunt procesate alternativ de procesor)

După tipul de tehnologie informatică: un singur procesor, multiprocesor (sarcinile pot fi efectuate pe diferite procesoare; serverele sunt de obicei multiprocesor), de rețea (furnizează partajarea resurse pentru toate sarcinile efectuate în rețea).

În funcție de tipul de interfață (metoda de interacțiune cu utilizatorul), sistemele de operare sunt împărțite în 2 clase: OS cu interfață de linie de comandă și OS cu interfață grafică.

Există mai multe tipuri de sisteme de operare: Windows, Mac OS.

1.2. Caracteristicile sistemului de operare

Funcțiile sistemului de operare includ:

  • realizarea unui dialog cu utilizatorul;
  • de intrare/ieșire și gestionarea datelor;
  • planificarea și organizarea procesului de procesare a programului;
  • distribuția resurselor (RAM și cache, procesor, dispozitive externe);
  • lansarea de programe pentru execuție;
  • tot felul de operațiuni auxiliare de întreținere;
  • transfer de informații între diferite dispozitive interne;
  • suport software pentru funcționarea dispozitivelor periferice (afișaj, tastatură, unități de disc, imprimantă etc.).

2. Analiza comparativa sisteme de operare

2.1. Windows XP

Istoria Windows (dezvoltat de Microsoft) datează din 1986. A câștigat popularitate în 1990, când a fost lansat Windows 3.0. Popularitatea noii versiuni de Windows sa datorat mai multor motive. GUI vă permite să lucrați cu obiecte de pe computer nu folosind comenzi, ci folosind acțiuni vizuale și ușor de înțeles pe pictogramele care reprezintă aceste obiecte. Capacitatea de a lucra simultan cu mai multe programe a crescut semnificativ confortul și eficiența muncii. În plus, comoditatea și ușurința de a scrie programe pentru Windows a condus la apariția unei game din ce în ce mai diverse de programe care rulează sub Control Windows. În cele din urmă, munca cu o varietate de echipamente informatice a fost mai bine organizată, ceea ce a determinat și popularitatea sistemului. Versiunile ulterioare de Windows au avut ca scop îmbunătățirea fiabilității, precum și suportul pentru multimedia (versiunea 3.1) și funcționarea în rețele de calculatoare (versiunea 3.11).

În 1995, a apărut sistemul Windows 95, care a devenit o nouă etapă în istoria Windows: interfața s-a schimbat semnificativ, viteza programelor a crescut, iar sistemul a inclus motor de cautare Explorator.

Continuarea dezvoltării Windows 95 a fost sistemul de operare care a apărut în 1998 (Windows 98). În timp ce interfața a rămas aceeași, structura internă a fost reproiectată semnificativ. S-a acordat multă atenție lucrului cu Internetul, precum și sprijinirii protocoalelor moderne de transfer de informații - standarde care asigură schimbul de informații între diverse dispozitive. In afara de asta, Caracteristica Windows 98 este capacitatea de a lucra cu mai multe monitoare.

Următoarea etapă în dezvoltarea Windows a fost apariția Windows 2000 și Windows ME (Millennium Edition). Sistemul Windows 2000 a fost dezvoltat pe baza Windows NT și a moștenit de la acesta fiabilitatea ridicată și securitatea informațiilor împotriva interferențelor externe. Sistemul de operare Windows ME a devenit succesorul Windows 98, dar a dobândit multe caracteristici noi. În primul rând, aceasta este o muncă îmbunătățită cu multimedia, capacitatea de a înregistra nu numai informații audio, ci și video, mijloace puternice de recuperare a informațiilor după eșecuri și multe altele.

Sistemul de operare Microsoft Windows XP (din engleza eXPerience - experiență), sau Microsoft Codename Whistler, este un sistem de operare al familiei Windows, creat pe baza tehnologiei NT.

În prezent, Windows XP pentru computere desktop și stații de lucru este disponibil în trei versiuni: Home Edition pentru computerele personale de acasă, Professional Edition pentru computerele de birou și, în sfârșit, Microsoft Windows XP 64bit Edition - aceasta este versiunea Windows XP Professional pentru computerele personale construite pe bazat pe un procesor Intel Itanium pe 64 de biți cu o frecvență de ceas mai mare de 1 GHz.

Când compari Windows XP cu versiunile anterioare ale Microsoft Windows, este ușor să observi multe diferențe semnificative în noul sistem de operare. În ciuda faptului că acest sistem de operare a fost dezvoltat pe baza platformei NT și, la prima vedere, caracteristicile sale sunt în multe privințe similare cu Microsoft Windows 2000, de fapt Windows XP aparține unei generații fundamental diferite de sisteme de operare din familia Windows. . Acum, utilizatorul Windows nu este legat de nicio interfață standard instalată pe sistem în mod implicit: puteți schimba cu ușurință aspectul ferestrelor descărcând oricare dintre sutele de „Teme” special concepute de pe Internet. Meniul principal tradițional, care oferă acces la programele instalate pe computer, documentele stocate pe discuri și setările sistemului de operare, a suferit și el o serie de modificări semnificative. Acum, când apăsați butonul Start, apare un meniu dinamic care conține pictograme doar pentru cele cinci programe pe care le utilizați cel mai des. Datorită acestui lucru, puteți începe mult mai rapid cu aplicațiile de care aveți nevoie. Butoanele Deconectare și Oprire computer sunt, de asemenea, amplasate aici, permițându-vă să încheiați sesiunea curentă Windows și să opriți computerul.

În mediul Microsoft Windows, utilizatorul trebuie adesea să lucreze simultan cu mai multe documente sau cu un set de programe diferite. În același timp, aplicațiile inactive sunt reduse la minimum în bara de activități, ca urmare, mai devreme sau mai târziu, aceasta devine supraaglomerată cu pictograme, iar comutarea între sarcini devine dificilă. Pentru a ușura bara de activități și a elibera mai mult spațiu de lucru pentru afișarea pictogramelor aplicațiilor care rulează, Windows XP folosește așa-numitul algoritm de grupare a sarcinilor, conform căruia programele similare care rulează pe computer în același timp sunt combinate într-un grup vizual logic.

Windows are probleme semnificative de securitate în ceea ce privește piratarea de la distanță a sistemului. Înfruntarea acestei probleme este parțial ajutată de instalarea de corecții eliberate în mod regulat de dezvoltatori. Apoi, produsele Microsoft devin în mare parte sigure, dar fără a fi actualizate, sistemele de operare pot fi din nou deschise hackerilor.

2.2. MacOS

Mergi la noua arhitectura, a transformat foarte mult comunitatea Mac și, de fapt, a împărțit înțelegerea computerelor lor în două epoci - „înainte de tranziția la Intel” și „după tranziția la Intel”.

Primul Mac OS a apărut în 1984, mult mai devreme decât Windows. A fost conceput special pentru computerele Macintosh (Mac). Aceste computere au o arhitectură închisă, adică computerele în sine sunt asamblate doar de Apple.

Puterea Mac OS este absența virtuală a virușilor pentru Macintosh. Iar ideea nu este doar că Mac OS nu este foarte răspândit în comparație cu Windows, ci și că virușii tradiționali pur și simplu nu funcționează într-un mediu UNIX. Teoretic, desigur, există mostre de viruși care pot funcționa cu unele aplicații pentru Mac OS, dar numărul acestora este pur și simplu nesemnificativ în comparație cu software-ul rău intenționat scris pentru Windows. Chiar și piratarea de la distanță a unui computer care rulează Mac OS este mult mai dificilă decât piratarea unei mașini care rulează Windows, iar programele antivirus pot fi necesare doar pentru a preveni trimiterea unui fișier infectat către o mașină care rulează Windows, deoarece nu vă va provoca niciun fel rău .

Interfața de sistem are, de asemenea, diferențe semnificative față de Windows. De exemplu, dacă în Windows fiecare program corespunde de obicei unei ferestre cu file și bare de instrumente care se deschid în ea, atunci în Mac OS sunt folosite ferestre și panouri „plutitoare”, nu legate de o fereastră comună, ci situate pe desktop.

Caracteristica principală a interfeței Mac OS este minimalismul acesteia. Aceasta înseamnă că atunci când aplicația este lansată, utilizatorului i se prezintă cheie, interfață de bază și elemente de control și, doar la nevoie, utilizatorul poate personaliza mediul de lucru după bunul său plac. În acest caz, utilizatorul nu va întâmpina dificultăți în stăpânirea interfeței OS.

O altă caracteristică distinctivă a interfeței este panoul de andocare. Acesta este un panou din partea de jos a desktopului, unde puteți găsi pictograme pentru fișierele și aplicațiile la care aveți nevoie de acces rapid, precum și aplicațiile care rulează. Panoul poate fi editat, redimensionat, eliminat și adăugat pictograme pentru aplicații. De asemenea, puteți nota elemente de interfață, cum ar fi Dashboard și Expose. Tabloul de bord este un panou pentru lucrul cu „widgeturi”, cele mai simple aplicații grafice care, de regulă, îndeplinesc funcții de informare. Expune – o funcție de afișat pe ecran sub formă de miniaturi toate ferestrele deschise sau numai ferestrele programului activ.

Mac OS, spre deosebire de Windows, vine cu setul necesar de instrumente pentru funcționarea completă încă de la început. Și deși lista de programe pentru Mac OS nu este la fel de impresionantă ca pentru Windows, totuși, toate aplicațiile de bază necesare pentru muncă și divertisment sunt acolo.

2.3. Avantajele și dezavantajele sistemelor de operare
Avantajele și dezavantajele sistemelor de operare Windows și Mac OS

Avantaje

Defecte

Windows 1. O gamă largă de software
2. Compatibilitate deplină cu toate echipamentele
3. Suport tehnic
4. Răspândit
5. Ușor de configurat
1. Securitate slabă
2. Cerințe de sistem oarecum ridicate
3. Multe restricții (sistem de control al conținutului digital, a apărut pentru prima dată în Windows Vista, Microsoft încearcă mereu să-și impună opinia asupra a ceea ce este mai bine pentru utilizator)
MacOS 1. Configurare ușoară
2. Nu necesită cunoaștere a detaliilor tehnice de la utilizator
3. Intuitivitatea utilizării
4. Organizarea convenabilă a ferestrelor - toate ferestrele sunt vizibile și nu este nevoie să comutați între ele.
5. Instalat set de bază DE
6.Securitate bună
1. Costul ridicat al computerelor cu Mac OS X
2. Arhitectură computerizată închisă – nu există posibilitatea de modernizare a echipamentelor

Concluzie

În ultimii 10 ani, computerele au inundat literalmente apartamente, birouri și afaceri. „Cutia inteligentă” intră cu încredere în viața noastră. Mulți oameni nu își mai imaginează cum s-ar putea descurca fără ea înainte .

Un număr mare de utilizatori preferă să folosească computerul pentru divertisment. În acest caz, Windows este potrivit pentru persoanele care au nevoie de un centru multimedia (muzică, cinema, internet, jocuri). Și pentru cei care au nevoie de un computer care să nu fie costisitor și să nu fie prea greu de utilizat pentru muncă, iar Mac OS X este cea mai bună opțiune pentru persoanele care doresc să lucreze pe un computer fără să se aprofundeze în caracteristicile sistemului

Cu ajutorul abstracțiilor simple și clare, detaliile fizice ale funcționării computerului sunt ascunse de programator.

Realizează o distribuție ordonată și controlată a timpului procesorului, memoriei etc. între programe

Asigură siguranța datelor fiecărui utilizator și izolează aplicațiile care rulează unul de celălalt

Un program care rulează constant pe un computer (sau o parte a acestuia - nucleul), interacționând cu toate programele de aplicație

Sistem de operare multiprocesor

O modalitate din ce în ce mai comună de a crește puterea computerelor este combinarea mai multor unități centrale de procesare într-un singur sistem. În funcție de tipul de conectare a procesoarelor și de diviziunea muncii, astfel de sisteme se numesc computere paralele, multicalculatoare sau sisteme multiprocesor. Acestea necesită sisteme de operare speciale, dar adesea astfel de sisteme de operare sunt variante ale sistemelor de operare pentru servere cu capacități speciale de comunicare.

OS pentru computere personale

Următoarea categorie este PC OS. Sarcina lor este de a oferi o interfață ușor de utilizat pentru un singur utilizator. Astfel de sisteme sunt utilizate pe scară largă pentru lucrul cu text, foi de calculși acces la internet. Cele mai izbitoare exemple sunt Windows 98, Windows 2000, Windows XP, Windows Vista, sistemele de operare pentru computere Macintosh și Linux. Aceste sisteme de operare sunt foarte cunoscute, iar mulți oameni habar nu au despre existența altor tipuri de sisteme de operare, altele decât cel pe care îl folosesc.


Sistem de operare în timp real

Un alt tip de sistem de operare sunt sistemele în timp real. Parametrul principal al unor astfel de sisteme este timpul. De exemplu, în sistemele de control al producției, calculatoarele în timp real colectează date despre procesele industriale și le folosesc pentru a controla mașinile dintr-o fabrică. Adesea, astfel de procese trebuie să îndeplinească cerințe stricte de timp. Deci, dacă o mașină se deplasează de-a lungul unei benzi transportoare, atunci fiecare acțiune trebuie efectuată la un moment strict definit în timp. Dacă o acțiune trebuie să aibă loc într-un anumit moment în timp (sau într-un interval de timp dat), avem de-a face cu un sistem greu de timp real. Există un alt tip: un sistem flexibil în timp real în care sunt acceptabile termenele ocazionale ratate pentru finalizarea unei operațiuni. Sistemele multimedia audio digitale se încadrează în această categorie. Sistemele VxWorks și QNX sunt sisteme de operare în timp real bine-cunoscute.

Sistem de operare încorporat

Continuând să trecem de la sisteme uriașe la cele mai mici, am ajuns la computere portabile și sisteme încorporate. Un computer de buzunar (PDA) sau PDA (Personal Digital Assistant) este un computer mic care se potrivește într-un buzunar și îndeplinește un set mic de funcții (telefon caietși blocnotes). Sistemele încorporate care controlează acțiunile dispozitivului rulează pe mașini care nu sunt de obicei considerate computere, cum ar fi televizoare, cuptoare cu microunde și telefoane mobile. Acestea au adesea aceleași caracteristici ca și sistemele în timp real, dar au limitări speciale de dimensiune, memorie și putere care le deosebesc. Exemple de astfel de sisteme de operare sunt PalmOS și Windows CE (Consumer Electronics).

OS pentru carduri inteligente

Cele mai mici sisteme de operare rulează pe carduri inteligente, care sunt dispozitive de dimensiunea unui card de credit care conțin o unitate centrală de procesare. Astfel de sisteme de operare sunt supuse unor restricții extrem de stricte privind puterea procesorului și memorie. Unele dintre ele pot gestiona doar o singură tranzacție, cum ar fi o plată electronică, dar alte sisteme de operare pe aceleași carduri inteligente funcționează funcții complexe. Acestea sunt adesea sisteme proprietare. Unele carduri inteligente sunt bazate pe Java. Aceasta înseamnă că ROM-ul cardului inteligent conține un interpret mașină virtuală Java (JVM, Java Virtual Machine). Applet-urile Java (programe mici) sunt încărcate pe card și executate de interpretul JVM. Unele dintre aceste carduri pot gestiona mai multe applet-uri Java în același timp, ceea ce duce la multitasking și la nevoia de programare. Datorită funcționării simultane a două sau mai multe programe, este nevoie de management și protecție a resurselor. În consecință, toate aceste sarcini sunt de obicei efectuate de un sistem de operare extrem de primitiv situat pe un card inteligent.

Materiale folosite:

Completat de Borisova Albina 10a

Kukushkin Dmitri, TM-247

Studiul evoluției OS

Descarca:

Previzualizare:

Instituția de învățământ de la bugetul de stat de învățământ secundar profesional „Colegiul de Instrumentar Arzamas cu numele P.I. Plandin”

CERCETARE

Efectuat:

Kukushkin D, student

Grupuri TM-247

Studiul evoluției sistemelor de operare

Consilier stiintific:

Profesorul Rakova L.V.

Arzamas,

2014

INTRODUCERE……………………………………………………………………………………………………..3

CAPITOLUL I. Conceptul de sistem de operare……………………………………….. 4

CAPITOLUL II. Evoluția sistemului de operare………………………………………………..5

§2.1.Prima perioadă………………………………………………………………………….5

§2.2.A doua perioadă…………………………………………………………………………..5

§2.3.Perioada a treia……………………………………………………………………………………………..6

§2.4.Perioada a patra…………………………………………………………………………7

CAPITOLUL III. Cerințe de sistem pentru sistemele de operare comune...8

CAPITOLUL IV. Analiza sistemelor de operare moderne…………………………………………………….10

Concluzii la capitolul IV…………………………………………………………………………...12

CONCLUZIE……………………………………………………………………………………………..14

LISTA SURSELOR UTILIZATE…………………………….15

INTRODUCERE

Istoria oricărei ramuri a științei sau tehnologiei ne permite nu numai să satisfacem curiozitatea naturală, ci și să înțelegem mai bine esența principalelor realizări ale acestei industrii, să înțelegem tendințele existente și să evaluăm corect perspectivele anumitor domenii de dezvoltare. De-a lungul perioadei de aproape jumătate de secol a existenței lor, sistemele de operare au trecut printr-o cale dificilă, plină de multe evenimente importante. Progresele în îmbunătățirea sistemelor de operare au avut un impact uriaș asupra dezvoltării sistemelor de operare. element de bazăși hardware de calcul, prin urmare multe etape ale dezvoltării sistemului de operare sunt strâns legate de apariția unor noi tipuri de platforme hardware, precum minicalculatoarele sau computerele personale. Sistemele de operare au suferit o evoluție serioasă datorită noului rol al calculatoarelor în rețelele locale și globale. Cel mai important factor în dezvoltarea sistemului de operare a fost Internetul. Pe măsură ce această rețea dobândește caracteristicile unui mijloc universal de comunicații în masă, sistemele de operare devin mai simple și mai convenabile de utilizat, includ mijloace dezvoltate de susținere a informațiilor multimedia și sunt echipate cu măsuri de securitate fiabile.

Relevanța cercetăriieste cauzată de necesitatea de a îmbunătăți sistemele de operare pentru a îmbunătăți calitatea lucrului utilizatorului cu un computer, simplificând-o și eliberându-l de responsabilitatea distribuirii și gestionării resurselor.

Obiect de studiu- OS.

Subiect de studiu– tehnologii eficiente, lucrări științifice ale oamenilor de știință și programatori, utilizate de utilizator în lucrul la sistemul de operare.

Scopul acestei lucrări de cercetareeste o descriere și o analiză a evoluției sistemelor de operare.

Scopul este atins prin următoarele sarcini:

Luați în considerare aspectul istoric al apariției sistemelor de operare;

Identificați și luați în considerare etapele evoluției sistemelor de operare.

Primul capitol acoperă informații generale despre sistemele de operare.

Al doilea capitol examinează perioadele de dezvoltare a sistemelor de operare.

Al treilea capitol discută cerințele de sistem ale sistemelor de operare comune.

Al patrulea capitol oferă o analiză a sistemelor de operare comune.

Lucrarea constă din patru capitole, o introducere, o concluzie și o listă de surse utilizate.

CAPITOLUL 1. Conceptul de sistem de operare

Sistem de operare, OS (engleză) sistem de operare) - complex de bază programe de calculator un fel de transmițător între hardware-ul computerului și alte programe. Sistemul de operare preia semnalele de comandă trimise de alte programe și le „traduce” într-un limbaj ușor de înțeles pentru mașină. Sistemul de operare gestionează toate dispozitivele conectate la computer, oferind acces la acestea la alte programe.

Sistemul de operare vă permite să faceți abstracție de la detaliile implementării hardware, oferind dezvoltatorilor de software setul minim necesar de funcții. Din punctul de vedere al oamenilor obișnuiți, utilizatorii obișnuiți hardware-ul computerului, sistemul de operare include și programe de interfață cu utilizatorul. Funcții principale (OS simplu):

  • Încărcarea aplicațiilor în RAM și executarea acestora;
  • Acces standardizat la dispozitivele periferice (dispozitive de intrare/ieșire);
  • Management RAM (distribuție între procese, memorie virtuală);
  • Controlul accesului la date de pe medii nevolatile (cum ar fi Hard Disk, CD-uri etc.), de obicei folosind un sistem de fișiere;
  • Interfața cu utilizatorul;
  • Operațiuni de rețea, suport pentru stiva de protocoale

Fiecare sistem de operare constă din cel puțin 3 părți necesare.

Primul este nucleul, un interpret de comandă, un „traducător” dintr-un limbaj software într-un limbaj hardware, un limbaj de cod de mașină.

Al doilea - programe specializate pentru a controla diverse dispozitive incluse în computer. Astfel de programe se numesc drivere. Aceasta include și așa-numitele „biblioteci de sistem” utilizate atât de sistemul de operare în sine, cât și de programele incluse în acesta.

A treia parte este un shell convenabil cu care utilizatorul comunică - interfața. Acesta este un fel de ambalaj frumos în care este împachetat un sâmbure plictisitor și neinteresant. Comparația cu ambalajul este, de asemenea, potrivită, deoarece este ceea ce oamenii acordă atenție atunci când aleg un sistem de operare, în timp ce nucleul, partea principală a sistemului de operare, este amintit abia mai târziu.

Cele mai comune sisteme de operare astăzi sunt toate sistemele de operare Microsoft, Linux și Mac OS.

CAPITOLUL II. Evoluția sistemului de operare

§2 .1 Prima perioadă (1945 -1955)

Se știe că computerul a fost inventat de matematicianul englez Charles Babage la sfârșitul secolului al XVIII-lea. „Motorul său analitic” nu a putut niciodată să funcționeze cu adevărat, deoarece tehnologiile din acea vreme nu îndeplineau cerințele pentru fabricarea pieselor de mecanică de precizie care erau necesare pentru tehnologia computerelor. De asemenea, se știe că acest computer nu avea sistem de operare.

Unele progrese în crearea computerelor digitale au avut loc după cel de-al Doilea Război Mondial. La mijlocul anilor '40, au fost create primele dispozitive de calcul cu tuburi. La acel moment, același grup de oameni a participat la proiectarea, operarea și programarea computerului. A fost mai degrabă o muncă de cercetare în domeniul tehnologiei informatice, mai degrabă decât utilizarea computerelor ca instrument pentru rezolvarea oricărui probleme practice din alte domenii de aplicare. Programarea s-a realizat exclusiv în limbaj mașină. Nu s-a vorbit despre sisteme de operare; toate sarcinile de organizare a procesului de calcul au fost rezolvate manual de fiecare programator din panoul de control. Nu exista niciun alt software de sistem în afară de biblioteci de rutine matematice și utilitare.

§ 2.4 A patra perioadă (1980-prezent)

Următoarea perioadă în evoluția sistemelor de operare este asociată cu apariția circuitelor integrate la scară largă (LSI). În acești ani, s-a înregistrat o creștere bruscă a gradului de integrare și o reducere a costului microcircuitelor. Computerul a devenit disponibil individului și a început era computerelor personale. Din punct de vedere arhitectural, calculatoarele personale nu erau diferite de clasa de minicalculatoare precum PDP-11, dar prețurile lor erau semnificativ diferite. Dacă minicalculatorul a făcut posibil ca un departament al unei întreprinderi sau al unei universități să aibă propriul computer, atunci computerul personal a făcut acest lucru posibil pentru o persoană.

Calculatoarele au devenit utilizate pe scară largă de către nespecialişti, ceea ce a necesitat dezvoltarea unui software „prietenos”, care a pus capăt castei programatorilor.

Piața sistemelor de operare a fost dominată de două sisteme: MS-DOS și UNIX. Sistemul de operare MS-DOS cu un singur program și un singur utilizator a fost utilizat pe scară largă pentru computerele construite pe microprocesoare Intel 8088 și mai târziu 80286, 80386 și 80486. Sistemul de operare UNIX cu mai multe programe și utilizatori a dominat printre computerele „non-Intel”. , în special cele construite pe procesoare RISC de înaltă performanță.

La mijlocul anilor 80, rețelele de computere personale care rulau sub sisteme de operare în rețea sau distribuite au început să se dezvolte rapid.

În sistemele de operare în rețea, utilizatorii trebuie să fie conștienți de prezența altor computere și trebuie să se conecteze la un alt computer pentru a-și folosi resursele, în principal fișierele. Fiecare mașină din rețea rulează propriul său sistem de operare local, care diferă de sistemul de operare al computerului independent prin faptul că are fonduri suplimentare, permițând computerului să lucreze în rețea. Sistemul de operare al rețelei nu are diferențe fundamentale față de sistemul de operare al unui computer cu un singur procesor. Cu siguranta contine suport software pentru dispozitive de interfață de rețea (driver adaptor de rețea), precum și instrumente pentru autentificarea de la distanță la alte computere din rețea și instrumente de accesare fișiere șterse, cu toate acestea, aceste completări nu schimbă semnificativ structura sistemului de operare în sine.

CAPITOLUL III. Cerințe de sistem ale sistemelor de operare comune

Nu voi concentra o atenție specială asupra sistemului de operare Windows, deoarece aproape oricine folosește un computer probabil că folosește Windows ca sistem de operare desktop. Prin urmare, să trecem imediat la cerințele de sistem ale acestui produs.

  1. Microsoft Windows XP

Pentru o funcționare rapidă și stabilă, computerul dumneavoastră trebuie să aibă procesor Pentium-II, frecvența procesorului de la 500 MHz, liber spatiu pe disc cel puțin 2 GB și, în consecință, un cititor de discuri.

  1. Microsoft Windows Vista

Dacă ați ales Vista, atunci sistemul computerului dvs. nu trebuie să fie mai slab decât aceste cerințe de sistem: un procesor cu o frecvență de ceas de cel puțin 800 MHz, 512 MB de RAM, 32 MB de memorie video, o placă grafică care acceptă DirectX 9, un cititor DVD și cel puțin 15 GB spațiu liber pe hard disk.

  1. Microsoft Windows Seven

Pentru a rula acest sistem, aveți nevoie de un procesor cu o frecvență de cel puțin 1 GHz, 1 GB RAM sau mai mare, mai mult de 16 GB spațiu liber pe hard disk, un cititor DVD și o placă grafică compatibilă DirectX 9.

Pe 7 septembrie 1991, studentul finlandez Linus Torvalds a postat online codul sursă pentru ceea ce avea să se dezvolte ulterior în sistemul de operare Linux („Linux”). Cea mai fundamentală diferență între Linux și Mac OS X și Windows este că Linux este un software gratuit care este distribuit sub licență GPL. Spre deosebire de sistemele comerciale precumMicrosoft Windows sau MacOS , Linux nu are un centru de dezvoltare geografică. Nu există nicio organizație care să dețină acest sistem; Nu există nici măcar un singur centru de coordonare. Programele pentru Linux sunt rezultatul muncii a mii de proiecte. Unele dintre aceste proiecte sunt centralizate, altele sunt concentrate în firme. Multe proiecte se combinăhackeri din toată lumea care se cunosc doar prin corespondență. Oricine își poate crea propriul proiect sau se poate alătura unuia existent și, dacă reușește, rezultatele muncii vor deveni cunoscute de milioane de utilizatori. Utilizatorii participă V testarea software gratuit , comunica direct cu dezvoltatorii, ceea ce vă permite să găsiți și să remediați rapid erorile și să implementați noi funcții.

Dacă decideți să instalați Linux pe computer, atunci veți avea nevoie de un procesor de 33 MHz, 8 MB de RAM și 120 MB de spațiu pe disc.

Ultimul pe lista celor mai comune sisteme de operare este Mac OS. Cel mai important lucru este că Mac OS X poate fi instalat numai pe computerele Macintosh produse de Măr. În plus, spre deosebire de Linux deschis, Mac OS X este un software proprietar, adică. există interzicerea distribuirii gratuite, a face modificări etc. Primul Mac OS a apărut în 1984, care este mult mai devreme decât apariția Windows-ului. Compania Apple dorea ca Macintosh să fie prezentat ca un computer „pentru toți ceilalți”. Termenul „Mac OS” în sine nu a existat cu adevărat până când a fost folosit oficial la mijlocul anilor 1990. De atunci, termenul a fost aplicat tuturor versiunilor de sisteme de operare Macintosh ca o modalitate convenabilă de a le distinge în contextul altor sisteme de operare. Mac OS poate fi instalat numai pe computerele Macintosh produse de Apple. Aceste computere, spre deosebire de PC-urile cu care suntem obișnuiți, au o arhitectură închisă, adică computerele în sine sunt asamblate doar de Apple.

CAPITOLUL 4. Analiza sistemelor de operare moderne

Date practice.

Compararea sistemelor de operare este un proces care necesită multă muncă. Rezultatul muncii este reflectat în tabel (Tabelul nr. 1).

Toate sistemele de operare (Windows XP, Windows Vista, Windows Seven, Linux, Mac OS) au fost evaluate în funcție de mai mulți parametri:

  1. Siguranță,
  1. interfata,
  2. Preț.

tabelul 1

Windows XP

Windows Vista

Windows Seven

Linux

MacOS

Siguranță

Fără a instala actualizări și

petice - cele mai lipsite de apărare

sistem de acces la internet.

Cea mai delicioasă țintă pentru

multi virusi si altele

malware.

Îmbunătățește securitatea

folosind programe suplimentare, dar

ramane scopul principal pentru malware.

La fel ca versiunile anterioare de Windows, are nevoie de actualizare constantă.

Linux este mai sigur

sistem decât Windows.

De exemplu, Ubuntu, prin -

implicit, nici măcar nu creează

cont de administrator, care

este un scop esential

pentru malware.

Mic

Prevalența Linux

duce la hackeri

acordă-i mai puțină atenție

atenție decât pe Windows.

Separarea clară a sistemului și

fisiere personalizate pentru

siguranta maxima.

în acest caz,

permisiunile pentru fișiere sunt ignorate

utilizatorii.

Interfață

Lipsa de consistență a interfeței.

Nu există reguli clare așa cum ar trebui

comenzile privite

în diferite

aplicații - totul este în mâinile tale

dezvoltatorii de aplicații.

Fara efecte normale

când comutați între ferestre

si plierea lor. Cei care există -

Vreau să-l opresc după 5

minute.

Motor de căutare învechit

fișiere. Nu poate fi decât îmbunătățit

aplicații terțe,

de exemplu - Google Desktop

Căutare.

Interfață supraîncărcată. Schimbat

unele prevederi

elemente din panou

management.

Efecte de transluciditate,

animațiile ușurează

navighează în munca ta și

comutarea între programe.

Căutați rapid fișiere după

întregul sistem.

Posibilitate de utilizare

Gadget-uri

în bara laterală pe

desktop.

O interfață destul de plăcută care nu provoacă iritații.

Posibilitatea de a vizualiza ferestrele în 3D, frumoase și panouri convenabile ușurează utilizarea computerului.

Căutarea foarte rapidă ajută la o mai bună navigare în biblioteca imensă de fișiere.

Posibilitate de utilizare

Gadget-uri

în bara laterală pe

desktop.

Interfețele Gnome și KDE

similar cu interfețele Mac

OS și respectiv Windows.

Capacitate încorporată

folosirea mai multor

desktop-uri virtuale.

Posibilitate de includere

accelerare grafică

prezent dar necesită

separa

acordarea.

Interfața este clară, neaglomerată și

logic. Atat de bine incat

încercând să o recreeze asupra altora

sisteme de operare folosind teme

design și programe speciale.

Transluciditate și efecte de animație

foarte organic și de ajutor

naviga prin sistem.

Disponibilitatea desktop-urilor virtuale

tragere și plasare

ferestrele dintre mese.

Posibilitatea de a utiliza widget-uri.

Căutare instantanee deja la

tastați căutări pentru fișiere și conținutul acestora prin

în întregul sistem și în rețeaua locală,

suportă operaţii logice şi

calcule aritmetice.

Funcționează grozav pentru nu

procesoare prea rapide și

volum mic de operațional

memorie.

Necesită mai mult operațional

memorie și spațiu pe disc.

Sistem înalt

cerințe.

Cerințele de sistem destul de mari complică funcționarea acestui sistem de operare pe procesoarele mai vechi.

Viteză excelentă de operare.

Funcționează excelent chiar și pe computere foarte vechi din cauza cerințelor reduse de sistem.

mai întâi fondurile

sunt orientate spre Windows și

Mac OS.

Productivitatea este ridicată deoarece

că software-ul este foarte

bine optimizat pentru specific

platformă.

Preț

2000-5000 rub.

2000-6000 rub.

3000-7000 de ruble.

3000-6000 de ruble.

Inclus in pretul laptopului.

Concluzii la capitolul IV

  1. Microsoft Windows XP

Cel mai probabil, sunteți foarte familiarizat cu acest sistem. Dacă ești mulțumit de toate, atunci nu este nevoie să-ți schimbi obiceiurile. Cinci ani de actualizări au făcut ca Windows XP să fie cât se poate de sigur, dar încă inferior în această privință atât pentru Vista, cât șiSeven și Linux și Mac OS X. Cerințele reduse de resurse fac din acest sistem cel mai potrivit pentru jocurile pe calculator până când DirectX 10 preia lumea. Nu este pretențios și satisface toate nevoile de bază ale utilizatorului, dar Microsoft îl împinge treptat de pe piață, făcând loc produselor sale ulterioare.

  1. Microsoft Windows Vista

Va trebui să obțineți Windows Vista dacă cumpărați un computer nou. Interfață Windows Vista este mai animată decât XP, ceea ce vă va permite să comunicați mai confortabil cu sistemul în timpul rutinelor zilnice. Windows Vista conține unele noi instrumente utileși este mai sigur pentru utilizarea online. Cu toate acestea, nu merită prețul unui upgrade de software și pierderea de performanță.

Windows Vista, sincer vorbind, nu a fost un succes; acum este considerat chiar un sistem de operare „inferior”, ci un fel de produs secundar, trecerea de la XP la Seven.

  1. Windows Seven

La momentul lansării Windows 7, cel mai popular sistem de operare era Windows XP. Cu toate acestea, au trecut mai bine de opt ani de la lansare și în acest timp au apărut multe dispozitive și tehnologii noi care necesită suport pentru sistemul de operare. După apariția Windows Seven și actualizarea utilizatorilor de echipamente, acest sistem a devenit un înlocuitor bun pentru Windows XP, depășind Windows Vista. Windows Seven este un produs de mare succes de care mulți utilizatori se vor bucura, dar necesită resursele de sistem ale computerului dvs.

  1. Linux

Dacă v-ați săturat să vă faceți griji cu privire la siguranța datelor dvs. de pe computer și să vă ocupați de nenumărate programe malware, puteți încerca cu ușurință Linux. Dintr-o dată vă va satisface cererile. Găsiți-vă discul de pornire. Cele mai bogate opțiuni de personalizare fac din distribuțiile Linux o opțiune ideală pentru utilizatorii... cu cunoștințe de Linux (programatori). Pentru utilizatorii obișnuiți care doresc doar să lucreze la computer, sistemul încă nu este suficient de prietenos.

  1. Apple Mac OS X

Mac OS poate fi numit cel mai bun sistem de operare, dar are un dezavantaj uriaș - pentru a deveni proprietarul său mândru, va trebui să cumpărați un laptop Apple, iar aceasta nu este o plăcere ieftină. Dacă computerele Apple se încadrează în bugetul dvs., atunci Macintosh este o alegere excelentă. Vei primi Unealtă puternică cu cel mai funcțional și mai ușor de utilizat OS de până acum.

Astfel, astăzi, sistemul de operare Windows XP rămâne cea mai bună opțiune.

CONCLUZIE

Deci, sistemul de operare îndeplinește funcțiile de gestionare a calculelor într-un computer, distribuie resursele sistemului informatic între diferite procese de calcul și formează mediul software în care sunt executate aplicațiile utilizatorului. Acest mediu se numește mediu de operare. Acesta din urmă trebuie înțeles în sensul că atunci când programul este lansat, acesta va contacta sistemul de operare cu solicitări adecvate pentru a efectua anumite acțiuni sau funcții. Sistemul de operare îndeplinește aceste funcții lansând module speciale de software de sistem care fac parte din acesta.

În prezent, aproximativ 90% dintre computerele personale folosesc sistemul de operare Windows, ceea ce are o serie de avantaje și a forțat concurenții să iasă din acest segment de piață. O clasă mai largă de sisteme de operare este vizată pentru utilizare pe servere. Această clasă de sisteme de operare include: familia Unix, dezvoltări de la Microsoft, produse de rețea de la Novell și IBM Corporation.

Resursele computerului includ: procesoare, memorie, unități de disc, comunicații în rețea, imprimante și alte dispozitive. Funcția OS este de a distribui rațional aceste resurse între procese pentru a asigura eficienta maxima functionarea calculatorului.

LISTA SURSELOR UTILIZATE

1. Gordeev A.V. Sisteme de operare: Manual pentru universități Ed. a II-a. – Sankt Petersburg: Peter, 2005.

2. Fundamentele informaticii: Manual. indemnizatie / A.N. Morozevici, N.N. Govyadinova, V.G. Levashenko și alții; Editat de A.N. Morozevici. – Ed. a II-a, rev. – Mn.: Cunoștințe noi, 2003.

3. Evsyukov V.V. Informatica economica: Proc. manual - Tula: Editura „Graf și K”, 2003.

Informatica in economie: Proc. manual / Ed. prof. FI.

Odintsova, prof. A.N. Romanova. – M.: Manual universitar, 2008.

Secțiunea „Tehnologii informatice și informaționale în sisteme tehnice, economie, știință și educație”

CATEVA ASPECTE ALE STUDIILOR MODERNE
SISTEME DE OPERARE

Savelev A.N. (Centrul de Tehnologia Informației MSTU)

Necesitatea studierii sistemelor de operare (OS) moderne se datorează importanței selecției și aplicării acestora în sisteme informatice pentru orice scop. În prezent, se pot distinge mai multe direcții în dezvoltarea sistemului de operare, inclusiv: OS desktop (OS cu scop general), OS de rețea, OS încorporat etc. Învățarea despre fiecare tip de sistem de operare implică dobândirea de abilități relevante în aspectele cheie ale utilizării acestuia, inclusiv instalarea, configurarea și upgrade-urile de-a lungul ciclului său de viață.

Ciclul de viață al sistemelor de operare desktop astăzi este de aproximativ cinci ani și este determinat în principal de schimbarea generațiilor de aplicații software (software) și de durata de viață a tipurilor corespunzătoare de computere. Ciclul de viață al unui sistem de operare în rețea este mai dificil de determinat deoarece depinde de mulți factori, inclusiv de capacitatea sistemului de operare de a se adapta la nevoia de a susține noi servicii și de a respecta standardele nou adoptate. De exemplu, puteți urmări evoluția ciclului de viață al principalelor sisteme de operare de rețea Novell:

Tabelul 1.

OS start Sfârşit Inlocuire recomandata Ciclu de viață
NetWare 3.11 1992 01.1999 NetWare3.2 (din 02.1998) mai mult de 6 ani
NetWare 3.12 12.1993 05.2000 NetWare3.2 (din 02.1998) 6 ani 2 luni
NetWare 4.1 11.1994 05.2000 NetWare 5 (din 09.1998) 5 ani 6 luni
NetWare 4.11 08.1996 03.2001 NetWare 4.2 (01.1999) 4 ani 7 luni

Notă: Date preluate din surse Novell; Sfârșitul ciclului de viață implică încetarea suportului oficial al OS de către producător.
Astfel, putem concluziona că ciclul de viață al sistemelor de operare în rețea este în scădere constantă. Vorbind despre sistemele de operare încorporate, trebuie menționat că ciclul lor de viață este determinat în principal de durata de viață a echipamentelor pe care le controlează (în special, computerele de bord ale autoturismelor sunt controlate de sistemul de operare pe toată durata de viață a acestuia).

În astfel de condiții, studierea sistemelor de operare moderne este dificilă, deoarece până la finalizarea instruirii, unele dintre ele sunt deja scoase din funcțiune, iar altele intră în etapa finală de funcționare. Aceasta înseamnă că dobândirea de competențe în anumite sisteme de operare nu poate avea succes fără studierea principiilor de organizare și arhitectură a sistemului de operare. Cunoașterea standardelor din industrie pe care se bazează sistemele de operare moderne este, de asemenea, importantă. Pentru viitorii ingineri de dezvoltare, este util să studieze mecanismele interne ale sistemului de operare și pentru diferite categorii de utilizatori - să studieze proprietățile de consum și economice ale sistemului de operare.

Un număr mare de sisteme de operare pentru diverse aplicații există și sunt utilizate cu succes pe piață, inclusiv familia de sisteme de operare Microsoft Windows, Novell NetWare, IBM OS/2, precum și un număr mare de varietăți de sisteme de operare familia UNIX. Toate, într-o măsură sau alta, se referă la una dintre direcțiile de dezvoltare a OS și, prin urmare, pot fi folosite ca bază pentru construirea procesului educațional.