Sunteți pe pagina 1din 78

Universitatea Babe-Bolyai

SISTEME DE OPERARE

CURS - SEMESTRUL II -

George Chis

CUPRINS

SISTEME DE OPERARE ................................................................................................................. 1 1 Informaii generale ....................................................................................................................... 4 1.1 1.2 1.3 2 Date de identificare a cursului ............................................................................................... 4 Condiionri i cunotine prerechizite .................................................................................. 4 Descrierea cursului ................................................................................................................ 4

MODUL 1 .................................................................................................................................. 10 2.1 2.2 2.3 2.4 2.5 2.6 Sistem de operare- definitie si functionalitate ..................................................................... 10 Evoluia i clasificarea sistemelor de calcul ........................................................................ 11 Principiile von Newmann de construire a unui calculator ................................................... 12 Istoria sistemelor de operare se imparte in 5 generatii dupa cum urmeaza: ........................ 13 Sistemele de Operare Microsoft .......................................................................................... 15 Concepte ale SO .................................................................................................................. 18

Structura sistemului de operare .......................................................................................................... 10

MODUL 2 .................................................................................................................................. 28 3.1 3.2 3.3 Concepte .............................................................................................................................. 28 Dispozitive de Intrare / Iesire: ............................................................................................. 49 RAID - Redundant Array of Inexpensive Disks .................................................................. 52

Gestiunea memoriei si dispozitivelor I/O........................................................................................... 28

Modul 3 ...................................................................................................................................... 57 4.1 4.2 4.3 4.4 Group Policy: ....................................................................................................................... 57 Registrii: .............................................................................................................................. 59 Securitatea ........................................................................................................................... 63 Tipuri de atac ....................................................................................................................... 65 Atacuri DOS ................................................................................................................. 65 Atacuri asupra protocoalelor de autentificare .............................................................. 67 Atacuri prin pachete modificate ................................................................................... 69 Atacuri la design i implementare ................................................................................ 70 Atacuri prin complexitate algoritmic.......................................................................... 70 Atacuri prin epuizarea resurselor ................................................................................. 70

Securitatea sistemelor de operare ....................................................................................................... 57

4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.5

Tehnologii de aprare .......................................................................................................... 71


2

Securizarea tuturor calculatoarelor ntr-o reea .......................................................................... 71 Msuri mpotriva atacurilor TCP SYN ...................................................................................... 72 Filtrarea intrrilor ....................................................................................................................... 72 Filtrarea ieirilor ......................................................................................................................... 72 mpiedicarea cererilor ICMP echo ............................................................................................. 73 Dezactivarea serviciilor de reea nefolosite ............................................................................... 73 Monitorizarea performanei........................................................................................................ 73 Descurajarea atacatorului ........................................................................................................... 73 Trasarea adreselor prin coordonarea furnizorilor ....................................................................... 73 Trasarea adreselor prin marcarea probabilistic a pachetelor .................................................... 73

Informaii generale

1.1 Date de identificare a cursului Date de contact ale titularului de curs: Nume: Lector univ. dr. Chi George Birou: Birou 443 sediul Fac. de tiine Economice i Gestiunea Afacerilor, str. Teodor Mihali 58-60 Telefon: 40.264- 418652 interior 5848 Fax: +40.264412570 E-mail: george.chis@econ.ubbcluj.ro Consultaii: Marti, 12-14

Date de identificare curs i contact tutori: Numele cursului Sisteme de Operare Codul cursului EBI0081 Anul, Semestrul anul 2, sem. 2 Tipul cursului - Obligatoriu Pagina web a cursuluihttp://www.econ.ubbcluj.ro/george.chis Tutori Dr. Chi George, Dr. Jecan Sergiu

1.2

Condiionri i cunotine prerechizite Cursul de fa condiioneaz parcurgerea i promovarea cu succes a acestuia daca studentii au

cunostiinte de retelistica, deoarece sistemele de operare moderne se bazeaza pe acestea. n acelai timp, temele majore pe care vi le supunem analizei prin intermediul acestei discipline sunt adesea sensibil relationate cu cele din cursul de retelistica. Prin urmare, v asigurm c prin aprofundarea ofertei noastre curriculare v va fi mult facilitat soluionarea adecvat i n timp optim a sarcinilor de verificare pe parcurs i, n acelai timp promovarea cu succes examenul de verificare final. 1.3 Descrierea cursului Cursul Sisteme de Operare face parte din pachetul de discipline fundamentale ale specializrii

informatica economica, nivel licen, din cadrul Facultii de tiine Economice i Gestiunea Afacerilor a Universitii Babe-Bolyai din Cluj-Napoca. El v deschide porile cunoaterii sistemelor de operare interfata dintre utilizatori si calculator. n economia formrii dumneavoastr academice aceast disciplin constituie temelia pe care v vei aeza cunotinele pe care le vei dobndi prin studiul celorlalte discipline fundamentale sau de specialitate. n fapt, scopul central al acestui curs l constituie familiarizarea studenilor att cu modul de lucru al sistemelor de operare cat si diversitatea acetora, ct i cu cele mai importante schimbari care se petrec in piata IT.

Obiectivele cursului: dobndirea unor cunotine teoretice i practice referitoare la sisteme de operare; familiarizarea studenilor cu generarea i ntreinerea sistemelor de operare; formarea unor deprinderi practice de asisten tehnic att pentru sistemele de tip Windows, Mac OS ct i Unix, Linux.

1.4. Organizarea temelor n cadrul cursului Tematica ce corespunde semestrului II al cursului de Sisteme de Operare include trei module de nvare aferente celor trei intalniri alocate. Se axeaz pe urmtoarea succesiune de concepte i instrumente: Structura sistemului de operare, Gestiunea memoriei si dispozitivelor I/O, Securitatea
sistemelor de operare.

Nivelul de nelegere i, implicit, utilitatea informaiilor pe care le regsii n fiecare modul vor fi sensibil optimizate dac, n timpul parcurgerii suportului de curs, vei consulta sursele bibliografice recomandate. Dealtfel, rezolvarea tuturor lucrrilor de verificare precum i promovarea examenului final impune, cel puin, parcurgerea referinelor obligatorii, menionate la finele fiecrui modul. n situaia n care nu vei reui s accesai anumite materialele bibliografice, suntei invitai s contactai tutorii disciplinei. 1.5. Formatul i tipul activitilor implicate de curs Aa cum am menionat mai sus, prezentul suport de curs este structurat pe trei module. Parcurgerea acestora va presupune att ntlniri fa n fa (consultaii), ct i munc individual. Consultaiile, pentru care prezena este facultativ, reprezint un sprijin direct acordat dumneavoastr din partea titularului. Pe durata acestora vom recurge la prezentri contrase a informaiilor nucleare aferente fiecrui modul dar, mai cu seam, v vom oferi, folosind mijloace auditive i vizuale explicaii alternative, rspunsuri directe la ntrebrile pe care ni le vei adresa. n ceea ce privete activitatea individual, aceasta o vei gestiona dumneavoastr i se va concretiza n parcurgerea tuturor materialelor bibliografice obligatorii, rezolvarea lucrrilor de verificare i realizarea unui proiect de semestru. Reperele de timp i implicit perioadele n care vei rezolva fiecare activitate (lucrri de verificare, proiect etc) sunt monitorizate de ctre noi prin intermediul calendarului disciplinei. Modalitatea de notare i, respectiv, ponderea acestor activiti obligatorii, n nota final v sunt precizate n seciunea politica de evaluare i notare (seciunea 1.9) precum i n cadrul fiecrui modul.

Pe scurt, avnd n vedere particularitile nvmntului la distan dar i reglementrile interne ale CFCID al UBB parcurgerea i promovarea acestei discipline presupune antrenarea studenilor n urmtoarele tipuri de activiti: a. consultaii pe parcursul semestrului vor fi organizate trei ntlniri de consultaii fa n fa; prezena la aceste ntlniri este facultativ; b. realizarea unui proiect de semestru cu o tem i un set de sarcini anunate cu cel puin 30 de zile naintea datei de depunere a acestuia. c. trei lucrri de evaluare care vor fi rezolvate i, respectiv trimise titularului n conformitate cu precizrile din calendarul disciplinei. d. forumul de discuii acesta va fi monitorizat de echipa de titular.

1.6. Materiale bibliografice obligatorii n suportul de curs, la finele fiecrui modul sunt precizate att referinele bibliografice obligatorii, ct i cele facultative. Sursele bibliografice au fost astfel stabilite nct s ofere posibilitatea adncirii nivelului de analiz i, implicit, comprehensiunea fiecrei teme. Dintre materialele recomandate ca bibliografie pentru acest curs atragem atenia asupra volumului citat n cele ce urmeaz, care constituie principala resursa bibliografica i, implicit obligatorie: A. S. Tanenbaum 2004 - Sisteme de operare moderne -, ediia II-a, Ed. Byblos,. Dincolo de acesta, la finalul fiecrui modul exist o bibliografie facultativ/ opional pe care studenii o pot parcurge pentru a-i completa cunotinele i de la care pot porni n realizarea diferitelor Teme de verificare obligatorii. Lucrrile menionate la bibliografia obligatorie se regsesc i pot fi mprumutate de la Biblioteca Facultii de tiine Economice i Gestiunea Afacerilor din cadrul Bibliotecii Centrale Lucian Blaga. 1.7. Materiale i instrumente necesare pentru curs Optimizarea secvenelor de formare reclama accesul studenilor la urmtoarele resurse: calculator conectat la internet (pentru a putea accesa bazele de date i resursele electronice suplimentare dar i pentru a putea participa la secvenele de formare interactiv on line) imprimant (pentru tiprirea materialelor suport sau a temelor redactate) acces la resursele bibliografice (ex: abonament la Biblioteca Central Lucian Blaga)

acces la echipamente de fotocopiere documentaii electronice (pdf-uri) videoproiector softuri: VMWARE, WINDOWS, MAC OS i LINUX

1.8. Calendar al cursului Pe parcursul semestrului II la disciplina Sisteme de Operare sunt programate 3 ntlniri fa n fa (consultaii) cu toi studenii; ele sunt destinate soluionrii, nemediate, a oricror nelmuriri de coninut sau a celor privind sarcinile individuale. Pentru prima ntlnire se recomand lectura atent a modulelor 1; la cea de a doua ntlnire se discuta modulul 2 iar la ultima intalnire se dicuta modulul 3 i se realizeaz o secven recapitulativ pentru pregtirea examenului final. De asemenea, n cadrul celor trei ntlniri studenii au posibilitatea de solicita titularului sprijin pentru rezolvarea anumitor lucrri de verificare sau definitivare a proiectului de semestru, n cazul n care nu au reuit singuri. Pentru a valorifica maximal timpul alocat celor trei ntlniri studenii sunt atenionai asupra necesitii suplimentrii lecturii din suportul de curs cu parcurgerea obligatorie a sursei bibliografice de referin. Datele celor trei ntlniri vor fi anunate n timp util pe site-ul facultii: www.econ.ubbcluj.ro in sectiunea avizier on-line. De asemenea, n calendarul disciplinei (vezi Anexa A) se regsesc termenele la care trebuie transmise lucrrile de verificare aferente fiecrui modul precum i data limit pentru trimiterea proiectului de semestru. 1.9. Politica de evaluare i notare Evaluarea final se va realiza pe baz unui examen scris desfurat n sesiunea de la finele semestrului I. Nota final se compune din: a. punctajul obinut la acest examen scris n proporie de 40% (4 puncte); b. Aprecierea celor trei lucrri de evaluare pe parcurs 30% (3 puncte, adic 1 punct/lucrare); c. evaluarea proiectului de semestru 30% (Windows 10%, Mac OS 10% si Linux-10%(3 puncte). Cursul cuprinde trei lucrri de verificare care vor fi transmise tutorelui la termenele precizate n calendarul disciplinei. Aceste lucrri se regsesc la sfritul fiecrui modul. Instruciuni

suplimentare privind modalitile de elaborare, redactare, dar i criteriile de notare ale lucrrilor, v vor fi furnizate de ctre titularul de curs n cadrul ntlnirilor fa n fa. Pentru predarea temelor se vor respecta cu strictee cerinele formatorilor. Orice abatere de la acestea aduce dup sine penalizri sau pierderea punctajului corespunztor acelei lucrri. Temele se trimit exclusiv pe adresa de email a titularlui:george.chis@econ.ubbcluj.ro. La primirea temei tutorele v va trimite un mesaj de confirmare. n cazul n care nu primii mesajul de confirmare n maxim 48 de ore, trebuie s trimitei tema din nou, pn cnd vi se confirm primirea temei. De asemenea, trebuie s pstrai n variant electronic, toate temele pe care le-ai realizat n cadrul acestei discipline. Evaluarea acestor lucrri se va face imediat dup preluare, iar afiarea pe site a notelor acordate se va realiza la cel mult 2 sptmni de la data primirii lucrrii. Dac studentul consider c activitatea sa a fost subapreciat de ctre evaluatori atunci poate solicita feedback suplimentar prin contactarea tutorilor prin email.

1.10. Elemente de deontologie academica Se vor avea n vedere urmtoarele detalii de natur organizatoric: Orice material elaborat de ctre studeni pe parcursul activitilor va face dovada originalitii. Studenii ale cror lucrri se dovedesc a fi plagiate nu vor fi acceptai la examinarea final. Orice tentativ de fraud sau fraud depistat va fi sancionat prin acordarea notei minime sau, n anumite condiii, prin exmatriculare. Rezultatele finale vor fi puse la dispoziia studenilor prin afiaj electronic. Contestaiile pot fi adresate n maxim 24 de ore de la afiarea rezultatelor iar soluionarea lor nu va depi 48 de ore de la momentul depunerii. 1.11. Studeni cu nevoi speciale: Titularul cursului i exprima disponibilitatea, n limita constrngerilor tehnice i de timp, de a adapta coninutul i metodelor de transmitere a informaiilor precum i modalitile de evaluare (examen oral, examen on line etc) n funcie de tipul dizabilitii cursantului. Altfel spus, avem n vedere, ca o prioritate, facilitarea accesului egal al tuturor cursanilor la activitile didactice i de evaluare.

1.12. Strategii de studiu recomandate: Date fiind caracteristicile nvmntului la distan, se recomand studenilor o planificare foarte riguroasa a secvenelor de studiu individual, coroborat cu secvene de dialog, mediate de reeaua net, cu tutorii i respectiv titularul de disciplin. Lectura fiecrui modul i rezolvarea la timp a lucrrilor de evaluare garanteaz nivele nalte de nelegere a coninutului tematic i totodat sporesc ansele promovrii cu succes a acestei discipline.

2 MODUL 1 Structura sistemului de operare

Scopul modulului: Familiarizarea studentului cu elementele unui sistem de operare.

Obiectivele modulului: La finalul acestui modul, cursanii trebuie: S poat face distincia ntre sistemele de operare S cunoasc principalele repere n dezvoltarea acestora S prezinte principalele modificri aduse pe parcursul dezvoltarii acestora S cunoasc principalele componente si modul de interconectare a acestora

2.1

Sistem de operare- definitie si functionalitate


Un sistem de calcul modern este alcatuit dintr-unul sau mai multe procesoare, memorie

principala, discuri, display, tastatura, display, interfete de retea si alte interfete de intrare/iesire.Toate aceste elemente impreuna formeaza un sistem complex[TANENBAUM] Peste arhitectura hard a unui calculator este un program de baza numit si sitem de operare care are sarcina sa administreze dispozitivele din sistem si sa ofere programelor utilizatorilor modalitati de interfatare mai simple cu structura hard. Structura hard impreuna cu instrcutiunile in limbaj de ansamblare alcatuiesc nivelul ISA (Instruction Set Arhitecture Arhitectura setului de instructiuni) numit si limbaj masina.

Programe de aplicaii Soft de baz Hard

Dezvoltat de utilizatori SO Translatoare

Pachete de programe Biblioteci Browsre Editoare Editoare de legturi Limbaj main Microprograme (Firmware) Componente fizice

Tabel 1. 1 Sistem de calcul alcatuit din structura hard, SO si aplicatii

Software de baz (sistem) fac sistemul s funcioneze: Sistemul de operare Translatoare Interpretoare de comenzi Editoare de legturi Programe de comunicaie, etc. Software de aplicaii utilitare pentru utilizatori: Pachete de programe Editoare de texte SGBD-uri Navigatoare Web Instrumente de dezvoltare e aplicaii Editoare de imagini Sisteme financiar contabile, ERP (Entreprise Resource Planning), HRM, CRM, SCM, FMS Bibliotecare, etc. Soft dezvoltat n firm: freeware, software de domeniu public; sherware; Sistemele de operare realizeaza doua functii de baza intre care nu exista nici o legatura: extinderea functionalitatii masinii si gestionarea resurselor,ceea ce nu putem spune este care din aceste functii este mai importanta. Prin functia de extindere ascunde detalii neplacute precum: intreruperile, timer-ele, gestiunea memoriei si alte elemente de nivel scazut.Tot functia de extindere ascunde programatorului adevarul despre structura hard si prezinta numai partea frumoasa a fisierelor cu nume nu si cu octeti si reprezinta o vedere de sus in jos a SO. In abordarea de jos in sus este prezenta functia de gestionare a resurselor care are ca sarcina sa realizeze o alocare ordonata si controlata a proceselor, memoriilor si dispozitivelor de I/O in diversele programe scrise pentru ele.Administrarea resurselor include partajarea resurselor in timp si spatiu (multiplexarea). Cand este in timp programele sau utilizatorii le folosesc pe rand resursele (exemplu: tiparirea) formanduse o coada SO este acela care spune cine urmeaza si cat timp are alocat. Cand este in spatiu fiecare client foloseste o parte din resursa(exemplu: memoria principala este impartita intre mai multe programe, sau HDD este o alta resursa multiplexata in spatiu.

2.2

Evoluia i clasificarea sistemelor de calcul


Abacul - sistem de bile Asia - introdus cu 2000-3000 de ani [Price77]. 1614 - John Napier logaritmi si tabel de calcul; 1620 - Wiliam Oughtred - bazat pe logaritm.

1642 - Blaise Pascal (19 ani) - mainilor mecanice. Maina Pascal facea adunri i scderi; conceptul de complement - preluat n informatica modern. O limitare - nmulirea - adunri repetate. Nicolaus Wirth limbajul PASCAL. 1671 - Gottfried von Leibnitz - nmuliri i mpriri. 1822 - Charles Babbage, profesor de matematic la Universitatea din Cambridge (Anglia) - a construit un sextant - motor diferenial prezentat Societtii Regale de tiine. 1834 - dispozitiv complex - maina analitic, care a avut o arhitectur asemntoare cu cea a calculatoarelor moderne. Motivele nerealizrii: suport tehnologic adecvat si epoca industrial era in faza incipient. Ada Augusta Byron, contes de Lovelace prima programatoare din lume; limbajul Ada (Bull). 1802-1804 - Calculatoarelor electromecanice - cartele perforate - Josph Jacquard introduce automatizarea rzboaielor de esut. Hermann Hollerith - compania Hermann Hollerith Tabulating Recording Company sisteme Hollerith sau tabulatoare. 1911, fuzionarea a 3 firme The Computing Tabulating Recording Company, - din 1924 IBM (International Business Machine Corporation). 1937-1944, Howard Aitken de la Harvard University - Mark I, cu ajutorul IBM. John von Neumann unul dintre fondatorii informaticii moderne principiile.

2.3

Principiile von Newmann de construire a unui calculator


John von Neumann facea analogii cu comportamentui creierului uman. Aceast arhitectur descrie un

calculator cu patru module importante: unitatea aritmetic-logic (UAL, arithmetic logic unit sau ALU), unitatea de control, memoria central (care bine-neles se deosebete aproape total de memoria omului), i dispozitivele de intrare/ieire I/E (sau I/O , de la input/output). Acestea snt interconectate cu un mnunchi de fire numit magistral (bus ) i snt conduse n tactul unui ceas (clock). 1. maina va executa frecvent operaiile aritmetice: adunarea, scderea, nmulirea i mprirea rezultand existena unei componente specializate destinat calculului (aritmetico-logic, unitate de calcul etc.). 2. operaiile se vor executa secvenial. Distincie ntre instruciunile necesare rezolvrii unei probleme particulare i controlul general asupra acestor instruciuni. (componenta de control) - unitatea de calcul + CPU (Control and Processing Unit) / procesor. 3. memorie n care se "in minte" instruciunile & datele necesare rezolvrii problemei (intern sau memorie operativ).

4. senzor recepioneze / transmit semnalele vin / la din exterior (astzi le numim dispozitive de intrare/ieire, I/E, sau periferice). volatilitatea; 5. memorie permanent (memoria extern de astzi). 6. transfer ntre memoria intern la cea permanent.

2.4

Istoria sistemelor de operare se imparte in 5 generatii dupa cum urmeaza:


Prima generatie 1945 1955 - Primele calculatoare digitale construite: relee electro-mecanice, tuburi;

programare se facea manual, n limbaj masina; nu existau compilatoare sau asambloare; nu existau sisteme de operare; primul bug descoperit in 1947 (Harvard Mark II). In 1941 inginerul german Konrad Zuse dezvolta computerul Z3 pentru a proiecta avioane si rachete. 1943: Fortele Aliate produc un computer spargator de coduri, denumit Colossus. 1944: SUA produce Mark I, primul computer complet electronic, cu dimensiunile unei jumatati de teren de fotbal. Al doilea computer produs de SUA a fost ENIAC. Era de 1.000 de ori mai rapid ca Mark I si consuma 160 de kilowati. 1951: apare UNIVAC I, primul computer disponibil comercial. 1952: UNIVAC I prezice matematic alegerea ca presedinte a lui Eisenhower. A doua generatie 1955 1965 - tranzistoare, batch systems; tranzistoare; mainframe-uri; apare conceptul de batch; sisteme de operare: FMS, IBSYS. Inventarea tranzistorului aduce schimbari radicale. Introdus in computere in 1956 si cuplat cu memoria cu miez magnetic, el da nastere unei generatii de ordinatoare mai mici si mai eficiente. Primele supercomputere au fost Stretch, produse de IBM si LARC pentru laboratoarele de energie atomica. La inceputul anilor 60 apare IBM 1401, considerat piatra de temelie a conceptului actual. Apar de asemenea limbajele de programare COBOL (Common Business-Oriented Language) si FORTRAN (Formula Translator), care inlocuiesc codul binar criptic cu cuvinte si formule matematice. A treia generatie 1965 1980 - ICs si multiprogramarea; circuite integrate; apare conceptul de familie de calculatoare (IBM System/360): aceeasi arhitectura si set de instructiuni. Desi tranzistorii reprezentau o evolutie semnificativa, ei generau intens caldura, care deteriora restul componentelor interne. Asa incepe folosirea cristalelor de cuart. In 1958, Texas Instruments produsese circuitul integrat, care combina trei componente electronice pe un disc de siliciu. Un alt pas l-a constituit aparitia sistemelor de operare, care au permis computerelor sa ruleze mai multe aplicatii simultan, cu un program central de monitorizare si coordonare a memoriei. Sistemul de operare pentru System/360: OS/360 aduce: Multiprogramare - Partitionarea memoriei n mai multe segmente, ct timp un job asteapta la I/O alt job se executa

Spooling - Citirea joburilor de pe cartele perforate si pastrarea lor pe disc pna la executie Multitasking (time-sharing): CTSS (Compatible Time Sharing System) MULTICS (Multiplexed Information and Computing Service)

MIT, Bell Labs, General Electric Lansat n 1960 are un succes comercial scazut, nsa are o influenta masiva asupra dezvoltarii ulterioare ale SO UNIX O versiune mult redusa a MULTICS, implementata de Ken Thompson System V, BSD A patra generatie 1980 present- calculatoarele personale CP/M - Dezvoltat de Kidall pentru Intel 8080. Dupa circuitele integrate, directia principala a ramas reducerea dimensiunilor. Deja, in anii 80, integrarea la scara foarte larga putea concentra sute de componente pe un singur cip. In 1971, cipul Intel 4001 integra toate componentele unui computer pe o pastila minuscula. Acum se naste microprocesorul. Computerele vandute sunt insotite de pachete de software. Pionieri ai domeniului sunt Commodore, Radio Shack si Apple Computers. La inceputul anilor 80 apar primele jocuri arcade, precum Pac Man, si primele sisteme casnice de jocuri, precum Atari 2600. 1981: IBM lanseaza PC (Personal Computer), care va deveni standard in domeniu. Dupa 1984 este folosita pe scara larga inventia MacIntosh, pe care azi o cunoastem ca mouse. 1992: Incepe folosirea pe scara larga a retelelor si Internetului in acceptia actuala a conceptului.

A cincea generatie Definirea acestei generatii este dificila, deoarece se afla in faza de inceput. Cel mai bun exemplu ar putea fi celebrul, dar fictivul, HAL 9000 (care era dotat cu inteligenta artificiala), din romanul Odiseea spatiala 2001 al lui Arthur C. Clarke. Considerat utopic la data aparitiei cartii (1968), acest calculator se va naste in laboratoarele viitorului, confirmand, inca o data, asertiunea conform careia cuvintele creeaza realitatea.
Generaia Perioada I 1946 1956 II 1957 1963 Tranzistori Inele de ferit nivel nalt: FORTRAN, COBOL etc. III 1964 1981 IV dup 1982 dup 1990 Circuite integrate pe scar foarte larg Circuite integrate Memorii semiconductori discuri magnetice Memorii cu bule, discuri optice Pascal, grafice ADA, limbaje obiectuale, limbaje vizuale etc. Lisp, limbaje Memorie: 2Mo, Vitez: 5*106 I/S Memorie de peste 256 Mo, Vitez 5*107 I/S, Supercalculatoare V Circuite integrate Arhitecturi paralele Limbaje concurent, limbaj natural,limbaje funcionale i logice Vitez: cunotine, artificial, vorbirii 1012 I/S; vedere tehnologia pe scar extrem de larg; maini LISP i Prolog memorare i prelucrare Tehnologie CPU Tuburi electronice Tehnologie memorie Tambur magnetic Limbaje utilizate asamblare Performane, memorie i CPU Memorie 2 Ko., Viteza: 104 I/S Memorie: 32 Ko, Vitez: 2*105 I/S

Tabel 1. 2 Repartizare pe generatii cu caracteristicile specifice

Clasificarea sistemelor de operare: SO pentru mainframe: OS/360, VM/370 SO pentru servere: UNIX, Windows NT/2000/2003/2008, Linux SO pentru sisteme multiprocesor SO pentru calculatoare personale Real Time OS: QNX, RTLinux SO pentru sisteme embedded SO pentru PDA-uri si Mobile Phone(Windows Mobile, Symbian, Android, iPhone OS (bazat pe Mac OS)) Componentele sistemului de operare: Gestiunea proceselor Gestiunea memoriei Gestiunea fisierelor Gestiunea operatiilor de I/E Gestiunea retelei

2.5

Sistemele de Operare Microsoft


Istoria apartitie sistemelor de operare Microsoft: 1985 Windows 1 1987 Windows 2 1990 Windows 3.0 (Codename: Janus) 1991 Windows NT 1993 Windows NT 3.1 1994 Windows NT3.5 (Codename: Daytona) 1995 Windows 95 (Codename: Chicago) 1996 Windows NT 4.0 (Codename: Cairo) 1996 Windows CE 1.0 (Codename: Talisker) 1997 Windows CE 2.0 1998 Windows 98 (Codename: Memphis) 1999 Windows 98 SE 2000 Windows ME (Codename: Millennium) 2000 Windows 2000 (Codename: Odyssey) [The first Codename was Chicairo, but that's very little known about, the most common codename was NT 5.0, Odyssey was just an experimental project to the GUI of Neptune] 2001 Windows XP (Codename: Whistler)

2002 Windows XP tablet PC 2003 Windows Server 2003 (Codename: Whistler Server) [.NET Server] 2003 Windows XP 64-Bit Edition 2003 (Codename: Sundown) 2003 Windows XP Media Centre Edition (Codename: Freestyle) 2003 Windows XP Media Centre 2003 (Codename: Freestyle) 2004 Windows XP Media Centre 2004 (Codename: Harmony) 2004 Windows XP Media Centre 2005 (Codename: Symphony) 2006 Windows Vista (Released to Corporations Only) 2007 Windows Vista (Released to the General Public. Codename: Longhorn) 2008 Windows Small Business Server 2008 (Codename: Cougar) 2008 Windows Essential Business Sever 2008 (Codename: Centro) 2008 Windows Server 2008 (Codename: Longhorn Server) 2009 Windows 7 (Codename: Windows Seven, formerly known as Blackcomb and Vienna)

O statistica conform celor de la W3SCHOOLS privind popularitatea SO arata ca Windows XP este cel mai popular si familia Microsoft totalizeaza in jur de 90 % din total.
2009 December November October September August July June May April March February January Win7 9.0% 6.7% 4.4% 3.2% 2.5% 1.9% 1.6% 1.1% 0.7% 0.5% 0.4% 0.2% Vista 16.0% 17.5% 18.6% 18.3% 18.1% 17.7% 18.3% 18.4% 17.9% 17.3% 17.2% 16.5% Win2003 1.4% 1.4% 1.5% 1.5% 1.6% 1.7% 1.7% 1.7% 1.7% 1.7% 1.6% 1.6% WinXP 61.6% 62.2% 63.3% 65.2% 66.2% 67.1% 66.9% 67.2% 68.0% 68.9% 69.0% 69.8% W2000 Linux 0.6% 0.7% 0.7% 0.8% 0.9% 1.0% 1.0% 1.1% 1.2% 1.3% 1.4% 1.6% Mac

4.5% 6.5% 4.3% 6.7% 4.2% 6.8% 4.1% 6.5% 4.2% 6.1% 4.3% 6.0% 4.2% 5.9% 4.1% 6.1% 4.0% 6.1% 4.0% 5.9% 4.0% 6.0% 3.9% 5.8%

2008 December November October

Vista 15.6% 15.1% 14.4%

W2003 1.7% 1.6% 1.7%

WinXP 71.4% 72.0% 72.2%

W2000 1.7% 1.8% 1.9%

Win98 Linux 0.1% 0.1% 0.2%

Mac

3.8% 5.3% 3.8% 5.3% 3.8% 5.5%

September August July June May April March February January

13.2% 12.5% 11.5% 10.0% 9.3% 8.8% 8.5% 7.8% 7.3%

1.8% 1.9% 2.0% 1.9% 1.8% 1.9% 1.9% 1.8% 1.9%

73.3% 73.9% 74.7% 74.6% 74.0% 73.3% 72.7% 72.4% 73.6%

2.2% 2.4% 2.6% 2.6% 2.9% 3.3% 3.7% 4.0% 4.0%

0.2% 0.2% 0.2% 0.2% 0.3% 0.5% 0.6% 0.8% 0.8%

3.8% 5.2% 3.9% 4.9% 3.9% 4.8% 3.7% 4.8% 3.6% 4.7% 3.7% 4.6% 3.9% 4.4% 3.8% 4.3% 3.6% 4.4%

2007 November September July May March January

Vista 6.3% 4.5% 3.6% 2.8% 1.9% 0.6%

W2003 2.0% 2.0% 2.0% 1.9% 1.9% 1.9%

WinXP 73.8% 74.3% 74.6% 75.0% 76.0% 76.1%

W2000 5.1% 5.4% 6.0% 6.5% 7.2% 7.7%

Win98 Linux 1.0% 0.9% 0.9% 0.9% 0.9% 1.0%

Mac

3.3% 3.9% 3.4% 3.9% 3.4% 4.0% 3.4% 3.9% 3.4% 3.8% 3.6% 3.8%

2006 November September July May March January

Win2003 1.9% 2.0% 2.0% 2.0% 1.8% 1.7%

WinXP 74.9% 74.6% 74.3% 74.2% 72.9% 72.3%

W2000 8.0% 9.2% 10.1% 10.7% 11.9% 13.1%

Win98 1.0% 1.4% 1.5% 1.6% 2.0% 2.4%

WinNT 0.3% 0.3% 0.3% 0.2% 0.3% 0.3%

Linux

Mac

3.5% 3.6% 3.5% 3.6% 3.4% 3.6% 3.4% 3.6% 3.4% 3.5% 3.3% 3.5%

2005 November September July May March January

Win2003 1.7% 1.7% 1.6% 1.4% 1.4% 1.2%

WinXP 71.0% 69.2% 65.3% 64.5% 63.1% 61.3%

W2000 14.6% 15.8% 17.7% 19.4% 20.2% 21.6%

Win98 2.7% 3.2% 3.9% 3.9% 4.7% 5.3%

WinNT 0.4% 0.5% 0.6% 0.8% 0.9% 1.0%

Linux

Mac

3.3% 3.3% 3.3% 3.1% 3.5% 3.0% 3.3% 2.9% 3.2% 3.0% 3.2% 2.8%

2004 November September July May March January

WinXP 59.1% 55.9% 52.5% 51.0% 48.0% 44.1%

W2000 23.7% 26.2% 28.4% 29.6% 31.1% 33.6%

Win98 5.6% 6.4% 7.5% 8.2% 9.4% 10.4%

WinNT 1.2% 1.5% 1.9% 2.0% 2.4% 3.0%

Win95 Linux 0.1% 0.2% 0.2% 0.3% 0.4% 0.4%

Mac

3.1% 2.7% 3.1% 2.6% 3.1% 2.4% 2.9% 2.5% 2.6% 2.4% 2.7% 2.4%

2003 November September July May March

WinXP 42.6% 38.0% 33.9% 31.4% 29.1%

W2000 36.3% 37.9% 40.6% 41.0% 41.9%

Win98 10.9% 12.1% 12.6% 13.9% 14.8%

WinNT 3.5% 4.1% 5.3% 5.8% 6.6%

Win95 Linux 0.4% 0.5% 0.6% 0.7% 0.8%

Mac

2.6% 2.2% 2.4% 2.0% 2.3% 1.9% 2.2% 1.8% 2.2% 1.8%

Tabel 1. 3 Statistica distributiei SO pe piata in ultimii 6 ani

Tema de reflecie nr. 1 Dai exemple de 3 sisteme de operare de care ati auzit in ultimele 6 luni ca au fost lansate pe piata sau au suferit imbunatatiri.

2.6

Concepte ale SO
Procesul - este in fapt un program in executie. Fiecarui proces i se asociaza un spatiu de adrese, adica o

lista de locatii in memorie din care programul poate citi sau in care poate scrie. Locatiile cuprinse intra doua limite, una minima (de obicei 0) si una maxima. Spatiul de adrese contine programul executabil, datele programului si stiva. Procesului i se asociaza , de asemenea , un set de registre care cuprinde contorul program, indicatorul de stiva si alte registre hard, precum si diverse alte informatii necesare rularii programului.[Tanenbaum] La multe SO toate informatiile despre fiecare proces , altele decat cele aflate in propriul spatiu de adrese, sunt memorate intr-un tabel al sistemului de operare numit tabel de procese, care este un tablou de structuri pentru fiecare proces existent.

Figura 1. 1 Arbore de process . Procesul A a creat doua procesece- copii: B si C Porcesul B a creat 3 procese copii D, E, F

Pentru a implementa un proces SO foloseste o tabela ( un vector de structuri) numit tabela de procese cu o intrare pentru fiecare proces. Aceasta intrare contine informatii despre: starea procesului, contorul program, indicatorul de stiva, alocarea memoriei, starea fisierelordeschise, detalii de contabilizare, si planificare si orice alte informatii despre un proces, care trebuie salvate atunci cand procesul comuta intre starile in executie, gata de executie si blocat, astefel incat sa poata fi repornit mai tarziu ca si cum nu ar fi fost oprit niciodata. In tabelul de mai jos se poate vedea cateva din campurile importante dintr-un sisetm obisnuit:
Gestiunea procesului Registrare Contorul program Cuvntul de stare al programului Indicatorul de stiv Starea procesului Prioritate Parametri de planificare Identificatorul procesului Proces primar Grupul procesului Semne Momentele nceperii procesului Durata de utilizare UCP Durata de utilizare UCP de ctre copii Momentul urmtoarei alarme Tabel 1. 4 Cateva din campurile unei intrari obisnuite din tabela de procese Gestiunea memoriei Indicator spre segmentul de text Indicator spre segmentul de date Indicator spre segmentul de stiv Gestiunea fiierelor Directorul rdcin Directorul de lucru Descriptorii de fiiere Identificatorul utilizatorului Identificatorul grupului

Firele de executie in sistemele de operare traditionale , fiecar eproces are un spatiu de adrese si un singur fir de control. Dar de cele mai multe ori este de dorit existenta mai multor fire de control in acelasi spatiu de adrese ruland pseudo-paralel, ca si cum ar fi procese separate(cu exceptia paratjarii spatiului de adrese).

Un proces este ca o grupare de resurse inruditesi are spatiu de adrese ce contine textul programului si date, precum si alte resurse.Aceste resurse pot include fisiere deschise, procese copil, semnale de alarma in asteptare, rutine de tratare a semnalelor , informatii de contabilizare si altele. Acestea pot fi gestionate usor prin gruparea lor sub forma de proces. Firul de executie (thread) are un contor de program care tine evidenta urmatoarei instructiuni de executat, totodata detine si registre care tin variabilele curente de lucru.Are de asemenea o stiva care contine istoricul executiei, cu un cadru pentru fiecare procedura apelata din care nu s-a revenit inca. Desi un fir de executie trebuie sa ruleze intr-un proces,firul si procesul sunt concepte diferite si pot fi tratate separat. Procesele sunt utilizate pentru a grupa resurse, in timp ce firele de executie sutn entitati planificate pentru executie in caddrul UCP (unitate centrala de procesare). Modul de lucru al firelor de executie este: partajeaza spatiul de adrese, fisiere deschise si ale resurse sau partajeaza memoria fizica , discurile, imprimantele si alte resurse. Prin comutarea intre mai multe procese, sistemul ofera iluzia unor procese secventiale separate care se executa in paralel. Programarea cu fire de executie multiple functioneaza in acelasi mod: uCP comuta rapid intre firele de executie oferind iluzia ca acestea ruleaza in paralel, desi pe o UCP mai lenta decat pe cea reala. In cazul unui proces cu trei fire de executie, toate efectuand calcule, acestea par sa se execute in paralel, fiecare pe o UCP cu o viteza de trei ori mai mica decat a UCP reale.

Figura 1. 2 Un pachet de fire de executie in spatiu utilizator / un pachet de fire de executie gestionat de nucleu

Situatiile in care doua sau mai multe procese citesc si scriu date partajate si rezultatul final depinde de cine ce executa exact cand, se numesc conditii de cursa(race conditions). Rezolvarea acestora o reprezinta excluderea mutuala(mutual exclusion), adica o cale prin care sa fim asigurati ca daca un proces foloseste o variabila partajata sau un fisier, celelalte procese nu vor putea face acelasi lucru. PPentru a avea o solutie buna trebuie indeplinite patru conditii:

1. oricare doua procese nu se pot afla simultan in regiunile lor critice1; 2. nici un fel de presupunere nu se poate face asupra vitezelor sau numarului de UCP-uri; 3. nici un proces care ruleaza in afara regiunii lui critice nu poate bloca alte procese; 4. nici un proces nu trebuie sa astepte la infinit pentru a intra in regiunea lui critica.

Figura 1. 3 Excluderea mutuala folosind regiuni critice

Interblocarile este situatia cand doua sau mai multe procese interactioneaza, si se ajunge la situatii conflictuale din care nu mai pot iesi(exemplu: ca si in traficul rutier dintr-o intersectie). Dispozitivele de I/O sunt acele dispozitive care preiau intrari si genereaza iesiri. La ce bun ar fi un calculator daca utilizatorii n-ar putea sa-i spuna ce sa faca si n-ar putea prelua rezultatele activitatii solicitate. Fisier - un sistem de administrare al fiierelor const ntr-o asociaie de date abstracte necesare pentru memorarea, organizarea ierarhic, manipularea, accesul i recuperarea informaiilor stocate ntr-un sistem de calcul. Cele mai familiare sisteme de operare folosesc pentru memorarea informaiilor un ir de blocuri de dimensiune fix, numite de obicei sectoare, de regul, de 512 octei fiecare. Sistemul de operare este responsabil cu organizarea acestor blocuri de date n fiiere i directoare i controlul sectoarelor care aparin unor fiiere sau sunt libere. Sistemul de fiierele conine directoare sau foldere i fiiere acestea fiind administrate, de regul, prin asocierea numelui lor la un tabel de indexare, n stilul FAT pentru DOS sau INODE pentru UNIX. Structura folderelor poate fi liniar sau ierarhizat, situaie n care folderele conin i subfoldere. Unele sisteme folosesc nume structurate de fiiere cu o sintax special pentru extensie i numr de versiune; alte sisteme folosesc drept nume de fiiere iruri simple de caractere, metadatele (diverse proprieti ale fiierelor) fiind memorate n alt parte.

Partea de program in care memoria partajata este accesata

Sistemele de fiiere se pot clasifica n: sisteme de fiiere pe disc, sisteme de fiiere de reea i sisteme de fiiere cu destinaie special. Un sistem al fiiere pe disc este destinat memorrii fiierelor pe un disc care este direct sau indirect legat la un calculator. Cele mai cunoscute astfel de sisteme, n ordine alfabetic, sunt: EXT2 (second extended file system) este folosit de majoritatea sistemelor de operare din familia LINUX. EXT3 (third extended file system) este o perfecionare a lui EXT2 n sensul monitorizrii n diverse jurnale a tuturor activitilor efectuate; are tendina de a nlocui EXT2 dar nc are erori. FAT (File Allocation Table) este sistemul de fiiere de baz dezvoltat pentru DOS i Windows; este considerat cel mai simplu i, datorit popularitii sale, este cel mai folosit pentru discurile flexibile. FAT este principalul sistem de administrare al fiierelor dezvoltat pentru DOS i Windows. Sistemul FAT este considerat relativ simplu, acesta fiind unul din motivele pentru care este cel mai popular format pentru discurile flexibile. Este suportat, virtual, de multe sisteme de operare i adesea este folosit pentru distribuirea informaiilor ntre mai multe sisteme de operare instalate pe acelai calculator ntr-un mediu multibooting. FAT a fost dezvoltat de mult timp, acesta fiind unul din motivele pentru care astzi este destul de criticat: FAT induce n timp o fragmentare important a fiierelor pe disc, aceasta avnd drept consecin scderea vitezei de accesare a fiierelor; FAT nu pstreaz informaii redundante necesare pentru recuperarea datelor n cazul unei defeciuni a sistemului; ntr-adevr, exist o copie a tabelului de alocare ns aceasta, de cele mai multe ori nu poate rezolva problemele aprute; FAT nu dispune de nici un mecanism pentru prevenirea accesului neautorizat la fiiere, atributele asociate fiierelor fiind minimale; primele versiuni de FAT aveau limitate numrul de caractere pentru numele i extensia fiierului (8+3); prin VFAT, o variant modernizat, s-a extins totui la 255 numrul de caractere al numelui i extensiei; organizarea, prin clustere2 de mari dimensiuni, irosete spaiul pe discurile de mare capacitate, spaiu inaccesibil sistemului dar accesibil unor aplicaii perfide; spaiul respectiv este denumit slack file. FAT a debutat o dat cu DOS 1.0 n 1983. Varianta iniial era destinat numai discurilor flexibile i nu admitea existena directoarelor. Datorit dimensiunii reduse a discurilor, primele sisteme FAT erau realizate pe 12 bii, dimensiune acceptabil pentru discurile flexibile cu care lucra sistemul de operare DOS1.0 (12 bii semnific 4096 de sectoare adresabile adic o capacitate de 2MB, mai mare dect cei 1.44 MB ai discului). Acest sistem de administrare a cptat denumirea de FAT12.

Termen traductibil prin grmad, ciorchine; const ntr-un spaiu continuu pe disc obinut prin alipirea a mai multor sectoare consecutive.

Ulterior, DOS 2.0 a inclus i suportul pentru subdirectoare, precum i FAT pe 16 bii necesar pentru utilizarea primelor hard discuri de 5 MB. Cele 65536 de locaii permiteau adresarea unui disc de 32 MB, suficieni la data respectiv. Sistemul a cptat denumirea de FAT16. Odat ce hard discurile au ncepu s creasc n dimensiuni, FAT16 a nceput s aib probleme n administrarea ntregului spaiu util de pe un hard disc. Soluiile au constat n partiionarea discului (mprirea n mai multe volume logice de sine stttoare) i n introducerea clusterelor care au mrit, virtual, capacitatea de stocare a unei uniti de alocare. n principal, aceste faciliti au aprut odat cu Windows 95 care a mai eliminat o limitare a sistemului clasic: prin VFAT (virtual FAT) era eliminat regula numelor de fiiere 8+3. Din 1997, creterea n dimensiuni a clusterelor a fost epuizat: clusterul maxim era de 32768 octei, ceea ce nsemna c Windows 95 nu putea vedea discuri mai mari de 2 GB. n consecin, pentru urmtorul sistem de operare, Windows 95 OSR2, s-a introdus FAT32, sistem care permitea adresarea a 268 435 456 clustere (deocamdat nu sunt folosii dect 28 de bii din cei 32; valoarea reprezint 228). n aceste condiii, dimensiunea clusterelor a putut fi redus napoi la 4 KB (8 sectoare), fiind totui posibil adresarea unui disc de 1TB. O consecin pozitiv rezultat din scderea dimensiunii clusterului a fost i utilizarea mai eficient a spaiului pe disc. Sistemele de operare alternative pentru PC, de exemplu OS/2, BeOS, FreeBSD, LINUX etc. dispun i ele de variante care suport VFAT i FAT32. FAT32 - utilizeaz spaiul mai eficient. FAT32 utilizeaz clustere mai mici (adic clustere de 4 KO pentru uniti de pn la 8 GO), avnd ca rezultat o utilizare a spaiului de disc cu 10-15 la sut mai eficient fa de unitile mari FAT sau FAT16, este mai robust, poate relocaliza folderul rdcin i poate utiliza copia de rezerv a tabelului de alocare a fiierelor n locul copiei implicite. n plus, nregistrarea de ncrcare a unitilor FAT32 este extins pentru a include o copie de rezerv a structurilor de date critice, sunt mai puin predispuse la un singur punct de eroare dect unitile FAT16, este mai flexibil. Folderul rdcin de pe o unitate FAT32 este un lan obinuit de clustere, astfel nct poate fi plasat oriunde pe unitate. Limitrile anterioare n ceea ce privete numrul de intrri n folderul rdcin nu mai exist. n plus, se poate dezactiva oglindirea tabelului de alocare de fiiere, permind s fie activ o alt copie a tabelului de alocare a fiierelor n loc de prima copie. Aceste caracteristici permit redimensionarea dinamic a partiiilor FAT32. UMSDOS este un sistem de fiiere pentru LINUX care simuleaz cele mai avansate faciliti UNIX folosind un sistem de fiiere de tip FAT. HFS (Hierarchical File System) este folosit de sistemul de operare Apple Mac OS. HPFS (High Performance File System) a fost creat pentru sistemul de operare OS/2. ISO 9660 (mpreun cu extensiile Rock Ridge i Joliet) este un standard care definete sistemul de fiiere pentru CD-ROM; este implementat n Windows, Mac OS, LINUX, UNIX etc. JFS (Journalizing File System) sistem de fiiere cu monitorizarea activitilor dezvoltat de IBM; este disponibil pe AIX, OS/2 i LINUX.

MINIX (Mini Unix) este unul din numeroasele clone de UNIX aprute n perioada n care AT&T (proprietarul UNIX) refuza vnzarea acestuia; a stat la baza dezvoltrii LINUX. NTFS (New Technology File System) este sistemul de fiiere standard pentru Windows NT i predecesoarele sale Windows 2000 i Windows XP; capacitatea de a recupera automat dup anumite erori legate de disc, ceea ce FAT32 nu poate realiza. Suport mbuntit pentru hard disk-uri mai mari. Are securitate mai bun, deoarece aveti posibilitatea s utilizai permisiuni i criptare pentru a restriciona accesul la anumite fiiere numai la utilizatorii autorizai. Acest sistem de fisiere folosete adrese de disc de 64 de bii i poate suporta partiii de pn la 264 bytes, totodata ofer posibilitatea folosirii caracterelor Unicode n numele de fiiere, permite folosirea numelor de fiiere de pn la 255 de caractere, inclusiv spaii i puncte; permite indexare general a fiierelor; ofer posibilitatea managementului dinamic al sectoarelor ; datorit compatibilitii POSIX, permite crearea hard-link-uri, face distincie ntre litere mari i mici n cadrul numelor de fiiere i pstreaz informaii de timp referitoare la fiier; permite utilizarea fiierelor cu seturi multiple de date.

Tema de reflecie nr. 2 Ce sistem de fisiere credeti ca este cel mai recomandat pe PC-ul de acasa? Argumentati!

UDF (Universal Disk Format) este folosit pentru nregistrarea informaiilor pe CD-RW i CD-R; se deosebete de ISO 9660 prin nregistrarea de pachete de date cu lungimi diferite. UFS (Unix File System) a fost creat iniial pentru UNIX; se ntlnete curent n sistemele de operare FreeBSD, NetBSD, OpenBSD i SOLARIS. XFS este un sistem deschis de administrare al fiierelor creat de Silicon Graphics Inc. Sistemele de fiiere pentru reea constau ntr-un sistem de administrare la care fiierele sunt accesate printr-o reea, de regul, simultan de ctre mai multe calculatoare. Acestea sunt mult mai puin numeroase dect cele orientate pe disc, putndu-se enumera AFS, Coda, InterMezzo. Cel mai folosit este ns NFS (Network File System), un protocol dezvoltat de Sun, definit n RFC 1094. Un sistem de fiiere special este, n principiu, orice sistem de fiiere care nu este destinat lucrului pe disc sau n reea. Aici pot fi incluse sistemele unde fiierele sunt aranjate dinamic de ctre software n scopul comunicrii ntre procesele care se desfoar n calculator sau pentru administrarea fiierelor temporare. Sunt extrem de numeroase, cele mai ntlnite fiind: archfs (arhivare), cdfs (scriere i citire CD-ROM), cfs (cache), ftpfs (acces ftp) etc. EXT4 - este un sistem de fiiere cu jurnalizare dezvoltat ca succesor pentru ext3.Acesta s-a nscut ca o serie de extensii pentru ext3, compatibile cu versiunile anterioare, care extinde limitele ext3 64-bit i adaug i alte mbuntiri de performan.n 11 octombrie 2008, petecele care marcheaz ext4 ca fiind cod stabil au

fost incluse n arhivele cu codul surs pentru Linux 2.6.28, denotnd sfritul fazei de dezvoltare i s-a recomandat adoptarea ext4. Nucleul 2.6.28, care conine sistemul de fiiere ext4, a fost lansat n 25 decembrie 2008. Cateva particularitati ale acestor tipuri de fisiere: 1. Limitri - suporta volume de pn la 1 exaoctet i fiiere cu mrimea de pn la 16 teraoctei, fa de Ext3, care suporta volume de maxim 16 teraoctei i fiiere de pn la 2 teraoctei 2. Extinderea - sistemele de fiiere extinse au fost introduse pentru a nlocui modelul tradional bazat pe blocuri utilizat de sistemele de fiiere ext2/3. O extindere este o serie de blocuri fizice contigue care mbuntete performaele sistemelor mari de fiiere i reduce fragmentarea. O singur extindere n ext4 poate mapa pn la 128 MO de spaiu contiguu cu bloc de 4 KO mrime. 3. Compatibilitate regresiv / progresiv - sistemul de fiiere ext4 este parial compatibil cu ext3, adic poate fi montat ca partiie ext3 4. Prealocare persistent - metodologia curent pentru majoritatea sistemelor de fiiere este s umple spaiul cu 0 spaiul necesar fiieruui atunci cnd fiierul este creat. Aceast metod nu va mai fi necesar pentru ext4; n schimb funcia de sistem fallocate() a fost adugat nucleului linux pentru a fi folosit de ctre sistemele de fiiere care au posibilitatea, inclusiv ext4 i XFS. Spaiul alocat fiierelor va fi garantat i cel mai probabil va fi contiguu. Prealocarea persistent are aplicaii pentru fluxurile media i pentru bazele de date. 5. Alocare ntrziat - tehnica consist din ntrzierea alocrii blocurilor pn cnd datele sunt pe cale de a fi scrise pe disc, spre deosebire de alte sisteme de fiiere, care aloc blocurile necesare naintea acestui pas. Aceast tehnic crete performana i reduce fragmentarea prin mbuntirea deciziilor de alocare a blocurilor datorit bazrii pe mrimea real a fiierului. 6. Depirea limitei de 32 000 de subdirectoare 7. Jurnal cu sume de verificare pentru a mbunti citirea, din moment ce jurnalul este unul dintre cele mai folosite fiiere de pe disc. Aceast facilitate are un al doilea beneficu: se poate evita ateptarea I/O din timpul procesului de jurnalizare, ceeace mbuntete performana uor. 8. Defragmentare online 9. Verificare mai rapid a sistemului de fiiere grupurile de blocuri nealocate sunt marcate ca nealocate. Aceasta permite ca e2fsck s sar peste ele n timpul unei verificri i s reduc drastic timpul necesar unei verificri a sistemului de fiiere de mrimea celor pe care ext4 le va suporta. Aceast facilitate a fost implementat n versiunea 2.6.24 a nucleului Linux. 10. Alocare multibloc aloc blocuri multiple pentru un fiier dintr-o singur operaie, ceea ce reduce fragmentarea datori faptului c ncearc s aleag blocuri contigue pe disc. 11. Marcaje de timp mbuntite - odat cu creterea vitezei calculatoarelor i creterea utilizrii Linuxului pentru aplicaii critice, granularilatea marcajelor de timp bazate pe secunde devine insuficient. Pentru a rezolva aceast problem, ext4 va avea marcajele de timp msurate n

nanosecunde. Aceast facilitate este n prezent implementat n 2.6.23. n plus, doi bii ai marcajului de timp extins sunt adugai celor mai semnificativi bii ai cmpului secundelor pentru a rezolva problema anului 2038, ntrziind-o cu nc 500 de ani.

SUMAR
In aces prim modul studentul intelege princiipele de functionare a datelor. Tototdata realizeaza o trecere in revista a sistemelor de operare de la geneza la prezent. Modul in care au fost grupate de-a lungul timpului a dus la impartirea in 5 generatii. In plus este explicat modul in care sunt structurate datele in fisiere si tipul acestora cu particularitatile fiecaruia.

Tema nr. 1 i modalitatea de evaluare Pornind de la bibliografia indicat la finalul acestui modul, realizati o scurta comparatie intre procesoarele mobile Intel Core i7 si Intel Core i5 ntr-o lucrare de 1-3 pagini. Aceast tem se va trimite pe adresa de e-mail a tutorilor. Pentru rezolvarea corespunztoare a temei se vor acorda 0,5 puncte.

Bibliografie de referin Obligatorie A. S. Tanenbaum 2004 - Sisteme de operare moderne -, ediia II-a, Ed. Byblos,. Opional Bill McCarty 2004 - Learning Red Hat Enterprise Linux & Fedora, 4th Edition -, ISBN: 0596-00589-X, Ed. O'Reilly, Charlie Russel, Sharon Crawford, Jason Gerend, 2006 - Microsoft Windows Server 2003 Administrator's Companion, 2nd Edition -, Ed. Microsoft Press, David Pogue 2007 - Windows Vista for Starters: The Missing Manual ,ISBN-10: 0-596-52826-4, Ed. O'Reilly

Preston Gralla, February 2005 - Windows XP Hacks - Tips & Tools For Optimizing Your OS, 2nd Edition -,ISBN: 0-596-00918-6 Doug Lowe, 2004 - Networking All-in-One Desk Reference For Dummies - Ed.Wiley, Hoboken, NJ 07030-5774 INTEL - http://ark.intel.com/Default.aspx

3 MODUL 2 Gestiunea memoriei si dispozitivelor I/O

Scopul modulului: Familiarizarea studentului cu principalele principii de functionare a memoriei si dispozitivelor de stocare a datelor. Obiectivele modulului: Dup parcurgerea acestui modul cursanii trebuie: S poat face distincia ntre memoria interna i memoria externa S poat analiza principiile de alocare a memorie S cunoasc diferena intre tipurile de RAID.

3.1

Concepte Memoria ocupa locul doi ca importanta in strcutura unui sistem de calcul dupa processor si

este de tip ierarhic si este caracterizata astfel: putina memorie cache foarte rapida , scumpa si volatila mult RAM3 de viteza medie, nu foarte scumpa si volatila foarte mult spatiu de stocare pe disk lent, ieftin si nevolatil. BIOS -ul este un program de marime mica (< 2MB) fara de care computerul nu poate functiona, acesta reprezinta interfata intre componentele din sistem si sistemul de operare. In zilele noastre un calculator personal - PC are in present mai mult memorie decat
4

calculatorul IBM 7094, cel mai mare calculator din lume la inceputul anilor 1960.In zilelel noastre programele cresc in dimensiune mai repede decat memoria. Legea lui Parkison spune ca programele se extend pentru a ocupa toata memoria care le este pusa la dispozitie. Ideea este ca orice programator ar vrea ca memoria sa fie infinit de mare, infinit de rapida , nevolatila, adica sa isi pastreze continutul cand nu este alimentata de curent.

Random Access Memory Memorie cu Acces Aleator Basic Input Output Sistem Sistem elementar de Intrare Iesire

Partea sistemului de operare care gestioneaza aceasta memorie ierarhica se numeste manager de memorie. Este sarcina sa sa urmareasca ce parti de memorie sunt libere, sa aloce memorie proceselor cand acestea au nevoie, sa dealoce memoria cand procesele au terminat si sa faca transferul dintre memoria principala si disc atunci cand memoria principala este insuficienta pentru a contine toate procesele. Sistemele de gestiune a memoriei pot fi impartite in doua categorii: cele care muta procesele intre memorie si disc in timpul executiei acestora(interschimbare swapping si paginare) si cele care nu fac aceste operatii. Trebuie sa intelegeti ca interschimbarea si paginarea sunt in mare parte metode ce compenseaza lipsa unei memorii principale sufficient de mareincat sa poate contina toate programele ce ruleazala un moment dat. De exemplu Microsoft recomanda urmatoarele specificatii pentru noul sistem de operare Window 7: Procesor: 1 GHz; RAM - 1 GB -2 GB si spatiu pe Hard Disk - 16 GB, asta in timp ce pentru Windows XP recomanda: Procesor: 200 MHz ; RAM 128 MB si spatiu pe Hard Disk 1,5 GB. Facand o analiza aproape de 10 ori mai multe resurse iar Sistemul de operare cand este in RAM ca si in cazu (a) a fost folosit in trecut pe mainframeuri5 si minicalculatoare, dra in present nu mai este intalnitt aproape nicaieri. Cand este tinut ca si in cazul (b) in ROM il intalnim pe PDA-uri6 si sisteme incorporate, iar al treilea model a fost folosit pe primele calculatoare personale (exemplu: cele pe care rulau MS-DOS, unde portiunea sistemului care se afla in ROM se numeste BIOS.

Sistemul de Programul utilizatorului Programul Sistemul de operare in RAM (a) (b) utilizatorului operare in ROM
7

Driverele de echimaent in ROM Programul utilizatorului Sistemul de operare in RAM (c)

Figura 2. 1Trei moduri simple de organizare a memoriei pentru un system de operare si un singur process al utilizatorului

5 6

Sisteme mari de calcul Personal Digital Assistant - Asistente personale digitale sunt calculatoarele de tinut in mana care au fost initial proiectate sa fie agende personale electronice, dar, in timp, au devenit mai polivalente. PDA-urile sunt de asemenea calculatoarele de buzunar avand reputatia de calculatoarele sau de palmtop. Intrebuintari : calculator aritmetic, ceas de buzunar si agenda calendaristica, pentru a juca jocuri electronice, accesarea internetul, receptionarea si transmiterea de e-mail-uri, inregistrarea video, editarea de documente de tip text, agende electronice de contacte, editarea foilor de calcul tabelar, receptor radio sau redarea fisierelor multimedia, si chiar Global Positioning System (GPS). 7 Read Only Memory Memorie cu access doar pentru citire

Cu exceptia sistemelor incorporate simple, monopogramarea nu mai este folosita aproape nicaieri. Cele mai multe sisteme moderne permit rularea mai multor procese in acelasi timp. A avea mai multe programe care ruleaza simultan inseamna ca atunci can dunul din procese este blocat asteptand ca o operatie de I/E sa se termine, alt proces poate utiliza procesorul. Deci multiprogramarea creste gradul de utilizare al procesorului. Daca in trecut numai serverele de retea aveau intotdeauna capacitatea de a rula mai multe procese in acelasi timp pentru mai multi clienti, in zilele noastre Pc-urile personale au aceasta capacitate. Cea mai simpla modalitate de a face multiprogramarea este de a diviza memoria in N partitii posibil inegale ca dimensiune, iar aceste partitii pot fi facute manual la pornirea sistemului de operare. Cand un proces trebuie executat va fi pus in coada de intrare a celei mai mici partitii care estesuficient de mare pentru a-l cuprinde.Deoarece partitiile sunt fixe, orice spatiu care nu este folosit de un proces va fi pierdut. Dezavantajul sortarii proceselor apare cand o coada pentru o partitie mare este goala si o coada pentru o partitie mica este plina (exemplu partitiile 1 si 3 din figura de mai jos).

Figura 2. 2Partitii fixe ale memoriei cu cozi separate pentru fiecare partitie / Partitii fixe ale memoriei cu o singura coada de intrare

Aici procese mici trebuie sa astepte pentru a fi incarcate in memorie, desi este suficienta memorie libera, alternativa ar fi sa fie organizate intr-o singura coada de asteptare. Deoarece cand o partitie devine libera, procesul cel mai apropiat de inceputul cozii care incape in partitia respective va fi incarcat si rulat in spatial liber creat. Deoarece este de preferat sa nu se piarda o partitie mare pentru un process mic, deci o strategie ar fi atunci cand se elibereaza o partitie sa se caute prin toata coada de intrare cel mai mare process care s epotriveste. Insa acest algoritm dezavantajeaza procesel mici care se considera ca nu merita o partitie pentru ele, in conditiile in care este de preferat sa se ofere proceselor mici cea mai buna servire, nu cea mai proasta. Solutia ar reprezenta-o alocarea unei partitii mici pentru rularea acestor procese sau o alta solutie ar fi o regula care sa nu permita ca un process sa fie sarit mai mult de k ori.

Acest system cu partitii fixe alese de operator dimineata si care nu se mai schimba a fost multi ani de OS/260. Pe marile sisteme de calcul IBM, si se numeau MFT8, insa in prezent acest model nu mai este implementat decat de foarte putine sisteme de operare(Exemplu: mainframe-uri). In functie de echipamentul folosit exista doua strategii de gestiune a memoriei: interschimbare(swapping) aducerea unui process in memorie, executia sa pentru un timp, apoi trecerea lui inapoi pe disk si memorie virtual permite programelor sa ruleze chiar daca nu sunt incarcate complet in memorie.

Figura 2. 3Alocarea memoriei se schimba pe masura ce procesele vin si pleaca din memorie. Regiunile hasurate reprezinta memoria nefolosita.

Figura 2. 4 Gestiunea memoriei cu harti de biti

Multiprogramming with a fixed number of Tasks- multiprogramare cu un numar fix de sarcini.

Figura 2. 5 Gestiunea memoriei cu liste inlantuite

Atunci cand procesele si spatiile libere sunt pastrate intr-o lista sortate dupa adresa exista algortimi care pot fi folositi pentru alocarea de memorie pentru un nou process(sau un process care este adus de pe disc in memorie) Algoritmul prima potrivire gestionarul de memorie cauta in lista de segmente un spatiu suficient de mare liber , il sparge in doua o parte pentrut proces si cealalta parte ramane libera, este rapid deoarece cauta cat mai putin posibil. Algoritmul urmatoarea potrivire functioneaza ca si Algoritmul prima potrivire dar in plus memoreaza pozitia unde a gasit spatiul, la urmatoarea cautare nu mai parcurge lista inca o data , este mai lent decat pria potrivire conform simularilor lui Bays din 1977. Algoritmul cea mai buna potrivire - cauta in toata lista si alege spatiul liber cel mai mic care este potrivit,este mai lent decat prima potrivire deoarece trebuie sa cauta in toata lista Algoritmul cea mai proasta potrivire - alege spatiul cel mai mare astfel incat spatiul ramas sa fie suficient de mare sa fi util, simularile au aratat ca nu este cea mai buna solutie. Toti 4 algoritmii pot fi imbunatatiti prin pastrarea a doua liste separata una pentru spatii si una pentru procese. Insa pretul platit pentru viteza este complexitatea suplimentara si incetinirea dealocarii memoriei. Algoritmul potrivirea rapida - tine liste separate pentru cele mai uzuale dimensiuni cerute. Memoria virtuala - cele mai multe sisteme de memorie virtuala folosesc o tehnica numita paginare.

Figura 2. 6 Pozitia si functia MMU9 , dupa cum se vede este parte a cipului procesorului.

Algoritmi de inlocuire a paginilor apar atunci cand eroarea din pagina ne indica: Ce pagina trebuie sa inlocuim Sa facem loc paginii ce urmeaza Modificarea paginii trebuie prima data salvata Nemodificarile sunt rescrise Este bine sa alegem sa utilizam o pagina care nu este deja deschisa Va fi nevoie sa o aducem inapoi curand 1. Algoritmul optim de inlocuire a paginilor Cel mai bun algoritm posibil de inlocure a paginilor este usor de descris dar imposibil de implementat. Atunci cand este generat un defect de pagina un set oarecare de pagina este in memorie. Una dintre aceste pagini sigur va fi accesata la urmatoarea instructiune (pagina care contine respective instructiune). Celelalte pagini nu pot fi accesate decat peste 10, 100 sau 1000 de instructiuni. Fiecarei pagini i se poate pune o eticheta cu numarul de intructiuni care vor fi executate inainte ca pagina respective sa fie accesata. Algoritmul optim spune doar ca ar trebui scoasa pagina cu eticheta cea mai mare. Daca o pagina va fi folosita de-abia peste 8.000.000 de instructiuni iar alta peste 6 milioane. Atunci prin inlocuirea primeia defectul de pagina este inpins cat mai tarziu in timp .Calculatoarele ca si oamenii vor incerca sa amane evenimentele neplacute cat mai mult. Singura problema cu acest algoritm este ca nu se poate implementa. In momentul aparitiei unor defecte de pagina sistemul de operare nu are cum sa stie cand va fi accesata fiecare din paginile din memorie.(Aceasi situatie este si in cazul algoritmului de programare a lucrarilor care alegea cea mai scurta lucrare cum poate sistemul sa stie care este cea mai scurta lucrare?). Totusi, daca programul este rulat pe un simulator si se urmaresc toate accesarile de pagini, este posibil sa se

Memory Management Unit unitatea de gestiune a memoriei

implementeze un algoritm optim de inlocuire a paginilor pentru a doua rulare utilizand informatiile colectate timpul primei rulari. Este astfel posibila compararea performantei unui algoritm realizabil cu cea a celui mai bun posibil. Daca sistemul de operare atinge o performanta sa zicem cu 1% mai mica decat ce a algoritmului optim atunci cautare in continuare a unui algoritm mai bun nu ar putea imbunatati performanta decat cu max 1%. Pentu a evita confuziile trebuie sa subliniem ca urmarirea paginilor accesate se face pentru un anume program cu un acelasi set de date de intrare. Algoritmul de inlocuire al paginilor astfel gasite este specific unui program si unui set de date de intrare. Acesta metoda, desi este buna pentru evaluarea algoritmilor de inlocure a paginilor, nu poate fi folosit in practica. In continuare vom studia algoritmii care pot si folositi in sistemele reale. 2. Algoritmul de inlocuire a paginilor care nu au fost accesate recent (NRU10) Pentru ca sistemul de operare sa poata colecta statistici despre modul de folosire al paginilor cele mai multe calculatoare cu memorie virtuala au doi biti de stare asociati fiecarei pagini. A are valoarea 1atunci cand pagina este accesata (pentru citit sau scris), M are valoarea 1 atunci cand s-a scris in pagina, deci cand pagina a fost modificata. Acesti biti apar in fiecare element din tabela de pagini, de exemplu ca in figura de mai jos. Este important de retinut faptul ca acesti biti trebuie modificati la fiecare acces la memorie deci trebuie modificati de catre echipament. Un bit ce a capatat valoare 1 isi va pastra valoare pana cand sistemul de operare il modifica la 0 din program.

Figura 2. 7Un exemplu de intrare de tabela de pagini

Daca echipamentul nu are acesti biti ei pot fi simulati dupa cum urmeaza. Atunci cand un proces este lansat in executie toate elementele din tabela sa de pagini sunt marcate ca nefiind in
10

Not Recently Used

memorie: Imediat ce o pagina este accesata va fi generat un defect de pagina. Sistemul de operare va modifica bitul A pe 1 (in tabelele sale interne) si va modifica elementul din tabela de pagini pentru a indica pagina corecta, in modul DOAR CITIRE si va reporni instructiunea. Daca in pagina se ca scrie ceva mai tarziu va fi generata un nou defect de pagina iar sistemul de operare va pune valoare 1 in bitul M si va schimba modul de acces al paginii in CITIRE/SCRIERE. Biti A si M pot fi folositi pentru a construi un algoritm simplu de inlocuire a paginilor dupa cum urmeaza. Atunci cand un procest este lansat in executie amandoi bitii pentru toate paginile procesului sunt trecuti in 0 de catre sistemul de operare. Periodic (de exemplu la o intrerupere generata de ceas), bitul A este trecut pe 0 pentru a face deosebirea intre paginile ce au fost accesate recent si paginile care au fost accesate. Atunci cand este generat un defect de pagina sistemul de operare analizeaza toate paginile si le imparte in 4 categorii in functie de valorile bitilor A si M: Clasa 0 : nu a fost accesata si nici modificata; Clasa 1 : nu a fost accesata dar a fost modificata; Clasa 2 : A fost accesata dar nu a fost modificata; Clasa 3 : a fost accesata si a fost si modificata.

Chiar daca clasa 1 la prima vedere pare imposibila, acest caz poate aparea atunci cand unei pagini de clasa 3 ii este modificat bitul A in urma unei intreruperi generate de ceas. Intreruperile generate de ceas nu modifica bitul M deoarece acest bit arata daca pagina trebuie scrisa inapoi pe disc sau nu. Stregerea bitului A dar nu si a lui M genereaza pagini de clasa 1. Algoritmul NRU elimin aleator o pagin dintre cele cu clasa cu un numr minim care nu este vid. Algoritmul consider c este mai bine s elimine o pagin care nu a fost accesat n ultimul interval de ceas (cam 20 de milisecunde n general) dec o pagin curat care este folosit intens. Algoritmul NRU este uor dc neles, poate fi implement fr mari probleme i ofer o performan destul de buna. 3. Algoritmul de inlocuire a paginilor primul intrat primul iesit (FIFO11) Alt algoritm de paginare cu suprancrcare mic este FIFO. Pentru exemplificare s lum cazul unui supermagazin care are numai k loc pe rafturi pentru produse. Intr-o zi apare un nou

11

First-In First-Out - Primul-Intrat Primul-Ieit

produs pe pia care are mare success. Supermagazinul nostru va trebui s scoat unul din produsele vechi pentru a face loc noului produs. O posibilitate ar fi alegerea unui produs pe care supermagazinul l vindea de foarte mult timp (de exemplu un produs pe care a nceput s-l comercializeze acum 120 de ani) i scoaterea lui din magazin deoarece nimeni nu mai e interesat de aa ceva. De fapt supermagazinul are o list cu toate produsele pe care le vinde n ordinea n care ele au fost introduse. Cel mai nou ajunge la sfrsitul listei iar cel din capul listei este scos. Ideea se poate aplica i n cazul nlocuirii paginilor de memorie. Sistemul de operare ine o lista cu paginile care se gsesc n memorie avnd la nceput cea mai veche pagin introdus i la sfarsit ultima pagina care a fost adaugata. La un defect de pagin este scoas prima pagin de la nceputul listei si noua pagin este adugat la sfrit. In cazul magazinului acest algoritm va scoate din list mai multe produse. Aceeai problem exist i n cazul calculatoarelor, de aceea FIFO este rareori aplicat exact aa.

4. Algorithm celei de-a doua sanse 0 mic modificare a algoritmului FIFO rezolv problema eliminrii de pagini folosite prin verificarea bitului A al celei mai vechi pagini. Dac acest bit este 0 atunci pagina este att veche ct si nefolosita deci poate fi imediat nlocuit. Daca bitul A este 1 atunci este modificat n 0 i pagina este pusa la coada listei ca si cnd tocmai ar fi fost ncrcat n memorie i cutarea continu cu urmatorul cap al listei. Funcionarea acestui algoritm, cunoscut sub numele de a doua ans (second chance).este prezentat n Figura 2.8(a) vedem o list cu paginile de la A la H sortate dup timpul la care au ajuns in memorie. S presupunem c un defect de pagin apare la momentul 20. Cea mai veche pagin este A care a ajuns n memorie la momentul 0, cnd procesul a fost lansat n execuie. Dac pagina A are bitul A zero atunci pagina este eliminat din memorie, fie prin salvarea ei pe disc (dac era murdara) fie pur si simpu abandonata (daca era curata). Dac bitul A este 1 atunci pagina A este trecut la sfritul listei iar "timpul de ncrcare" este modificat n timpul curent, adic 20. Bitul A este modificat i el n 0 apoi cutarea continu de la pagina B. Algoritmul celei de a doua anse caut o pagin veche care nu a fost accesat n intervalul de timp anterior. Dac toate paginile au fost accesate atunci algoritmul degenereaz ntr-un simplu FIFO. De exemplu daca toate paginile din Figura 2.8 (a) ar avea bitul A cu valoarea 1. Sistemul de operare va muta pe rand paginile la sfarsitul listei. Intr-un final pagina A ajunge din nou la inceputul

listei dar de aceasta data bitul A are valoarea 0. Acum pagina A va fi eliminata. Deci totdeauna algoritmul se termina.

Figura 2. 8 Funcionarea algoritmului celei de a doua anse, (a) Paginile sunt sortate n ordinea FIFO. (b) Coninutul listei dup defectul de pagin aprut la momentul 20 cnd bitul A al paginii A are valoarea 1. Numerele de deasupra paginilor reprezint timpul de ncrcare.

5. Algoritmul de inlocuire a paginilor dupa ceas Dei cea de a doua ans este un algoritm destul de bun el are totui un dezavantaj major muta mereu pagini n list. O mbuntire ar fi pstrarea tuturor cadrelor de pagin ntr-o list n form de ceas, ca n Figura 2.9. O sgeat indic pagina cea mai veche. Atunci cnd este generat un defect de pagin, sistemul de operare verific pagina indicata de sgeat. Dac bitul A este 0 atunci pagina este eliminat, noua pagin este pus n locul ei si sageata, avanseaz cu o poziie. Dac bitul A este 1 atunci este trecut pe 0 i sgeata trece la urmatorul element. Procesul se repet pn cnd este gsit o pagin care are bitul A= 0. Deloc surprinzator acest algoritm este numit ceas. Diferena fa de algoritmul celei de a doua anse este numai la nivelul implementrii.

Figura 2. 9 Algoritmul de nlocuire a paginilor dup ceas

6. Algoritmul de inlocuire a paginii celei mai demult folosite (LRU12) O bun aproximare a algoritmului optim se bazeaz pe observaia c pagini care au fost intens folosite n ultimele instruciuni vor fi probabil folosite intens i n viitor. La fel, paginile care nu au mai fost accesate de mult timp vor fi probabil nefolosite nc mult timp de acum ncolo. Aceasta observaie conduce la urmtorul algoritm realizabil: atunci cnd apare un defect de pagin, pagina eliminat va fi cea nefolosit de cel mai mult timp. Aceast strategie este numit nlocuirea paginilor LRU. LRU este teoretic realizabil dar nu este deloc ieftin. Pentru a implementa complet LRU trebuie meninut o list nlnuit cu paginile din memorie. La nceputul acestei liste vor fi paginile cel mai recent folosite iar la sfrit paginile cel mai demult folosite. Aceast list trebuie actualizat la fiecare acces la memorie, iar cutarea unui element n list, tergerea lui i mutarea in fa consum mult timp, chiar dac este implementat n echipamentul (presupunnd c un as echipament ar putea fi construit). Dar exist i alte modaliti de a implementa LRU cu echipament specializat. S ncepem cu cea mai simpl dintre ele. Aceast metod necesit adugarea unui registru de 64 de biti, C, echipamentului, registru care va fi incrementat dup fiecare instruciune. Mai mult, fiecare element din tabela de pagini va trebui s aib un cmp suficient de mare nct s poat conine valoarea contorului. Dup fiecare acces la memorie valoarea curent a lui C este stocat n elementul din tabela de pagini corespunztor paginii accesate. Atunci cnd apare un defect de pagin, sistemul de operare analizeaza toate contoarele si alege elementul din tabela de pagini care are contorul cu cea mai mica valoare.Aceast pagin este cea mai demult folosit. S analizm acum un alt algoritm LRU implmentat n hard. Pentru o main cu n cadre de pagini echipamentul care implementeaz LRU va avea o matrice cu n x n bii care au iniial toi valoarea 0. Cnd este accesat cadrul k echipamentul va modifica mai nti toi biii de pe linia k nc sa aib valoarea 1, apoi va trece toi biii de pe coloana k pe 0. La orice moment linia care are valoarea binar cea mai mic este cea mai demult folosit, linia care are urmtoarea valoare cea mai

12

Last Recently Use cel mai demult folosite

mica este cea mai demult folosit i aa mai departe. Funcionarea acestui algoritm este exemplificat n figura 4-18 pentru patru cadre de pagini i accese la pagini n ordinea: 0123210323 Dup ce pagina 0 este accesat avem starea din Figura 2.10(a). Dup accesarea paginii 1 avem starea din Figura 2.10(b) i asa mai departe.

Figura 2. 10 LRU folosind o matrice pentru ordinea de acces la pgini: 0,1,2,3,2,1,0,3,2,3.

Simulare LRU in program Dei ambii algoritmi LRU prezentai anterior pot fi realizai, n practic doar foarte puine masini au echipamentul necesar i astfel cei care proiecteaz sistemele de operare trebuie s lucreze pe cazul general al mainilor care nu au acest echipament . Drept urmare trebuie gsit o soluie care se poate implementa n program. O soluie este algoritmul NFU 13. Este nevoie de un contor asociat fiecrei pagini, controlat din program i cu valoarea iniial 0. La fiecare ntrerupere generat de ceas, sistemul de operare analizeaz toate paginile din memorie. Pentru fiecare pagin bitul A, care poate avea valoarea 0 sau 1, este adugat la contorul. Astfel contorul va arta ct de des este o pagin accesat. Atunci cnd apare un defect de pagina va fi aleas pagina pentru care contorul este cel mai mic pentru a fi nlocuit.

13

Not Frequently Used - Ne Folosit Des

Problema principala cu NFU este ca nu uita niciodata nimic. De exemplu pentru un compilator in mai multi pasi, paginile care au fost intens folosite in pasul 1 isi vor pastra numarul mai mare de accese in timpul executiei urmatorilor pasi. Drept urmare sistemul de operare va elimina pagini care sunt de fapt folosite in loc sa elimine pagini care nu mai sunt accesate. Din fericire o mica modificare a NFU permite simularea destul de buna a comportarii LRU. Modificarea are doua parti. Prima data contoarele sunt deplasate la dreapta cu 1 bit inainte de a aduna valoarea lui A. Apoi bitul A este adunat la bitul din stanga in loc sa fie adunat la bitul din dreapta. Figura 2.11 prezinta funcionarea algoritmului modificat, numit inbatranire (aging). Sa presupunem ca dupa primul tact de ceas bitul A al paginilor de la 0 la 5 are valorile 1,0,1,0,1 si respective 1 (pentru pagina 0 este 1, pentru pagina 1 este 0, pentru pagina 2 este 1 etc.). Cu alte cuvinte intre tactul 0 si tactul 1 paginile 0,2,4 si 5 au fost accesate ceea ce a facut ca bitul A pentru ele sa fie 1, in timp ce ceilalti au ramas 0. Dupa ce cele sase contoare au fost deplasate iar bitul A a fost introdus in stanga rezulta valorile din figura 2-11(a). Urmatoarele patru coloane arata evolutia celor sase contoare dupa urmatoarele patru tacte de ceas. Atunci cand este generat un defect de pagina, pagina cu controlul cel mai mic este eliminata. Este clar ca o pagina care sa zicem nu a mai fost accesata de 4 tacte de ceas va avea sigur patru zerouri la inceput si deci va avea o valoare mai mica decat a unui contor care nu a mai fost accesat de trei tacturi de ceas.

Figura 2. 11 Algoritmul LRU in 5 tacturi ce ceas sunt prezentate 6 pagini

Acest algoritm difera de LRU in doua moduri. Sa luam cazul paginilor 3 si 5 sin figura 411(a). Nici una din ele nu a mai fost accesata de doua perioade de ceas; amandoua au fost accesate la tactul anterior. Conform LRU, daca o pagina trebuie inlocuita atunci va fi aleasa una dintre aceste doua. Problema este ca nu stim care din ele a fost accesata ultima in intervalul dintre tacturile 1 si 2, deoarece se pastreaza un singur bit pentru tot intervalul. Se pierde capacitatea de a distinge intre accese petrecute la inceputul intervalului si accese petrecute la sfarsitul intervalului. Tot ce putem face este sa eliminam pagina 3, deoarece pagina 5 a fost accesata si cu doua tacte mai devreme iar pagina 3 nu. A doua diferenta intre LRU si imbatranire este ca in cazul imbatranirii contoarele au un numar finit de biti, 8 in cazul de fata. Sa presupunem ca exista doua pagini cu valoarea 0 in contor. Tot ce putem face este sa alegem una la intamplare. In realitate s-ar putea ca una din ele sa fi fost accesata acum 9 tacte iar cealalta acum 1000 de tacte. Nu avem nici o posibilitate de a sti acest lucru. In practica insa cei 8 biti sunt in general suficienti pentru un tact de ceas aproximativ 20 de milisecunde. Daca o pagina nu a fost accesata de 160 de milisecunde atunci probabil ca nu este importanta.

7. Algoritmul inlocuirii paginilor din setul de lucru

In cea mai pura forma a paginarii un proces este lansat in executie fara nici una din paginile sale incarcate in memorie. Atunci cand procesul incearca sa ia prima instructiune se va genera un defect de pagina si sistemul de operare va aduce in memorie pagina care contine prima instructiune. De obicei urmeaza imediat erori pentru paginile de data si stiva. Dupa un timp procesul va avea in memorie majoritatea paginilor de care are nevoie si va rula normal fara a genera prea multe alte erori pentru pagini care lipsesc. Aceasta strategie se numeste paginare la cerere (demand paging) deoarece paginile sunt incarcate atunci cand sunt cerute si nu in avans. Este evident ca se pot scrie programe de test care sa citeasca sistematic toate paginile dintr-un spatiu mare de adrese, ceea ce va genera multe defecte de pagina deoarece nu este destula memorie pentru a le contine pe toate. Din fericire cele mai multe procese nu ruleaza asa. In general ele prezinta o localizare spatiala (locality of reference) ceea ce inseamna ca la orice faza a executiei sale un process acceseaza numa o mica parte a paginilor sale. De exemplu fiecare pas al unui compilator in mai multi pasi va accesa doar o fractiune a tuturor paginilor, diferita de fractiunea paginilor folosita de alt pas.

Setul de pagini cu care un process lucreaza la un moment dat este numit setul de lucru (working set; Denning, 1968a; Denning, 1980). Daca intreg setul este in memorie atunci procesul va rula fara a genera prea multe defecte de pagina pana cand trece la o alta faza a executiei sale (de exemplu alt pas de compilare). Daca memoria este prea mica pentru a pastra intreg setul atunci procesul va genera multe defecte de pagina si va rula foarte incet deoarece executia unei instructiuni dureaza in mod normal cateva nanosecunde, iar citirea unei pagini de pe disc dureaza de obicei 10 milisecunde. La o rata de una sau doua instructiuni la 10 milisecunde executia va dura enorm de mult. Despre un program care genereaza defecte de pagina la fiecare instructiune se spune ca blocheaza prin supraincarcare (trashing) sistemul (Denning, 1968b). Intr-un sistem cu multiprogramare procesele sunt frecvent mutate pe disc (adica toate paginile corespunzatoare sunt scoase din memorie) pentru a lasa alte procese sa fie executate pe procesor. Se pune intrebarea ce sa se intample atunci cand procesul trebuie adus din nou in memorie. Din punct de vedere tehnic nu ar trebui nimic special, procesul va genera defecte de pagina pana cand tot setul de pagini de lucru este incarcat. Dar daca apar 20, 100 sau chiar 1000 de defecte de pagina la fiecare incarcare a unui process atunci sistemul va rula foarte incet si mult din timpul de lucru al procesorului va fi irosit deoarece este nevoie de cteva milisecunde din timpul procesorului pentru a prelucra un defect de pagin. De aceea multe sisteme de paginare urmresc care este setul de lucru al unui proces i toate paginile din set atunci cnd este ncrcat procesul. Acest mod de operare se numete setului de lucru (working set model) (Denning, 1970). Scopul su este reducerea numrului defecte de pagin. ncrcarea paginilor nainte ca procesul s fie lansat n execuie se numeste (prepaging). Este important de reinut c setul de lucru se schimb n timp. Este bine cunoscut faptul c cele mai multe programe nu acceseaz uniform spaiul de adrese exist tendina ca accesele s fie grupate pe un numr mic de pagini. Un acces la memorie aduce o instruciune, poate aduce date sau poate scrie date. La orice moment de timp t exist un set al paginilor utilizate n ultimele k accese la memorie. Acest set: w(k,t), este setul de lucru. Deoarece cele mai recente accesri pentru k = 1 trebuie s fi utilizat toate paginile din cele mai recente k > 1 accesri i poate unele n plus, w(k,t) este o funcie monoton nescztoare de k. Limita lui w(k,t) atunci cnd k crete este finit deoarece programul nu poate accesa mai multe pagini dect exista spaiul su de adrese, iar foarte puine programe vor accesa chiar fiecare pagin. Figura 2.12 prezint dimensiunea setului de lucru ca funcie de k. prepaginare

Figura 2. 12 Setul de lucru este un set de pagini folosit n cele mai recente k accesri ale memoriei. Funcia w{k, t) este dimensiunea setului de lucru la momentul t

Faptul c majoritatea programelor acceseaz aleator un numr mic de pagini, dar acest set modific ncet n timp explic creterea rapid de la nceputul graficului i apoi creterea mult mai lent pentru valori mari ale lui k. De exemplu un program care execut o bucl al crei corp este in dou pagini de memorie i care acceseaz date din patru alte pagini va accesa toate cele ase la fiecare 1000 de instruciuni, dar cea mai recent accesare a unei alte pagini poate fi cu un milion de instruciuni mai nainte, n faza de iniializare a programului. Din cauza comportannen asimptotic coninutul setului de lucru nu depinde de valoarea aleas pentru k. Cu alte cuvinte exista un interval foarte mare pentru valorile lui k pentru care setul de lucru este neschimbat. Deoarece setul de lucru variaz foarte puin n timp este uor de ghicit ce pagini vor fi necesare atunci programul va fi rencrcat n funcie de setul de lucru existent n momentul ntreruperii. Prepaginarea const n ncrcarea acestor pagini nainte ca procesul s i reia execuia. Pentru a implementa modelul setului de lucru trebuie ca sistemul de operare s urmreatsca care pagini sunt n setul de lucru. Avnd aceast informaie se poate deduce imediat un posibil algoritm pentru nlocuirea paginilor: atunci cnd apare un defect de pagin se va alege pentru a fi eliminata o pagina care nu este n setul de lucru. Pentru a implementa acest algoritm avem nevoie de o metoda exacta de a determina n orice moment care pagini sunt n setul de lucru i care nu. Dupa cum spuneam si mai devreme setul de lucru este setul de pagini folosit n cele mai recente k accese in memorie(unii autori spun cele mai recente k accese la pagini, dar formulrile sunt echivalente). Pentru a implementa orice algoritm bazat pe seturi de lucru valorea lui k trebuie stabilita dinainte. Odat care anume valoare a fost aleas, dup fiecare acces la memorie setul de pagini folosit n ultimele k accese la memorie este unic determinat.

Chiar dac exist o definire operaional a setului de lucru nu nseamn c exist i o modalitate eficient de a determina setul de lucru n timp real, pe parcursul execuiei programului. S-ar putea ca cineva s se gndeasc la folosirea unui registru de deplasare cu k poziii i la fiecare accesare a memoriei coninutul registrului s se deplaseze spre stnga cu o poziie iar numrul paginii accesate s fie introdus ia dreapta. Setul de k numere de pagini din registrul de deplasare ar fi setul de lucru. Teoretic atunci cnd apar defecte de pagin coninutul registrului poate fi citit i numerele ordonate. Apoi paginile care apar de mai multe ori ar fi eliminate. Rezultatul ar fi chiar setul de lucru. Dar folosirea unui astfel de registru de deplasare i procesarea coninutului su la apariia unor defecte de pagin ar fi foarte costisitoare i de aceea o astfel de implementare nu este niciodat folosit. Sunt folosite ns diverse aproximri ale ei. O aproximare deseori ntlnit este nlocuirea ultimelor k accesri ale memoriei cu timpul de execuie. De exemplu, n loc s se defineasc setul de lucru ca acele pagini care au fost folosite n ultimele 10 milioane de accese la memorie se poate defini ca acel set de pagini care au fost folosite n ultimele 100 de milisecunde de rulare ale programului. In practic aceast definiie este la fel de bun dar mult mai uor de implementat. Trebuie s subliniem c pentru fiecare proces doar propriul timp de execuie conteaz. De aceea dac un proces ncepe s ruleze la momentul t i a avut parte de 40 de milisecunde de timp de procesor la momentul real de timp t + 100 milisecunde, din punct de vedere al setului de lucru timpul su este 40 de milisecunde. Timpul de procesor pe care un proces 1-a utilizat de fapt de cnd a fost lansat n execuie se numete timp virtual curent (current virtual time). Cu aceast aproximaie setul de lucru al unui proces este acel set de pagini care a fost accesat n ultimele t secunde de timp virtual. S vedem acum un algoritm de nlocuire a paginilor bazat pe setul de lucru curent. Idea de baz este gsirea unei pagini care nu este n setul de lucru i eliminarea ei. n figura 2.13 vedem o parte a tabelei de pagini a unei masini oarecare. Paginile care nu sunt in memorie sun ignorate in algoritm deoarece doar paginile care sunt in memorie sun considerate candinate la eliminare. Fiecare element contine (cel puin) dou cmpuri de informaie: timpul aproximativ al ultimei utilizri a pagini i bitul R (accesat). Dreptunghiurile albe goale semnific alte cmpuri neutilizate de ctre acest algoritm, precum numrul cadrului de pagin, biii de protecie i bitul M (modificat).

Figura 2. 13 Modul de functionare a algoritmului

Agoritmul este urmtorul: se presupune c biii R i M sunt modificai de echipament. La fel se presupune ca o intrerupere periodic generat de ceas va duce la execuia unui program care cur bitul acesta la fiecare tact al ceasului. La apariia unor defecte de pagin se caut n tabela de pagini o pagin care s fie eliminat. Pentru fiecare elment al paginii trebuie analizat bitul R daca este unul atunci timpul virtual este scris in camplu timpul ultimei accesari ceea ce arat ca pagina era folosita atunci cand s-a generat eraorea de pagina deoarece pagina a fost aceesata in tactul curent de ceas este clar ca este din setul de lucru curent si nu este candidata pentru eliminare(se presupune ca t dureaza mai multe tacte de ceas). Dac R este 0 atunci pagina nu a fost accesat n timpul ultimului tact de ceas si s-ar putea sa fie candidata pentru eliminare. Pentru a vedea dac trebuie eliminata sau nu se calculeaz vrsta ei (ca diferen intre timpul virtual curent si timpul ultimei accesri) i se compar cu t. Dac vrsta este mai mare decat t atunci pagina nu mai este n setul de lucru curent. Este golita i o nou pagin este ncrcat acolo. Se continu ns cu actualizarea restului elementelor din tabel. Dac R este 0 dar varsta este mai mic sau egal cu t, pagina este nc in setul de lucru curent. Pagina este deocamdat cruat dar se memoreaz pagina cea mai veche (cu timpul ultimei accesri cel mai mic). Daca nu se gsete n toat tabela nici un candidat pentru eliminare atunci toate paginile sunt in setul de lucru. In acest caz dac au fost pagini care aveau R = 0 atunci cea cu

vrsta cea mai mare va fi eliminata. In cel mai ru caz toate paginile au fost accesate in ultimul tact de ceas (deci au R = 1) deci trebuie aleasa o pagin la ntmplare, de preferat una care s fie curata in caz c exist.

8. Algoritmul ceasului si setul de lcucru de inlocuire a paginilor Algoritmul setului de lucru este incomod deoarece la fiecare defect de pagin trebuie analizata toat tabela de pagini pentru a gsi un candidat potrivit. Un algoritm mbuntit bazat pe algoritmul ceasului dar care folosete i informaii despre setul de lucru se numete WSClock14. Datorit implementrii simple si performanei foarte bune este des intalnit in practica. Structura de date de care este nevoie este o list circular de cadre de pagina, ca in algoritmul de nlocuire a paginilor dupa ceas, dup cum se vede n figura 2.14(a). Iniial, lista este goal. Atunci cnd se ncarca prima pagin, aceasta este adugat n list. Pe msur ce sunt adugate mai multe pagini, acestea intra in lista si formeaz un inel. Fiecare intrare contine campul timpul ultimei accesari de la algoritmul de baza al setului de lucru, precum si bitul R (prezentat) si bitul M (neprezentat).

Figura 2. 14 Functionarea algoritmului WSClock(a) si (b) exemplifica ce se intampla atunci cand R=1 (c) si (d) dau exemplu pentru R = 0

14

Ceas i set de lucru - (Carr si Hcnnessey, 1981)

Asa cum se ntmpl i la algoritmul de nlocuire dup ceas, la fiecare defect de pagina se examineaz mai nti pagina indicat de sgeat. Dac bitul R este setat la 1, nseamn c pagina fost folosit n cadrul btii de ceas curente i nu este candidatul ideal pentru eliminare. Sa considerm acum situaia n care pagina indicat de sgeat l are pe R=0, dup cum n figuro 2.14(c). Dac vrsta este mai mare dect t, atunci pagina este curat, nu se afl n setul lucru i exist o copie valid a acesteia pe disc. Cadrul de pagin este pur i simplu revendicat i noua pagin este scris acolo, dup cum se vede n figura 2.14(d). Pe de alt parte, dac pagina murdar, nu poate fi revedicat imediat, deoarece nu exist o copie valid a acesteia pe disc. Pentru a evita o comutare de proces, scrierea pe disc a paginii este planificat, sgeata este avansata si algoritmul continu cu urmtoarea pagin. In fond, s-ar putea s existe o pagin veche, curata mai departe in list ce poate fi folosit imediat. In principiu, intru-un ciclu al cesului toate paginile pot fi programate pentru o operatie I/E cu discul. Pentru a reduce traficul se poate seta o limita permitand ca numai un numar de maxim N pagini sa fie scris inapoi pe disc. Indata ce se atinge aceasta limita nu mai sun planificate noi scrieri pe disc. Ce se intampia daca sgeata parcurge tot cadranul i ajunge napoi n punctul de plecare? Se remarc dou cazuri: A fost planificat cel puin o scriere. Nu a fost planificat nici o scriere. In primul caz, sgeata continu s se mite n cutarea unei pagini curate. Deoarece sunt planificate una sau mai multe scrieri, n cele din urm se va executa o scriere i pagina va fi marcat curat. Prima pagin curat ntlnit este eliminat. Aceast pagin nu este neaprat pagin ce a fost planificat pentru scriere, deoarece driver-ul discului poate reordona scrierile pentru a optimiza performanta discului. In ultimul caz, toate paginile se afl n setul de lucru, altminteri ar fi fost programat cel putin o scriere. Lipsindu-i informaii adiionale, cel mai simplu lucru de fcut este ca algoritmul s revendice i s foloseasc o pagin curat oarecare. Poziia paginii curate poate fi reinut n timpul parcurgerii. Dac nu exist nici o pagin curat, se alege pagina curent i apoi se scrie pe disc.

9. Rezumatul algoritmilor de nlocuire a paginilor Am studiat n acest capitol o varietate de algoritmi de nlocuire a paginilor. In aceast seciune vom face o scurt recapitulare a acestora. Lista de algoritmi discutai este dat n figura 215.

Algoritmul optim nlocuiete ultima pagina referit dintre paginile curente. Din pcate, nu exista nici o cale prin care se poate determina care va fi ultima pagin i n consecin acest algoritm poate fi folosit n practic. In schimb, este folositor ca un standard pe baza cruia sunt clasificat: algoritmi. Algoritmul NRU mparte paginile n patru clase n funcie de starea biilor R si M. Se alege o pagin din clasa care are numrul cel mai mic. Acest algoritm este foarte uor de implementat, fiind n schimb foarte grosolan. Exist ali algoritmi mai buni ca acesta.

Algoritm Optimal NRU (Not Recentrly Used) FIFO (First-la First-Out) A doua ansa Algoritmul ceasului LRU (Least Recently Used) NFU (Not Frequently Used) mbtrnirea Setul de lucru Ceasul i setul de lucru

Comentariu Nu poate fi implementat, folositor ca referin Foarte brutal S-ar putea s elimine pagini importante mbuntire semnificativ a FIFO Realist Excelent dar greu de implementat exact O aproximare brutal a LRU Algoritm eficient care aproximeaz bine LRU Cam costisitor de implementat Algoritm foarte eficient

Figura 2. 15 Algoritmii de nlocuire a paginilor care au fost discutai n text

FIFO urmrete ordinea n care paginile au fost ncrcate n memorie prin pstrarea lor intro list nlnuit. Eliminarea celei mai vechi pagini devine trivial dar acea pagina s-ar putea sa fie folosit nc, deci FIFO este o alegere proast. A doua ans reprezint o modificare a FIFO care verific dac pagina este nca folosit nca inainte de a o elimina. Dac este folosit atunci este cruat. Aceast modificare mbuntete semnificativ performanta. Ceasul este doar o varianta de implementare a celei de a doua sanse. Are aceleasi imbunatatiri ale performantei doar ca dureaza un pic mai putin executia algoritmului. LRU este un algoritm excelent dar nu poate fi implementat fara echipament special. Daca echipamentul lipseste atunci algoritmul nu poate fiu implementat. NFU este o aproximare bruta a

LRU si nu este prea eficient. Dar imbatrinirea este o aproximare mult mai buna a LRU si poate fi implementata eficient. Este o buna alegere. Ultimi doi algoritmi folosesc punctul de lucru. Algoritmul setului de lucru are si performanta rezonabila dar este cam costisitor de implementat. Ceasul si setul de lucru este o varianta care nu numai ca are o performanta buna dar are si o implementare eficienta. Dintre toti cei mai buni algoritmi este imbatranirea, WSClock. Au la baza LRU respectiv setul de lucru. Mai exista si alti algoritmi dar acestia doi sunt probabil cei mai importanti in practica. 3.2 Dispozitive de Intrare / Iesire: Device-urile de Intrare: sunt cele utilizate pentru a converti datele de intrare nonsens" ale utilizatorilor in cod intern pe care calculatorul le intelege, utilizeaza si stocheaza ca si cod ASCII Device-urile Iesire: sunt utilizate pentru a decoda rezultatele dupa ce sunt procesate de calculator in iesiri. Vitezele de transfer a componentelor de I/O: Device Keyboard Mouse 56K modem Telephone Channel Dual ISDN lines Laser printer Scanner Classic Ethernet USB ( Universal Serial Bus) USB 2.0 USB 3.0 Digital camcorder IDE disk 40x CD-ROM Fast Ethernet ISA Bus EIDE (ATA-2) disk FireWire (IEEE 1394) XGA Monitor SONET OC-12 network SCSI Ultra 2 disk Gigabit Ethernet Date rate 10 bytes/sec 100 bytes/sec 7 KB/sec 8 KB/sec 16 KB/sec 100 KB/sec 400 KB/sec 1.25 MB/sec 1.5 MB/sec 480MB/sec 4800MB/sec 4 MB/sec 5 MB/sec 6 MB/sec 12.5 Mb/sec 16.7 MB/sec 16.7 MB/sec 50 MB/sec - 800MB/sec 60 MB/sec 78 MB/sec 80 MB/sec 125 MB/sec

Ultrium tape PCI bus Sun Gigaplane XB Backplane

320 Mb/sec 528 Mb/sec 20 GB/sec

Tabel 2. 1 Rate de transfer pe componente de I/O

Tabel 2. 2 Schema unui Intel Core 2 Quad Disc Lungime und laser Capacitate de singur strat stocare dou straturi SD cu MPEG-2 la 5Mbits/s Timp de redare n HD with 25 GB 50 GB 22.2 ore Blu-ray HD DVD DVD 650 Nanometri 4.7 GB 8.5 GB 3.8 ore

405 Nanometri 15 GB 30 GB 13.3 ore

AVC sau VC-1 la 8.5 ore 13Mbits/s MPEG-2 la 5.6 ore 20Mbits/s

5.1 ore

3.3 ore

MPEG-1 / MPEG-2

Codec Video

MPEG-4 AVC (H.264) / VC-1 / MPEG-2

obligatoriu Linear PCM fr pierdere opional

Linear PCM / Dolby TrueHD

Linear PCM

Dolby TrueHD / DTS-HD Master DTS-HD Master Audio Audio Dolby Digital Plus / Dolby Digital / DTS / MPEG Audio Dolby Digital / MPEG Audio (Europa)

Codec audio

Dolby Digital / obligatoriu DTS / MPEG Audio cu pierdere opional Dolby Digital Plus / DTS-HD de nalt rezoluie 54.0 Mbit/s 48.0 Mbit/s 40.0 Mbit/s

DTS-HD de nalt rezoluie 36.55 Mbit/s 30.24 Mbit/s 29.4 Mbit/s

DTS / MPEG Audio (America de Nord) 10.08 Mbit/s

Rat de transfer Bitrate Maxim Audio+Video Video Rezoluie video (maxim) Protejare coninut

9.8 Mbit/s

720480 i 19201080 24p sau 50/60i HDTV 720576 50/60i SDTV AACS-128bit / BD+ AACS-128bit CSS 40-bit

Strat Protector Necesar Opional Tabel 2. 3 Comparatie intre medidile de stocare: BLU-RAY/ HD DVD si DVD

Name SAS 150 SAS 300 eSATA SATA 300 SATA 150 PATA 133

Latime de banda (Mbit/s) 1500 3000 3000 3000 1500 1064

Rata de transfer (mb/s) 150 300 300 300 150 133

FireWire 3200 FireWire 800 FireWire 400 USB 2.0 USB 3.0* Ultra-320 SCSI Canal de fibra pe cablu din cupru Canal de fibra pe fibra optica

3144 786 393 480 4800 2560 4000 10520

393 98.25 49.13 60 625 320 400 2000

Lungimea max. a cablului (m) 8 8 2 with eSATA HBA (1 adaptor pasiv) 1 1 0.46 (18 in) 100; cabluri alternative disponibile pentru 100 m+ 100 04.mai 5 3 12 12 2-50000

InfiniBand 12X Quad-rate

120000

12000

5 (cupru)

Tabel 2. 4 Medii de transmisie folosite la conctarea HDD-urilor

Tema de reflecie nr. 3 Care sunt cele doua functii de verificare a sistemului de fisiere (Windows/ linux) Care este lungimea maxima a unui director in Windows Vista

3.3

RAID - Redundant Array of Inexpensive Disks RAID combin hard discuri fizice ntr-o singur unitate logic folosind o component

hardware sau o aplicaie software. Soluiile hardware sunt proiectate cu scopul de a se prezenta sistemului ataat ca un singur hard disc, fr ca sistemul de operare s cunoasc arhitectura fizic. Soluiile software sunt implementate n sistemul de operare , dar aplicaiile vor utiliza arhitectura RAID ca o singur unitate. Sunt trei tipuri principale n RAID: mirroring (oglindirea), copierea datelor pe mai multe discuri, striping (ntreesute), mprirea datelor pe mai multe discuri; i error correction (cu corectarea erorilor) unde discuri de verificare redundante stocheaz datele pentru a fi detectate i corectate eventualele erori. Diferitele niveluri RAID folosesc unul sau mai multe dintre tipurile enumerate mai sus, n funcie de cerinele sistemului. Scopul principal n folosirea arhitecturii RAID este mrirea siguranei datelor, important pentru protejarea informaiilor critice pentru afaceri, de exemplu o baz de date a comenzilor date de clieni; sau a mriri vitezei, de exemplu un sistem care transmite programe TV la cerere mai multor telespectatori. Diferitele configuraii afecteaz stabilitatea i performana n mod diferit. Problema folosirii mai multor discuri este creterea probabiliti ca unul dintre ele s se strice, dar folosind funcii de verificare al erorilor ntreg sistemul poate fii mai stabil i capabil de a supravieui i repara eventualele erori. Oglindirea simpl poate crete viteza la citire deoarece sistemul poate accesa date diferite de pe cele dou discuri, dar va fi mai ncet la scriere dac sistemul insist ca ambele discuri s confirme corectitudinea datelor scrise. Formatul ntreesut este ndeosebi folosit pentru mrirea performanei, deoarece permite citirea secvenelor de date de pe mai multe discuri simultan. Verificarea erorilor n mod obinuit va ncetini sistemul deoarece datele vor fi citite din mai multe locaii i apoi comparate. De aceea in arhitectura RAID un compromis i o nelegerea a

necesitilor sistemului este important. Ariile de disc moderne furnizeaz n general faciliti de selecie al configuraiilor RAID apropiate. Sistemele RAID pot fi concepute s ruleze chiar i n caz de cdere discurile pot fi schimbate la cald i datele recuperate automat n timp ce sistemul ruleaz n continuare. Alte sisteme trebuie oprite pn cnd datele sunt recuperate. RAID este adeseori folosit la sistemele cu accesibilitate ridicat, unde este important ca sistemul s ruleze ct mai mult cu putin. RAID este n general folosit la servere dar poate fi folosit i n cazul staiilor de lucru. Cel din urm folosit n general la computerele cu stocare intensiv ca cele folosite la editri video i audio.

RAID 0 cea mai performanta metoda de stocare RAID. se insumeaza capacitatile disk-urilor. Avantajul este dat de distributia operatiilor de scriere/citire pe mai multe diskuri, simultan, performanta crecuta a matricii lipsa redundantei, defectarea oricarui disk ducand la compromiterea intregii matrice.
Figura 2. 16 RAID 0

RAID 1 este oglindirea dispozitivelor (mirroring). daca se folosesc doua diskuri in RAID1 informatia va fi stocata pe ambele, in oglinda. oricare din ele poate ceda, fara sa afecteze integritatea matricei. Performanta este afectata, deoarece scrierea/citirea se face simultan, spatiul de stocare este de jumatate numar par de disk-uri.

Figura 2. 17 RAID 1

RAID 5
Figura 2. 18 RAID 3

redundanta de nivel N+1, viabil de la mai mult de 3 disk-uri/partitii intr-o matrice.

scrierea informatiilor de paritate se face pe toate diskurile, pentru un numar mare de disk-uri este cea mai eficienta metoda, capacitate de stocare este data de (capacitatea unui disk)*(numarul de diskuri -1).

Figura 2. 19 RAID 5

Figura 2. 20 RAID 10 (RAID 1+0)

Figura 2. 21 RAID 50 (5+0)

RAID Nr minim de HDD

RAID 0 2

RAID 1 2

RAID 5 3

RAID 6 4

RAID 10 4 de la un disk cazut in fiecare sub-sir

RAID 50 6 de la un disk cazut in fiecare sub-sir

RAID 60 8

Protectia Datelor Performanta Citire Performanta Scriere Performanta Citire (degradata) Performanta Scriere (degradata) Capacitatea de utilizare

NU

un hdd cazut

un hdd cazut

doua hdd cazute

de la doua diskuri cazute in fiecare sub-sir

Ridicata Ridicata

Ridicata Medie

Ridicata Scazuta

Ridicata Scazuta

Ridicata Medium

Ridicata Medium

Ridicata Medium

N/A

Medie

Scazuta

Scazuta

Ridicata

Medium

Medium

N/A

Ridicata

Scazuta 67% 94%

Scazuta

Ridicata

Medium 67% 94%

Scazuta

100% Statii de lucru, loguri de date, redarea in timp real, date foarte tranzitorii

50%

50% - 88% arhive DB, backup pe disk, solutii de disponibilitate foarte mare, servere cu cerinte mari de capacitate

50%

50% - 88% arhive DB, backup pe disk, solutii de disponibilitate foarte mare, servere cu cerinte mari de capacitate

Aplicatii

Sisteme de operare, tranzactii in DB

Depozite BD, servicii web, arhivari

BD rapide, servere de aplicatii

BD mari, Servere de fisiere, servere de aplicatii

Figura 2. 22 Comparatie de beneficii pe RAID-uri

SUMAR
Fiecare program foloseste zona(zonele) de memorie alocata(alocate) lui, independent de eventuale alte programe active. De asemenea, pe durata executiei unui program, necesarul de memorie variaza. Odata ce sistemul cunoaste care locatii de memorie urmeaza a fi folosite pentru executia programului, poate sa realizeze corespondenta dintre adresele de memorie primara alocate procesului respectiv si spatiul sau de adrese. Deci programul executabil este translatat ntr-o forma finala accesibila unitatii de control a CPU si ncarcat n memoria primara, la o anumita adresa de memorie. Cnd contorul de program este initializat cu adresa primei instructiuni executabile(principalul punct de intrare

din program), CPU ncepe sa execute programul. Totodata mediile de stocare evolueaza cu o rapiditate foarte mare, la fiecare noua tehnologie se imbunateteste viteza si/sau capacitatea de zeci de ori (vezi cazul USB, FIREWARE, SAS, SATAL) acestea se datoreaza nevoii de piata de statii tot mai mari.Studentii trebuie sa aiba posibilitatea sa decida ce tip de RAID este mai potrivit intr-o companie in functie de resursele financiare si importanta datelor ce vor fi stocate.

Tema nr. 2 i modalitatea de evaluare Elaborati o lucrare de 1 pagina in care sa prezentati ce tip de raid considerati ca este mai potrivit pentru PC-ul de acasa si de la birou. Aceast tem se va trimite pe adresa de e-mail a tutorilor. Pentru rezolvarea corespunztoare a temei se vor acorda 0,5 puncte.

Bibliografie de referin Obligatorie A. S. Tanenbaum 2004 - Sisteme de operare moderne -, ediia II-a, Ed. Byblos,. Opional First the Tick, Now the Tock: Next Generation Intel Microarchitecture (Nehalem) Intel Core2 Quad Processor Q9400 for Embedded Computing http://www.acnc.com/04_01_05.html

4 Modul 3 Securitatea sistemelor de operare

Scopul modulului: Familiarizarea studentului cu instrumente si tehnologii disponibile pentru a securiza un sistem de operare atat nativ cat si cu software-uri dedicate. Obiectivele modulului: Dup parcurgerea acestui modul cursanii trebuie: S poat face distincia ntre politici locale si de domeniu memoria interna i memoria externa S poat defini o politica S cunoasc cheile din registrii cele mai importante

4.1

Group Policy: n Microsoft Windows XP de exemplu , utilizai Politica de grup pentru a defini configuraiilor

de utilizator i computer pentru grupuri de utilizatori i computere. Putei crea o configuraie specific desktop pentru un anumit grup de utilizatori i computere, utiliznd Microsoft Group Policy Management Console (MMC) Snap-in. Pentru a avea acces la GPO trebuie sa fiti administrator si din mmc sau linie de comanda: gpedit.msc

Figura 3. 1 Captura din GPO

Setrile politicii de grup pe care le creai sunt coninute ntr-un obiect politic de grup (GPO), care este asociat la rndul su containerelor Active Directory selectate, cum ar fi site-uri, domenii, sau uniti organizaionale (OU). Cu utilitarul de completare snap-in Group Policy avei posibilitatea s specificai setrile de politic pentru urmtoarele: Registrul pe baz de politici - acestea includ politica de grup pentru sistemul de operare Windows XP i componentele sale, precum i pentru programe. Pentru a gestiona aceste setri, utilizai nodul Administrative Templates al utilitarului de completare snap-in Group Policy. Opiuni de securitate - acestea includ opiuni pentru computerul local, domeniu, precum i setrile de reea de securitate. Software-ul de instalare i opiuni de ntreinere - acestea sunt utilizate pentru gestionarea centralizat a programului de instalare, actualizri i de eliminare. Opiuni de scripturi - acestea includ scripturi pentru pornirea computerului i nchidere, precum i conectarea i deconectarea utilizatorilor. Opiuni de redirecionare folder- acestea permit administratorilor s redirecioneze foldere utilizatorilor speciale de la reea. GPO-urile sunt stocate in SYSVOL (replicat pe fiecare DC). In AD exista doar un link catre GPO. Toate setarile se afla in adm-ul din SYSVOL. GPO-urile nu sunt impinse de catre domain controller. Clientul citeste si aplica GPO-urile stocate in AD (aici revenim la problema cu Adminul local pe statii daca e admin pe statie gaseste el ceva sa fenteze GPO-ul). Ordinea de aplicare este urmatoarea: Local Policy Site Policy Domain Policy OUs Policy (in functie de ierarhia de OU-uri din AD, GPO-ul de pe ultimul OU din ierarhie si aplica ultimul probabil OU-ul in care se afla userul sau computer accountul). Exista ceva metode de a influenta putin ordinea dar vorbim mai tarziu.

In caz de conflict de setari intre GPO-uri se aplica setarile din ultimul GPO aplicat (adica suprascrie ce s-a aplicat inainte)

Tema de reflecie nr. 4 Ce se aplica mai repede politica locala sau politica de grup?

4.2

Registrii: Microsoft Computer Dictionary, ediia a cincea, definete registrii (registry) ca: o baz de

date central ierarhice utilizate n Microsoft Windows 98, Windows CE, Windows NT i Windows 2000/XP/VISTA/WINDOWS7 utilizate pentru a stoca informaii care este necesar pentru a configura sistemul pentru unul sau mai muli utilizatori, aplicaii i dispozitive hardware. Registrul conine informaii despre SO Windows n timpul operrii, cum ar fi profilurile pentru fiecare utilizator, aplicaiile instalate pe computer i tipurile de documente pe care fiecare poate crea, setrile de proprieti foaie pentru foldere i pictograme de aplicare, ceea ce hardware exist n sistem, i porturile care sunt utilizate. Registry nlocuiete cea mai mare parte bazate pe text. Fiiere INI care sunt utilizate n Windows 3.x i MS-DOS fiierele de configurare, cum ar fi Autoexec.bat i Config.sys. Cu toate c Registry este ntlnit n mai multe sisteme de operare Windows, exist unele diferene ntre ele.

Figura 3. 2 Editor de registrii

O seciune registry este un grup de chei, subchei i valori din registry care au un set de fiiere suport ce au copii de rezerv ale datelor coninute. Fiierele de suport pentru toate seciunile, cu excepia HKEY_CURRENT_USER, se afl n folderul %SystemRoot%\System32\Config n Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 i Windows Vista. Fiierele de suport pentru HKEY_CURRENT_USER se afl n folderul %SystemRoot%\Profiles\Numeutilizator. Extensiile de nume de fiier pentru fiierele din aceste foldere indic tipul de date pe care le conin. De asemenea, lipsa unei extensii poate indica uneori tipul de date pe care le conin.
In Registri HKEY_LOCAL_MACHINE\ SAM Fisiere suportate Sam, Sam.log, Sam.sav

HKEY_LOCAL_MACHINE\ Security

Security, Security.log, Security.sav

HKEY_LOCAL_MACHINE\ Software

Software-ul, Software.log, Software.sav

HKEY_LOCAL_MACHINE\ System

System, System.alt, System.log, System.sav

HKEY_CURRENT_CONFIG

System, System.alt, System.log, System.sav, Ntuser.dat, Ntuser.dat.log

HKEY_USERS \ default

default, Default.log, Default.sav


Tabel 3. 1 DEnumirea grupului de chei

n Windows 98, fiierele registry sunt numite User.dat i System.dat. n Windows Millennium Edition, fiierele registry sunt numite Classes.dat, User.dat i System.dat. Caracteristicile de securitate n Windows NT, Windows 2000, Windows XP, Windows Server 2003 i Windows Vista permit administratorului s controleze accesul la cheile de registry. Urmtorul tabel prezint cheile predefinite, care sunt utilizate de sistem. Dimensiunea maxim a unui nume de cheie este de 255 de caractere.

Folder / cheie predefinit


HKEY_CURRENT_USER

Descriere
Conine rdcina informaiilor de configurare pentru utilizatorul care a fcut log on n momentul respectiv. Aici sunt stocate folderele utilizatorului, culorile ecranului i setrile din Panoul de control. Aceste informaii sunt asociate cu profilul utilizatorului. Aceast cheie este uneori abreviat ca HKCU. Conine toate profilurile de utilizator ncrcate activ pe computer.

HKEY_USERS

HKEY_CURRENT_USER este subcheie a HKEY_USERS. HKEY_USERS este uneori abreviat ca "HKU". HKEY_LOCAL_MACHINE Conine informaii de configurare particulare pentru computer (pentru orice utilizator). Aceast cheie este uneori abreviat ca "HKCU". HKEY_CLASSES_ROOT Este o subcheie a HKEY_LOCAL_MACHINE\Software. Informaiile stocate aici asigur c se deschide programul corect cnd deschidei un fiier utiliznd Windows Explorer. Aceast cheie este uneori abreviat ca HKCR. ncepnd cu Windows 2000, aceste informaii sunt stocate att sub cheia HKEY_LOCAL_MACHINE ct i sub cheia HKEY_CURRENT_USER. Cheia HKEY_LOCAL_MACHINE\Software\Classes conine setri implicite care se pot aplica tuturor utilizatorilor computerului local. Cheia HKEY_CURRENT_USER\Software\Classes conine setri care suprascriu setrile implicite i se aplic numai utilizatorului interactiv. Cheia HKEY_CLASSES_ROOT ofer o vizualizare a registry care mbin informaiile din aceste dou surse. HKEY_CLASSES_ROOT ofer aceast vizualizare mbinat i pentru programele proiectate pentru versiuni anterioare de Windows. Pentru a modifica setrile Pentru a pentru utilizatorul setrile interactiv, implicite, sistemul iar acestea modificrile stocheaz cheia exist trebuie trebuie fcute fcute sub sub sub HKEY_CURRENT_USER\Software\Classes i nu sub HKEY_CLASSES_ROOT. modifica HKEY_LOCAL_MACHINE\Software\Classes. Dac scriei cheile sub o cheie de sub HKEY_CLASSES_ROOT, HKEY_CLASSES_ROOT, informaiile HKEY_LOCAL_MACHINE\Software\Classes. Dac scriei valorile ntr-o cheie de sub deja sub HKEY_CURRENT_USER\Software\Classes, sistemul va stoca aici informaiile n loc s le pstreze sub HKEY_LOCAL_MACHINE\Software\Classes. HKEY_CURRENT_CONFIG Contine informatii despre profilul de hardware care este utilizat de pe computerul local, la pornirea sistemului.
Tabel 3. 2 Cheile predefinite

Registry din versiunile pe 64 de bii de Windows XP, Windows Server 2003 i Windows Vista sunt mprite n chei pe 32 de bii i chei pe 64 de bii. Majoritatea cheilor pe 32 de bii au aceleai nume ca cele echivalente lor pe 64 de bii i invers. Versiunea implicit pe 64 de bii a Registry Editor care este inclus n versiunile pe 64 de bii ale Windows XP, Windows Server 2003 i Windows Vista afieaz cheile pe 32 de bii sub urmtorul nod: HKEY_LOCAL_MACHINE\Software\WOW6432Node Tabelul urmtor prezint lista tipurilor de date care sunt definite n mod curent i care sunt utilizate de Windows. Dimensiunea maxim a numelui valorii este: Windows Server 2003, Windows XP i Windows Vista: 16.383 caractere

Windows 2000: 260 de caractere ANSI sau 16.383 caractere Unicode Windows Millennium Edition / Windows 98/Windows 95: 255 caractere Valorile lungi (mai mult de 2.048 octei) trebuie s fie stocate ca fiiere cu numele de fiiere stocate n registry. Acest lucru ajut la registry se va executa mai eficient. Dimensiunea maxim a unei valori este dup cum urmeaz: Windows NT 4.0/Windows 2000/Windows XP / Windows Server 2003/Windows Vista: memoria disponibil Windows Millennium Edition / Windows 98/Windows 95: 16.300 octei Exist o limit de 64K pentru dimensiunea total a tuturor valorilor unei chei.
Nume Valoare binar Tipul de data REG_BINARY Descriere Date brute binare. Majoritatea informaiilor pentru componente hardware sunt stocate ca date binare i sunt afiate n Registry Editor n format hexazecimal. Valoare DWORD REG_DWORD Date reprezentate de un numr cu lungimea de 4 octei (numr ntreg pe 32 de bii). Muli parametri pentru drivere de dispozitive i servicii sunt de acest tip i sunt afiai n Registry Editor n format binar, hexazecimal sau zecimal. Valori nrudite sunt DWORD_LITTLE_ENDIAN (octetul cel mai puin semnificativ se afl la cea mai joas adres) i REG_DWORD_BIG_ENDIAN (cel mai puin semnificativ octet se afl la cea mai ridicat adres).
Valoare extensibil ir

REG_EXPAND_SZ

Un ir de date de lungime variabil. Acest tip de date cuprinde variabilele care sunt rezolvate atunci cnd un program sau un serviciu utilizeaz datele Un ir multiplu. Valorile care conin liste sau valori multiple sub o form care poate fi citit de o persoan sunt n general de acest tip. Intrrile sunt separate de spaii, virgule sau alte marcaje.

Valoare multi-ir

REG_MULTI_SZ

Valoare ir Valoare binar

REG_SZ REG_RESOURCE_LIST

Un ir text de lungime fix. O serie de matrice imbricate destinate stocrii unei liste de resurse utilizat de un driver de dispozitiv hardware sau de unul din dispozitivele fizice pe care le controleaz. Aceste date sunt detectate i scrise n arborele \ResourceMap de ctre sistem i se afieaz n Registry Editor n format hexazecimal ca valoare binar.

Valoare binar.

REG_RESOURCE_REQUI REMENTS_LIST

O serie de matrice imbricate destinate stocrii unei liste de posibile resurse hardware pentru un driver de dispozitiv, resurse care pot fi utilizate de driver sau de unul din dispozitivele fizice pe care le controleaz. Sistemul scrie un subset al acestei liste n arborele \ResourceMap. Aceste date sunt detectate de sistem i sunt afiate n Registry Editor n format hexazecimal ca valoare binar.

Valoare binar

REG_FULL_RESOURCE_ DESCRIPTOR

O serie de matrice imbricate destinate stocrii unei liste de resurse care este utilizat de un dispozitiv hardware fizic. Aceste date sunt detectate i scrise n arborele \HardwareDescription de ctre sistem i se afieaz n Registry

Editor n format hexazecimal ca valoare binar. Nici unul REG_NONE Date fr un tip anume. Aceste date sunt scrise n registry de ctre sistem sau de ctre aplicaii i sunt afiate n Registry Editor n format hexazecimal ca valoare binar. Legatura Valoare QWORD REG_LINK REG_QWORD Un ir Unicode care denumete o legtur simbolic. Date reprezentate de un numr care este un ntreg pe 62 de bii. Aceste date sunt afiate n Registry Editor ca valoare binar i au fost introduse n Windows 2000. Tabel 3. 3 Tipuri de date

4.3

Securitatea Tehnologiile de securitate ale calculatorului sunt bazate pe logica. Deoarece cele mai multe

cereri ale calculatorului nu sunt legate de securitate, proiectarea unui program cu siguran inclusa adesea impune restricii asupra comportamentului acest program. Exist mai multe abordri pentru a lua in calcul securitatea, uneori, o combinaie de abordri este valabil: ncredere n toate software-ul s respecte o politic de securitate, dar software-ul nu este de ncredere (aceasta este de calculator nesiguran). ncredere n toate software-ul s respecte o politic de securitate i software-ul este validat ca de ncredere (prin filiala tedious i analiza calea de exemplu). ncrederea software-ul, dar nu pune n aplicare o politic de securitate, cu mecanisme care nu sunt de incredere (din nou acest lucru este nesiguran calculator). ncrederea software-ul, dar nu pune n aplicare o politic de securitate, cu mecanisme de ncredere. Multe sisteme au avut ca rezultat n mod neintenionat n prima posibilitate. Din moment ce abordare doi este costisitoare i non-determinist, utilizarea sa este foarte limitat. Abordari unu i trei duce la eec. Deoarece numrul de abordare patru este adesea bazat pe mecanisme de hardware i evit de captare i o multitudine de grade de libertate, este mai practic. Combinaii de abordri dou i patru sunt adesea folosite ntr-o arhitectura stratificate cu straturi subiri de dou i straturi groase de patru. Exist diverse strategii i tehnici utilizate pentru proiectarea sistemelor de securitate. Strategiile de toate acestea, exist puine, dac este cazul, eficiente pentru a spori securitatea, dup proiectare. O tehnic impune principiul de cel privilegiul de a mare msur, n cazul n care o entitate are doar privilegiile de care sunt necesare pentru funcia sa. n acest fel, chiar dac ctigurile de un atacator acces la o parte a sistemului, amenda-bob de securitate asigur c acesta este la fel de dificil pentru ei pentru a accesa restul.

n plus, prin ruperea de sistemul de pn n componente mai mici, complexitatea componentele individuale este redus, deschide posibilitatea de a folosi tehnici, cum ar fi teorema automate dovedesc a dovedi corectitudinea subsistemelor software de o importan crucial. Acest lucru permite o soluie nchis formular pentru securitate care funcioneaz bine atunci cnd doar un singur bine caracterizat de proprietate poate fi izolat ca fiind eseniale, i c proprietatea este, de asemenea assessible la matematica. Deloc surprinztor, nu este practic pentru corectitudinea generalizate, care, probabil, nu poate fi nici mcar definite, mult mai puin dovedite. n cazul n care dovezile corectitudinea formal nu sunt posibile, utilizarea riguroas a revizuirii cod i de testare unitate reprezint cel mai bine o abordare efort pentru a face module in deplina siguranta. Design-ar trebui s utilizeze ", de aprare n profunzime", n cazul n care mai mult de un subsistem trebuie s fie nclcate de a compromite integritatea sistemului i informaiile pe care le deine. Aprrii n profunzime funcioneaz atunci cnd nclcarea de o msur de securitate nu ofer o platform pentru a facilita pacalirea altul. De asemenea, principiul cascad recunoate c mai multe obstacole de sczut, care nu face un obstacol mare. Deci, in cascada de mai multe mecanisme de slab, nu ofer sigurana unui singur mecanism mai puternic. Subsistemele trebuie s implicit pentru a asigura setrile, i ori de cte ori este posibil ar trebui s fie concepute pentru a "nu reuesc sigure", mai degrab dect "nu reuesc nesigure" (a se vedea nu reuesc n condiii de siguran pentru echivalentul n inginerie de siguran). n mod ideal, un sistem sigur ar trebui s solicite o deliberat, decizie contient, cunotine i gratuit din partea autoritilor legitime n scopul de a face nesigure. n plus, securitatea nu ar trebui s fie o problem tot sau nimic. Designeri i operatorii de sisteme ar trebui s presupun c nclcrile de securitate sunt inevitabile. Pistele de audit completa ar trebui s fie pstrate de activitate de sistem, astfel nct atunci cnd se produce o nclcare a securitii, mecanismul i gradul de nclcare poate fi determinat. Stocarea pistele de audit de la distan, n cazul n care acestea pot fi doar anexate, se poate pstra intrui de la care s acopere urmele lor. n cele din urm, dezvluirea complet ajut s se asigure c, atunci cnd sunt gsite bug-uri la fereastra "de vulnerabilitate" este meninut ct mai scurt posibil.

4.4

Tipuri de atac

4.4.1 Atacuri DOS


Atacurile de tip Denial of Service15 sunt o cauz major de operare defectuoas a sistemelor n Internet i reprezint cea mai serioas ameninare de astzi. Primul atac major a ngenunchiat reeaua Universitii Minnesota n august 1999, iar 6 luni mai trziu un tnr canadian a atacat unele dintre cele mai importante site-uri Internet: Yahoo, CNN, Amazon, Buy i eBay. De atunci atacurile par s fie n cretere. Din nefericire, utilizatorii sunt mai interesai de software-ul cu mai multe faciliti dect de cel robust, fr erori. n plus, securitatea are preul su. Software-ul modern cheltuiete un numr imens de cicluri main pentru a desena ferestre tri-dimensionale cu alpha-blending sau alte asemenea mbuntiri vizuale, dar aceste lucruri nu aduc nimic din punct de vedere al funcionalitii. Dei securitatea este o problem major, muli utilizatori nu se arat dispui s cheltuiasc o putere de calcul similar pentru securitate. De asemenea, multor utilizatori nu le pas dac sistemul lor este sigur sau poate fi utilizat ca int sau ramp de lansare a unor atacuri de diferite feluri. Falsul sentiment de securitate este probabil mai ru dect lipsa total a securitii. nc exist suficient de muli administratori care las sistemele lor neprotejate, neaplicnd ultimele patch-uri i neconformndu-se procedurilor de bun practic adoptate de fiecare organizaie. Dac avem n vedere faptul c numrul de locuine, coli, biblioteci i alte locuri publice conectate la Internet a crescut exponenial n ultima vreme, dimensiunea problemei apare n toat mreia sa. Ameninrile de securitate se pot categorisi dup cum urmeaz: Scurgeri de informaii (confidenialitate) Autentificri nereuite Denial of Service (DOS) n timp ce primele dou atacuri au fost analizate extensiv n literatura de specialitate, atacurile DOS nu au primit atenia cuvenit pn de curnd. Un atac Denial of Service poate lua una din cele dou forme posibile. Un atacator poate cauza netransmiterea de ctre reea a mesajelor pe care ar trebui s le transmit n mod normal

Termenul se traduce aproximativ prin interzicerea serviciului, dar am ales s folosesc n aceast lucrare terminologia original din limba englez deoarece este un termen de referin n articolele de specialitate
15

clienilor si. De cealalt parte se afl reelele care trimit mesaje pe care nu ar trebui s le trimit. De departe cel mai cunoscut atac DOS este cauzarea de trafic fals (inundarea reelei) n direcia un server particular, lucru care n final va duce la mpiedicarea clienilor legitimi s obin serviciul pe care l cer de la acel server. Comunitatea Internet cunoate o serie ntreag de atacuri DOS, care se pot mpri n dou categorii: atacuri prin inundare (flooding) i atacuri prin pachete modificate. O cauz evident a atacurilor TCP SYN este c dialogul iniial ntre pri are loc naintea unei minime autentificri. Serverul este incapabil de a distinge traficul legitim de cel fals, fapt ce are toate ansele s rmn aa. Impunerea necesitii de a autentifica toate cererile ar nsemna un atac DOS n sine, din moment ce serverul ar fi ocupat cu verificarea semnturilor digital, indiferent dac acestea sunt sau nu valide. Aceast nou cale de atac ar fi la fel de periculoas ca i simpla umplere a tabelei TCP. O cauz mai puin cunoscut a atacurilor DOS este contabilizarea resurselor, mai precis lipsa acestora. Spatscheck i Peterson [SPAT99] consider c sunt trei ingrediente cheie pentru protejarea de atacuri DOS: contabilizarea tuturor resurselor consumate de un client; detecia momentului cnd resursele alocate unui client depesc un prag stabilit apriori; constrngerea capacitatea de a revendica resursele blocate dup detectarea unui atac prin alocarea de resurse minime unui atacator, lucru ce nseamn automat evitarea unui atac DOS ulterior; n perioada cnd Internetul nsui era proiectat, contabilizarea resurselor era scopul cu prioritatea cea mai mic, lucru ce ne afecteaz astzi cel mai mult. n contrast cu reelele de telefonie omniprezente unde folosirea resurselor era atent controlat, cei care au proiectat reeaua Internet nu au prut s acorde importan acestui aspect. Astfel, serverele aloc aceeai putere de calcul tuturor cererilor care sosesc la un moment dat ceea ce mpiedic o degradare elegant a performanei n cazul unui atac sau n cazul unei ncrcri excesive. Scenariul anterior este oarecum similar cu mecanismul rudimentar de procesare a pachetelor de intrare datorit arhitecturii bazate pe ntreruperi a subsistemului de reea. Toate sistemele de operare implementeaz acest tip de arhitectur care s-a dovedit neadecvat n condiii de ncrcare mare. Pachetele de la intrare sunt procesate cu prioritatea maxim pentru ca apoi s fie distruse pentru c nu exist nici o aplicaie care s le deserveasc. Aceast situaie se numete receiver livelock. Mai mult, chiar dac exist o aplicaie care s deserveasc aceste pachete, prioritatea

procesului nu este luat n calcul. Astfel, aplicaiile cu prioritate mic primesc aceeai cantitate de trafic ca cele cu prioritate mai mare. n lucrarea lor, Druschel i Banga propun o arhitectur cu de procesare ntrziat care se bazeaz pe demultiplexarea timpurie a pachetelor i procesarea cu prioritatea destinatarului. Ei susin c noua arhitectur ar mbunti stabilitatea, justeea i capacitatea sistemelor n condiii de ncrcare mare n timp ce performana nu ar avea de suferit n condiii normale. O noua clas de atacuri de band ngust exploateaz deficienele structurilor de date n diferite aplicaii. Structurile de date folosite n mod uzual au un timp de rulare n cazul mediu mult mai bun dect n cazul cel mai defavorabil. Spre exemplu, att tabelele de dispersie ct i arborii binari degenereaz n liste nlnuite atunci cnd la intrare se prezint date alese corespunztor. Folosind banda tipic a unui modem, autorii citai au adus un server Bro n pragul colapsului; n ase minute de la nceputul atacului, serverul ignora 71% din trafic i consuma ntreaga putere de calcul disponibil. Avnd n vedere tendina global a pieelor de a se muta on-line, atacurile DOS se dovedesc mult mai periculoase dect s-a prevzut la nceput ntruct acestea pot bloca victimele pe durate lungi de timp. De la momentul la care a nceput atacul i pn cnd acesta este detectat i eliminat, victima este paralizat i nu poate rspunde la cererile legitime. Pentru site-urile comerciale mari aceasta se traduce prin pierderi de ordinul miliardelor de dolari. Dei atacurile DOS nu amenin datele n mod direct, nu avem nici un motiv s credem c un altfel de atac nu ar putea uram cu exact acest scop. Aceste atacuri de urmare pot distruge date critice, cauznd astfel mai multe daune dect atacul DOS n sine, ceea ce nu este de dorit. Acest fel de atacuri n lan pot avea loc dac protocoalele continu dialogul cu atacatorul chiar i dup detectarea unor anomalii n dialogul purtat ntre pri. Ideea de baz n spatele protocoalelor rezistente (numite protocoale fail-stop sau fail-safe) este c schimbul de mesaje s nceteze cu orice client care nu urmeaz cursul firesc al protocolului.

4.4.2 Atacuri asupra protocoalelor de autentificare


Atacuri prin inundare (flooding) Atacurile prin inundare sunt comune i sunt lansate cu intenia de a satura legturile de reea pentru a prbui router-ele i switch-urile sau inundarea cu trafic peste posibilitile de prelucrare. Din nefericire, uneltele necesare pentru un asemenea atac sunt disponibile pe Internet i chiar utilizatorii fr experien le pot folosi cu succes.

Smurf Flood Smurf Flood este un atac DOS cunoscut i sub numele de reflector. Un atacator trimite un numr mic de pachete echo ICMP la o adres de broadcast care definete mai multe gazde. Rspunsurile tuturor acelor gazde sunt trimise simultan ctre victim, epuiznd toat banda de comunicaie i posibil puterea de calcul. TCP SYN Atacul de tip TCP SYN este posibil datorit schimbului de mesaje de la nceputul protocolului TCP. Un client trimite o cerere (SYN) ctre un server, anunndu-i intenia de a porni o conversaie. La rndul su, serverul desemneaz o intrare n tabela cu conexiuni pe jumtate deschise i trimite napoi un mesaj de ncuviinare (SYN ACK), semnaliznd astfel disponibilitatea sa. n acest moment clientul trebuie s rspund cu un pachet SYN ACK ACK pentru a putea ncepe comunicaia de fapt. Un atacator ar putea s nu trimit niciodat aceast confirmare, cauznd umplerea tabelei de conexiuni, cererile legitime ulterioare fiind astfel blocate. Daca un atacator trimite o rafal de astfel de cereri, acesta poate paraliza activitatea unui server de 100 MIPS care poate deservi 2000 de conexiuni pe secund [SPAT99], dimensiunea tipic a tabelei TCP fiind de 2048 de intrri [DEC96]. UDP Flood (Fraggle) Acest atac este posibil datorit naturii protocolului UDP care nu este orientat pe conexiune. Din moment ce nu este necesar nici un dialog n prealabil, un atacator poate trimite pachete ctre porturi aleatoare ale sistemului vizat. Victima va aloca resurse pentru determinarea aplicaiilor care ascult porturile pe care sosesc date, iar cnd i d seama c nici o aplicaie nu face acest lucru, va trimite ca rspuns un pachet ICMP. Dac numrul de pachete aleatoare este suficient de mare exist posibilitatea ca sistemul s aib probleme. ICMP Flood Acest atac const din trimiterea unui numr mare de pachete ICMP ctre victim. Aceasta nu poate ine pasul cu volumul de informaie primit i poate observa o degradare a performanei. E-mail bombing E-mail bombing nseamn trimiterea unui numr mare de mesaje electronice ctre un server cu scopul de a epuiza spaiul de pe disc i limea de band. Cu excepia atacului UDP, restul se pot evita prin msuri luate la nivelul sistemului de operare. Atacul UDP este dificil de contracarat ntruct exist o multitudine de aplicaii care ascult la o multitudine de porturi. Filtrarea cu ajutorul firewall-urilor ar avea un impact puternic asupra funcionalitii iar acest pre nu l vor plti foarte muli utilizatori.

4.4.3 Atacuri prin pachete modificate


Atacul prin pachete modificate este un alt fel de atac DOS rspndit. Scopul acestui tip de atac este exploatare greelilor de proiectare a codului care prelucreaz pachete din diferite sisteme de operare. Efectele merg de la degradarea performanei pn la cderea sistemului. Aproximativ jumtate din totalul problemelor pe Internet are ca i cauz depirile de buffer. Acestea se cunosc de mai bine de 40 de ani i cam din aceeai perioad dateaz i soluia. Limbajul Algol a introdus limitele obligatorii la tablouri dar programatorii nc refuz s foloseasc instrumente mai bune. Acest lucru este comparabil cu un fabricant de maini care nzestreaz mainile cu rezervor din hrtie cerat [DEWA01]. Principalele atacuri cu pachete modificate sunt: Ping of Death Acest atac const n trimiterea unui pachet ICMP mult mai mare dect pachetul maxim IP, i anume 64 KBytes. La destinaie, unele implementri nu pot decodifica pachetul, cauznd prbuirea sau reboot-ul sistemului. Dou implementri binecunoscute care au acest comportament sunt Windows 95 i unele versiuni timpurii de Windows NT. Chargen Acest atac este o variant a atacului de tip UDP Flood i folosete portul 19 (chargen) al unui sistem intermediar folosit ca amplificator. Atacatorul trimite un pachet UDP fals ctre un sistem intermediar care la rndul su rspunde cu un ir de caractere victimei, pe portul su echo. Victima trimite napoi un ecou al irului primit i bucla creat consum rapid banda dintre victim i sistemul intermediar. Teardrop Datorit implementrii defectuoase, unele sisteme nu pot asambla fragmente de pachete care au deplasamente eronate. n loc s ignore elegant aceste pachete, aceste implementri blocheaz sau reboot-eaz sistemul. Land Dei este greu de crezut, unele sisteme se blocheaz cnd primesc pachete avnd aceeai adresa ca surs i destinaie. WinNuke Acest tip de atac este specific sistemelor de operare Windows. Atacatorul trimite date aleatoare la un port anume, ceea ce cauzeaz blocarea sau reboot-ul sistemului. O alt clasificare a atacurilor DOS este dup numrul de participani: Atacuri uni-surs: un singur atacator are ca int o singur victim.

Atacuri multi-surs: mai multe gazde (numite zombie) particip fr s tie n rolul atacatorilor, fiind compromise de capul operaiunii. Dei mai greu de pus n practic, acest tip de atac este i cel mai periculos i cel mai greu de luptat mpotriva lui. Mai este cunoscut i sub numele de atac Distributed Denial of Service (DDOS). [RAZM00] d un echivalent al atacului DOS n lumea real: Alice nu l place pe Bob i n consecin telefoneaz mai multor companii de pizza, comandnd cte o pizza de la fiecare i cernd ca acestea s fie trimise la domiciliul lui Bob la o or anume. Cnd timpul sosete, Bob este copleit de mulimea de distribuitori de pizza care ajung la domiciliul su, fiecare pretinznd banii cuvenii. Simplu i eficient, acest atac poate s rmn cu autor necunoscut dac Alice a sunat de la un telefon public (n esen ascunzndu-i identitatea).

4.4.4 Atacuri la design i implementare


Atacurile criptografice sunt o categorie aparte de atacuri. Acestea se deosebesc de restul atacurilor prin aceea c se exploateaz design-ul i implementarea de fapt ale protocoalelor de autentificare, fr a se face uz de vreo slbiciune descoperit ntmpltor. Lucrul cel mai grav n cazul acestor atacuri este faptul c parcul de software care nglobeaz astfel de protocoale este imens iar intele sunt numeroase. O eventual modificare pe scar larg a parcului de software n scopul eliminrii vulnerabilitilor este extrem de costisitoare, nepractic i de lung durat.

4.4.5 Atacuri prin complexitate algoritmic


Atacurile prin complexitate algoritmic exploateaz deficienele intrinsece ale diferitelor structuri de date. Este binecunoscut faptul c timpul mediu de execuie n cazul mediu este mult mai bun dect n cazul cel mai defavorabil (spre exemplu tabelele de dispersie i arborii binari degenereaz n liste nlnuite atunci cnd datele de intrare prezint anumite particulariti) ceea ce deschide o nou modalitate de atac. Dac un atacator are cunotine despre implementarea efectiv a unui serviciu (spre exemplu un server web), folosind date de intrare alese cu grij poate afecta puternic funcionarea acestuia, chiar avnd la dispoziie o band ngust de comunicaie.

4.4.6 Atacuri prin epuizarea resurselor


Atacurile care exploateaz design-ul protocoalelor de autentificare sunt probabil cele mai subtile i mai greu de combtut. Cel mai cunoscut tip de atac este suprancrcarea procesorului prin

solicitarea de calcule (de regul inutile), spre exemplu verificarea de semnturi digitale necorespunztoare. Fie c este valid sau nu, verificarea unei semnturi digitale este o operaie costisitoare care trebuie evitat cu orice pre n lipsa unei minime autentificri prealabile. 4.5 Tehnologii de aprare Breele n securitate prezentate pn acum au un numr de remedii propuse. Aici putem diferenia trei abordri ale problemei: eliminarea complet a atacului, ameliorarea efectelor unui atac i descurajarea atacatorului n sine. Aceste abordri nu pot fi i nu trebuie utilizate de sine stttor ci trebuie folosite n conjuncie oriunde acest lucru se impune. Aceasta este cea mai de dorit care de aprare mpotriva unui atac DOS din moment ce atacul nu are loc i efectele asupra victimei sunt nule. Din nefericire, lucrurile nu stau aa de simplu i ameninrile nu pot fi eliminate complet. Mediile nchise (spre exemplu intranet-urile companiilor, obiectivele militare) pot profita de pe urma accesului selectiv la resurse, adic doar clienii autentificai pot comunica cu serverele. Aceast configuraie este n mod evident nepotrivit pentru un mediu deschis cum este Internetul. [PING00] citeaz o problem cunoscut a mediilor nchise, i anume c intruziunile i atacurile sunt neateptate i neanticipate. Astfel, nivelul de pregtire n cazul unui eventual atac, n caz c se ntmpl, este foarte sczut iar pierderile sunt proporional mai mari. Ideea din spatele semnalizrii n afara benzii este c datele i informaiile de control cltoresc pe canale fizice diferite, evitndu-se astfel confuzia i interferenele. Fr s se bazeze pe experimente de vreun fel, Schneier susine c semnalizarea n afara benzii poate ameliora problemele legate de atacurile de tip DOS. Rmne de vzut dac afirmaia sa este sau nu adevrat [SCHN00]. Am vzut c aciunile pentru mpiedicarea atacurilor sunt puine. n aceste condiii este de dorit s avem mecanisme de rspuns care s permit sistemelor s furnizeze un serviciu chiar i cnd acestea sunt sub atac. Exist mai multe metode pe care le enumerm mai jos:
Securizarea tuturor calculatoarelor ntr-o reea

Aceasta ar nsemna sfritul sistemelor zombie, adic cele aflate sub controlul unui conductor de atac. Atacatorii ar fi forai s lanseze atacuri uni-surs, micornd magnitudinea atacului i uurnd sarcina administrativ de prindere a infractorului. Aceast abordare este de o importan practic mic din moment ce securizarea unui sistem este o noiune relativ, iar

mbuntirea i meninerea aceluiai nivel de securitate ntr-un sistem imens cum este Internetul ar fi o sarcin imposibil.
Msuri mpotriva atacurilor TCP SYN

n cazul atacurilor de tip TCP SYN au fost propuse mai multe abordri, conform: Timeout: Zona tampon alocat pentru conexiuni TCP deschise pe jumtate este eliberat dup un timp determinat. Dei acest mecanism este simplu de implementat, serverul trebuie s in seama de conexiunile legitime lente. Dac un atacator deschide conexiuni mai rapid dect cel mai lent dintre utilizatorii legitimi, atunci acest mecanism nu este eficient. Random Dropping: Ideea de baz este ca la depirea unui anumit prag n alocarea resurselor, serverul nchide aleator conexiuni. Problema const n faptul c i utilizatorii legitimi au de suferit iar atacul nu este oprit n nici un fel. Dac atacatorul deschide conexiuni cu o rat ridicat, implementarea acestui algoritm nu aduce o mbuntire semnificativ. SYN Cookie: Aceast metod este citat ca cea mai eficient mpotriva atacurilor SYN. Serverul trimite o valoare V care este hash-ul unor parametri specifici conexiunii i o valoare secret cunoscut numai de server. Serverul nu va aloca nici intrare n zona tampon pn nu primete napoi de la client aceeai valoare V n mesajul SYN ACK. Aceast metod presupune c adresa de lansare a atacului este fals i atacatorul nu va putea niciodat primi valoarea. Dei se spune c este o metod puternic, implementarea presupune c protocolul trebuie s stocheze informaii referitoare la fiecare conexiune n parte, ceea ce nu este de dorit ntruct apar alte probleme.
Filtrarea intrrilor

Un atacator ar putea falsifica adresa surs de la care lanseaz atacul, ceea ce face ca victima s trimite mesaje SYN ACK la adrese eronate, ceea ce la rndul su duce la imposibilitatea primirii mesajului de confirmare ACK. n RFC 2267 se descrie filtrarea intrrilor, ceea ce previne un atacator s foloseasc adrese false pentru lansarea atacului.
Filtrarea ieirilor

Filtrarea ieirilor asigur c doar pachetele cu adrese IP valide prsesc reeaua. Aceast abordare este efectiv cnd este implementat aproape de utilizatorul final, dar nu este potrivit pentru implementarea n Internet deoarece deseori furnizorii trebuie s ruteze pachete care nu fac parte din spaiul lor de adrese.

mpiedicarea cererilor ICMP echo

mpiedicarea cererilor ICMP echo de a intra n reeaua local ajut la ameliorarea problemei amplificatorului, unde rspunsurile la cereri sunt trimise la o adres de broadcast. Acest lucru cauzeaz trafic inutil i degradarea performanei.
Dezactivarea serviciilor de reea nefolosite

Dezactivarea oricror servicii de reea nefolosite nsemn n esen ngustarea intei DOS prin micorarea numrului de posibiliti. De asemenea, regulat se descoper vulnerabiliti iar atacatorul le poate folosi pentru a produce pagube nainte ca utilizatorul s fie contient de pericol i nainte s aplice patch-urile disponibile.
Monitorizarea performanei

Observarea performanei sistemului i stabilirea unor modele de utilizare normal este o chestiune de importan relativ. Performana sistemului (msurtori combinate ale utilizrii CPU, activitii reelei i variaiei spaiului de pe disc) este un canal lateral a crui monitorizare continu poate duce la detecia acceselor neautorizate.
Descurajarea atacatorului

n cazul n care se produce un atac, este de dorit s avem la ndemn o metod de a trasa atacul napoi spre iniiatorul su cu scopul de a-l prinde. Acesta este un efort eminamente administrativ i ar trebui folosit complementar cu tehnicile de aprare mpotriva atacurilor DOS.
Trasarea adreselor prin coordonarea furnizorilor

Trasarea adreselor prin coordonarea furnizorilor nseamn cooperarea strns ntre furnizorii a cror reea a fost traversat de atac. Acest lucru este foarte greu de realizat ntruct politica variaz de la furnizor la furnizor, iar o singur ruptur n lan poate compromite ntreaga aciune. Pentru a fi cu adevrat efectiv, furnizorii trebuie s aib o motivaie pentru participarea ntrun astfel de efort, cum ar fi crearea unei liste de furnizori nesiguri i nepstori care nu sunt recomandai publicului larg.
Trasarea adreselor prin marcarea probabilistic a pachetelor

Marcarea probabilistic a pachetelor pare cea mai promitoare abordare pentru descurajarea atacatorilor. Este robust, implementabil incremental i compatibil napoi, fiind totodat rezistent la falsificarea adresei i la atacuri de tip denial of service. Ideea n spatele marcrii probabilistice este s se ataeze informaie parial a cii la pachetele care traverseaz routerele (la care atacatorii nu au acces). n cazul unui atac DOS, ruta

pachetelor se poate reconstitui la victim cu condiia s existe un numr suficient de pachete, ceea ce nu este n general o problem. Implementarea acestei tehnici ar nsemna o realizare remarcabil din moment ce nu sunt necesare schimbri de infrastructur. Cooperarea strns cu autoritile este ns obligatorie.

SUMAR Tehnologiile de tip Unified Threat Management au meritul de a integra, ntr-un singur layer hardware, multiple tehnologii de securitate a perimetrului, unificnd n acelai timp interfeele de administrare, jurnalizare i raportare.n mod obinuit, un appliance UTM include tehnologii de firewall, VPN (att IPsec ct i SSL), intrusion prevention, antivirus i antispam, antispyware i URL filtering.Tehnologiile de tip UTM aduc urmtoarele avantaje: protecie avansat a perimetrului, prin integrarea multiplelor tehnologii de securitate simplificarea topologiei, prin abstractizarea ntr-un singur layer (hardware, administrare, jurnalizare i raportare) a diverselor tehnologii integrate simplificarea radical a administrrii soluiei de securitate Content Security: Riscurile aduse de viruii informatici, spam, spyware i alte tipuri de malware nu trebuiesc neglijate. Ele n general pot aduce costuri mari organizaiei dumneavoastr. Tot n categoria Content Security intr i tehnologiile de eficientizare a productivitii angajailor dumneavoastr, i cele de protejare a datelor importante pentru organizaie.

Lucrarea de evaluare nr. 3 i modalitatea de evaluare Realizai un eseu scurt (maxim 1 pagin) n care s prezentai: a) caracteristicile securitatii perimetrale; b) Care sunt principalii vendor de tehnologie UTM? Aceast sarcin se va trimite pe e-mail, pe adresa tutorilor, pn n data de 09.01.2009. Se vor acorda 0,5 puncte pentru rezolvarea corespunztoare a sarcinii.

Bibliografie de referin Obligatorie A. S. Tanenbaum 2004 - Sisteme de operare moderne -, ediia II-a, Ed. Byblos,. http://support.microsoft.com/kb/307882 Opional Jecan, S. (2008) - Contribuii la conceperea, proiectarea i implementarea unui sistem destinat managementului unui intranet n cadrul IMM-urilor Chis, G. (2008) - Contribuii la conceperea, proiectarea , realizarea si managementul unor site-uri de internet de profil economic.

ANEXE
ANEXA A1

Bibliografia complet a cursului 1. Boian F., Sisteme de operare interactive, Ed. Libris, 1994. 2. Deitel H.M., Operating Systems, Addison-Wesley Company, Melon Park, 1990 3. Deitel, Harvey M.; Deitel, Paul; Choffnes, David (2004). Operating Systems. Upper Saddle River, NJ: Pearson/Prentice Hall. ISBN 0-13-182827-4. 4. Dodescu G, Nstase F, Sisteme de calcul i operare, Editura Economic, 2002 Hassell, 5. Donald, Lisa; Chellis, James (2001). MSCE Windows 2000 Server. Bic All Bucureti ISBN 973-571-350-0 6. Desai, Anilo; Chellis, James (2001). MSCE Windows 2000 Directory Services Administration. 7. Jonathan (2006). Learning Windows Server 2003, 2nd Edition. O'Reilly. ISBN-10: 0-59610123-6 8. Kurt Dillard; Jos Maldonado; Brad Warrender (2003) Windows Server 2003 Security Guide. Microsoft press, Washington 9. Miclea L., Vlean H., Damian M., Szilard E., Frca F. - Noiuni de Sisteme de operare i reele de calculatoare, Ed. Dacia. Cluj-Napoca, 2002 10. Matthias Kalle Dalheimer, Matt Welsh (2005). Running Linux, 5th Edition. O'Reilly, ISBN: 0-596-00760-4 11. Russel, Charlie; Crawford, Sharon; Gerend, Jason (2006). Microsoft Windows Server 2003 Administrator's Companion, 2nd Edition. Microsoft press, Washington 12. Sage R. G., Unix pentru profesioniti, Ed. De Vest, Timioara, 1993 13. Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2004). Operating System Concepts. Hoboken, NJ: John Wiley & Sons. ISBN 0-471-69466-5. 14. Simpson AQ., Alainns Simpsons Windows XP Bible, Hungry Minds, 2001 15. Tanenbaum, Andrew S.; Woodhull, Albert S. (2006). Operating Systems. Design and Implementation. Upper Saddle River, N.J.: Pearson/Prentice Hall. ISBN 0-13-142938-8. 16. [HistoryWindows1]http://www.microsoft.com/windows/winhistorydesktop.mspx 17. [HistoryWindows2]http://www.w3schools.com/browsers/browsers_os.asp 18. [Windows7]http://www.microsoft.com/windows/windows-7/get/systemrequirements.aspx?applyTTTracking=true 19. [REGEDIT]http://support.microsoft.com/kb/256986 20. [GPO]http://support.microsoft.com/kb/307882

ANEXA A3

Calendarul sintetic al disciplinei

Modaliti de evaluare Tema nr. 1 Tema nr. 2 Tema nr. 3 Proiect de semestru Examen

Modul 1 2 3 -----

Termen de predare 14.04.2010 14.05.2010 05.06.2010 15.06.2010 ---

Punctaj 1.5 puncte 1.5 puncte 1.5 puncte 0.5 puncte 5 puncte

ANEXA A4 Scurt biografie a titularului de curs

Lector univ. dr. Chis George Sebastian este titular la Catedra de Informatica Economica Facultatea de Stiinte Economice si Gestiunea Afacerilor din cadrul Universitatii Babes Bolyai. Domeniile sale de competen sunt: sistemele de operare (teorie si practica), priectarea de retele, protectia datelor, ethical hacking, proiectarea sistemelor informatice la nivel de organizatie. Activitatea de cercetare sa materializat n15 articole si 5 granturi CNCSIS Participari Conferinte : JUniversity - Slovenia November 2009 Provision Security Days 7-9 June 2007 (Junioper, Check Point, McAffe) Information Security Expert Conference 24-25 Octomber 2007-10-30

Certificari : Microsoft 2801&2802 Microsoft Security Guidance Training June 2004 SMC Networking Specialist April 2004 SMC Technologies &products Training SMC Networking Specialist April 2005

S-ar putea să vă placă și