S.o Curs
Transcript of S.o Curs
-
7/25/2019 S.o Curs
1/15
1. Calculatorul ca sistem de prelucrare automate a datelor
Calculatorul este un SPAD pentru care partea de automatizare
este legata de notiunea de algoritm si care permite(cel putin
theoretic)schimbarea algoritmului
Algoritmul este stocat de regula intr-o component numita usual
memorie , sub forma unui program
Programele metode de reprezentare a algoritmului
Programul din memorie este scris in limbaj masina(cod masina)
2. Translatare si translatoare. Tipuri, exemple etc.
Transformarea unui program dintr-un limbaj in alt limbaj se
numeste translatare
Daca limbajul destinatie este limbaj masina , atunci transformarea
se numeste complilator , iar operatiunea se numeste compilare
Dacare limbajul destinatie este limbaj de asamblare atunci
operatia se numeste asamblare, iar instrumental se numeste
asamblar
imbajul de asamblare este un limbaj numeric, care ofera o
e!emplarea simbolica pentru "ecare instructiune posibila din
limbajul masina
Daca limbajul surasa este limbajul masina si se incearca obtinerea
unui rezultat in limbaj de asamblarea sau alt limbaj, operatia se
numeste #re$erse engineering%
&e$erse engineering pentru care limbajul destinatie este limbajul
de asamblare ,operatia se mai numeste si dezamblare
Daca limbajul destinatie este un limbaj de ni$el inalt,operatia se
numeste decompilare
-
7/25/2019 S.o Curs
2/15
imbajul de ni$el inalt ' orice limbaj care permite scrierea de
programe cu cat mai putine instructiuni (limbajele de asamblare
si masina nu sunt de ni$el inalt)
nstructiunea este elementul de baza al unui program , oriceprogram are o sec$enta de instructiuni
3. Interpretoare si limbaje interpretate
Daca dorim ca o aplicatie scrisa in limbajul sa poate "
compi*ata multi-platforma(adica, dupa caz in limbaj+n)folosind un acelasi compilator ,Solutia este
tranformarea din limbaj initial intr-un limbaj intermediar
Aceasta solutie se gaseste in lumea sistemului de operea de tip
./0 unde este de regula lumbaju C, programele in C sunt
sursele sitemului de operare, iar platfomele +n sunt platform
de transformare
1 alta $ariant pentru a rula multi platform este de"nirea unei
masini $irtuale( care nu e!ista cu ade$arat)
2asina $irtuala este un program care ruleaza in interiorul unui
alte masini "zice sau $irtuale numite masina gazda
n cazul 342 sau a altor masini $irtuale, limbajul masina al
acestora se mai numeste 5-code, P-code
Daca translatorul nu translateaza aplicatia scrisa in limbajul , ci
doar in scurte sec$ente sunt translatate intr-un limbaj de tip z-code ,iar aceasta este rulata de masina $irtuala , spunem ca in
acest caz masina $irtuala este interpretator , iar acti$itatea se
numeste interpretare
-
7/25/2019 S.o Curs
3/15
Deoarece aplicatia de interpretare ruleaza mult mai incet decat
cea "zicata , e!ista incercari de de"nire pentru astfel de limbaje
6!emple 7 Cliper 810-P&1, compilatorul 4810-P&1, P9P
4. Masini von Neumann
2emoria este formata din algoritmii si date operationale
Conform teoriei lui :ohim-acoppini orice algorimt poate " scris
folosind ; strucuri ortogonale doua cate doua si anume 7
sec$enta, alternati$itatea si eteratia De aceea este greu dejusti"cat necesitatea e!istentei mecanismelor de tip infecattare
respecti$e a mecanismelor de autoinfectare
Sarcina delimitarii datelor de programe re$ine de cele mai multe
ori sistemului de operere care $a folosi separarea la ni$elul
sitemului de "siere, la ni$elul mecanismelor de paginare a
memoriei , etc
5. irm!are si calculatoare dedicate
8irmesunt "rm
-
7/25/2019 S.o Curs
4/15
6!ista calculatoare nededicate(PC, tablete) care au sistemul de
operare setate din fabrica in regim de "rmsau cu alte echipamente acti$e comptibile cu interfata la ni$elul
canalului de comunicatii
6!emple 7 Dispoziti$e
-
7/25/2019 S.o Curs
5/15
1rice pct la orice pct-? T9,@8(la ni$ interfetei)
6!ista periferice care permit in mod transparent gestionarea
comunicatiei intre calculatoare(se comporta ca niste bridge-uri)sau poate sa "e din doua leap-uri in acest caz "ind $orba despre
un echipament acti$e
1bs n functie de canalul de comunicatie putem lega doar doua
calculatoare(interfetele acestora sau mai multe)
+ 6!ista posibilitatea ca un calculator sa aiba mai multe interfete; 8aptul ca un calculator are o interfata nu inseamna ca este
obligatoriu ca aceasta interfata sa "e $izibila
6 posibil(dpd$ tehnic) sa am doua interfete ale aceluiasi
calculator legate la canal de telecomuncatii
B Se pot de"ne interfete $irtuale peste unul sau mai multe
interfete "zice, respecti$e peste unul sau mai multe canale de
telecomunicatii
Calculatoarele $irtuale pot a$ea interfate $irtuale sau pot a$ea
acces la interfetele "zice ale gazdelor direct sau indirect pentr-un
mechanism de $irtualizare(9A)
Sn :ridge un dispoziti$ cu cel putin + interfete contectate la
canalele de comunicatii aferente creend un singur canal de
comunicatii
1bs
Conectarea unui bridge trebuie sa "e transparenta
calculatoarelor conectate
-
7/25/2019 S.o Curs
6/15
+ 2utarea unui bridge este justi"cata uneori de moti$e
tehnologice(cum ar " tronsoane prea lungi); .n alt e!emplu de utilizare a bridge-ului este in cazul
interfatarii de medii eterogene
:ridge-urile sunt considerate ca "ind similar echipamentelorpassi$e intr-o retea de interconectare
S
-
7/25/2019 S.o Curs
7/15
+ /umarul de /C-uri trebuie sa "e cat de cat mare pe a
asigura7a) 1 putere de calcul mareb) 1 redundanta sporita cluster-ului
; 6!ista posibilitatea ca cluster-ul sa "e organizat ca unfurnizor de ser$icii(calculator $irtual dedicate)
6!ista clustere organizate ca un super-router
). *rocese
Proces= orice sec$enta de program care are o durata de $iata ,
are mecanisme de #reproducere% precum si un spatiu propriu de
e$olutie
Durata de $iata(a unui process)=inter$alul de timp cuprins intrenasterea unui process si moartea unui proces
/asterea= mecanismul prin intermediul caruia apare un nou
process , nasterea se face prin clonare* si e!ista un singur process
(procesul intial) care este #creat% si nu nascut
2oartea= mecanismul prin care un process dispare la un moment
dat, moartea unui process poate implica moartea altor procese
Spatiu de e$olutie= zona de memorie in care un process poate
gestiona structurii proprii($izibile)
1bs
&elatia de "liatie intre procese este marcata uzual prin
substanti$e%masculine%(tata, "u, nepot)+ 6!ista un singur process care nu are tata Acesta este
procesul /T(initializeaza 1S) si care se incarca de pe un
dispoziti$ de stocare sau direct inscris in "rm
-
7/25/2019 S.o Curs
8/15
Pornirea procesului de nastere(clonare) se face in urma apelarii
functiei farE()
8unctia farE() in caz de reusita intoarce in procesul tata PD-ulcopilului
F-in caz de reusita in 8.
FG- in caz de reusita TATA
- n caz de nereusita (in TATA)
1+. estionarul de procese
= o sec$enta de programe (e$entual un process) care
gestioneaza acti$itatile aferente nasteri si mortii proceselor, adica
gestionarea tabelei de procese si gestionarea memoriei allocate
unui process
Tabela de procese 'contine pt "ecare PD-ul potential unui process
A) PD
:) Statut liber> scriptC) Adresa de memorie pt memoria alocata
2emoria alocata se copiata pentru procesul "u dupa memoria
alocata procesului parinte
Codul program pentru procesul "u se refoloseste dupa codul
program al tatalui
Principalele moti$e pentru care gestionarul de procese
intampina - la natere sunt7
-esuarea procesului de nastere
-ine!istenta unui PD
-imposibilitatea alocarii de memorie
-
7/25/2019 S.o Curs
9/15
a moartea unui process, gestionarul de procese $a elibera
memoria, precum si alte resurse si se marcheaza PD-ul ca "ind
liber1bs Algoritmul de alocare a PD-ului este propriu "ecarui
gestionar de procese , de e!emplu in inu! se aloca PD-uri
successi$e pana la atingerea PD-ului ma!im
Procesorul, ca resursa critica este partajat de toate procesle
care $or sa aiba acces la resursa procesorului
Partajarea se face prin timesharing
1bs
Administratorul timpului proceselor aloca cate time slot in
mod dHnamic proceselor in $iata in functie de prioritatile
atasate acestora
Proces in $iata= process care a fost nascut si nu a murit
+ Prioritatea = atribut al proceselor care le permite un acces
mai des>mai lung la resura procesorului; Pricesele se mai numesc concurente pentru ca ele sunt
actorii care incearca accesul la resurse(processor sau alte
resurse) n cazul unui sHstem multiproces (e! Processor cu mai multe
nuclee sau mai multe procesoare in acelasi sitem sau un
sistem multi-calculator , sau un calculator $ectorial)
administratorul cu acces la procesoare $a putea aloca inparalele mai multe procese procesoarelor la un moment dat
2oartea proceselor
Procesele pot sa moara in urmatoarele cazuri7
-
7/25/2019 S.o Curs
10/15
) 2oartea naturala+) 2oartea parintelui7 orice process inainte de a muri trimite
semnale Eill tuturor proceselor "u;) a primirea semnalului Eill
Iill-ul poate $eni de la parinte sau de la orce alt process
6!ista procese care tehnic sunt moarte( nu mai au cod si nu mai
au memorie alocata , dar au PD si resurse allocate
JAlocare de process
6!7 ps a!f
Iill -K PD
Iillall "refo!
12. -tarile unui proces
.n process este acti$e daca are acces la resursa numita
processor
/umarul de procese acti$e este cuprins intre F si numarul de
procesoare
.n process inacti$e este un prces care traieste, dar nu are
acces la resursa procesorului
.n process acti$e de$ine inacti$e daca gestionarul de
procese preia depreul de acces la processor
.n process inacti$e de$ine acti$e daca primeste din partea
gestionarului de procese dreptul de acces la processor
1bs
Presupunand ca nr de procesoare este mai mare decat cel al
proceselor acti$e, e!ista posibilitatea ca , la nastere procesul sa
"e direct acti$e
-
7/25/2019 S.o Curs
11/15
Din starea de #parcat% nu se poate re$eni direct la acti$e , ci
trece prin starea de inacti$e
Procese zombie= procese care au murit , dar nu au murit , le
$edem , deci au PD , dar care nu au eliberat toate resursele
Comanda 7 top -? lista cu starea proceselor
13. Mi(rarea proceselor
2igrarea proceselor inseamna mutarea unor procese de peun calculator gazda pe un alt calculator gazda, in cazul in care
procesele migrate sunt procese din spatiu de prece al unui
calculator $irtual construit peste calulatorele gazda amintite, iar
gestionarul de procese al calculatorului $irtual decide o alta
alocare a proceselor catre procesoarele $irtuale>"zice
Prioritati7
Prioritate= indicatorul care masoara sansa(probabilitatea) caun process sa de$ina acti$e
Lestionarul de procese ofera sanse egale de acces la processor
tuturor proceselor care au aceasi prioritate
14. estiunea memoriei
De regula memoria este "!a
a calculatoarele $irtuale poti schmba dimensiunea memoriei
+2asina 4on /oiman= programulG datele in acelasi loc
-
7/25/2019 S.o Curs
12/15
Daca p reunit cu d= multimea $ida spunem ca a$em program
automidifcator
2ecanisme de gestiune a memoriei7
Segmentarea
Segment=Madresa de segmend, cadrul de segmendGdN
D=segment
P= segment
P reunit cu d poate " ne$id
+ Paginarea
2=Opag pag Q
D=pag
P= pag
Deza$antaj daca pag au dimensiune idendice e posibil sa
ramana multa memorie nefolosita
;Alte mecanisme
1bs
) Segmentarea este speci"ca procesorului de tip ntel de
aceea sistemul de operare $a folosi aceasta facilitate+) Paginarea e posibil sa "e prezenta la ni$elul procesorului dat
"ind un mechanism simplu de implementare este inalnit si la
ni$elul sitemeului de operare
;) Sitemele de operare modern permit e!tinderea memoriei cuo zona de s
-
7/25/2019 S.o Curs
13/15
15. estiunea discurilor
Daca perifericul are attribute speci"c lui m, dar nu este m,
spunem ca este un peri"ric de socare>suport de informatii> #disc%
Dpd$ ale So, ca sa paota lucre cu un periferic el trebuie>poate "
partitionat
Discurile trebuie>pot " partitionate sau perifericile de intrare nu
solicita partionarea
n mod uzual , pe un disc pot " ma!im partitii, din care o partitieacti$e(partitie de pe care se porneste 1S)
Partitiile pot " de + feluri 7
-primare
-e!tinse(superpartii)
8disE=program sau clase de programe
n @indo
-
7/25/2019 S.o Curs
14/15
1". -isteme de siere
1riganizari ale "sierelor pe un disE
De regula, organizarea este ierarhica pe directoare,folder,dosar
6!emple de organizari de "siere78AT*/T8S*60Tetc
8isier=colecie de bHtes
Partitionare=formatare
8ormatare= pregatirea unei partiti sau a unui suport de
informatii(dupa caz) in scopul unei e$entuale folosiri ulterioare,
adica pregatirea unui sitem de "siere $id
Comanda in inu! pentru formatare 7%mEfs%
1bs 2I8S are foarte multe optiuni
-tipul de sisteme de "sere
-tipuri de indoruri
-nume $olum
-/r ma! de monturi
2ontarea= 2ecanismul in care directorul radacina al sistemului
de "siere >ale sistemului de "sere formatat este suprapus pesteun director gol prin arborele de "sere pe care sistemul de operare
il $ede in acel moment
Demondatarea= operatiunea in$ersa
-
7/25/2019 S.o Curs
15/15
1bs
Sistemele de operare permit con"gurarea unor mecanisme de tip
auto-montare adica posibilitatea de a monta la pornirea 1S de
sistde "sere aRate pe di$erse suporturi de informatii "zice sau$irtuale
.n alt mecanism de auto-montare posibi* este cel prin care
1s detecteaza un periferic nou de tip stocare pe care se aRa
sitemul de "siere $alid
Script= scrise de regula in limbaje interpretate
8isiere de comenzi=scripturi