You are on page 1of 551
A i Reval Greate (eros e310 Milescu er Aiey aconescu Vy Mircea Bardac s , SD) Science Pa i a ; od Y Cuvant inainte Notiunca de sistem de eperare repreaintd, probabil, unul dintre termenié cci mai des intaluiti in domeniul caleulatoarelor, si ne numai. De ta formele greoaie dezvoltate in anié ‘60, cunoseute doar profesionistilor, sistemele de operare au cunoscul 0 lransformare continuil, slrins corelati cu dezvoltarea sistemelor de calcul si a telmologiilor asociate. In ziua de astizi, sistemete de operare oferi: 0 inter fatii facil 4i prictenoasit atét utilizatorilor obisnuifi ai serviciilor Internet, eat 9i wlilizatorilor comercialé ai aplicatiilor dedicate, celor ce folasese facilitatile multimedia gi jocuri, eau celor profesionisti eare dezvatla oplicatii sax intretin sisteme de caleul si rotele de colvutatoare, Evoletia lelmologied a dus fa de2voltarea sistemelor de operare pentre wn muir tof mai maze de dispozitive, de ta sisteme server, desktop si laptop la PDA-uri si smartphone-wri, Garten de Jatit isi propune fumitiarizoren cititorufui cu lunea sistemelar de operare si, fn particular, cu latura preponderent tehnied a aeestora, Am creat aceaste lucrare avand in permonentd in vedere cunostintcte de bazit 6i cadrul conceptual neoesare unui student la o facultate de calcutatoare. fn aceasta structurd, cartea este insd construité peatra a fi utila oricdrui cititor care cata un prim contact cu domeniué sistemelor de operare. Sperm ca parcurgerea sa sit ofere si un set de deprinderi si aboridiri in solution apiisese sfera sistemetor de operare. va problemelar care d rsitatea subiectelor abordate a reprezentat o diffcultate in evearea unei succesiuni le una stratificali, fiecare enpitod b clare de capitole, Strateyia alensé e: nidu-se pe cele studiate anterior. Totusi, au existat momente in care a trebuil sé ulilizim anumite nofiund inainte de a fi definit cadrul conceplual, sau la citeva capitole distanté de presentarea lor. dn astfel de situalii citilorulii ti sunt oferite referinte eitre capitolele in care sunt elarifieate nofiunile invoeate. Cartea urméreste presentarea si diseutarea notienilor de bazi necesare unui student in primii ané de facuttate, in dameniul ealeutatonrelor, Diversitatea subicetelor si nivelul de dedaliu recomanda 0 asémilare in profunzime a informatiilor, dineolo de durata unui semestru sau a unui an, Sperm ca studentul dornic de aprofuntare sis risfoiasoa aceustit carte in momentele in care cautd sprijin suplimentar pentru rezolvarea unei probleme din domeni. Din punct de vedere tehmic, materialul de fata ofer o perspectivd ee apartine preponderent universului Linus. Am considerat contactul ew Linux ca pe o eportunitate aparte periru 0 majoritate a utitizatoritor ec provin din mediul Windows, in care descori alternativele tm domeniul sistemelar de opcrarc. na reprezinta @ optiune fuata in considerare, Dorinte noastrd este ca utilizarea unui nou sistem de operare, cw fo risplindire gi o evolutie tot mai intense, sit ofere 0 nowd perspectivd asupea lumii calculaloarelor in general sia sistemelor de operare in particular. Desi carlea este focalizate pe Linux, fiecare capitol include sertiuni de studéi de onz in care sunt prezentate smceanismele simitare dintr-un sistem Windows. Structura cirfii este conceputd pentre a oferi atat o precentare a cudrulei conceptual, edit aio parte aplicativit construita prin exenaple, Fiecare capitol este prefatat de 0 micit sectiune Ce se invatd in acest capitol?” utilé pentre reperarca principalelor notiuni, Capitolele se incheie cu o sectiune de ,Cuvinte cheie” si apoi de ,hatrebdri", pentru a permite cititorului o autoevaluare « cunostintelor dobandite. Unele secliuns sunt marente cu sitndoluri grafice cu o semnificatie spectald: ineportant, notit, OZN {pentru tehnalogiile recente de tipul ,bleedding edge”) si atom (pentru aspecte tehice avansate) Recomandém parcurgeren secvenfiala a eartii, dar citilarut avansal poate sdri direet ta un enpitol de interes particular. Dat fiend continutul practic detatiat, este utiti folosirca calculatorulai pentru rularea comenzilor prezentate si pentru czplorurea optiunitor eristente, in paralel ew parcuryeree nofixnilor dearetice. Mattumim tuturor cetor care ax contribuit la realizarca cartii. Modul de organizare si prezentare, ca si diversitatea inforrnatiitor prezentate se bazeazd pe cfortul continun si pasiunee unet echipe entuziaste, In prismul rand, # wralleamia domenubui prof Nicolae Tapus, precum si calegilor nostri Vlad Dogarw, Mihai Maruscac, Dariel Rosner si Andrei Buhaiu, @ caror implicare a eonstituit un beneficin direct tn claborarca acestei cirti. Multumim, de asemenea, colegilor Alex Eftimie si Andrei Four pentru contributia edusé, gi colegilor Alex Juncu, Lucian Grijincu, Célin Tovgulesen, Voichita Iancu, Andrei Dumitru, Laura Gheorghe pentru revicuirea materialulei pe parcursul finalizdrié acestuia. Adresiim multumiri speciale echipei cursului de Utilizarea Sisternefor de Operare eare ne-a oferit 0 atmosferis de suport, implicare si eneryie pentra realizarea. citi. Forma actualii a cfirtii se bazeazit pe efortul sustinut depus de-a fungul numeronselor activitati din jurud cursultei de Utilizarea Sistemelor de Operare. Nu én ultimul rand, multumim eititorilor, la primed pas i domeniul plin de provecdri si de satisfactii al cateulatoarclor. Ei sunt cet ciirora te doticiim accasta carte. Ne-a fiveut placere sa 0 scriem, sé spenam ea mecar 0 parte din entuziasmul nostru sit se converteascd in pasiune pentra cititoril ecestor pagini, Autorii Cuprins 1__Introducere 4 12 13 Ge este un sistem de operare? 1.1.1 Functiile unui sistem de operare 1.1.2 Tipuri de sisteme de operare_. . . . 1.1.3 Functionarea sistemelor de operare. Scurt istoric al sistemelor de operare 12.1 Primageneratie . 12.2 Adoua generatie 13.6 Comunttatiopen source poe 14 1.3.7__Sisteme de operare pentru dispozitive mobile we. 15 1L4__Siudiu de caz 16 1.4.1 _ Virlualizare. Rularea unui SO dintr-o masind virt 16 2__Instalarea Linux. Configurari de baz 23 24 Linux. Distributii Linux. a . L223 2.1.1 Principalele distrbuti Linux we Oh 24.2 Debian Ubuniy 8 2.1.3 Tipuri de distributii Linux . ce 22. 27 2.2_Instalarea Linu 28 2.3 _ Interactiunea cu sistemul de operare . 38 2.3.1 Interfetele ou utilizatorul 38 2.3.2 __Interfata in linie de comanda (GL) 2.3.3 Oprirea sistemului de calcul . 2.4 Configurari de bazaaleSO... AS ‘ . 5 24.2 Asigurarea conectivitati la Internet so. 47 iv INTRODUCERE iN SISTEME DE OPERARE 2.5 Studi de caz 48 2.5.1 _ Interoperabilitatea sistemului de fisiere intre Linux si Windows . 48 25.2 GParted 0... 3__Gestiunea pachetelor si utilizatorilor 53 .1__Gestiunea utilizaiorios ga 3.1.1 UID, GID a . 55 3.1.2 _Adaugarea si siergerea ullizalorior ....... . 55 3.1.3 Adaugarea si slergerea unui grup de utilizatori__ - 56 3.14 Modificarea datelor unui utilizator 3.1.5 Addugarea si stergerea utilizatorilor ... . _ ._ 57 3.2 Gestiunea pachetelor . . _ . . . 58 Studi 3.3.1 Fisierele in care sunt stocate informatii despre utilizatori_.... 64 : Debi 4__Sisteme de fisiere 69 41 Nofiuniintroductive ww. See . 69 4.1.1 Ce este un sistem de fisiere _ A . 69 21.2 __Iprathla sistemuial de fipiere ys ee see sees 10 72 42 43 Operatii uzuale asupra fisierelor si directoarelor _ 76 4.3.1 Afisarea si schimbarea directorului curent 78 Afigarea continutuluifisierelor . _ Tt 43.3 _Listarea continutului unui director... .............. 77 43.4 Crearea fisiereloridirectoarelor ...... 79 Crearea fi Copiere/mutare/redenut Tipuri de sisteme de fisiore oe 4.7.1 Inlegritatea datelor . . see aoe 4.7.2 _Alegerea unui sistem de figiere = - 93 47.3 Adresarea inir-un sistem de fisiere 95 CUPRINS v 4.8 _ Luctul cu sistemele de fisiere _— oe ees 4.8.1 Grearea unui sistem de fisiere _ ae Montarea unui sistem de fisiere 4.9 _Tendinte in sistemele de fisiere . . we 49.1 Sisteme de fisiere in userspace... 4.10.3 Montarea unui sistem de fisiere FATS2 astfel ineat toti utilizatorii ‘84 aiba drept de scriere pe el_. 4.10.5 Sistem de fisiere int-un . - 106 4.10.6 _ ntfs. - - - - - 107 5.1__Notiuni introductive .. . sus 5.14 Ceesteun voces? sus os 5.4 A Deosebirea dintre un proces si un 54 Structura unui proces + 13 54 4 Stare unui proces. Multiprogramare si multiprocesare 5.2 _lerarhia de procese in Unix. Vizualizarea proceselor sistemului_.. . . . 116 521 Uiilitaruips.. 2 7 5.4.3 Transmiterea de semnale prin combinati Comunicatia intre procese_. . . « 5.5.1 Operatorul 5.6 Swapping weve a . 44 5.2_Studii de caz 142 5.7.1 Managementul procaseloriservicillor pe Windows... . 142 5.7.2 Procese importante... 143 5.7.3 Prioritatea unui proces 145 vi INTRODUCERE IN SISTEME DE OPERARE izarea sistemului 151 B = = 6.1.1 __ Problematica pomirii sistemuului— bootstrapping... . . . . . 152 6.1.2 _ Etapele pornirii sistemului . _ . 152 61a BIOS Bid POST. 6 Bootloader 154 6.2.1 Dispozitive boot-abile we a se 155 6.2.2 Structura sectorului de boot pentru un dispozitiv boot-abil 156 6. Mecanismul de functionare a unui bootloader 158 624 GRUB 6.3__Configurarea GRUB . . - _- - - - 162 64 _lncdiearea nucleulul 165 64.1 Imagineade nucleu 2 soe 165 6.4.2 Optiuni de boot-are pentru nucleu _ 166 65 _Initializarea sistemului. . BS1 init a 65.2 upstart... 2171 6.6.2 _ Pomnirea sistemului de operare Windows XP... . . . - 177 6.6.3 __Interoperabilitate Linux-Windows . s,s. s 179 B 7 iGRLIB 7_Analiza hardware a sistemuly) 1 7A Structura unui sistem de operare . : - - 185 2 Considerente hardwar 186 ‘7Z3.1__Listarea madulelar incércale la un moment dat in sistem ____ 194 28.2 _Incdirarea unui medul tS Doses - 7.4 _ Analiza hardware a unui sistem (magistrale, chipset, CPU, memorie, dispozitive} 74.1 Lista hardware —/sys ov we oe 196 7.4.2 Comenzi pentru afisarea dispozitivelor . . 7.4.3 Monitorizarea starii dis vee . 7.5 _ Interfata cu dispozitivele din userspace ~ udev si /dev .... . 204 78 CUPRINS vii 7.6.5 _ Manipularea datelor la nivel scdizut (comandadd) ...... . . 206 Analiza sistemului 08 7.7.1 _Inlormatiidespre sistem. ............. 2. so... 208 372 Kemal a0 2B Studii de ca: 14 7.8.1 Salvarea si restaurarea MBR si a tabelei extinse de partitii .. . 211 78, Salvarea continutului unui disc cu sectoare inaccesibile 212 7.8.3 Crearea unei imagini de CD; montarea unei imagini.... . . . 212 78.4 Utilizarea unui fisier de pe 0 partitie FATS2 ca fisier de swap pentruun liveCD Linux. .....................213 8__Gonfigurari de retea 217 8.4 Concepte de retea 217 8.4.4 _Notiuni de baza 218 B12 Pe I 81.3 Moduri de adresare: adresare unicast, multicast, broadeast.. 219 8.2 Paramettideretea.. . - eee eee ees 220 82.1 Adresa IP simascA deretea_. 220 82.2 — Ruter implicit (default gateway). . ae 222 B23 DNS 88 83 Configuraritemporare. 2 225 63.1 _Interfete de retea oni permanente si configura temporare . . 225 8.3.2 Gonfigurarea temporara static a unei adrese IP pe o interfalé_. 226 83.3 Asigurarea conectivitatii la Internet. Configurarea temporara static a unei rute implicite .. .. as 229 84 8.4.4 DNS. Configurarea serverelor de DNS... oe 233 B45 Aliacuri /eicihosis a 84.6 Confiqurarea numeluistatieicurente...... 2... . 235 8.5 __Testarea configuratilorderetea os. 236 85.1 Ping 2... eee ae se... 236 8.5.3 Gum se depisteaza problemele uzuale in cazul configurarilor de retea . . . . 9 Servicii de retea 249 gt Concepte specifice aplicatilorderetea .................5 249 viii INTRODUCERE IN SISTEME DE OPERARE 9.2 Executiacomenzilorladistanté... eee... 257 9.2.3 Utilitarul wget... 9.3 Email—Posia electronica... . 9.3.1 Arhitectura si functionare 9.3.2 Clienti de emai 93.3 Securitatea serviciului de email, BB ga www 9.4.1 Tehnologiile de baz ale WWW... _ 269 9.4.2 Functionarea serviciulli. se . 272 9. Clientii Web 2 uci de ca 10.1 _Problematica securitatii 10.1.1 Principii de baza peels - . 10.1.2 Termeni 2 10.2 Securizarea sistemului 10.2.1 Securitatea sistemului de operare_. . eee 284 10.2.4 Seouritatea sistemului de fisiere 10.3 Intretinerea sistemului. . see seus 10.8.1 Monilorizarea sistemului 80 10.3.2 _Jurnalizarea si gestiunea jurnalelor......... . . . 296 10.3.3_Limitarea drepturilor 10.4 Atacurideretea . _ 10.4.1 Tipuri de atacuri in retea 10.4.2 Virusi, viermitroieni . 10.4.3 Scanarea porturilor_. pee . 307 10.5 Securizarearetelel eee eee . 309 10.5.1 Firewall) 10.5.2 _Griptarea informatiei 3 Monitorizarea retelei 10.6.1 Drepturile pe fisierein NTFS ............ 914 10.6.2_Recuperarea parolei . - - - - - 315 11_Compilare si linking 319 11_lntroducere aig A111 Editoare 11.1.2 _Compilare si 11.1.3 De la sursa la executabil, de la executabil laproces . 322 1114 Pachele necesare 11.2 Compilare. GCC - wee _ _ 324 1121 Ulilizare GCC 8 CUPRINS ix 11.3 Etapele compilirii (inclusiv link-editarea) oe Preprocesarea...... . wee ee we... 330 11.3.1 11.32 Gompilarea.. . . . . 331 1133 Asamblarea 8 11.3.4 Optimizareacompilarii, 335 414 Biblioteci de functii_._. 14.4.1 Ti uri de bibliotes 11.5 Automatizaraa sarcinilor— make BAS 11.5.1 Cel mai simplu Makefile. - a 2. 346 11.5.2 Folosireadependentelor. _ _.... 347 11.5.3 Dependenteierathice .. 11.54 Targetulclean. 80 11.55 Target-urile ‘PHONYsiall. 880 Shell scripting 12.1 Notiuni introductive 865 12.1.1 Deco shell scripting? : 368 12.2 12.2.3 Comenzi interne (built-in) sicomenziexterne _.. 371 12.2.4 Executia unei comenzi shell . 12.3 Soripturi shell... . 12.3.1_Gel mai sir 42.4 Programarea shell... ..............2....2ss.se0e 384 12.4.3 Instruct 12.5 Filtre de text 899 INTRODUCERE IN SISTEME DE OPERARE 125.1 cattacnl eee . 400 12.6 _Comenzi de lucru cufisiere . pee eee 414 12.6.1 xargs... es Ata 1282 locate 426.2 find ag 12.7 _Expandarea inshell we soe A19 12.7.1_Simbolul$ 12.7.2 _Expresii regulate in shell 12.8 Parametriunuiscriptshell 421 1281 Comanda shift tt 12.8.2 Parametri speciali ee 2423 12.8.3 Exemplu de utilizare a parametrilor... = 423 12.9 Functii_. 12.9.1 Sintaxa unei tunctii 12.9.2 Parametrii unei functii 12.10 Scripturile de pornire Bash 12.44 12.101 Variahile de mediy gr tui de ca 12.11.14 Contorizarea numarului de utilizatori autentifica 12.14.2 Schimbarea promptului shell 13.1_Concepte in mediul grafic... ee pe 442 13.1.1 Tipuri de imagini oe os sete 442 13.1.2 Fonturi Unicode 13.2 Interfata grafica in Linux. Componente. . eee 2 444 13.2.1_X Window System a - - - 444 13.2.2 _Arhitectura X Window System. . 445 13.3 Pornirea si oprirea interfetei grafice 448 13.4 Configurarea serverului X . ee we . 450 13.4.1 Configurarea rezolutiei .... . . wee se . 450 13.4.2 Gonfigurarea tastaturii . 13.5 Configurarea sistemuluidin KDE... . . wae see . 452 13.5.1 System Settings . . peewee 452 13.5.2 Schimbarea aspectului interfetei grafice .... 1... 452 13.5.3 Contigurari de baza ale sistemului de operare - wee 453 13.5.4 Configurari administrative... ae . 454 13.5.5 Configurarearetelei.......... Loe . 454 13.5.8 Managementul utilizatorilor . 454 CUPRINS xi 13.5.8 Gesfiunea pachetelor.......... wee. O57 13.6 Serviclidesktop .... . . . 13.6.1_Pornirea facia a aplicalitor 13.6.2 _CAutarea fisierelor in sistem 13.7 Aplicatii KDE vs.GNOME ............ os 2. 460 12.8 Studiidecaz. 13.8.1 Configurarea XpesteSSH_. os. 460 13.8.2 Instalarea siconfigurareaaVNC ..... -. e462 13.83 Remote Deskiop Connection... ....... 2... 14 Utilitare pentru dezvoltare 469 44.4 Introducer AGS 14.2 Coding style (indent astyle) ........ 1... 2. . 470 44.2 Editarul Vim a7a 14.4 Sisteme de control alyersiuni 0 ag 14.4.1 Princip. 2.1... 2.479 14.5 Analiza si paroumarea cod ee 481 148.1 clags eee 482 14.6: Adomalsarea compli _ seu 484 14.6.1 _Gompilarea unei aplicatii din surse_ 1 sae. 484 i iMlearate de dezvaltare 1 Eclipse... 14.9.2 Anjuta . 14.10 Managementul proiectelor software... - = Lo 14.101 Procese de dezvollare software. 14.10.2 Aplicatii web pentru managementul proiectelor software. . . . 497 14.10.3 Resurse online pentru dezvoltarea proiectelor_. wae 498 14.11 Resurse de documentare pentru dezvoltator 498 14.11.1 Documentatie oficial. - 498 14.11.2 Documentarea programelor propri coe 7... 499 14.11.35 Cartisitutoriale _. 500 14.11.4 Documentatie din Internet 501 15 Viata in Linux 507 xii INTRODUCERE IN SISTEME DE OPERARE Seri CDIDVD it 510 15.4 MessengerinLinux............................ 51 15.5 BitTorrentin linux... 15.6 Imprimantain binux.. see sees eee eee 514 167 Jocuri in Linux 7 15.8 _Dual-manitorin Linux LE 15.9 _Documente office in Linux A Raspunsuri ta intrebari 521 Bibliogratie 529 Glosar S31 Abrevieri ACL — Access Control List ACPI — Advanced Configuration and Power Interface AGP — Advanced Graphics Port API — Application Programming Interface BIOS = Basic Input Output System CLI = Command Line Interface GMOS — Complementary Metal Oxide Semiconductor GPU- Gentral Processing Unit DDD — Data Display Debugger DE - Desktop Environment DHCP ~ Dynamic Host Configuration Protocol DLL— Dynamic-tink library DM — Display Manager DMA Direct Memory Access DNS - Domain Name System DoS -— Denial of Service DRAM — Dynamic RAM ELF — Executable and Linking Format FSB — Front Side Bus FTP ~ File Transfer Protocol FUSE - Filesystem in Userspace GCC— GNU Compiler Collection GDB - GNU Debugger GID -~ Group Identifier GNU— GNU’s Not Unix GNU CPP — GNUC preprocessor GUI — Graphical User Intertace HDD — hard disk drive HTML — Hypertext Markup Language HTTP — Hypertext Transfer Protocol ICH = VO Controller Hub ICMP = Internet Control Message Protocol IDE — Integrated Development Environment IDS — Intrusion Detection System IMAP — Internet Mail Access Protecal IP. — Internet Protocol IRC — Internet Relay Chat IRQ — interrupt request ISP — Internet Service Pr xii xiv INTRODUCERE IN SISTEME DE OPERARE LAN -~ Local Area Network LTS ~ Long Time Support LVM Logical Volume Manager MAN — Metropolitan Area Network MBR — Master Boot Record MCH - Memory Controller Hub MIME — Multipuprose Internet Mail Extensions MinGW — Minimalist GNU for Windows MSVC - Microsoft Visual C++ NAT — Network Address Translation PCI — Peripheral Component Interconnection PID — process id PKI = Public Key Infrastructure POP3= Post Office Protocol POSIX — Portable Operating System interface POST — Power-on Self Test PPP — Paint to Point Protocol PPPoE — PPP over Ethernet RAID — Redundant Array of Inexpensive Disks RAM — Random Access Memory RDC - Remote Desktop Connection RPM — Rotations Per Minute RTOS ~ sisteme de operare in timp real S.M.A.R.T. — Self-Monitoring, Analysis and Reporting Technology SMTP = Simple Mail Transter Protocol SNMP — Simple Network Management Protocol SO - sistem de operare SRAM ~ Static RAM SSH - Secure Shell SVN- Subversion TCP — Transmission Control Protocol TFTP - Trivial File Transfer Protocol TLD — Top Level Domain TTL— Time To Live TUL — Text User Interface UDP - User Datagram Protocol UID - User Identifier URL = Uniform Resource Locator USB — Universal Serial Bus VBR - Volume Boot Record VCS - Version Control System VNC - Virtual Network Computing WAN ~ Wide Area Network WIMP — window, icon, menu, pointing device WLAN - Wireless LAN WM — Window Manager WWW - World Wide Web XHTML — Extensible Hypertext Markup Language Capitolul 1 Introducere They have computers, and they may have ather weapons of mass destruction. vanet Reno Ge se invati din acest capitol? + Ce este un sistem de operare ‘+ Funclille unui sistem de operare Tipuri de sistene de operare Istoricul sistemelor de operare Sisteme de operare moderne ‘+ Windows, Mac OS X, Linux Virtualizare 1.1 Ceeste un sistem de operare? Sistemele de operare reprezinté un concept familiar tuturor utilizatorilor de calculatoare personale. Ele apar tot mai des si in implementarea de functionalitati din alte aparate, de la telefoanele mobile la cardurile bancare inteligente. Exist ins si dispozitive care nu au (inca) un sistem de operare, in principal deoarece executé un numar mic de operatiuni care nu necesita nicio modificare. De exemplu, calculatorul dintr-un cuptor cu microunde executd un program simplu fixat prin circuite fizice. Sistemele de operare sunt utile in cazul calculatoarelor care trebuie s& se adapteze unui mediu in schimbare, ele permitind modificarea comportamentului calculatorulul #8r& schimbarea succesiunii operatiilor hardware. Un sistem de operare (abreviat in continuare SO) este un set de programe care controleazA distributia resurselor unui calculator si mediaz& comunicarea dintre hardware, pe de o parte, si aplicatile utlizatorilor, pe de alta parte, 2 INTRODUCERE IN SISTEME DE OPERARE Scopul unui SO este sa asigure stabilitate si flexibilitate in functionarea calculatorului, Sistemele de operare permit, in general, interactiunea cu mai multi utilizatori, rularea mai multor aplicatii, si moditicarea strategillor de raspuns ale calculatorului la o anumita problema, wuuilzator Eatroare, brawsere web, prayers multimedia, sits Ofice Apliceti Sistem de operare Hardware Figura 1.1: Rolul unui sistem de operare in figura 1.1 este prezentat rolul de mediere al sistemului de operare intre utilizatori si hardware, Sistemul de operare va avea acces direct la resursele hardware, in vreme ce utilizatorii folosese cel mai adesea aplicalii ce apeleaza prin intermediul bibliotecilor sau direct functii ale sistemului de operare. Componenta esentiala a sistemului de operare o reprezinté nucleul sau kernelul. Acesta are rolul de gestiune a resurselor fizice si de oferire a unei interfete comune aplicatillor. Nucleul nu este o aplicatie In sine, ci este un mediu in cadrul cirvia pot rula alte aplical Programele de baza sunt aplicatiile fundamentale ale unui sistem de operare care permit interactiunea cu nucleul si-cu sistemul fizic. Astfel de aplicatii sunt interpretoarele de comenzi, utiitare de gestiune a utilizatorilor sia sistemului de fisiere, biblioteci etc. In general nu este bine conturata definitia de aplicatie de baza; se considera cd 0 aplicatie este o aplicatie de baz atunci cand ofera servicit pentru 0 buna parte din celelalte componente ale sisternului Din punct de vedere strict tehnic sistemul de operare este insusi nucleul. Din perspectiva utiizatorului sitemul de operare este compus din nucleu si suita programelor de baza. Programele de baz sunt acele aplicatii ce permit uiilizatoruluiinteractiunea cu resursele hardware ale sistemului, aceasta relatie fiind ilustrata in figura 1.1. Comparatiy, un calculator poate fi privit ca un aeroport, iar sistemul de operare ca turnul de contro! care coordoneaza tralicul. Resursele aeroportulul sunt reprezentate de pistele si avioanele pe care le pune la dispozitie. Far un turn de control care sA asigure gestiunea si organizarea acestor resurse, pe un aeroport nu s-ar putea evita CAPITOLUL 1. INTRODUCERE 3 intarzierile si coliziunile. in cazul calculatoarelor, rolul unui sistem de operare este de a coordona traficul si accesul la resurse, infocmai precum turnul de control al unui aeroport. 1.1.1. Functiile unui sistem de operare © prima functie a unui sistem de operare consta in administrarea resurselor hardware ale sistemului. In cazul unui calculator, este vorba mai ales despre accesul la procesor, memorie, hard-disk, comunicarea in retea, precum si cu alte dispozitivele de intrareviesire. Aceste resurse pot fi solicitate de aplicatii multiple si de ulilizatori multiph Sistemul de operare este la randul su o aplicatie, care necesita resurse (si, implicit, accesulla acestea) pentru a {unctiona. Prin urmare, acesta trebuie sa isi asigure accesul privilegiat la resurse. Un SO trebuie s& mentind controlul asupra calculatorului si s faca posibila utilizarea sa predictibilé si cat mai eficienta. Sistemnul de operare ofera o abstractizare a resurselor hardware. Practic SO este o extensie a sistemului fizic, oferind o inferfata simplificata folosita pentru medierea accesului utilizatorilor si aplicatiilor la resursele hardware. Sisternul de operare este responsabil cu oferirea unui set limitat de informatii si functii de luory cu hardware-ul, in loc de descrierea exact a cea ce se intémpla in hardware. Practic, SO ofer& dispozitivelor si aplicatilor (gi, in ullimA instant, utilizatorilor) 0 transparen{a fata de modul de functionare a hardware-ului. in ceea ce priveste comunicarea dintre hardware si aplicatli, sistemiul de operare trebuie s& creaze 0 identitale calculatorului, care s4 rémana relativ stabila in dialogul acestuia cu aplicatiidiverse, chiar daca au loc upgrade-uri de hardware. Sistemul de operare are deci rolulde asigurare a securitatii si integritatii sistemului de calcul. Sisternul de operare va controla aecesul utiizatorilor si proceselor la resursele hardware ale sistemului si va preveni executia de instructiuni invalide, malitioase sau privilegiate. Sistermul de operare este si cel care permite unei aplicatii sa ruleze pe sisteme fizice diterite, deoarece uniformizeaza rspunsurile date de calculator si intermediaz& accesul la resurse. Sistemele de operare trebuie prin urmare s& poata interactiona cu arhitecturi hardware si cu periferice foarte diverse, el find cel care faciliteazd accesul aplicatilor la resursele hardware. Aceasta functie se numeste portabilitate si se referd la olerirea unei interfete unice pentru utilizater, indiferent de diferentele hardware dintre arhitecturi. Un SO folosaste drivere pentru comunicarea cu dispozitivele periterice. Driverete sunt programe care traduc comenzile sistemului de operare in comenzi inteligibile echipamentelor, precum si iesirea acestora in mesaje accesibil sisternului, Rolul SO a fost extins prin punerea la dispazitia aplicatillor a unei colectii de biblioteci (lunctii) pe care programele le pot folosi pentru a rezolva probleme spesifice legate de interactiunea cu componentele calculatorului. Sistemul de operare va include utiitare de diagnosticare i monitorizare a functional diteritelor componente alat hardware cat si software. Un sistem de operare poale,

You might also like