CUPRINS
CUPRINS va
PREFATA XXVII
1 INTRODUCERE 1
1.1 CE ESTE UN SISTEM DE OPERARE? 3
111 _ Sistemul de operare ca extensie functionala a masinii 3
1.1.2 _ Sistemul de operare ca administrator de resurse 4
1.2 ISTORIA SISTEMELOR DE OPERARE 5
1.21 Prima generatie (1945 — 1955). Tuburi cu vid si placi de conexiuni 6
122 A doua generatie (1955 — 1965). Tranzistoare si sisteme cu procesare pe
loturi de lucrari (batchprocessing) 7
123 Generafia a treia (1965 ~ 1980). Circuite integrate si multiprogramare 9
124 — Generatia a patra (1980 — pnd in prezent). Calculatoare personale B
1.2.5 Ontogeneza reia filogeneza 15
1.3 GRADINA ZOOLOGICA A SISTEMELOR DE OPERARE 17vill
CUPRINS
13.1 Sisteme de operare pentru masinile mari de calcul
13.2. Sisteme de operare pentru servere
13.3 Sisteme de operare multiprocesor
13.4 Sisteme de operare pentru calculatoare personale
135. Sisteme de operare in timp real
136 — Sisteme de operare pentru dispozitive incorporate
1.3.7 Sisteme de operare pentru cartele inteligente
1.4 NOJIUNI DESPRE STRUCTURA HARD A CALCULATORULUI
14.1 — Procesoare
142 Memorie
143 _ Dispozitive de /E
144 Magistrale
LS CONCEPTE ALE SISTEMULUI DE OPERARE
15.1 Procese
15.2 Interblocarile
15.3 Administrarea memoriei
154 Intrare/fesire
155 Fisiere
15.6 Securitatea
15.7 Interpretorul de comenzi (shell)
158 — "Reciclarea” conceptelor
1.6 APELURI DE SISTEM
1.6.1. Apeluri de sistem pentru administrarea proceselor
1.6.2 Apeluri de sistem pentru administrarea fisierelor
1.6.3 Apeluri de sistem pentru administrarea cataloagelor
164 — Apeluri de sistem diverse
1.65. Interfata de programare Windows Win32
42
48
48
50
51CUPRINS
1.7 STRUCTURA SISTEMELOR DE OPERARE
171
ere:
173
174
175
Sisteme monolitice
Sisteme structurate pe nivele
Masini virtuale
Exokernel-uri
Modelul client-server
1.8 CERCETARI iN DOMENIUL SISTEMELOR DE OPERARE
1.9 RESTUL CART iN REZUMAT
1.10 UNITATI DE MASURA.
1.11 REZUMAT
PROBLEME
2 PPROCESE SI FIRE DE EXECUTIE
2.1 PROCESE
2.1.1 Modelul de proces
2.12 — Crearea proceselor
21.3 Terminarea proceselor
21.4 — Ierathii de procese
21.5 — Stirile unui proces
2.1.6 — Implementarea proceselor
2.2. FIRE DE EXECUTIE
2.21
2.2.2.
ae
22.4
2.2.5
2.2.6
Modelut firelor de executie
Utilizarea firelor de executie
Implementarea firelor de executie in spatiul utilizator
Implementarea firclor de executie in nucleu
Implementiri hibride
Activarea planficatorului
53
53
34
55
57
58
59
61
62
63
67
67
68
69
n
72
nR
um
16
16
79
84
87
88
88CUPRINS
3 INTERBLOCARI (DEADLOCKS)
SL
3.2
i:3,
3.4
3.5
3.6
37
RESURSE
3.1.1 Resurse preemptibile si non-preemptibile
3.1.2 Obtinerea accesului la resurse
INTRODUCERE IN INTERBLOCARI
32.1 — Conditii pentru interblocare
3.2.2 Modelarea interblocarilor
ALGORITMUL STRUTULUI
DETECTAREA INTERBLOCARII $I RESTAURAREA
3.4.1 Detectarea interblocarii pentru o singura resursa din fiecare tip
3.4.2 Detectarea interblocarii pentru mai multe resurse din fiecare tip
34.3 Restaurarea in urma interblocarii
EVITAREA INTERBLOCARIL
35.1 Traiectoriile resurselor
35.2 Stari sigure si nesigure
353 Algoritmul bancherului pentru o singurd resursi
3.54 Algoritmul oer) pentru resurse multiple.
PREVENIREA INTERBLOCARIL
3.6.1 Combaterea condifiei de excludere mutuala
362 Combaterea conditiei de detinere si asteptare
363 Combaterea conditiei de lipsi a preemptiei
3.6.4 Combaterea conditiei de asteptare circulara
ALTE PROBLEME
3.7.1 Blocarea in doua faze (Two-phase Locking)
3.7.2. Interblocari care nn implicd resurse
3.73 Infometare
149
157
158
160
162
163
165
166
167
169
169
169
170
170
171
im
172
172xii
CUPRINS
3.8 CERCETARI ASUPRA INTERBLOCARILOR
3.9 REZUMAT
PROBLEME
4 GESTIUNEA MEMORIEI
4.1 GESTIUNEA ELEMENTARA A MEMORIEL
41d
4.12
413
414
415
Monoprogramare fara interschimbare (swapping) sau paginare
Multiprogramare cu partiii fixe
Modelarea multiprogramarii
Analiza performantelor unui sistem cu multiprogramare
Relocarea $i protejarea
4.2 INTERSCHIMBAREA
421
422
Gestiunea memoriei utilizand harti de biti
Gestiunea memoriei utilizand liste inlantuite
43 MEMORIA VIRTUALA
43.1
432
439
434
Paginarea
Tabelele de pagini
Memorii tampon pentru translatare
Tabele inversate de pagini
4.4 ALGORITMI DE iNLOCUIRE A PAGINILOR
441
442
443
444
445
4:46
447
Algoritmul optim de inlocuire a paginilor
Algoritmul inlocuirii paginilor care mu au fost accesate recent
Aeortmilie inlocuire a paginilor primul intrat - primul iesit.
Algoritmul ce.ci de a doua sanse
fnlocuirea paginilor dupa ceas
Algoritmul de inlocuire a paginilor cele mai demult folosite
Simularea LRU in program
173
173
174
179
180
180
181
182
184
185
186
188
18945
4.6
47
48
CUPRINS
4.48 — Algoritmul inlocuirii paginilor din setul de de lucra
449 — Algoritmul ceasului gi setul de lucru de inlocuire a paginilor
44.10 Rezumatul algoritmilor de inlocuire a paginilor
MODELAREA ALGORITMILOR DE {NLOCUIRE A PAGINILOR
45.1 Anomalia lui Belady
452 Algoritmi pe stiva
453. Sirul distanfelor
454 Predictia ratei de defecte de pagina
ASPECTE DE PROIECTARE A SISTEMELOR DE PAGINARE
4.6.1 Politici de alocare locala versus politici de alocare global
4.62 — Controlul incircarii memoriei
4.63 Dimensiunea paginii
4.64 — Spatii de adrese separate pentru Instructiuni si Date
4.65 — Pagini partajate
466 Politica de curatare
4.6.7 Interfata memoriei virtuale
ASPECTE DE IMPLEMENTARE
4.7.1 Implicarea sistemului de operare in paginare
472 Tratarea defectelor de pagina
473 Salvarea instructiunilor
4.1.4 Blocarea paginilor in memorie
4.15 Zona destocare
4.76 — Separarea intre politici si mecanisme
SEGMETAREA
481 —_ Implementarea segmentirii
482 — Segmentare cu Paginare: MULTICS
483 Segmentarea cu paginare: Intel Pentium
xiii
209
212
214
215
215
218
219CUPRINS
4.9 CERCETARI ASUPRA GESTIONART MEMORIEL
4.10 REZUMAT
PROBLEME
5 INTRARI/IESIRI
5.1 PRINCIPMILE HARDULUI DE I/E
51
5.12
513
5.14
515,
Echipamente de /E
Controloare de echipamente
Y/E cu corespondenta in memorie (Memory-Mapped I/O)
‘Acces direct la memorie (DMA)
Din nou despre intreruperi
5.2 PRINCIPITLE SOFTULUI DE VE
5.21
5.22
5.23
5.24
Scopurile softului de /E
VE programate
V/E conduse prin intreruperi
VEE folosind DMA
5.3 NIVELURILE SOFTULUI DE IE
531 — Rutinele de tratare a intreruperilor (Interrupt handlers)
532 Drivere de echipament
533 — Soft de VE independent de echipament
534 — Soft de V/E din spatiul utilizator
5.4 DISCURI
541 Hardul discului
542 Formatarea Discurilor
543 Braful discului gialgoritmi de planificare
5.44 Tratarea erorilor
545 — Stocare stabil
247
247
248
255
255
256
257
258
262
264
267
269
270
27
272
272
273
276
281
283
283
297
303
305CUPRINS xv
308
1 Hardul ceasului 308
52 — Softul ceasurilor 309
553 — Cronometre soft 312
-TERMINALE ORIENTATE PE CARACTER 313
56.1 Terminalul RS-232 (hard) 314
5.62 Sofware-ul de intrare 316
563 Softul de iesire 320
INTERFETE GRAFICE UTILIZATOR 321
57.1 Tastaturd, Mouse si Dispozitive de afigare pentru calculatoare personale 321
5.7.2 Partea soft de intrare 325
513. Partea soft de iesire pentru Windows 326
TERMINALE DE REJEA 333
581 Sistemul X Window 334
582 Terminalul de retea SLIM 337
GESTIONAREA ENERGIEI 340
59.1 Probleme hard 341
59.2 Probleme ale sistemului de operare 342.
593 Operarea degradata 347
5.10 CERCETARI iN DOMENIUL INTRARE/ IESIRE 348
5.11 REZUMAT 349
PROBLEME 350
6 SISTEME DE FISIERE 357.
«6A. FISTERE 358
6.1.1 Numirea fisierelor 3566.2
63
64
CUPRINS
6.1.2 — Structura fisierelor
6.1.3 Tipuri de figiere
614 — Accesarea fisierelor
6.15 Auributele fisierelor
616 — Operatile fisierelor
6.7 Unexemplu de program care foloseste apeluri de sistem
618 — Fisiere direct in memorie
CATALOAGE
6.2.1 Sisteme cu un singur nivel de cataloage
62.2 Sisteme de cataloage cu doua nivele
6.23 Sisteme de cataloage ierarhice
624 — Numele cailor
6.2.5 Operatiile cataloagelor
IMPLEMENTAREA SISTEMULUI DE FISIERE
6.3.1
6.3.2
63.3
63.4
63.5
6.3.6
63.7
638
Planul sistemului de fisiere
Implementarea fisierelor
Implementarea cataloagelor
Figiere partajate
Gestiunea spatiului pe dise
Fiabilitatea sistemului de fisiere
Performanta sistemului de fisiere
Sisteme de fisiere cu structurd de jurnal
EXEMPLE DE SISTEME DE FISIERE
64.1
6.4.2
643
644
Sisteme de fisiere pentru CD-ROM
Sistemul de fisiere CP/M
Sisteiul de figiere MS-DOS.
Sistemul de fisiere Windows 98
360
361
363
363
364
366
368
370
370
370
371
372
374
375
375
376
381
384
386
391
399
402
404
404
409
412
41565
6.6
CUPRINS
645 — Sistemul de fisiere UNIX V7
CERCETARI ASUPRA SISTEMELOR DE FISTERE
REZUMAT
PROBLEME
7 SISTEME DE OPERARE MULTIMEDIA
TL
72
73
7A
75
76.
INTRODUCERE iN MULTIMEDIA
FISIERE MULTIMEDIA
721 Codificarea audio
7.2.2 Codificarea video
COMPRESIA VIDEO
73.1 Standardul JPEG
73.2 Standardul MPEG
PLANIFICAREA PROCESELOR MULTIMEDIA
74.1 Planificarea proceselor omogene
742 — Nofiuni generale de planificare pentru timp real
743 Planificare cu rata monotona
744 — Planificare cu prioritate pentru primul termen limita
PARADIGME ALE SISTEMELOR DE FISIERE MULTIMEDIA
75.1 Funetiide control VCR
75.2 Video la cerere intarziat
753 Video la cerere intarziat cu functii VCR
AMPLASAREA FISIERELOR
7.6.1 Amplasarea unui fisier pe un singur disc
7.6.2 - Douastrategii alternative de organizare a fisierelor
7.6.3 Amplasarea fisierelor pentru video aproape la cerere
(near video-on-demand)
xvii
418
420
421
422
427
428
431
433
434
437
437
440
442
442
443
445
447
448
450
451
453
453
454
457will
Ve
78
79
CUPRINS
7.64 Amplasarea mai multor figiere pe un singur dise
7.65 Amplasarea fisierelor pe mai multe discuri
FOLOSIREA MEMORIEI INTERMEDIARE (CACHING)
77.1 Folosirea memoriei intermediare pe blocuri
7.7.2 Folosirea memoriei intermediare pentru fisiere
PLANIFICAREA OPERATILOR PE DISC PENTRU MULTIMEDIA.
78.1 Planificarea staticd a discului
782 Planificarea dinamica a operatillor pe disc
CERCETARILE ASUPRA MULTIMEDIA
7.10 REZUMAT
PROBLEME
SISTEMELE MULTIPROCESOR
3.1
8.2
SISTEMELE MULTPROCESOR
8.1.1 Hardul sistemelor multiprocesor
8.1.2 Tipuri de sisteme de operare multiprocesor
8.13. Sincronizarea sistemelor multiprocesor
8.14 — Planificarea sistemelor multiprocesor
SISTEME MULTICALCULATOR
82.1 Hardul Multicalculatoarelor
8.2.2 Soft de Comunicare de Nivel Scdizut
8.23 — Soft pentru Comunicare la Nivel Utilizator
82.4 — Apel de Proceduri la Distant& (Remote Procedure Call)
8.25 Memorie Distribuita Partajata
826 Planificarea in Multicalculatoare
827 — Distribuirea inearcarii
459
461
463
463.
464
465
467
468
469
469
473
475
476
482
486
490
495
495,
499
502
505
507
Su
512CUPRINS
8.3 SISTEME DISTRIBUITE
83.1
83.2
83.3
834
835
83.6
Componentele Hard ale refelei
Servicii de retea gi protocoale
Middleware bazat pe documente
Middleware bazat pe figiere
Middleware bazat pe obiecte partajate
Middleware bazat pe coordonare
8.4 CERCETARI iN SISTEME CU MAI MULTE PROCESOARE
8.5 REZUMAT
PROBLEME
9 SECURITATE
9.1 MEDIUL SECURITATIL
911
9.1.2
913
Amenintari
Intrusi
Pierderea accidental a datelor
9.2 BAZELE CRIPTOGRAFIEL
9.2.1
92.2
9.23
92.4
Criptografia cu chei secrete
Criptografia cu chei publice
Functii greu inversabile
Semniturile digitale
93 AUTENTIFICAREA UTILIZATORILOR
93.4
93.2
933.
O34
Autentificarea folosind parole
Autentificarea folosind un obiect fizic
Autentificarea folosind date biometrice
Contramisuri
SiS
518
520
52
525
531
537
542
543
543
549
567
569CUPRINS
94 ATACURI DIN INTERIORUL SISTEMULUL
95
9.6
9.7
94d
9.4.2
943
9.4.4
945
9.46
947
948
Cai troieni
Falsificarea dialogului de conectare (Login spoofing)
Bombe logice
Capcane (Trap Doors)
Depisirea zonei de memorie tampon (Buffer Overflow)
Atacuri generice de securitate
Defecte de securitate renumite
Principii de proiectare in domeniul securitatii
ATACURI DIN AFARA SISTEMULUL
9.5.1 Scenarii de Pagube cauzate de Virusi
95.2 Cum Functioneaza Virusii
953 Cumse Raspandese Virusii
9.5.4 Antivirusi si Tehnici Anti-Antivirus
9.5.5 Viermele Internetului
9.5.6 Cod Mobil
9.5.7 Securitatea in Java
MECANISME DE PROTECTIE
9.6.1 Domenii de Protectic
9.6.2 Liste de Control al Accesului
9.63 — Capabilitati
SISTEME DE iNCREDERE
9.7.1 Bazi de calcul de incredere
9,72. Modele Formale ale Sistemelor Securizate
9.7.3 Securitate multinivel
974 — Securitatea Cartii Portocalii
9.7.5 Canale ascunse
570
570
572
573
SB
374
576
S77
$79
580
581
582
588
590
596
598CUPRINS
9.8 CERCETAREA iN SECURITATE
9.9 REZUMAT
PROBLEME
10 sTUDIUL DE CAZ 1: UNIX $I LINUX
10.1 ISTORIA UNIX-ULUI
10.1.1
10.1.2
10.1.3
10.14
10.1.5
10.1.6
10.1.7
UNICS
PDP-11 UNIX
UNIX-ul portabil
Berkeley UNIX
UNIX-ul standard
MINIX
Linux
10.2 VEDERE DE ANSAMBLU ASUPRA UNIX-ULUI
10.2.1
10.2.2
10.23
10.2.4
10.25
Scopurile UNIX-ului
Interfete cu UNIX-ul
Interpretorul de comenzi UNIX
Programele utilitare UNIX
Structura nucleului
10.3 PROCESELE iN UNIX.
10.3.1
1032
10.3.3
10.3.4
Concepte fundamentale
Apelurile de sistem de gestiune a proceselor in UNIX
Implementarea proceselor in UNIX
Secventa de pornire a UNIX-ulii
10.4 GESTIUNEA MEMORIEI {N UNIX
. 10.41
10.4.2
Concepte fundamentale
Apelurile de sistem UNIX pentru gestiunea memoriei
623
623
624
629
630
630
631
632
633
633
634
635
637
638
639
642
644
646
646
649
653
662
664
664
667CUPRINS
11.3 STRUCTURA SISTEMULUL
11.3.1 Structura sistemului de operare
11.3.2 Implementarea obiectelor
11.3.3 Subsistemele de mediu
11.4 PROCESE $I FIRE DE EXECUTIE IN WINDOWS 2000
11.4.1 Concepte fundamentale
11.4.2. Apelurile API pentru gestionarea joburilor, proceselor,
firelor de executie sia fibrelor
1143 Implementarea proceselor sia firelor de executie
1144 Emularea MS-nos
1145 Pomirea Windows 2000
11.5 GESTIUNEA MEMORIEL
11.5.1 Concepte fundamentale
11.52 Apeluri de sistem pentru gestiunea memorici
1153 Implementarea gestiunii memoriei
11.6 OPERATII DE INTRARE/IESIRE iN WINDOWS 2000
11.6.1 Concepte fundamentale
11.6.2 Apeluri API de intrare/iesire
11.63 Implementarea mecasnismelor de /E
11.64 Drivere de dispozitiv
11.7 SISTEMUL DE FISIERE WINDOWS 2000
11.7.1 Concepte fundamentale
11.7.2 Functiile API-ului sistemelor de fisiere in Windows 2000
11.7.3 Implementarea sistemului de figiere Windows 2000
11.8 SECURITATEA iN WINDOWS 2000
11.8.1 Concepte fundamentale
11.8.2 Functiile API-ului de securitate
726
727
735
740
743
743,
746
749
755
756
757
758
762
763
769
769
710
772
715
TIS
716
778
788
789
790CUPRINS av
12.45 Indicii 829
12.4.6 Exploatand localizarea 829
124.7 Optimizarea Cazurilor Obignuite 829
12.5 MANAGEMENTUL PROIECTULUL 830
12.5.1 Miticul Om Luna 830
125.2 Structura Echipei 831
1253 Rolul Experientei 833
125.4 Fari Gloante de Argint 834
12.6 TENDINTE iN PROIECTAREA SISTEMELOR DE OPERARE 834
12.6.1 _ Sisteme de Operare cu Spatiu de adreseMare 834
12.6.2 Conectarea in Retea 835
12.63 _ Sisteme Paralele si Distribuite 835
12.64 Multimedia 836
12.65 Calculatoarele pe Baterii 836
12.6.6 Sisteme incorporate 837
12.7 REZUMAT 837
PROBLEME 838
13 LECTURI RECOMANDATE SI BIBLIOGRAFIE 841
13.1 SUGESTI PENTRU LECTURT SUPLIMENTARE 841
13.1.1 Introducere si generalitati 842
13.1.2 Procese si fire de executie 842
13.13 Blocaje 843,
13.14 Gestiunea memoriei 843
13.15 Intrare/lesire 844
13.1.6 Sisteme de fisiere 845
13.1.7 Sisteme de operare multimedia 845