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, 4 INTRODUCERE IN SISTEME DE OPERARE desigur, s4 esueze in realizarea functillor sale. De exemplu, un tip foarte frecvent de eroare const in blocarea functionarii caloulatorului. Un astfel de “crash” poate fi cauzat de unele imperfectiuni ale sistemului, dar poate fi favorizat si de tunctionarea necorespunzatoare a anumitor aplicati Un al doilea tip freevent de eroare se retera la problemele de securitate, care pot permite intruziunea unui utilzator sau a unei aplicatit maliioase, De asemenea, este posibil ca un sistem de operare s& nu reuseascd $4 interactioneze corect cu anumite periferice sau echipamente. in principal, functionarea corecta a unui sistem de operare poate fi pastraté prin realizarea metodied a unui UMA limitat de operati: repararea problemelor (bug- lor) din sistemul de operare insusi; repararea bug-urilor din aplicatii; eliminarea virusilor, viermilor, a spyware etc; instalarea de versiuni actualizate ale sistemului de operare si aplicatiilor aces! 1.1.2 Tipuride sisteme de operare Exist diverse criterii de clasificare a sistemelor de operare. Clasificarea de mai jos este realizata tinand cont de sistemele fizice pe care ruleaz& si domeniul de utilizare. Sistemele de operare de pe smart carduri sunt cele mai simple, servind deseori functii reduse (precum in cazul cartilor de debit) si adminisirand resurse foarte limitate. Totusi, ele oferd un management de baza al acestor resurse, inclusiv a spatiului de stocare, putand oferi si servicii de securitate/criptare a dalelor ce le deti Sistemele de operare embedded sunt incluse in dispozitive precurn televizoarele sau telefoanele mobile, avand constréngeri specitice function lor. Sistemele de operare pentru dispozitivele embedded variaza de la sisteme dedicate unui singur scop, care nu olera o inlerfala de interactiune utiizatorului, p&nd la sisteme multitasking (precum in cazul sistemelor de operare pentru PDA) care ofera multe dintre fuctionalitatile sistemelor de operare pentru caleulatoarele personale. Sistemele de operare in timp real (RTOS — Real Time Operating Systems) sunt folosite mai ales in echipamente stiintitice, industriale si de precizie. Scopul principal al acestora este s4 optimizeze utilizarea_resurselor echipamentelor si s4 asigure predictibilitatea functionairii lor, dat find c& esecurile in coordonarea subcomponentelor pot avea consecinte dezastruoase. Timpul este o variabili esentiala, deoarece anumite sarcini trebuie realizate intr-un interval precis pentru a se putea coordona cu alte sarcini, Astfel de sisteme de operare Au sunt in general menite 84 permit comunicarea cu utilizatorul, dat fiind o nu este necesar si fie modificate, ele fiind concepute strict pentru executarea anumitor procese tehnologice. RTOS pot fiimpéitite in sisteme in timp real hard, prevalente in procesele industriale, in care constrangerile temporale sunt intotdeauna prioritare, si sisteme in timp real sot, precum sistemele dedicate multimedia, in care discordante temporale minore sunt acceplabile sau insesizabile, Mulle din sislemele de operare moderne olerd funclionalitati specifice sistemelor de operare in timp real soft CAPITOLUL 1. INTRODUCERE 5 Exist& numeroase sisteme de operare de timp real. Exemple sunt RTLinux’, VxWorks”, TRON? si QNX*. Majoritatea sistemelor de operare de timp real sunt folosite in cadrul dispozitivelor embedded. Nu existd o linie de demarcatie clara intre sisteme de operare embedded si sisteme de operare in timp real, Sistemele de operare moderne sunt sisteme multi-tasking (permit executia simultand a mai multor sarcini) si multi-user {mai mull ulilizatori pot folosi in acelasi timp resursele sistemului). Sistemele multi-user urmiaresc in principal si optimizeze functionarea calculatorulyi prin echilibrarea cerintelor utilizatorilor si izolarea problemelor acestora. Exist sisteme de operare specializate pentru situatille de conectare a calculatoarelor in retea, precum si sisteme de operare specializate pentru aplicatile care ruleaz& pe un server, desi aceste granite tind sd se estompeze. in aceasta categorie sunt incluse sistemele de operare precum cele din familile Microsoft Windows, Unix si Apple Mac OS X, ce au ca scop optimizarea folosiri resurselor atunci cnd un utiizator ruleaza concomitent mai multe aplicatii sau cand mai mutt utifzateri interactioneaza cu un calculator in acelasi timp. Aceste sisteme de operare sunt cele mai cunoscute de utilizatorii de PC-uri © practicd uzuala pentru obtinerea unei puteri sporite de procesare o reprezinté instalarea de procesoare multiple intr-un singur sistem. Pentru managementu! eficient al acestora si pentru a se putea folcsi intreaga putere de procesare disponibila, exista sisteme de operare pentru arhitecturi multiprocesor special concepute pentru procesarea paraleld (simultand). Acestea pot fi variante modiificate ale sistemelor de operare pentru servere, optimizate pentru gestiunea paralela a operaiillor pe care le execuld. O dati cu proliferarea sistemelor de operare multi-core, majoritatea sistemelor de operare contemporane pot fi folosite att pe arhitecturi monoprocesor, cat si pe cele multiprocasor. Sisteme de operare precum Windows Vista, Windows 7, distributile Linux bazate pe kernel 2.6 si Mac OS X oferd suport pentru sisteme multiprocesor. 1.1.3. Functionarea sistemelor de operare Un sistem de operare este responsabil de realizarea mai multor sarcini Responsabiltitile principale sunt: + administrarea procesorului; administrarea memoriel; administrarea echipamentelor si a perifericelor; . administrarea sistemelor de stocare a datelor; intertata cu aplicatiile si interfata cu utilizator Rolul principal al sistemului de operare consta tn impunerea de regull pentru folosirea coerent& a resurselor (denumit& si multiplexare). Aceasta se realizeaza fie prin “htipi/iwwewrinuxtiee.com! http lenwmindriver.com! Stipe tron. orgiindex-e. his ‘hup:llwnw.gnx.com! 6 INTRODUCERE IN SISTEME DE OPERARE alternarea in timp a accesului la resurse (multiplexare in timp), de exemplu in cazul administréri procesorului, fie prin delimitarea si alocarea unor segmente din resurse aplicatilor ce te vor utiliza simultan (multiplexare in spatiu), de exmplu in cazul memoriei, Responsabilitétile de mai sus sunt indeplinite de nucleul sistemului de operare. Pe tanga acestea, sistemele de operare contin componente si utiltare care permit realizarea unor sarcini precum: initializarea si oprirea proceselor, inclusiv comunicarea intre procese; organizarea aplicatiilor disponibile pe calculator; organizarea fisierelor in directoare; vizualizarea si editarea fisierelor, precum si redenumirea, copierea sau stergerea fisierelor. Administrarea procesorulul Administrarea procesorului vizeaz& optimizarea accesulul diferitelor unit&ti software la resursele procesorului; practic, acest lucru se traduce tn alocarea de cuante de timp pentru rularea unei aplicalii pe un procesor. Este important de observat c&, desi sistemele de operare multitasking permit funclionarea simulta a mai mullor aplicatii, aceasta este de fapt simulat& prin comularea foarte rapid de la o aplicatie la alta a unui procesor care oferd doar facilitati single-tasking. Executia simultand in adevaratul sens al cuvantului are loc numai pe arhitecturi multiprocesor, unde fiecare procesor la un moment dat execula un proces. Prin urmare, este esential ca sistemul de operare sa fie capabil de a raspunde la solicitarile diferitelor aplicatii. De asemenea, sistemul de operare trebuie s& minimizeze proportia de timp in care procesorul este utiizat pentru executia sarcinilor de intretinere, de comunicare interna etc, in favoarea timpului alocat cerintelor directe ale utilizatorului, Elementele de baz cu care lucreaza un sistem de operare (mai exact, elementele care folosesc procesorul) nu sunt aplicatille, ci pracesele si firele de executie (threads). Un proces (vezi capitolul 5) este un program care executa o actiune si este controlat de utilizator, de o aplicatie sau de sistemul de operare. O aplicatie poate fi ea insdsi un proces dar poate fii initiatoarea altor procese pentru a comunica cu alte calculatoare sau cu alle aplicalil, Sistemele de operare initiaz4 numeroase procese pentru a administra resursele calculatorului, in majoritatea cazurilor, utilzatorii nu sunt constienti de acest lucru. Administrarea memorial Administrarea memoriei urmareste sd asigure faptul ci fiecare proces are suficient& memoria, f&ra s& acceseze spaliul de memorie al allor procese, De asemenea, procesele trebuie s4 foloseasca adecvat diferitele tipuri de memorie existenta — tinand cont de accesibilitatea diferentiata a acestora. CAPITOLUL 1. INTRODUCERE 7 Administrarea perifericelor Administrarea peritericelor si a echipamentelor este realizata prin intermediul driverelor. Acestea sunt programe elativ autonome de sistemul de operare, find deseori furnizate de producdtorul echipamentelor si instalate separat. Ele permit sistemului de operare s& comunice cu echipamente noi fird sa fie modificat. Comunicarea cu mediul este intermediata de spatii tampon (butfere), in care datele de intrare sunt acumulate urmand si fig transmise procesorului in ritmul accesibil acestuia, evitand congestia atunci cand apare 0 aglomerare datorita multitudinii de aplicati Interfata cu utilizatorul si aplicat Graphical User Interface Funetia de mediare a sistemului de operare are doud subcomponente: + interfata cu aplicatiile (AP! — Application Programming interface) permite aplicatiilor s& acceseze facil resursele hardware ale sistemului fara a controla toate detalile tehnice ale aplicatilor; « interfata cu utlizatorul permite acesiuia din urma s& comunice cu calculatorul, fie prin comenzi text (TUI - Text User Interface) sau printr-o interfaté graficé (GUI - Graphical User Interface) 1.2 Scurt istoric al sistemelor de operare Sistemele de operare pentru PC-urile actuale sunt nu numai rezultatul unei evolutii graduale, ci si al unei sehimbari conceptuale. Dacd in urma cu 30 de ani sistemele de operare dispuneau de functionalitati limitate, in zilele noastre sistemul de operare este acompaniat de interfata graficd si de aplicatii diverse cu scopul de a fi cat mai accesibil utiizatorului individual neprotesionist. Sistemele de timp real si cele dedicate (embedded) sunt mai apropiate de formele initiale, dezvottate in anii 60-70. Din punct de vedere a evolutiel sislemelor de operare pot fi distinse patru mari perioade, denumite si generatii, Acesie generatii se afl in legatura stransa cu dezvoltarea sistemelor fizice si a limbajelor de programare. 1.2.1 Prima generatie in prima perioada, care s-a desfasurat in mare intre ani 1945 si 1955, se dezvolté prima generatie de calculatoare, avand la baza tehnologia tuburilor vidate. © inovatie major este introducerea cartelelor perforate, ca modalitate de stocare a informatiei. In aceasta etapa nu exist niciun sistem de operare si nici macar limbaje de programare; utlizatorul final este responsabil pentru interactiunea directa cu hardware-ul 8 INTRODUCERE IN SISTEME DE OPERARE 1.2.2 A doua generatie intre anii 1958 si 1965 introducerea tranzistorului marcheaz trecerea la a doua generatie de calculatoare, dominate de sistemele maintrame. Principalele limbaje utilizate sunt FORTRAN si limbajul de ansambiare. Unitatea operationala ali de structurare a informatiei In interactiunea cu calculatorul era Job-ul, care consta intr-unul sau mai multe programe scrise intai pe hartie si apol introduse pe cartele. © proportie substantial din timpul de utiizare al mainframe-ului se pierde cu introducerea fizie’ a joburilor in ealculator (prin realizarea si mutarea cartelelor). Pentru a reduce acest incovenient se dezvolt& tehnica procesarii agregate a job-urilor (in batch-uri): mai multe job-uri sunt grupate intr-un singur sir de cartele separate de Gelimitatori. Job-urile sunt ulterior imprimate pe banda magnetica folosind un calculator relativ ieftin, apoi benzile sunt transmise mainframe-ului, urmand ca outputul s& tie tiparit din nou prin intermediul calculatorului mai iettin, Primul sistem de operare major bazat pe principiul “single stream batch processing” a fost dezvoltal de General Motors Research Laboratories pentru mainframe-ul IBM 701 in 1956. 1.2.3 A treia generatie Atreia generatie de calculatoare, bazatd pe circuitele integrate, apare in perioada 1985- 1980. Unul dintre cele mai importante inovatii al acestei perioada este principiu| utilizarii in comun a timpului de pracesor (timesharing). Conform acestui prinoipiu, mai multi utilizatori pot folosi simultan terminale conectate la acelasi calculator, In timesharing tlecare utilzator primeste alternativ o fractiune de timp, perioada in care procesorul executd instructiunile acestuia. Astfel se valorificd eficient timpii morti datorati vitezei sedizute de actiune a oamenilor fata de cea a procesorului, reducdnd substantial durata de elaborare si corectare a unui program. Primul sistem bazat pe timesharing a fost CTSS - Compatible Time-Sharing System, realizat de MIT in 1961. Din sistemul de operare Multics, dezvoltat ulterior tot de MIT, au derivat primele variante de Unix, initial sub conducerea lui Ken Thompson. Dennis Ritchie a elaborat limbajul C special pentru redactarea Unix, evitiind astfel dependenta de caracteristicile hardware, inerenta in folosirea limajului de ansamblare. Unix a fost primul sistem de operare scris intr-un limbaj de nivel superior, devenind astiel Portabil de la un tip de calculator la altul. Datorit4 nevoii de standardizare a multiplelor variante de sisteme Unix care au aparut apoi independent pe baza codului sursd, 1! a elaborat standardul POSIX. Ulterior, Linus Torvalds a scris Linux. in 1968 a fost creala firma Intel, specializata in microprocesoare, CP/M (Control Program for Microcomputers), elaborat in 1978 de Gary Kildall, este primul sistem de operare pentru calculatoare bazate pe procesoare Intel. CAPITOLUL 1. INTRODUCERE 3 1.2.4 A patra generatie Dupa 1980, pan in prezent, se poate vorbi despre a patra generatie de calculatoare, reprezentate de aparitia si expansiunea extraordinara a calculatoarelor personale. Productia acestora are la bazd tehnologia microprocesoarelor. Bill Gates a cumparat sistemul de operare DOS (Disk Operating System) si I-a adaptat cerintelor IBM crednd MS-DOS. Sistemul a castigat o pozitie dominanta pe piata datorité deciziei lui Gates de a-| directiona edtre companile producdtoare de hardware, in special IBM, in 1981 au aparut primele calculatoare personale IBM, costénd 2880 USD, incluzand 64 KB de memorie si un floppy disk. Piata a crescut rapid, in scurt timp aparand si alte modele care foloseau aceeasi arhitecturd, dat find c& IBM a decis £2 0 facd publica, Vasta majotitate a acestor calculatoare rulau sub MS-DOS. Doug Engelbart a realizat interfata graficd pentru utilizatori - GUI, care a fost apei incoporata in echipamentele construite de Xerox PARC. Steve Jobs, co-inventatorul calculatorului Apple, a transformat GUI intr-un succes comercial remareabil prin lansarea Apple Macintosh in 1984 (dotat cu mouse) si directionarea acestuia catre uitilizatorii cu cunostinte sau aptitudini tehnice minimate. ‘Succesul lui Macintosh a inspirat Microsoft in elaborarea Windows, conceput initial ca 0 interfata grafic peste MS-DOS. in 1995 a apdrut prima versiune autonomd de Windows, urmand apoi Windaws 98, Windows NT, 0 versiune complet noua de Windows, s-aimpus treptat pe piata utilizatorilor corporativi, fiind orientat spre servere si oferind posibilitati avansate de administrare. A fost urmat de Windows 2000 si Windows 2003 Server. In 2001 arhitectura NT a migrat caire utilizatorii individuali prin lansarea lui Windows XP. Prin Windows Vista, si actualmente Windows 7, se doreste pastrarea acestor orientari simultane atat spre partea de server cat si spre partea de utilizator. Dupa anii ‘90, sistemele Unix (in special Linux) incep 88 cdstige teren, preponderent pe piata sistemalor server, iar apoi piata sistemelor desktop. La sfarsitul anilor ‘80, la MIT a aparut o prima interfata grafic’ pentru sistemele Unix — X Windows, urmata de versiuni mai complexe. 1.3 Sisteme de operare moderne Desi exist mai multe criteri de clasificare, doar anumite tipuri de sisteme de operare vor avea relevant pentru utlizator obisnuit al unui calculator, fie el si unul cu profiltehnic. Un criteriu pragmatic, care tine cont de réspandirea sistemelor de operare actuale, conduce la clasificarea sistemelor de operare in: sisteme de operare desktop, destinate sistemelor de calcul obisnuite (desktop) si laptop-urilor; ‘* sisteme de operare server, destinate sistemelor de calcul folosite in general in Internet pentru a oferi ser * sisteme de operare pentru dispozitive mobile, destinate telefoanelor mobile, smartphone-urilor sau dispozitivelor de tip PDA sau Palm. 40 INTRODUCERE IN SISTEME DE OPERARE 1.3.1 Sisteme de operare desktop si server Piata sistemelor de operare desktop este dominata in ultimele decenii de sistemele de ‘operare din familia Windows’. In prezent, familia Windows detine 0 cola de circa 93% din piata sistemelor desktop. Mac OS X detine circa 4.52%-5%, iar Linux in jur de 1%. Toate aceste sisteme de operare ruleazain principal pe arhitecturi PC (x86 sau x86_64). Desi cu 0 cota pe piata foarte mica raportat cu familia Windows, Mac OS X si Linux au castigat procente importante pe piata. Tinand cont c& un utilizator poate opta intre mai multe sisteme de operare, apar intrebari firesti legate de asem&ni si deosebirile dintre ele, care sunt punctele tari si punctele slabe ale fiec&ruia si, fn ultima instant, care dintre ele este cel mai bun. In realitate ins, a compara aceste cele trei clase de sisteme este un lucru foarte dificil, date find diferentele fundamentals de concept si realizare, iar mai mult, a trage concluzia ¢& unul dintre sistee este implicit mai bun sau mai slab decat celdlalt este imposibil. Toate cele trei familii de sisteme de operare ofera performante avansate, un mediu stabil Ge operare si au un domeniu foarte bogat de aplicatii disponibile si coneepute special pentru acestea. Dar pentru cd filozofille din spatele manierei in care sistemele au fost proiectate si au evoluat sunt diferite, concluzia finala depinde in mare masura de scopul in care sistemul va fi folosit, gradul de pregatire al utilizatorilor, configuratia hardware si multi alti factori subiectivi. Sistemele de operare din familia Windows si Unix/Linux oferd variante atat pentru sisteme desktop cat si pentru sisteme server. Asttel, Windows XP, Windows Vista, Windows 7 sunt versiuni desktop ale sistemului de operare de la Microsoft, in wreme ce Windows Server 2003, Windows Server 2008 sunt versiuni dedicate pentru sisteme server, In lunea Unix/Linux diferenta este mai putin clara, un sistem putdnd fi configurat pentru a funcliona atat ca server ct sica desktop. Anumite distributii Linux sunt, ins& dedicate pentru sisteme desktop (Ubuntu, Fedora, openSUSE, Mint, PCLinuxOS) sau pentru sisteme server (Ubuntu Server, RedHat Enterprise Linux, SUSE Linux Enterprise). Alte sisteme de operare din familia Unix (OpenSolaris, FreeBSD, NetBSD, OpenBSD) pot fi folosite si ca sistem desktop si ca sistem server. Apple ofera Mac OS Xca sistem desktop si Mac OS X Server ca sistem server. Windows vs. Linux Un subiect care starneste mult interes si dezbateri este diferenta dintre Windows si Linux. De multe ori aceasta diferent este una de ordin semantic. Microsoft Windows desemneaz& un produs bine delimitat, avand asociate niste speciticatii, pe baza cdrora exista un pret pe pial’, De cealalta parte, Linux nu reprezinta un pradus bine definit, termenul avand mai multe intelesuri, Tehnic vorbind, Linux este numele nucleulul (kernel-ulul) sistemului de operare, Ca fapt divers, Linux este 0 marc’ inregistrat& a lui Linus Torvalds, initiatorului proiectului nucleul Linux, In prezent, proiectul esle inca sub coordonarea Iui Linus Torvalds. Nucleul nu depinde de restul sistemului, asa curn nici restul pachetelor care compun sistemul nu depind in mod necesar de kernel, cu unele exceptii notabile. Thupzien wikipedia. orgiwkiUsage_share_ol_desklop_operating_systems CAPITOLUL 1. INTRODUCERE "1 Gu toate acestea, majoritatea sistemelor au ajuns sa fie construite pe serie comund de pachete, bazata pe proiectul GNU', intreg sistemul fiind pus laolalté in ceea ce se cheama 0 distributie: © colectie de pachete, impreuna cu nucleul Linux, de intretinerea si actualizarea careia se ocupa o anumita organizatie sau comunitate, Asttel, printt-un abuz de limbaj unanim accepiat, aceste clase de sisteme de operare ‘sunt denumite distributii Linux (sau GNU/Linux), data fiind leg&tura puternicad cu nucleul si pachetele de baz8 constuite peste acesta. Intrucat Linux este numele nucleului sistemului de operare, recomandam folosirea sintagmei nucleul Linux sau kernel-ul Linux in loc de nucleul de Linux sau kernel-ul de Linux. 1.3.2 Familia Windows Microsoft a lansat la inceput Windows ca pe o colectie de aplicatii MS-DOS, rulate intr- un mediu grafic interactiv, care s& usureze munca utilizatorului de a lucra cu sistemul. Primele versiuni folosite pe scar& larga au fost Windows 3.0 si Windows 3. Un punct important Ika constituit lansarea Windows 95 in 1985, Cu o interfata intuitiva si prietenoasd, suita bogati de aplicatii preinstalate, suportul tehnic dedicat, Microsoft A promovat Windows 95 si editile ulterioare ca fiind alegerea ideala pentru sistemul desktop de uz personal sau pentru birou. Acest atu a fost péstrat si la editile ulterioare de Windows, unde s-au facut progrese semnificative in directia performantelor: sistemul s-a desprins de MS-DOS, capatand un kernel modern, cu suport de multitasking si mai multi utilizatori, interfata grafic a devenit mai bogata si mai atrégatoare si, nu in ultimul rand, necesitatea de cunostinte tehnice din partea utilizatorilor s-a diminuat de la editie la editi Editille actuale de Windows sunt construite pe tehnologia NT. Din familia NT fac parte Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 si versiunile server lansate de Microsoft. Tehnologia NT a insemnat rescrierea nucleului sistemului de operare si oblinerea unui sistem de operare modern cu functionalitati de integritate si securitate bine definite. In momentul scrierii acestei carti, ultima versiune desktop este Windows Vista, iar ultima versiune server este Windows Server 2008. Pe data de 22 octombrie 2003 este planificata lansarea Windows 7. Cu cotd impresionanta pe piata sistemelor de operare, Windows are rolul unui sistem de operare universal. Cea mai mare parte a aplicatilor existente ruleaza pe sistemele Windows. Cota mare de piata a facut Windows tinta a numeroase atacuri de securitate, rezultand in oresterea eforturilor Microsoft pentru asigurarea integritatii sistemului ta ultimele versiuni de Windows. 1.3.3 Mac OS X Mac OS X reprezinta o familie de sisteme de operare concepute special pentru calculatoarele Macintosh (‘Mac’-uri) produse de firma Apple. Introduse initial in 1984, Thupsliwmewrgnu-org! 12 INTRODUCERE IN SISTEME DE OPERARE sistemele de operare pentru Macintosh au cunoscut 0 evolutie spectaculoasa pana in prezent, mentinandu-se drept concurent pentru Microsoft Windows atét prin Performantele sistemului propriu-zis cat si prin versatilitatea si utilitatea aplicatillor pe care le detin, Caleulatoarele Macintosh au implementat, de la lansare, 0 arhitectura hardware de tip Power PC, migrand mai apoi cAtre o arhitectura Intel, moment in care sistemele de operare peniru Mac-uri au inceput s& reprezinte o concurenl& pentru Windows. Sistemul de operare a fost radical schimbat la lansarea versiunii 10.0, prin reserierea nucleului. Aceast& schimbare este reflectat si in modificarea denumirii sistemului de operare din Mac OS in Mac OS X. Adaugarea lilerei X subliniaz trecerea de la tehnalogia Mac OS nanokernel, la tehnologie derivata din Unix. In prezent, varianta curent de Mac OS X este 10.6, lansata la data de 28 august 2009. Prin sisternul de operare si prin aplicatiile care pot rula pe acesta, Mac OS X exceleaza la capitolul interfata gratica si in domeniul prelucrarii media, aducand in acelasi timp inovatii orientate spre nevoile utilizatorului individual, 13.4 Linux Una dintre principalele confuzii pentru un utilizator proaspat intrat in lumea sistemelor de operare este cea provocaté de denumirile Linux si Unix. in general, Unix reprezinta @ familie de sisteme de operare. Un sistem de operare este Unix (adicd face parte din familia Unix) daca respect standardul Single Unix Specification’, in atara de Linux (sau mai bine spus GNU/Linux), alte Unix-uri fadic& sisteme compatibile cu Single Unix Specification) sunt Solaris, sistemele de familia BSD (FreeBSD, OpenBSD, NetBSD} si Mac OS x. Sistemul de operare Unix a apdrut la inceputul anilor ‘70, in laboratoarele Bell ale AT&T. Folosirea limbajului C pentru scrierea sistemului de operare a condus la portarea rapid a acestuia si rspandirea sa in mediul acadamic. Versiunile System V (de la AT&T) si BSD 4.3 au marcat o serie de avansuri importante in anii'80. Linux este de fapt 0 clona de Unix. © clona Unix este un sistem de operare care respecta Single Unix Specification, dar care nu contine componente din sursele initialte Unix, BSD-urile sau Solaris sunt direct derivate din codul Unix si pot fi denumite Unix-uri veritabile. Linux a fost scris de la zero de Linus Torvalds in 1991. Treptat, in jurul sau s-a consolidat ocomunitate entuziasta de dezvoltatori, Linux ajungand in acest moment unul dintre cele mai mari proiecte open-source. Dineolo de functionalitatile oferite, popularitatea Linux in ultimii 15 ani s-a datorat aparitiei acestuia intr-un context favorabil: © dezvoltatorii proiectului GNU nu reusisera crearea unui kernel; # cei care urmareau dezvoltarea viltoarelor sisteme BSD sub 0 licentd liber au pierdut cétiva ani in procese cu cei de la AT&T legate de licentierea codului Linus Torvalds a spus cd daca 386BSD ar fi fost disponibil la acea vreme, probabil cé nu ar fi creat Linux. “hupzien wihipedia.orgiwiki'Single UNIX_Specification

You might also like