Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Introducere in sistemele de operare



Introducere in sistemele de operare


Introducere in sistemele de operare

Sistemele de operare sunt probabil una dintre cele mai complexe abstractiuni inventate, proiectate si construite de fiinta umana. Exista multe incercari de definire a acestui concept foarte sofisticat in aparenta, dar simplu in esenta. Sistemele de operare sunt masini virtuale construite cu ajutorul limbajelor de programare (de asamblare sau de nivel inalt) care permit utilizatorului sa controleze, programeze si sa extinda posibilitatile masinii hardware pe care sunt implementate.

E stiut faptul ca motorul unui sistem de operare este kernel-ul. El ofera posibilitatea de a citi si scrie din si pe diferite unitati, el se ocupa cu gestionarea memoriei etc. In MS-DOS kernel-ul era s, iar in Windows de KERNEL32.DLL. La instalarea unui sistem Linux acesta are kernel-ul in fisierul vmlinuz-x.x.x (x.x.x este versiunea kernel-ului, exemplu: vmlinuz-2.4.2). Dar acesta nu este decat un nume standard. Se poate de a modifica sau folosi un alt kernel.



Ce este multitasking-ul? Posibilitatea unui sistem de a rula mai multe procese (programe) in acelasi timp. Multi nu inteleg de ce se face atata valva in jurul acestui lucru si prima imagine care le vine in minte este un editor de texte si un player de mp3-uri ruland in acelasi timp dar va asigur ca fara multitasking nu ar fi fost posibila aparitia interfetelor grafice a sistemelor de operare. Acestea exact pe acest lucru se bazeaza. De aceea Microsoft Windows 95 nu putea rula pe procesoare 80286. Din acelasi motiv nici Linux-ul nu poate rula decat pe procesoare 80386, 80486 sau Pentium. Microsoft Windows 3.1, rula intr-adevar si pe procesoare 80286 dar acest lucru era o emulare si acest lucru era vizibil, performantele lasand mult de dorit.


Toate sistemele moderne ofera azi multitasking. Diferentele constau in algoritmii pe care acestea le folosesc pentru a 'emula' multitasking-ul. Un multitasking real se poate obtine doar pe un sistem care ar avea cate un procesor pentru fiecare program in parte. Acest lucru nu este in totalitate imposibil in teorie dar practic este inca de domeniul fantasticului. Si asta pe piata mainfraim-urilor si a server-elor. La noi, in piata SOHO (Small Office Home Office), se poate vorbi despre sisteme uniprocesor sau dual procesor. De aceea un multitasking real este imposibil. Dar ce ne ofera cele doua sisteme la acest capitol si mai ales ce aduce nou Linux-ul in acest domeniu? Initial MS-DOS sau DR-DOS nu ofereau posibilitatea multitasking-ului. Asta doar daca nu ne gandim la programele TSR (Terminate and Stay Resident) care ar fi stramosii multiprocesarii asa cum maimutele ne sunt noua parinti. De la Microsoft Windows 3.x apare ideea multiprocesarii pe sistemele Intel like. Acesta folosea un algoritm 'round robin' ce oferea posibilitatea ca procesele ce erau rulate in paralel sa ocupe, unul dupa altul, timp egal de procesor. Acest model se va pastra si in versiunile ulterioare ale sistemelor Microsoft suferind doar imbunatatiri. Din pacate, aceasta metoda, chiar daca este simpla nu este nici pe departe economica. Sa luam exemplul anterior cu procesorul de text si player-ul de mp3-uri. Initial, la aparitia standardului mp3 procesoarele cele mai in voga erau 486-uri. Pe sisteme bazate pe aceste procesoare decodarea mp3-urilor lua in folosinta intreg procesorul. Pe un 486 DX4 100Mhz era aproape imposibil sa asculti mp3-uri daca nu aveai un player care sa aiba cod optimizat pentru acestea si posibilitate de downsampling la 22Khz. Ce mai, se faceau zeci de teste la aceea vreme pana reuseai sa asculti un mp3. Dar si asa daca porneai un editor de text cat de cat mai pretentios ascultarea si scrierea textului devenea o problema. Acest lucru era datorat algoritmului 'round robin'. Acesta dadea timp de procesor editorului chiar daca tu nu scriai nimic si editorul de text astepta de la tine un input ce nu venea. Sa exageram putin pentru a intelege mai bine. Daca algoritmul de multitasking ar aloca cate o secunda fiecarui proces ce ruleaza atunci ar rezulta ca o secunda ar decoda mp3-ul pentru ca apoi, in secunda urmatoare, sa opreasca acest lucru si sa predea controlul editorului de text ce asteapta ca dumneavoastra sa scrieti. Si tot asa din secunda in secunda. Bine inteles ca nici un algoritm 'round robin' nu ofera timp de procesor o secunda cum nici un sistem de operare nu ruleaza doar doua task-uri in acelasi timp.


Ce aduce nou Linux-ul in acest domeniu? O abordare diferita a administrarii resurselor si a timpilor de procesor prin folosirea a doua tipuri de algoritmi: cei preluati din lumea UNIX si cei proprii optimizati pentru fiecare platforma in parte. Acesti algoritmi sunt implementati in kernel. Acesta este, in mare parte, o biblioteca de functii sau o colectie de rutine pe care programele le folosesc. El nu este un task (program) in sine chiar daca lanseaza mai multe task-uri. Codul sau se executa in mod sistem (system mode) in timp ce restul programelor folosesc modul utilizator (user mode). Aceste doua moduri corespund, pe procesoarele Intel like, cu modul real si cel protejat. Din aceasta cauza kernel-ul va avea acces direct la memorie fara a mai avea nevoie de nici o translatare deci si o viteza de executie mult mai mare in timp ce programele obisnuite vor folosi pagini de memorie virtuala (virtual page memory). Acestea sunt alocari ale unor zone din memoria fizica pentru fiecare program in parte conform unui tabel de pagini (page table) ce este tinut de catre sistem. Acest lucru nu inseamna ca programele nu pot imparti aceeasi zona de memorie fizica. Din contra. De aceea, sistemele de operare moderne permit rularea unor aplicatii pe sisteme cu memorie putina si de aceea exista acel fisier/partitie de swap memory.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright