Sunteți pe pagina 1din 6

Curs 1 – Introducere

1. Ce reprezinta un sistem de operare? Care sunt obiectivele de baza ale unui sistem de
operare?
2. Care sunt componentele unui sistem de calcul?
3. Care este rolul unui sistem de operare?
4. Ce reprezinta o intrerupere?
5. Ce reprezinta o „cursa” (trap)?
6. Prezentati ierarhia dispozitivelor de stocare.
7. Ce reprezinta mecanismul de „caching”?
8. Ce reprezinta multitaskingul?
9. Care este diferenta intre multitasking/multiprogramare si multiprocesare?
10. De ce are loc trecerea din user-mode in kernel-mode?
11. Ce presupune managementul proceselor?
12. Ce presupune managementul memoriei?
13. Care este rolul unei masini virtuale?
14. Dati exemplu de situatie in care apare necesitatea unui compromis intre functionalitate si
performanta.

Curs 2 – Structuri ale sistemului de operare

1. Care sunt functiile oferite de un sistem de operare pentru utilizatori?


2. Care sunt functiile unui sistem de operare necesare pentru o operare eficienta?
3. Ce tipuri de interfete pune la dispozitie un sistem de operare utilizatorilor?
4. Ce reprezinta un apel de sistem?
5. Ce tipuri de apeluri de sistem cunoasteti?
6. Ce reprezinta programele de sistem?
7. Ce intelegeti printr-un sistem de operare proiectat pe niveluri (layere)?
8. Care sunt caracteristicile arhitecturilor microkernel?
9. Cum ajuta activitatea de programare paradigma „masinii virtuale”?

Curs 3 – Procese

1. Ce reprezinta un proces?
2. Care sunt componentele unui proces care se regasesc in memorie?
3. Ce reprezinta un Process Control Block (PCB) si care sunt atributele salvate?
4. Care sunt modelele de comunicare intre procese?

Extended:

1. Starile unui proces (diagrama si explicatii).


2. Comutarea intre procese (diagrame si explicatii)
3. Planificarea proceselor (diagrama si explicatii)

Curs 4 – Fire de executie

1. Care este relatia dintre un proces si un fir de executie?


2. Care reprezinta componenta activa a unui proces? Dar componenta pasiva?
3. Care sunt beneficiile utilizarii firelor de executie?
4. Cum se asociaza firele de executie utilizator de firele de executie kernel?
Curs 5 – Planificarea proceselor

1. Cand au loc decizii de planificare a proceselor?


2. Ce intelegeti prin planificare preemptiva?
3. Care este functia dispecerului intr-un sistem de operare?
4. Care pot fi criteriile de planificare a proceselor?
5. Care sunt caracteristicile planificarii round-robin?
6. Care sunt caracteristicile planificarii multinivel?
7. Ce intelegeti prin afinitatea fata de procesor „processor affinity” in cazul multiprocesarii?
8. Ce intelegeti prin balansarea incarcarii „load valancing” in cazul multiprocesarii?
9. Care intre urmatorii algoritmi pot determina infometarea unor procese: FCFS, SJF, Round-
Robin, Priority

Extended:

1. Comparati planificarile FCFS si SJF


2. Care sunt complicatiile pentru planificare in cazul sistemelor multiprocesor?
3. Se considera urmatoarele procese, avand precizate duratele de executie in milisecunde.
Procesele sunt lansate la momentul 0 in ordinea P1, P2, P3, P4, P5. Reprezentati graficul
Gantt pentru FCFS, Round Robin (cuanta = 1), Priority (id de prioritate asociate in ordine
inversa). Care algoritm ofera cel mai mic timp de asteptare?
Proces Timp de executie Prioritate
P1 4 3
P2 3 1
P3 2 3
P4 3 4
P5 1 2

4. Se considera urmatoarele procese, avand precizate duratele de executie in milisecunde.


Procesele sunt lansate la momentul 0 in ordinea P1, P2, P3, P4, P5. Reprezentati graficul
Gantt pentru SJF, Priority (id de prioritate asociate in ordine inversa), FCFS. Care algoritm
ofera cel mai mic timp de asteptare?
Proces Timp de executie Prioritate
P1 5 5
P2 11 1
P3 7 0
P4 3 4
P5 8 2

Curs 6 – Concurenta si sincronizare

1. Ce reprezinta o „conditie de cursa” - race condition? Dati un exemplu.


2. Care este rolul sincronizarii?
3. Ce reprezinta un blocaj – deadlock?
4. Care sunt cele 4 conditii necesare pentru aparitia unui blocaj?
5. Ce intelegeti prin infometarea unui proces? Cand poate avea loc?
6. Ce intelegeti prin excluziune mutuala?
7. Ce reprezinta sectiunea critica dintr-un program?
8. Ce intelegeti prin instructiuni atomice?
9. Care sunt cerintele pentru o buna sincronizare?

Extended:

1. Care sunt rezultatele posibile ale rularii urmatorului program. Reprezentati prin diagrame de
tranzitie posibilele rezultate ale rularii urmatorului program considerand toate operatiile
atomice.
Valoare = 5
Thread 1 Thread 2 Thread 3
1 Y=Y-2 Y=2 Y--
2 Y++

1. Prezentati problema filozofilor la cina si o posibila solutie. Considerati inclusiv scenariul in


care filozofii obtin cate un tacam la un moment dat. Cum pot fi eliminate conditiile de
blocaj?
2. Identificati si detaliati o posibila problema in urmatorul cod ce implementeaza o solutie
pentru „automatul de cola”.

Semaphore fullBuffer = 0; // la momentul initial aparatul nu are cola


Semaphore emptyBuffers = numBuffers; // numarul initial de sloturi goale este maxim
Semaphore mutex = 1; // nimeni nu foloseste masina
Producer(item) {
mutex.P(); // asteapta pana cand masina este libera
emptyBuffers.P(); // asteapta pana cand exista sloturi libere
Enqueue(item);
mutex.V();
fullBuffers.V(); // anunta consumatorul ca s-a alimentat aparatul
}
Consumer() {
fullBuffers.P(); // verifica daca exista cola
mutex.P(); // asteapta pana este libera masina
item = Dequeue();
mutex.V();
emptyBuffers.V(); // anunta producatorul ca exista mai multe sloturi libere
return item;
}

3. Reprezentati diagrama de stare asociata urmatorului program. Justificati pe baza acesteia


nerespectarea cerintei de excluziune mutuala.

Curs 7 – Sincronizare

1. Ce reprezinta o „conditie de cursa” - race condition? Dati un exemplu.


2. Care sunt dezavantajele solutiei Peterson?
3. Ce reprezinta un lacat? Care sunt operatiile unui lacat?
4. Cum poate fi implementat un lacat cu ajutorul intreruperilor?
5. Care sunt dezavantajele dezactivarii intreruperilor pentru sincronizare?
6. Care sunt mecanismele hardware pentru sincronizare?

Extended:

1. Prezentati solutia de sincronizare Peterson. Dovediti ca sunt satisfacute conditiile de


sincronizare.
2. Care este varianta cea mai buna de implementare a unui lacat cu ajutorul intreruperilor?
3. Prezentati si explicati mecanismul test&set. Care sunt avantajele fata de dezactivarea
intreruperilor?

Curs 8-9– Sincronizare si blocaje

1. Ce reprezinta un semafor? Care sunt operatiile unui semafor?


2. Cum se poate obtine excluziunea mutuala cu ajutorul unui semafor?
3. Ce reprezinta un monitor in sincronizarea proceselor?
4. Care sunt metodele pentru gestionarea blocajelor?
5. Care sunt metodele pentru prevenirea blocajelor?
6. Ce reprezinta o stare stabila in contextul unui sistem expus la blocaje?
7. Care sunt solutiile de recuperare in cazul in care apare un blocaj?

Extended:

1. Considerati urmatorul instantaneu al unui sistem. Aplicand algoritmul bancherului,


raspundeti la urmatoarele intrebari:
 Care este continutul coloanei „Nevoie”?
 Sistemul este intr-o stare sigura?
 Se poate accepta o solicitare de la procesul P1 pentru (0,4,2,0)?
Proces Resurse alocate Max Resurse disponibile
ABCD ABCD ABCD
P0 0012 0012 1520
P1 1000 1750
P2 1354 2356
P3 0632 0652
P4 0014 0656

2. Considerati urmatorul instantaneu al unui sistem. Aplicand algoritmul bancherului,


raspundeti la urmatoarele intrebari:
 Care este continutul coloanei „Nevoie”?
 Sistemul este intr-o stare sigura?
 Se poate accepta o solicitare de la procesul P4 pentru (3,3,0)?
Proces Resurse alocate Max Resurse disponibile
ABC ABC ABC
P0 010 753 332
P1 200 322
P2 303 902
P3 211 222
P4 002 433

Curs 10 – Memoria principala

1. Ce presupune din punctul de vedere al memoriei operatia de adunare a 2 numere?


2. Care este diferenta dintre adrese logice si adrese fizice?
3. Care este rolul unitatii de management al memoriei – MMU?
4. Descrieti procesul de swapping?
5. Descrieti mecanismul de gestiune a memoriei bazat pe alocare continua.
6. Ce reprezinta fragmentarea interna? Dar fragmentarea externa?
7. Ce reprezinta o pagina? Dar un frame?

Extended:

1. Cum se poate asigura sistemul de operare faptul ca un proces nu poate accesa spatiul de
memorie al altui proces?
2. Descrieti mecanismul de paginare (cu schema conceptuala).
3. Descrieti mecanismul de segmentare (cu schema conceptuala).

Curs 11 – Memoria virtuala

1. Ce reprezinta memoria virtuala?


2. Ce reprezinta mecanismul de paginare la cerere – „demand paging” in cazul memoriei
virtuale?
3. Ce reprezinta mecanismul de copiere la cerere – „copy on write” in cazul memoriei virtuale?
4. Care sunt algoritmii de inlocuire a paginilor? Detaliati caracteristicile fiecaruia.

Extended:

1. Descrieti mecanismul de paginare la cerere – „demand paging” (cu schema conceptuala).


2. Descrieti mecanismul de inlocuire a paginilor – „page replacement” (cu schema
conceptuala).
1. Considerati urmatorul sir de pagini referite:

1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6

Cate page-faults vor avea loc considerand ca exista un numar de 5 frame-uri si se foloseste
algoritmul:
a) LRU
b) FIFO
c) Optimal

Curs 12 – Sistemul de fisiere

1. Ce reprezinta un fisier? Ce contine un fisier?


2. Care sunt metadatele posibile asociate unui fisier?
3. Care sunt metodele de acces in fisier? Detaliati
4. Ce reprezinta un director?
5. Care sunt mecanismele de protectie la nivel de fisier in UNIX?
6. Care sunt operatiile posibile cu fisiere si comenzile din UNIX asociate?
7. Ce informatii contine un File Control Block – FCB?

Extended:

1. Care este structura necesara pentru implementarea unui sistem de fisiere? Detaliati fiecare
nivel.
2. Modelul de alocare continua a fisierelor. Schema conceptuala. Avantaje si dezavantaje.
3. Modelul de alocare inlantuita a fisierelor. Schema conceptuala. Avantaje si dezavantaje.
4. Modelul de alocare indexata a fisierelor. Schema conceptuala. Avantaje si dezavantaje.

Curs 13 – Securitatea

1. Care sunt componentele de securitate ce trebuie asigurate de un sistem de operare?


2. Ce mecanisme de autentificare cunoasteti?
3. Care sunt metodele de compromitere a parolelor pe care le cunoasteti?
4. Care sunt metodele de intarire ale parolelor pe care le cunoasteti?
5. Care sunt obiectivele mecanismelor de protectie din cadrul unui sistem de opeare?
6. Ce reprezinta un drept de acces?
7. Definiti si exemplificati o matrice de control al accesului.
8. Ce reprezinta o lista de acces – ACL?
9. Ce reprezinta o lista de capabilitati – CAL?
10. Care este paradoxul parolelor scurte vs parolelor lungi?

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