Documente Academic
Documente Profesional
Documente Cultură
1. sum=0
for arg in $*
do
sum=’expr $sum + $arg’
done
echo”$sum”
✓
o rulare de genul ./program.sh 1 2 va afisa ”3”
✓
o rulare de genul ./program.sh va afisa ”0” de fiecare data
✓
o zona de cod in care sunt folosite variabile partajate intre mai multe threaduri
✓
o zona de cod in care pot sa apara conditii de cursa
✓ 7
✓
O intructiune a carei executie nu poate fi intercalata cu alte actiuni (inainte de a se
finaliza)
✓
Copiaza fisierul in folderul backup din directorul curent
✓
Lista proceselor care folosesc fisierul la un moment dat
✓
Adresa fizica se regaseste in spatiul de adrese reale din memoria principala,
adresa logica este relativa la spatiul de adrese pe care le vede procesorul
✓
Fiecare masina virtuala are propriul hardware virtual
✓
Exista un strat de virtualizare care ruleaza deasupra sistemului de operare gazda
✓
Sunt anulate comenzile unui sistem de operare in cadrul altui sistem ?????
✓
daca lacatul este ocupat, test&set citeste 1 si seteaza value=1 (nicio modificare).
Returneaza 1, asa ca bucla continua.
✓
se asigura o instructiune atomica pe baza careia se poate implementa un lacat
?????
✓
daca lacatul este liber, test&set citeste 0 si seteaza value=1, preluand lacatul.
Intoarce 0 la iesire.
✓
la resetarea lui value=0, un alt thread poate prelua lacatul
enter 1=false
enter 2=false
P1 P2
while true loop while true loop
1 await not enter 2 1 await not enter 1
2 enter 1:=true 2 enter 2:=true
3 critical section 3 critical section
4 enter 1:=false 4 enter 2:=false
5 non-critical section 5 non-critical section
end end
✓
Nu este oferita excluziunea mutuala
✓
Folosirea unor apeluri de sistem care sa permita ... fisierelor prin programarea de
aplicatie
✓
Translatarea operatiilor cu fisiere in operatii cu blocuri de date
✓
Iesirea unui program devine intrare pentru alt program
✓
Comunicare unidirectionala dintre 2 procese
✓
Poate influenta constrangeri de planificare (valoarea initiala 0)
✓
Poate influenta pool shared de resurse (valoarea initiala n)
✓
O stare la care nu putem ajunge intr-un blocaj
21. Deciziile de planificare apar atunci cand un proces:
✓
Se termina
✓
Isi schimba starea din executie in gata de executie
✓
Isi schimba starea din asteptare in gata de executie
✓
Isi schimba starea din executie in asteptare
✓
O pagina va avea ca si corespondent in memoria fizica un cadru
✓
Deplasamentul din adresa logica este identic cu cel din adresa fizica
✓
Mai multe programe pot rula in paralel, chiar daca avem un singur procesor in
sistemul de calcul, partajand timpul CPU
✓
Este acelasi lucru cu multiprogramarea
✓
Schimbarea de context mai rapida
✓
Scalabilitate
✓
Creare mai rapida a unui thread fata de un proces
✓
Partajarea resurselor
a. Planificator
b. Kernel
c. Apel de sistem
✓
Dispecer
36. Un lacat este o entitate care are urmatoarele operatii:
✓
Un semafor reprezinta o entitate care are o valoare numerica naturala si 2
operatii P() si V()
✓
Un semafor este un model de lacat generalizat
a. Graf de alocare a resurselor atunci cand exista mai multe instante ale
resurselor
b. Metoda Godzilla
✓
Algoritmul bancherului atunci cand exista mai multe instante ale reurselor
✓
Graf de alocare a resurselor atunci cand exista unice instante ale resurselor
42. O comanda are in general urmatoarea structura:
comanda [optiuni][argumente]
✓
o intrerupere
✓
generata de catre software
✓
declansata de o eroare sau de o cerere venita de la utilizato
1.Realizarea copiilor de siguranţă (backups) are o importanţă deosebită pentru integritatea datelor unei
companii, permiţând acesteia să recupereze eventuale date pierdute. Care dintre următoarele
evenimente nu poate fi cauza unor pierderi sau coruperi de date?
• Stergerea UCP-ului
3. Directorul curent este /home/stud03/ şi dorim să copiem întregul director dir1 pentru a realiza o
copie de siguranţă a acestuia. Noul director se va numi dir1.bak şi va fi situat în acelaşi director ca şi
dir1. Ce comandă veţi utiliza?
• cp –r dir1 dir1.bak
4. Doriţi să afişaţi conţinutul unui director şi vreţi să vizualizați și fișierele ascunse. Ce comandă veţi
utiliza?
• ls -a
5. Doriţi să ştergeţi din directorul curent doar fişierele care încep cu literele „pro”, indiferent
de lungimea numelui. Ce comandă puteţi utiliza?
• rm pro*
7. Directorul curent este /home/stud03. Trebuie să găsiţi toate fişierele care încep cu literele „pr” din
8. Care dintre următoarele variante va corespunde fișierelor ce conțin sirul hello oriunde în numele
fișierului?
• echo *hello*
9. Un fișier are următoarele permisiuni: - r w x r - - - w - . Ce drept are grupul din care face parte
proprietarul fișierului?
• de vizualizare a fișierului
10. Aveți două copii ale unui fișier text dar nu sunteți sigur că cele două fișiere sunt identice.
Ce comandă puteți utiliza pentru a vă asigura de faptul că fișierele sunt identice?
• diff
• Clear; cd ~; ls -la
14. Ce optiune poate fi folosita in cazul comenzii head pentru a afisa doar primele 5 linii dintr-un fisier?
• -5
• Adevarat
16. Care din urmatoarele comenzi va adauga mesajul salut la fisierul output?
• Touch si mkdir
18. Redirectarea output-ului poate fi utilizata pentru a trimite rezultatul unei comenzi intr-un fisier in
locul ecranului. Ce format general de comanda realizeaza acest lucru?
19. Se doreste arhivarea unor fisiere proiect intr-un fisier denumit proiecte.tar si punerea lor intr-un
director copie, fara a fi comprimate. Toate numele de fisiere incep cu pro. Ce comanda vom folosi?
• ^X
22. Simbolul special “|” (pipe) poate fi utilizat pentru a folosi rezultatul unei comenzi drept intrare
pentru alta comanda. Care dintre urmatoarele perechi de comenzi va afisa continutul
directorului current ecran cu ecran?
• Ls -l | more
• >
24. Intotdeauna, valoarea exit-status-ului ultimei comenzi incheiate cu success are valoarea
zero. Adevarat sau fals?
• Adevarat
25. Care sunt componentele unui sistem de calcul?
• Utilizatori
• Sistem de operare
• Program de operatii
• Hardware
If test val- le 0
Then
else
Fi
Rm $ fisier
Done
• Operatiile ce pot fi efectuate de diversi utilizatori asupra unui obiect din sistem
• Nucleul
• Memorie cache
• One to one
• Many to one
• Many to many
• Variabilele globale
• Spinlock
• Mutex
• Semafor
• Spinlock
• Spinlock
• Mutex
• 3
1.Ce reprezinta un sistem de operare? Care sunt obiectivele de baza ale unui sistem de operare?
Un sistem de operare reprezinta un program care are rol de intermediar intre utilizator si
componentele hardware , iar obiectivele de baza sunt :executarea programerol si rezolvarea
usoara a cerintelor utilizatorului, face sistemul de calcul practic pt utilizare , folosirea eficienta a
comp hardware .
Trap este o intrerupere generata de software declansata de o eroare sau cerere a utilizatorului.
Ierarhizarea dispozitivelor de stocare de la cel mai slab la cel mai eficient:casete magnetice,
discuri optice , benzi magnetice, discuri electronice , memoria principala , memoria
cache,registrele.
Caching reprezinta copierea informatiilor intr-un sistem de stocare mai rapid; memoria
principala poate fi vazuta ca un cache pt HDD.
Multitasking-ul este o extensie logica in care CPU trece de la un task la altul atat de frecvent
incat useriii pot interactiona cu fiecare task in timp ce ruleaza .
9.Care este diferenta intre multitasking/multiprogramare si multiprocesare?
Mediile multitasking trebuie sa foloseasca cea mai recenta valoarea ,indiferet de ce e in cahce , in
timp ce multiprocesoarele trebuie sa furnizeze coerenta cache a.i. toate cpu-urile sa beneficieze
de cea mai recenta valoare.
Este necesara un cronometru pentru e preveni un loop infinit sau tinerea la infinit a unor resurse.
Managementul memoriei presupune : urmarirea partilor din memprie care sunt folosite si de
catre cine , alege ce proces si ce date sa fie mutate in sau din memorie si aloca si elibereaza
spatiu in functie de nevoie.
Masinile virtuale au rolul de a asigura unor multipli utilizatori un sistem de calcul care sa
depaseasca limitele impuse catre sistemele clasice orientate catre un singur user .
14.Dati exemplu de situatie in care apare necesitatea unui compromis intre functionalitate si
performanta.
Curs 2 – Structuri ale sistemului de operare
2.Care sunt functiile unui sistem de operare necesare pentru o operare eficienta?
Functiile necesare pentru o operare eficienta sunt :alocarea resurselor , auditare ,si protectie si
securitate.
Tipurile de interfete puse la dispozitie de un sitem de operare sunt :CLI si interfata grafica (GUI)
Cele mai cunoscute apeluri sunt: controlul proceselor , managmentul fisierelor ,managementul
dispozitivelor, mentenanta informatiilo , comunicatiile.
Un sistem de operare proiectat pe niveluri este un in sistem in care straturile sunt construite in
asa fel incat fiecare strat in parte foloseste functiile si serviciile stratelor imediat inferioare.
Programarea ofera urmatoarele beneficii: fiecare proces considera ca are la disp toate resursele
de memorie si procesare , ofera o interfata unitara catre o multitudine de dispozitive diferite ,
interfetele de device ofera mai multa putere fata de hardware-ul in sine.
Curs 3 – Procese
Componentele unui proces care se gasesc in memorie sunt un contor de program , stiva ,
sectiunea de date si text.
3.Ce reprezinta un Process Control Block (PCB) si care sunt atributele salvate?
Blocul de control al unui proces (PCB – Process Control Block) conţine informaţie
asociată fiecărui proces si are urmatoarele atribute : starea procesului , controlul program
,registrii CPU, infromatii despre planifi proceselor , inf despre memoria alocata, de audiate si de
satusul op de i/o.
Procesul contine firele de executie , cel dintati abstractizeaza executia ,resursele si spatiul de
adrese , in timp ce thread-ul abstractizeaza doar executia .
Firele de execcutie se asociaza fie : unul la unul , fie un grup de thread sunt mapate de un grup de
threaduri kernel , fie pe doua niveluri
Deciziile de planificae au loc atunci cand un proces : isi schimba starea din executie in asteptare,
din executie in gata de executie , din asteptare in gata de executie sau se termina.
Prin planificare preemptiva se inteleg urmatoarele :procesele ruleaza un interval maxim de timp,
procesul este suspendat si se planifica altul , este necesara o intrerupere de ceas.
Modul Dispatcher oferta controlul asupra CPU proceselor selectate de planificator , iar acest
lucru implica:schimbare de context, comutare in user mode, saltul la locatia de memorie
adecvata.
Caracteristiciile planificarii round-robin sunt : fiecare proces primeste o cunata de timp , procesul
este intrerupt dupa ce cunanta se termina si adaugat in coada proceselor gata de executie,
performanta si daca sunt n procese fiecare primeste 1/n din timpul CPU.
7.Ce intelegeti prin afinitatea fata de procesor „processor affinity” in cazul multiprocesarii?
Daca un proces este mutat de la un proces la altut , exista un cost reprezentat de invalidarea si
repopularea cache-ului.
Volumul de munca este distribuit uniform pt toate procesoarele , fiind necesar pentu sistemele
care au cozi multiple.
9.Care intre urmatorii algoritmi pot determina infometarea unor procese: FCFS, SJF, Round-
Robin, Priority.
O conditie de cursa apare in momentul in care rezultatul unei executii concurente este dependent
de intercalarea nedeterminista . ex atunci cand se acceseaza sau se modifica variabile sau obiecte
comune.
Rolul sincronizarii este de a rezolva problema generata de conditiile de cursa . iar procesele trb
sa se sincronizeze, presupunand ca procesele comunica intre ele pt a decide o serie de actiuni.
Un blocaj reprezinta situatia in care un grup de procese se blocheaza pentru ca fiecare sproces
asteapta resursele care sunt retiunute de alt proces din grupul de procese.
5.Ce intelegeti prin infometarea unui proces? Cand poate avea loc?
Infometarea reprezinta situatia in care proceselor li se interzice sa aiba acces la resursee pentru o
perioada indelungata .
6.Ce intelegeti prin excluziune mutuala?
Daca un fir de executie isi incepe executia intr-o sectiune critica, va trebui sa continue pana la sfarsitul
sectiunii critice fara a fi anulat.
O instructiune este atomica daca executia ei nu poate fi intercalata cu alte instructiuni inainte de
a se finaliza.
Curs 7 – Sincronizare
Dezavantajele solutiei Peterson sunt : structura complexa , asteptarea activa , exita variante mai
fiabile.
Lacatele sunt mecanisme de sincronizare bazate pe ideea de protocoale de intrare si iesire, iar
operatiile sunt (Lock .Acquie si Lock.Release).
Un lacat poate fi implementat prin impunerea excluziunii mutuale in timpul operatiilor cu aceea
variabila.
4.Care sunt dezavantajele dezactivarii intreruperilor pentru sincronizare?
Excluziunea mutuala se poate obtine prin intrarea unor threaduri in sleep mode in p() si
reactivate prin v(), chiar daca acest lucru nu are loc concomitent.
Un monitor reprezinta un lacat si 0 sau mai multe variabile de contitie pentru a administra
accesul concurent la date partajate.
4.Care sunt metodele pentru gestionarea blocajelor?
Metodele pentru prevenirea blocajelor sunt :evitarea excluziunii mutiale , evitarea situatiilor de
tip hold and wait , preemtie si evitarea asteptarii circulare.
Starea sigura apaare atunci cand un proces necista o resursa disponbila , si decide daca va intra
sau nu in aceea stare. .
Solutiile de recuperare sunt urmatoarele : se inchid fortat toate procesele bloacate , se inchid
fortat pe rand cate un proces blocat pana cand este inlaturat ciclul din blocaj.
Adresa logica este generata de CPU , iar adresa fizica este vazuta de unitate de memoria ,
diferenta fiind daca legarea se face la executie.
Fragmentarea interna reprezinta memoria alocata ce poate fi putin mai mare decat memoria
ceruta , iar fragmentarea externa reprezinta spatiul total disponibil pentru satisfacerea unor
cerinta , dar nu este contigu.
O pagina reprezinta un bloc rezultat din diviziunea memoriei logice , iar un frame reprezinta un
bloc de marime fixa rezultat din diviziunea memoriei fizice (intre 512 butes si 16 mb).
2.Ce reprezinta mecanismul de paginare la cerere – „demand paging” in cazul memoriei virtuale?
O pagina este adusa in MP doar atunci cand este cazul si necista mai putin i/o , foloseste mai
putina memorie , raspunde mai rapid, mai multi utilizatori .
3.Ce reprezinta mecanismul de copiere la cerere – „copy on write” in cazul memoriei virtuale?
COW permite atat proceselor copil si parinte sa partajeze la momentul initial aceleasi pagini in
memorie si permite crearea mai eficienta a noilor procese pentru ca doar paginile modificate sunt
copiate.
FIFO , LRU ( folosire contor – fiecare intrare a unei pagini are un contor , cand o pagina trb sa
fie schimbata sistemul pateu analiza acel contor ) ,LFU(inlocuieste pagina cea mai putin folosita
cu cel mai mic contor), MFU(bazat pe faptu ca pagina cu cel mai mic contor probabil abia a fost
introdusa si nu a fost inca folosita)/
Un fisier reprezinta resursca ce stocheaza informatii , spatiu de adrese logice , iar pt utilizator
interfata cate informatie si pentru SO structuri de date si alg de alocare a blocurilor.
Metodele de acces sunt acces secvential (read next , write next , reset , no read after last write) si
acces direct (read n , write m , position to n -read next- write nex, rewrite n).
Un director reprezinta o colectie de noduri care contin informatii despre toate fisierele .
Curs 13 – Securitatea
Metodele de intarire a parolei sunt : extinderea parolelor cu un numar unic , parole mult mai
complexe (folosirea a cel putin 8 caractere,litere mari si mici , numere si semne ),verificarea
intarziata a parolelor ,crearea re parole foarte mari, „dovada unor cunostinte”.
5.Care sunt obiectivele mecanismelor de protectie din cadrul unui sistem de opeare?
Dreptul de acces = <numele obicetului,set de drepturi > unde setul este un subset al tuturor
operatiilor valide ce pot fi realizate pe obiect.
La o matrice de acces randurile reprez domeniile si coloanele obiectele ; acces(i,j) este setul de
operatii pe care un proces ce se executa in Domeniul i le poate invoca asupra obiectului j , iar un
exemplu al aceste matrici este matricea de acces cu drepturi de copiere.
Fiecare coloana este lista de control a accesului pentru un obiect , defineste ceea ce poate face
cineva cu o anumita operatie.
9.Ce reprezinta o lista de capabilitati – CAL?
Fiecare rand reprezinta lista de capabilitati (Ca si o cheie ) , pt fiecare domeniu ce operatii sunt
permise pe ce obiecte.
Paradoxul consta in faptul ca parolele scurte sunt usor de spart, iar cele lungi sunt scrise pentru a
nu fi uitate .
1. Ce reprezinta un sistem de operare?Care sunt obiectele de baza ale lui?
-starea procesului
-controlul programului
-registrii CPU
-informatii despre planificare proceselor
-informatii despre memoria alocata
-informatii despre auditare
-informatii legate de statusul operatiilor cu dispozitivul i/o
valoare initiala=0
initial value of semaphor=0
thread join {
sempahor.p();
}
thread finish{
semaphor.v();
}
4. Sum=0
For arg in $*
do
sum=’expr $sum+$arg’
done
echo “$sum”
a) O rulare de genul ./program.sh 1 2 va afisa “3”;
b) O rulare de genul ./program.sh va afisa “0” de fiecare data.
19. Cate semafoare sunt necesare pentru rezolvarea corecta a problemei producator-
consumator?
a) 3.
35. Care din urmatoarele reprezinta avantaje ale utilizarii firelor de executie:
a) Schimbare de context mai rapida;
b) Partajarea resurselor;
c) Scalabilitate;
d) Crearea mai rapida a unui thread fata de un process.
e) responsabilitate -economie -scalabitate
70. Un proces trece din starea “in executie” in starea “gata de executie” atunci cand:
a) Procesul si-a finalizat executia;
b) Isi termina cuanta de executie;
c) Operatia de intrare/iesire a fost finalizata;
d) Are loc o operatie de intrare/iesire.