Sunteți pe pagina 1din 19

1. SISTEME de OPERARE ......................................................................

2
1.1 Sisteme de Operare - Definiie i funcionalitate ................................ 2
1.2 Evoluia i clasificarea sistemelor de calcul ....................................... 3
1.3 Istoria sistemelor de operare .............................................................. 3
1.4 Concepte ale SO ................................................................................ 5
1.5 Gestiunea memoriei i dispozitivelor I/O ........................................... 8
1.6 RAID - Redundant Array of Inexpensive Disks ................................13
1.7 Securitatea sistemelor de operare ......................................................15
1.7.1 Tipuri de atac .............................................................................16
1.8 ntrebri recapitulative ......................................................................19

1. SISTEME DE OPERARE
Autor: George Sebastian Chi

1.1 Sisteme de Operare - Definiie i funcionalitate


Un sistem de calcul modern este alctuit dintr-unul sau mai multe procesoare, memorie principal, discuri,
display, tastatur, display, interfee de reea i alte interfee de intrare/ieire. Toate aceste elemente mpreun formeaz
un sistem complex[TANENBAUM06]
Peste arhitectura hard a unui calculator este un program de baz numit i sistem de operare care are sarcin
s administreze dispozitivele din sistem i s ofere programelor utilizatorilor modaliti de interfaare mai simple cu
structura hard. Structur hard mpreun cu instruciunile n limbaj de asamblare alctuiesc nivelul ISA (Instruction Set
Arhitecture - Arhitectura setului de instruciuni) numit i limbaj main.
Programe de aplicaii

Dezvoltat
de
Pachete de programe
utilizatori
Biblioteci, Browsere Editoare
Soft de baz
SO Translatoare Editoare de legturi
Hard
Limbaj main
Microprograme (Firmware)
Componente fizice
Figura 2. 1 Sistem de calcul alctuit din structura hard, SO i aplicaii
Software de baz (sistem) fac sistemul s funcioneze:
Translatoare
Interpretoare de comenzi
Editoare de legturi
Programe de comunicaie etc.
Software de aplicaii ale unor utilitare pentru utilizatori:
Pachete de programe
Editoare de texte
SGBD-uri
Navigatoare Web
Instrumente de dezvoltare de aplicaii
Editoare de imagini
Sisteme financiar contabile, ERP (Entreprise Resource Planning), HRM, CRM, SCM, FMS
Bibliotecare etc.

Sistemele de operare realizeaz dou funcii de baz ntre care nu exist nici o legtur: extinderea
funcionalitii mainii i gestionarea resurselor,ceea ce nu putem spune este care din aceste funcii este mai
important. Prin funcia de extindere ascunde detalii neplcute precum: ntreruperile, timer-ele, gestiunea memoriei i
alte elemente de nivel sczut. Tot funcia de extindere ascunde programatorului adevrul despre structur hard i
prezint numai partea frumoas a fiierelor cu nume nu i cu octei i reprezint o vedere de sus n jos a SO.
n abordarea de jos n sus este prezena funcia de gestionare a resurselor care are c sarcin s realizeze o
alocare ordonat i controlat a proceselor, memoriilor i dispozitivelor de I/O n diversele programe scrise pentru
ele. Administrarea resurselor include partajarea resurselor n timp i spaiu (multiplexarea). Cnd este n timp
programele sau utilizatorii le folosesc pe rnd resursele (exemplu: tiprirea) formndu-se o coad SO este acela care
spune cine urmeaz i ct timp are alocat. Cnd este n spaiu fiecare client folosete o parte din resursa (exemplu:
memoria principal este mprit ntre mai multe programe, sau HDD este o alt resursa multiplexat n spaiu.

1.2 Evoluia i clasificarea sistemelor de calcul


Abacul - sistem de bile Asia - introdus cu 2000-3000 de ani [Price77].
1614 - John Napier logaritmi i tabel de calcul;
1620 - Wiliam Oughtred - bazat pe logaritm.
1642 - Blaise Pascal (19 ani) - mainilor mecanice. Maina Pascal fcea 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 Societii Regale de tiine.
1834 - dispozitiv complex - main analitic, care a avut o arhitectur asemntoare cu cea a calculatoarelor
moderne. Motivele nerealizrii: suport tehnologic adecvat i epoca industrial era n faza incipient.
Ada Augusta Byron, contes de Lovelace prima programatoare din lume; limbajul Ada (Bull).
1802-1804 - Calculatoarelor electromecanice - cartele perforate - Joseph 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.
Principiile von Newmann de construire a unui calculator
John von Neumann fcea analogii cu comportamentul 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 sunt interconectate cu un mnunchi de fire numit magistral
(bus) i sunt conduse n tactul unui ceas (clock).

maina va executa frecvent operaiile aritmetice: adunarea, scderea, nmulirea i mprirea rezultnd existena
unei componente specializate destinat calculului (aritmetico-logic, unitate de calcul etc.).
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.
memorie n care se in minte" instruciunile & datele necesare rezolvrii problemei (intern sau memorie
operativ).
senzor recepioneze / transmit semnalele vin / la din exterior (astzi le numim dispozitive de intrare/ieire, I/E,
sau periferice).
volatilitatea;
memorie permanent (memoria extern de astzi).
transfer ntre memoria intern la cea permanent.

1.3 Istoria sistemelor de operare


Sistemele de operare se mpart n 5 generaii dup cum urmeaz:
Prima generaie 1945 1955 - Primele calculatoare digitale construite: relee electro-mecanice, tuburi;
programare se fcea manual, n limbaj main; nu existau compilatoare sau asambloare; nu existau sisteme de operare;
primul bug descoperit n 1947 (Harvard Mark II).
n 1941 inginerul german Konrad Zuse dezvolta computerul Z3 pentru a proiecta avioane i rachete. 1943:
Forele Aliate produc un computer sprgtor de coduri, denumit Colossus. 1944: SUA produce Mark I, primul
computer complet electronic, cu dimensiunile unei jumti de teren de fotbal. Al doilea computer produs de SUA a

fost ENIAC. Era de 1.000 de ori mai rapid ca Mark I i 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 generaie 1955 1965 - tranzistoare, batch systems; tranzistoare; mainframe-uri;
apare conceptul de batch; sisteme de operare: FMS, IBSYS.
Inventarea tranzistorului aduce schimbari radicale. Introdus n computere n 1956 i cuplat cu memoria cu
miez magnetic, el da natere unei generaii de ordinatoare mai mici i mai eficiente. Primele supercomputere au fost
Stretch, produse de IBM i LARC pentru laboratoarele de energie atomica. La nceputul anilor 60 apare IBM 1401,
considerat piatra de temelie a conceptului actual. Apar de asemenea limbajele de programare COBOL (Common
Business-Oriented Language) i FORTRAN (Formula Translator), care nlocuiesc codul binar criptic cu cuvinte i
formule matematice.
A treia generaie 1965 1980 - ICs i multiprogramarea; circuite integrate; apare conceptul de familie de
calculatoare (IBM System/360): aceeai arhitectura i set de instruciuni.
Dei tranzistorii reprezentau o evoluie semnificativa, ei generau intens cldur, care deteriora restul
componentelor interne. Aa ncepe folosirea cristalelor de cuar. n 1958, Texas Instruments produsese circuitul
integrat, care combina trei componente electronice pe un disc de siliciu. Un alt pas l-a constituit apariia sistemelor de
operare, care au permis computerelor sa ruleze mai multe aplicaii simultan, cu un program central de monitorizare i
coordonare a memoriei.
Sistemul de operare pentru System/360: OS/360 aduce:
Multiprogramare - Partiionarea memoriei n mai multe segmente, ct timp un job ateapt la I/O alt job se execut
Spooling - Citirea joburilor de pe cartele perforate i pstrarea lor pe disc pna la execuie
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 sczut, ns are o influen masiv
asupra dezvoltrii ulterioare a SO
UNIX
versiune mult redus a MULTICS, implementat de Ken Thompson System V, BSD
A patra generaie 1980 prezent- calculatoarele personale CP/M - Dezvoltat de Kidall pentru Intel 8080.
Dup circuitele integrate, direcia principal a rmas reducerea dimensiunilor. Deja, n anii 80, integrarea la
scara foarte larga putea concentra sute de componente pe un singur cip. n 1971, cipul Intel 4001 integra toate
componentele unui computer pe o pastila minuscula. Acum se naste microprocesorul. Computerele vndute sunt
nsoite de pachete de software. Pionieri ai domeniului sunt Commodore, Radio Shack i Apple Computers. La
nceputul anilor 80 apar primele jocuri arcade, precum Pac Man, i primele sisteme casnice de jocuri, precum Atari
2600. 1981: IBM lanseaz PC (Personal Computer), care va deveni standard n domeniu. Dup 1984 este folosit pe
scar larg invenia MacIntosh, pe care azi o cunoatem ca mouse. 1992: ncepe folosirea intensiv a reelelor i
Internetului n accepiunea actual a conceptului.
A cincea generaie Definirea acestei generaii este dificil, deoarece se afl n faza de nceput. Cel mai bun
exemplu ar putea fi celebrul, dar fictivul, HAL 9000 (care era dotat cu inteligen artificial), din romanul Odiseea
spaial 2001 al lui Arthur C. Clarke. Considerat utopic la data apariiei crii (1968), acest calculator se va nate n
laboratoarele viitorului, confirmnd, nc o dat, aseriunea conform creia cuvintele creeaz realitatea.
Perioada

Tehnologie

Generaia

CPU

1946-1956

Tuburi electronice

1957-1963

Tranzistori

1964-1981

Circuite integrate

Dup-1982

Circuite integrate
pe scar foarte larg

Dup 1990

Circuite integrate
pe scar extrem de
larg; maini LISP
i Prolog

Tehnologie
memorie

Tambur
magnetic
Inele de ferit

II

Memorii
semiconductori
discuri
magnetice
Memorii
cu
bule,
discuri
optice
Arhitecturi
paralele

Limbaje
Utilizate

Asamblare
nivel nalt:
FORTRAN,
COBOL etc.
Pascal, Lisp, limbaje grafice

ADA, limbaje obiectuale,


limbaje vizuale etc.
Limbaje concurent, limbaj
natural,limbaje funcionale
i logice

Performane,
memorie i CPU

Memorie 2 Ko., Viteza:


104 I/S
Memorie: 32 Ko, Vitez:
2*105 I/S
Memorie: 2Mo, Vitez:
5*106 I/S

Memorie de peste 256


Mo, Vitez 5*107 I/S,
Supercalculatoare
Vitez:
1012
I/S;
memorare i prelucrare
cunotine,
vedere
artificial,
tehnologia
vorbirii

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 i telefoane mobile (Windows Mobile, Symbian, Android, iPhone OS (bazat pe
Mac OS))
Componentele sistemului de operare:
Gestiunea proceselor
Gestiunea memoriei
Gestiunea fiierelor
Gestiunea operaiilor de I/E
Gestiunea reelei

1.4 Concepte ale SO


Procesul - este n fapt un program n execuie. Fiecrui proces i se asociaz un spaiu de adrese, adic o list
de locaii n memorie din care programul poate ci sau n care poate scrie. Locaiile cuprinse ntre dou limite, una
minim (de obicei 0) i una maxim. Spaiul de adrese conine programul executabil, datele programului i stiva.
Procesului i se asociaz, de asemenea, un set de registre care cuprinde contorul program, indicatorul de stiva i alte
registre hard, precum i diverse alte informaii necesare rulrii programului.[TANENBAUM06]
La multe SO toate informaiile despre fiecare proces, altele dect cele aflate n propriul spaiu de adrese, sunt
memorate ntr-un tabel al sistemului de operare numit tabel de procese, care este un tablou de structuri pentru fiecare
proces existent.

Figura 3. 1 Arbore de proces. Procesul A a creat dou procese- copii: B i C Procesul B a creat 3 procese
copii D, E, F
Pentru a implementa un proces a SO folosete o tabel (un vector de structuri) numit tabel de procese cu o
intrare pentru fiecare proces. Aceast intrare conine informaii despre: starea procesului, contorul program,
indicatorul de stiva, alocarea memoriei, starea fiierelor deschise, detalii de contabilizare, i planificare i orice alte
informaii despre un proces, care trebuie salvate atunci cnd procesul comut ntre strile n execuie, gata de execuie
i blocat, astfel nct s poat fi repornit mai trziu ca i cum nu ar fi fost oprit niciodat.
n tabelul de mai jos se poate vedea cteva din cmpurile importante dintr-un sistem obinuit:
Gestiunea procesului
Registrare
Contorul program
Cuvntul de stare al programului

Gestiunea memoriei

Gestiunea fiierelor

Indicator spre segmentul de text


Indicator spre segmentul de date
Indicator spre segmentul de
stiv

Directorul rdcin
Directorul de lucru
Descriptorii de fiiere

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

Identificatorul
utilizatorului
Identificatorul grupului

Momentul urmtoarei alarme


Figura 3. 2 Cteva din cmpurile unei intrri obinuite din tabela de procese
Firele de execuie n sistemele de operare tradiionale, fiecare proces are un spaiu de adrese i un singur fir
de control. Dar de cele mai multe ori este de dorit existena mai multor fire de control n acelai spaiu de adrese rulnd
pseudo-paralel, c i cum ar fi procese separate(cu excepia partajrii spaiului de adrese).
Un proces este c o grupare de resurse nrudite i are spaiu de adrese ce conine textul programului i date,
precum i alte resurse. Aceste resurse pot include fiiere deschise, procese copil, semnale de alarm n ateptare, rutine
de tratare a semnalelor, informaii de contabilizare i altele. Acestea pot fi gestionate uor prin gruparea lor sub form
de proces.
Firul de execuie (thread) are un contor de program care ine evidena urmtoarei instruciuni de executat,
totodat deine i registre care in variabilele curente de lucru. Are de asemenea o stiva care conine istoricul execuiei,
cu un cadru pentru fiecare procedura apelat din care nu s-a revenit nc. Dei un fir de execuie trebuie s ruleze ntrun proces,firul i procesul sunt concepte diferite i pot fi tratate separat. Procesele sunt utilizate pentru a grup resurse,
n timp ce firele de execuie sunt entiti planificate pentru execuie n cadrul UCP (unitate central de procesare).
Modul de lucru al firelor de execuie este: partajeaz spaiul de adrese, fiiere deschise i ale resurse sau
partajeaz memoria fizic , discurile, imprimantele i alte resurse.
Prin comutarea ntre mai multe procese, sistemul ofer iluzia unor procese secveniale separate care se
execut n paralel. Programarea cu fire de execuie multiple funcioneaz n acelai mod: UCP comut rapid ntre
firele de execuie oferind iluzia c acestea ruleaz n paralel, dei pe o UCP mai lent dect pe cea real. n cazul unui
proces cu trei fire de execuie, toate efectund calcule, acestea pr s se execute n paralel, fiecare pe o UCP cu o
vitez de trei ori mai mic dect a UCP reale.
Situaiile n care dou sau mai multe procese citesc i scriu date partajate i rezultatul final depinde de cine
ce execut exact cnd, se numesc condiii de curs (race conditions). Rezolvarea acestora o reprezint excluderea
mutual (mutual exclusion), adic o cale prin care s fim asigurai c dac un proces folosete o variabila partajat sau
un fiier, celelalte procese nu vor putea face acelai lucru. Pentru a avea o soluie bun trebuie ndeplinite patru
condiii:
oricare dou procese nu se pot afla simultan n regiunile lor critice1;
nici un fel de presupunere nu se poate face asupra vitezelor sau numrului de UCP-uri;
nici un proces care ruleaz n afara regiunii lui critice nu poate bloca alte procese;
nici un proces nu trebuie sa atepte la infinit pentru a intra n regiunea lui critic.

Partea de program n care memoria partajat este accesat

Figura 3.2A Excluderea mutual folosind regiuni critice


Interblocrile sunt situaiile cnd dou sau mai multe procese interacioneaz, i se ajunge la situaii
conflictuale din care nu mai pot iei(exemplu: ca i n traficul rutier dintr-o intersecie).
Dispozitivele de I/O sunt acele dispozitive care preiau intrri i genereaz ieiri. La ce ar fi bun un calculator
dac utilizatorii n-ar putea s-i spun ce s fac i n-ar putea prelua rezultatele activitii solicitate.
Fiier - 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. [Silberschatz04]
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
2

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

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.
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 avei
posibilitatea s utilizai permisiuni i criptare pentru a restriciona accesul la anumite fiiere numai la utilizatorii
autorizai. Acest sistem de fiiere folosete adrese de disc de 64 de bii i poate suporta partiii de pn la 264 bytes,
totodat 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.

1.5 Gestiunea memoriei i dispozitivelor I/O


Memoria ocup locul doi ca importan n structura unui sistem de calcul dup procesor i este de tip ierarhic
i este caracterizata astfel:

puin memorie cache foarte rapid, scump i volatil


mult RAM3 de vitez medie, nu foarte scump i volatil
foarte mult spaiu de stocare pe disc lent, ieftin i nevolatil.
BIOS4-ul este un program de mrime mic (< 2MB) fr de care computerul nu poate funciona, acesta
reprezint interfaa intre componentele din sistem i sistemul de operare.
n zilele noastre un calculator personal - PC are n prezent mai mult memorie dect calculatorul IBM 7094,
cel mai mare calculator din lume la nceputul anilor 1960.n zilelor noastre programele cresc n dimensiune mai repede
dect memoria. Legea lui Parkison spune ca programele se extind pentru a ocupa toat memoria care le este pus la
dispoziie.
Ideea este c orice programator ar vrea ca memoria sa fie infinit de mare, infinit de rapid, nevolatil, adic
s i pstreze coninutul cnd nu este alimentat de curent.
Partea sistemului de operare care gestioneaz aceast memorie ierarhic se numete manager de memorie.
Este sarcina sa s urmreasc ce pri de memorie sunt libere, s aloce memorie proceselor cnd acestea au nevoie,
s dealoce memoria cnd procesele au terminat i s fac transferul dintre memoria principala i disc atunci cnd
memoria principal este insuficient pentru a conine toate procesele.
Sistemele de gestiune a memoriei pot fi mprite n dou categorii: cele care mut procesele ntre memorie
i disc n timpul execuiei acestora (interschimbare swapping i paginare) i cele care nu fac aceste operaii.
Trebuie s nelegem c interschimbarea i paginarea sunt n mare parte metode ce compenseaz lipsa unei
memorii principale suficient de mare nct s poat conine toate programele ce ruleaz la un moment dat. De exemplu,
Microsoft recomand urmtoarele specificaii pentru sistemul de operare Windows 7: Procesor: 1 GHz; RAM - 1
GB -2 GB i spaiu pe Hard Disk - 16 GB, asta n timp ce pentru Windows XP recomanda: Procesor: 200 MHz; RAM
128 MB i spaiu pe Hard Disk 1,5 GB.
Sistemul de operare cnd este n RAM ca i n cazul (a) a fost folosit n trecut pe mainframe-uri5 i
minicalculatoare, dra n prezent nu mai este ntlnit aproape nicieri. Cnd este inut ca i n cazul (b) n ROM l
ntlnim pe PDA-uri6 i sisteme ncorporate, iar al treilea model a fost folosit pe primele calculatoare personale
(exemplu: cele pe care rulau MS-DOS, unde poriunea sistemului care se afla n ROM se numete BIOS.
Driverele
Sistemul
de echipament n
de operare n
ROM
Programul
ROM7
utilizatorului
Programul
utilizatorului
Sistemul
de

operare

Programul
utilizatorului

RAM

Sistemul
de

operare

RAM
(a)

(b)

(c)

Figura 3. 3 Trei moduri simple de organizare a memoriei pentru un sistem de operare i un singur
proces al utilizatorului
Cu excepia sistemelor ncorporate simple, monoprogramarea nu mai este folosit aproape nicieri. Cele mai
multe sisteme moderne permit rularea mai multor procese n acelai timp. A avea mai multe programe care ruleaz
3

Random Access Memory Memorie cu Acces Aleator


Basic Input Output Sistem Sistem elementar de Intrare/Ieire
5
Sisteme mari de calcul
6
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
4

simultan nseamn c atunci cnd unul din procese este blocat ateptnd ca o operaie de I/E sa se termine, alt proces
poate utiliza procesorul. Deci multiprogramarea creste gradul de utilizare al procesorului. Dac n trecut numai
serverele de reea aveau ntotdeauna capacitatea de a rula mai multe procese n acelai timp pentru mai muli clieni,
n zilele noastre PC-urile personale au aceast capacitate.
Cea mai simpl modalitate de a face multiprogramarea este de a diviza memoria n N partiii posibil inegale
ca dimensiune, iar aceste partiii pot fi fcute manual la pornirea sistemului de operare. Cnd un proces trebuie
executat, va fi pus n coada de intrare a celei mai mici partiii care este suficient de mare pentru a-l cuprinde. Deoarece
partiiile sunt fixe, orice spaiu care nu este folosit de un proces, va fi pierdut.
Dezavantajul sortrii proceselor apare cnd o coada pentru o partiie mare este goal i o coad pentru o
partiie mic este plin (exemplu partiiile 1 i 3 din figura de mai jos).

Figura 3. 4 Partiii fixe ale memoriei cu cozi separate pentru fiecare partiie / Partiii fixe ale
memoriei cu o singur coad de intrare
Aici procese mici trebuie s atepte pentru a fi ncrcate n memorie, dei este suficient memorie liber,
alternativa ar fi s fie organizate ntr-o singur coad de ateptare. Deoarece cnd o partiie devine liber, procesul cel
mai apropiat de nceputul cozii care ncape n partiia respectiv va fi ncrcat i rulat n spaiul liber creat. Deoarece
este de preferat sa nu se piard o partiie mare pentru un proces mic, deci o strategie ar fi atunci cnd se elibereaz o
partiie s se caute prin toat coada de intrare cel mai mare proces care se potrivete. ns acest algoritm
dezavantajeaz procesele mici care se consider c nu merit o partiie pentru ele, n condiiile n care este de preferat
s se ofere proceselor mici cea mai buna servire, nu cea mai proast. Soluia ar reprezenta-o alocarea unei partiii mici
pentru rularea acestor procese, sau o alt soluie ar fi o regul care s nu permit ca un proces s fie srit mai mult de
k ori.
Acest sistem cu partiii fixe alese de operator dimineaa i care nu se mai schimb, a fost muli ani de OS/260.
Pe marile sisteme de calcul IBM, i se numeau MFT8, ns n prezent acest model nu mai este implementat decat de
foarte puine sisteme de operare (Exemplu: mainframe-uri).
n funcie de echipamentul folosit exist dou strategii de gestiune a memoriei: interschimbare (swapping)
aducerea unui proces n memorie, execuia sa pentru un timp, apoi trecerea lui napoi pe disc i memorie virtual
permite programelor s ruleze chiar dac nu sunt ncrcate complet n memorie.

Figura 3. 5 Alocarea memoriei se schimba pe msur ce procesele vin i pleac din memorie
Observaie: Regiunile haurate reprezint memoria nefolosit.

Multiprogramming with a fixed number of Tasks- Multiprogramare cu un numr fix de sarcini

Figura 3. 6 Gestiunea memoriei cu hri de bii

Figura 3. 7 Gestiunea memoriei cu liste nlnuite


Atunci cnd procesele i spaiile libere sunt pstrate ntr-o list sortate dup adresa, exist algoritmi care pot
fi folosii pentru alocarea de memorie pentru un nou proces (sau un proces care este adus de pe disc n memorie)
Algoritmul prima potrivire gestionarul de memorie caut n lista de segmente un spaiu suficient de mare
liber, l sparge n dou: o parte pentru proces i cealalt parte rmne liber, este rapid deoarece caut ct mai puin
posibil.
Algoritmul urmtoarea potrivire funcioneaz ca i algoritmul prima potrivire, dar n plus memoreaz
poziia unde a gsit spaiul, la urmtoarea cutare nu mai parcurge lista nc o data, este mai lent dect prima potrivire
conform simulrilor lui Bays din 1977.
Algoritmul cea mai bun potrivire - caut n toat lista i alege spaiul liber cel mai mic care este potrivit,
este mai lent dect prima potrivire deoarece trebuie s caut n toat lista.
Algoritmul cea mai proast potrivire - alege spaiul cel mai mare astfel nct spaiul rmas s fie suficient
de mare s fie util, simulrile au artat c nu este cea mai bun soluie.
Toi 4 algoritmii pot fi mbuntii prin pstrarea a doua liste separate una pentru spaii i una pentru procese.
Ins preul pltit pentru viteza este complexitatea suplimentar i ncetinirea dealocrii memoriei.
Algoritmul potrivirea rapid - ine liste separate pentru cele mai uzuale dimensiuni cerute.
Memoria virtual - cele mai multe sisteme de memorie virtual folosesc o tehnic numit paginare.

Figura 3. 8 Poziia i funcia MMU9 , dup cum se vede este parte a cipului procesorului.
Algoritmi de nlocuire a paginilor apar atunci cnd eroarea din pagina ne indic:
Ce pagin trebuie s nlocuim
9

Memory Management Unit Unitatea de gestiune a memoriei

S facem loc paginii ce urmeaz


Modificarea paginii trebuie prima dat salvat
Nemodificrile sunt rescrise
Este bine s alegem s utilizm o pagin care nu este deja deschis
Va fi nevoie s o aducem napoi curnd.

Dispozitive de Intrare / Ieire:


Device-urile de Intrare: sunt cele utilizate pentru a converti datele de intrare nonsens ale utilizatorilor n
cod intern pe care calculatorul le nelege, utilizeaz i stocheaz ca i cod ASCII
Device-urile Ieire: sunt utilizate pentru a decoda rezultatele dup ce sunt procesate de calculator n ieiri.
Vitezele de transfer a componentelor de I/O:
Device

Date rate

Keyboard

10 bytes/sec

Mouse

100 bytes/sec

56K modem

7 KB/sec

Telephone Channel

8 KB/sec

Dual ISDN lines

16 KB/sec

Laser printer

100 KB/sec

Scanner

400 KB/sec

Classic Ethernet

1.25 MB/sec

USB ( Universal Serial Bus)

1.5 MB/sec

USB 2.0

480MB/sec

USB 3.0

4800MB/sec

Digital camcorder

4 MB/sec

IDE disk

5 MB/sec

40x CD-ROM

6 MB/sec

Fast Ethernet

12.5 Mb/sec

ISA Bus

16.7 MB/sec

EIDE (ATA-2) disk

16.7 MB/sec

FireWire (IEEE 1394)

50 MB/sec - 800MB/sec

XGA Monitor

60 MB/sec

SONET OC-12 network

78 MB/sec

SCSI Ultra 2 disk

80 MB/sec

Gigabit Ethernet

125 MB/sec

Ultrium tape

320 Mb/sec

PCI bus
528 Mb/sec
Sun
Gigaplane
XB
Backplane
20 GB/sec
Tabel 3. 1 Rate de transfer pe componente de I/O

1.6 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 mririi 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 a erorilor ntreg
sistemul poate fi 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 n arhitectura RAID un compromis i o nelegere 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 performant metod de stocare


RAID;
se nsumeaz capacitile discurilor.
Avantajul este dat de distribuia
operaiilor de scriere/citire pe mai multe
discuri, simultan;
performanta crecut a matricii;
lipsa redundanei, defectarea oricrui
disc ducnd la compromiterea ntregii
matrice.

Figura 3. 9 RAID 0

Figura 3. 10 RAID 1

RAID 1
este
oglindirea
dispozitivelor
(mirroring);
dac se folosesc dou discuri n RAID1
informaia va fi stocat pe ambele, n
oglind;

RAID 3
oricare din ele poate ceda, fr s
afecteze integritatea matricei;
Performana este afectat, deoarece
scrierea/citirea se face simultan;
spaiul de stocare este de jumtate;
numr par de discuri.

Figura 3. 11 RAID 3
RAID 5
redundan de nivel N+1;
viabil de la mai mult de 3 discuri/partiii
ntr-o matrice;
scrierea informaiilor de paritate se face
pe toate discurile,
pentru un numr mare de discuri este cea
mai eficient metod;
capacitate de stocare este data de
(capacitatea unui disc)*(numrul de
discuri -1).

Figura 3. 12 RAID 5

RAID

RAID 0

RAID 1

RAID 5

RAID 6

Nr minim de
HDD

RAID
10

RAID
50

6
de la un
disc
czut n
fiecare
sub-ir

de la doua
discuri czute
n fiecare subir

RAID 60

Protecia
Datelor

NU

un hdd
czut

un hdd czut

dou hdd czute

4
de la un
disk
czut n
fiecare
sub-ir

Performanta
Citire

Ridicat

Ridicat

Ridicat

Ridicat

Ridicat

Ridicat

Ridicat

Performanta
Scriere

Ridicat

Medie

Sczut

Sczut

Mediu

Mediu

Mediu

Performanta
Citire
(degradata)

N/A

Medie

Sczut

Sczut

Ridicat

Mediu

Mediu

RAID
Performanta
Scriere
(degradata)
Capacitatea
de utilizare

Aplicaii

RAID
10

RAID
50

sczut

Ridicat

Mediu

67% - 94%

50% - 88%

50%

67%94%

50% - 88%

Depozite BD,
servicii web,
arhivari

arhive
DB,
backup pe disc,
soluii
de
disponibilitate
foarte
mare,
servere
cu
cerine mari de
capacitate

BD
rapide,
servere
de
aplicaii

BD
mari,
Servere
de
fiiere,
servere
de
aplicaii

arhive
DB,
backup
pe
disc, soluii de
disponibilitate
foarte mare,
servere
cu
cerine mari
de capacitate

RAID 0

RAID 1

N/A

Ridicat

Sczut

100%
Staii de
lucru,
loguri de
date,
redarea n
timp real,
date
foarte
tranzitorii

50%

Sisteme
de
operare,
tranzacii
n DB

RAID 5

RAID 6

RAID 60

Sczut

1.7 Securitatea sistemelor de operare


Tehnologiile de securitate ale calculatorului sunt bazate pe logic. 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 n calcul securitatea, uneori, o
combinaie de abordri este valabil:
ncredere ca software-ul s respecte o politic de securitate, dar software-ul nu este de ncredere.
ncredere n toate software-ul s respecte o politic de securitate i software-ul este validat ca de ncredere.
(prin filiala tedious i analiz calea de exemplu).
ncrederea software-ul, dar nu pune n aplicare o politic de securitate, cu mecanisme care nu sunt de
ncredere (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. Abordrile unu i trei duc la eec. Deoarece numrul
de abordare patru este adesea bazat pe mecanisme de hardware i evit o multitudine de grade de libertate, este mai
practic. Combinaiile de abordri dou i patru sunt adesea folosite ntr-o arhitectur stratificat 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 n deplin siguran.
Design-ar trebui s utilizeze tehnica 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 pclirea altul. De
asemenea, principiul cascad recunoate c mai multe obstacole de sczut, care nu face un obstacol mare. Deci, n
cascada de mai multe mecanisme de slab, nu ofer sigurana unui singur mecanism mai puternic.
Subsistemele trebuie s funcioneze implicit pentru a asigura setrile, i ori de cte ori este posibil ar trebui
s fie concepute pentru c 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 de totul sau nimic. Designerii 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.

1.7.1 Tipuri de atac


1.7.1.1

Atacuri DOS

Atacurile de tip Denial of Service10 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 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;
10

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

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.
1.7.1.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.
1.7.1.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 au 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).

1.8 ntrebri recapitulative


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Care sunt funciile de baz ale Sistemelor de operare?


Ce este un proces?
Ce este un fir de excuie?
Care sunt diferenele ntre sistemul de fiiere FAT32 vs NTFS?
Cte tipuri de memorie exist?
Ce este memoria interna?
Cte tipuri de RAID sunt i care anume?
Definii RAID 1.
Definii RAID 5.
Care sunt tipurile de atacuri?
Ce este un firewall?

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