Sunteți pe pagina 1din 8

1.

Rolul SO
Comandă şi controlează execuţia programelor utilizatorilor; Iniţializează sistemul de calcul şi verifica
starea resurselor sistemului de calcul; comandă şi controlează activitatea dispozitivelor I/O;
formatează hard disk; prelucrează şi modifică starea fişierelor şi programelor; asigură un sistem de
protecţie a datelor şi programelor; defineşte structura sistemului de fisiere; gestionarea resurselor
sistemului de calcul;
Sistemul de operare este componenta software care coordonează şi supraveghează întreaga
activitate a sistemului de calcul şi asigură comunicarea utilizatorului cu sistemul de calcul. Rolul SO nu se
limitează însă la asigurarea unei interfete între hardware si software, ci el are si alte roluri extrem de
importante, ca de exemplu gestionarea resurselor calculatorului allocate softurilor care rulează în acelasi
timp. Analogiile între corpul uman si calculator sunt
instructive si în acelasi timp destul de usor de înțeles.

2.TIPURI DE SO
Sistemul de operare MS-DOS (MicroSoft Disk Operating System)este un sistem de operare
monoutilizator (un singur utilizator posibil), monotasking (o singuă aplicație rulată
simultan),monoprocesor, ce este bazat pe linia de comandă.Versiunea initială a fost creată de Microsoft
în 1981 pentru IBM si s-a numit PC-DOS.
Sistemul de operare OS/2 ( introdus în 1988 de IBM şi Microsoft):  proiectat să preia avantajele
microprocesoarelor Intel 80286 şi 80386 pentru seria de microcalculatoare IBM PS/2 pe 32 biţi; 
sistem de operare multitasking, fiind capabil să adreseze 16 MB memorie internă şi necesită 1.5 MB
memorie internă şi spaţiu pe disc.
OS/2 Warp si OS/2 :  aspecte grafice şi de operar similare şi conţin pachetul Bonus Pack care include
un procesor de texte;  program de tip foaie electronică de calcul (spreadsheet);  generator de
diagrame;  sistem de gestiune a bazelor de date;  generator de rapoarte; utilitare pentru accesoriile:
plăci audio, fax/modem, video etc.;  OS/2 Warp Connect facilitează conectarea la Internet on-line
Compuserve cu CIM pentru OS/2
SO OpenVMS, 1976  un sistem de operare pe 32 de biţi,; - cu suport pentru multitasking; -
multiprocesor şi memorie virtuală;  poate fi implementat pe toată seria de calculatoare Alpha a
firmei DEC;  Performanţa sistemului depinde de tipul de calculator, memoria internă disponibilă,
numărul şi tipul discurilor etc.
Sistemul de operare WINDOWS :  este o interfaţă grafică orientată pe ferestre;  utilizatorul poate
lansa concomitent mai multe aplicaţii fiecare înfereastra ei;  posibilitatea de efectuare a schimbului de
informaţii între programe ce se execută în ferestre;
a)Windows 3.11. for Wokgroups : este un sistem de operare pe 16 biţi; dispune suplimentar de
facilităţi pentru lucru în reţea a grupurilor de utilizatori conectaţi;  aceştia pot efectua transferuri de
date, mesaje, informaţii prin simpla selectare şi activare a unor comenzi şi funcţii disponibile
b) Windows NT (New Tehnology) (1992) : - comercializat în două variante: Windows NT Workstation şi
Windows NTServer. lucrul în modul multitasking; utilizarea ca un sistem client/server; operarea
în modul exclusiv protejat;  folosirea până la 4 GB de memorie internă RAM; facilităţi avansate de
gestionare a fişierelor;  stabilitatea deosebită în exploatare;  gestiunea discurilor de pân la 16 T.
c) Windows 95 : -- Lansat ca SO de sine stătător;  mod de lucru multitasking preemptiv care deţine în
permanenţă controlul asupra timpului de lucru şi a aplicaţiilor;  modul de lucru multithreading ce
permite executarea în paralel a mai multor procese ale aceleiaşi aplicaţii;  executarea de aplicaţii pe 32
de biţi;  exploatarea ca sistem de operare cu interfaţă grafică;
d) Windows 98 : -- sistem de operare pe 32 de biţi; -- complet integrat cu Internetul; -- constituindu-se ca
un suport pentru noile tehnologii hardware; -- păstreaza compatibilitatea cu windows;
e) Windows 2000: -- este proiectat pentru organizaţii de orice dimensiune; -- oferă siguranţă sporită; --
costuri mai reduse ; -- servicii pentru aplicaţii derulate prin Internet.
f) Windows Millennium Edition: -- extinde Windows 98 Second Edition cu elemente preluate din
Windows 2000; -- este ultima versiune de Windows 9x lansată de Microsoft; -- cea mai populară pentru
mediul Windows pe 32 biţi; -- aproximativ 95% dintre programele educaţionale sunt scrise pentru
Windows 9x.
g) Windows XP: -- primul sistem de operare pentru consumatori produs de Microsoft; -- lansat la 25
octombrie 2001;
h) Windows 2003 : -- sistem de operare destinat serverelor şi este bazat pe tehnologia Microsoft.NET.
i) Windows Vista: -- interfață grafică modern; -- stil vizual nou, Windows Aero; --tehnologie de căutare
îmbunătățită; -- noi unelte multimedia ; -- sub-sistemele complet remodelate de rețea, audio, imprimare
și afișare (display).
j) Windows 7 se doreste a fi o actualizare a lui Windows Vista, cu scopul de a fi pe deplin compatibil cu
driverele, aplicatiile si echipamentul cu care acesta a fost deja compatibil. -- suport de ecrane multi-
touch; -- Windows Shell reconceput cu o nouă bară de activităti ; -- grupă de rețele de siste numit
„HomeGroup”
k) Windows 8 ; Windows 8.1; Windows 10
Sistemul de operare UNIX a fost iniţial creat pentru minicalculatoare, pentru a mări disponibilităţile
sistemului: memorie virtuală, multiutilizator şi multitasking; Rescris în limbajul C, a fost portabil pe o
gamă mai largă de sisteme de calcul: mainframes, microcalculatoare. Ex : AIX, SCO-ODT, HP-UX, SOLARIS,
Digital, UNIX, IRIX, Linux ş.a.
Mac OS X: - Apple :- exclusiv pe sistem Mac (Mac Pro, Mac Mini, MacBook); -axat pe interfață grafică; -
circa 11.2% utilizare pe piața desktop/laptop; -versiunea cea mai recent: Mac OS X10.12“Sierra”
ANDROID : -dezvoltat în principal de Google; - cod open source; - peste 53% cotăpe piața de dispozitive
mobile; - are la bază nucleul Linux; - aplicații (apps) dezvoltate în Java
IOS : -doar pe dispozitive produse de Apple(iPhone, iPad) ; -circa 28.31% cotăpe piața de dispozitive
mobile; -aplicații (apps) dezvoltate în Objective-C
Google ChromeOS : -Google; - bazat pe nucleul Linux; - lucreaza cu aplicatii Web si instalate (offline); -
varianta open source Chromium OS; - aplicații (apps) dezvoltate în HTML5+JavaScript+CSS
3.Clasificarea sistemelor de operare
- Sisteme GUI (Graphical User Interface) – au capacitatea de a utiliza mouse-ul prin intermediul unei
interfeţe grafice. ex: MacOS, MacOSX,UNIX, Linux, Windows 95/98/Me, Windows NT/2000/XP,
Windows Vista, Win 7.
- Sisteme multi-utilizator – permit mai multor utilizatori să folosească sistemul în acelaşi timp şi să
execute programele în mod simultan. Ex: UNIX, Linux şi Windows.
- Sisteme multi-procesoare – permit utilizarea mai multor procesoare. Ex :UNIX, Linux,Windows
NT/2000/XP/Vista/7.
- Sisteme multitasking – permit ca multiple procese software să fie încărcate şi rulate în acelaşi timp.
Ex : UNIX, Linux, Windows 95/98/Me/NT/2000/XP/Vista/7.
- Sisteme multi-threading – permit diferitelor părţi ale programelor să fie executate concurenţial. Ex :
UNIX, Linux,Windows 95/98/Me/NT/2000/XP/Vista/7.
- Sisteme de operare time-sharing: -- oferă posibilitatea utilizatorilor concurenţi să-şi partajeze în timp
resursele fizice şi logice ale sistemului de calcul (procesor, memorie, imprimantă, fişiere etc.) în
vederea execuţiei sarcinilor. Timpul de răspuns se poate reduce la câteva secunde.
- sisteme de operare cu prelucrarea pe loturi :programele utilizatorilor sunt reunite într-un punct
central de calcul, unde sunt grupate pe loturi pentru a fi plasate într-un fir de aşteptare pe unul din
sistemele pe care se vor executa. Pe durata execuţiei programelor, utilizatorii nu au posibilitatea să
interacţioneze cu sistemul de calcul.
- sisteme de operare în timp real: -- au capacitatea să execute programe/aplicaţii într-un timp stabilit
anterior; -- prelucrarea în timp real implică menţinerea unei comunicaţii directe între utilizator şi
sistemul de calcul; -- Ex: conducerea automată a unor procese de producţie, sisteme bancare,
sistemele de rezervare a locurilor pentru liniile aeriene etc.

4.Structura SO
Procedurile utilizator se ruleaza in user mode , iar procedurile in kernel mode, trecerea facandu-se
prin trapuri. Accesul de la un nivel mai putin prioritar la unul mai prioritar se face prin trapuri.
Organizarea SO pe nivele : 0-Alocare processor ; 1- Memory management; 2-Comunicatii operator-
procesor; 3- I/O Management; 4-Programe Ut.; 5- Operator;
Implementarea SO pe nivele: a) Avantaje : protective si fiabilitate nivelele superioare nu pot accesa
direct sistemul; b) Dezavantaje: greutatea implementarii acestei separari intre nivele.
Sisteme monolitice: fiecare procedura are posibilitatea de a apela fara restrictii orice alta procedura.
Structura de baza : 1-Program principal; 2-Sistem de procedure serviciu; 3-Sistem de procedure utilizate;

5.Concepte de baza ale SO


Sistemele de operare oferă un mediu de execuție a programelor pe un calculator: – ușurează munca
utilizatorilor; – ușurează scrierea programelor ; – asigură o rulare eficientă și sigură a programelor.
Serviciile SO sunt definite sub forma unui set de apeluri de sistem care operează asupra unor obiecte
software reprezentând componentele principale ale SO;
6.Procese:
6.1 Starile unui process
Un proces se poate afla în una din următoarele 3 stări: a) în execuţie - utilizează procesorul la momentul
respectiv; b) gata de execuţie - aşteaptă să câştige procesorul pentru a se putea executa; c) blocat - se
află în execuţie, dar nu mai poate continua;
Tranziţia 1 se produce atunci când un
proces în execuţie nu mai poate continua.
Tranziţiile 2 şi 3 sunt cauzate de
planificatorul de procese, care face parte
din SO. Tranziţia 4 este cauzată de
apariţia unui eveniment aşteptat de un
proces blocat.
6.2. Fire de executie
Dacă la orice moment o singură instrucţiune a procesului poate fi executată de către procesor, se spune
că procesul respectiv are un singur fir de execuţie. Firele de execuţie transpun conceptul de execuţie
paralelă la nivelul procesului:  firele partajează resursele procesului;  procesele partajează resursele
sistemului de calcul; Un fir de execuţie are:  un numărător de program ce indică următoarea
instrucţiune de executat,  o stivă pentru păstrarea istoriei execuţiei;  regiştri pentru stocarea
variabililor locale curente şi o stare (în execuţie, gata de execuţie, blocat). Un proces este startat cu un
singur fir thead_create, thead_exit, thead_wait – pune în aşteptare firul apelant până când un alt fir îşi
încheie activitatea . Deoarece nu există un mecanism care să reglementeze partajarea timpului la nivelul
firelor, este important ca firele să cedeze procesorul de bună voie, oferind astfel altor fire posibilitatea de
a se executa.
6.3.Competitia intre procese
Situaţia în care două sau mai multe procese citesc sau scriu date partajate, iar rezultatul final este dictat
de ordinea acestor operaţii se numeşte competiţie între procese.Excludere mutuală mecanismul ce
garantează că, atât timp cât un proces utilizează o resursă partajată (variabile sau fişier), celelalte procese
nu pot accesa resursa respectivă.
-Secţiune Critică (SC) (eng. critical region): acea
parte a programului în care este accesată
resursa partajată. Soluţia la problema
competiţiei trebuie să satisfacă următoarele
condiţii:
1. Două procese nu pot fi simultan în SC.
2. Nu se pot face presupuneri în legătură cu
vitezele şi numărul proceselor.
3. Nici un proces care se află în afara SC nu
poate bloca alte procese.
4. Nici un proces nu trebuie să aştepte la infinit
să intre în SC.

6.4. Primitivele sleep si wake-up


 elimină posibila aşteptare activă înainte de intrarea într-o SC(Sectiune Critica); nu fac parte din
biblioteca C standard, dar se presupune că sunt disponibile în orice sistem ce suportă cele două apeluri de
sistem : sleep – apel de sistem care are ca efect blocarea procesului apelant ; wakeup – apel de sistem
care acceptă, ca parametru, procesul ce trebuie deblocat. Deficienţele acestei soluţii sunt:
a) nu împiedică accesarea simultană a bufferului de către cele două procese; b) există posibilitatea ca
ambele procese să se blocheze, datorită faptului că un semnal de deblocare trimis de un proces (prin
wakeup) se poate pierde.Se poate introduce o nouă variabilă (wakeup_waiting_bit): - Atunci când un
semnal de wakeup este transmis unui proces care nu este în sleep, acest bit este setat (i se atribuie
valoare 1).- La momentul la care procesul respectiv va dori să intre în sleep, va verifica valoarea bitului.
6.5. Deosebirea dintre un proces si un program
Un program este doar un fisier executabil care se afla pe disc. Se spune ca un astfel de fisier este imaginea
din care se va realiza un proces. Un program este o entitate pasiva, care nu are asociate notiuni de
utilizare a memoriei si procesorului. Un program contine, în cadrul fisierului executabil, doua
componente (sectiuni) principale:  sectiunea de cod, ce contine instructiunile de rulare a programului
pe procesor;  sectiunea de date, ce contine informatiile utilizate la executia programului;
Un proces porneste în momentul executiei unui program. Procesului i se asociaza timp de rulare a codului
pe procesor si alte informatii utile pentru interactiunea cu alte procese sau componente ale sistemului de
operare. Toate aceste elemente formeaza împreuna contextul procesului. Ex: comanda ls;  rularea
editorului vi. În momentul rularii comenzii ls, sistemul de operare foloseste imaginea /bin/ls si creeaza un
proces. Acest proces este raspunzator pentru utilizarea resurselor sistemului (memorie, procesor) pentru
a oferi rezultatul rularii.

6.6. Structura unui process


Un proces este definit, la nivelul sistemului de operare, ca o structura de date. Un proces are proprietati si
dispune de resurse, cele mai importante fiind:  identificatorul unui proces, numitsi PID (process id).Este
un numar întreg care identifica unic în cadrul sistemului de operare procesul respectv;  imaginea
procesului, reprezentata de programul din care ia nastere procesul. Imaginea procesului contine codulsi
datele necesare pentru executie; starea procesului. Un proces se poate afla în starea de rulare (în
momentul în care codul asociat se executa pe procesor) sau în asteptare (un alt proces se afla în rulare);
 zonele de memorie utilizate, ce reprezint a regiunile de memorie folosite de proces pentru a mentine
codul si datele;  fisierele deschise. Un proces mentine o tabela cu fisierele deschise. De obicei
dimensiunea tabelei este limitata astfel încât si numarul de fisiere pe care le poate deschide un proces
este limitat. (În Linux aceasta limita este stabilita implicit la 1024).

6.7. Variabile conditie, cu operatiile Wait si Signal


Când o procedură din monitor nu poate continua ea va executa un wait(determina blocarea procesului)
pe o variabilă condiţie. Această acţiune blochează procesul apelant şi permite altui proces să intre în
monitor. Acest alt proces poate debloca primul proces executând signal (deblocheaza procesul blocat pe
variabila de conditie respectiva)pe variabila condiţie aşteptată de acesta. Al doilea proces trebuie apoi să
părăsească monitorul, pentru a permite procesului deblocat să-şi continue execuţia în monitor.
Variabilele condiţie nu acumulează semnale pentru a fi prelucrate ulterior. Dacă o variabilă condiţie este
utilizată într-un apel signal şi nu există nici un proces care să aştepte acest semnal, atunci semnalul este
pierdut. Un apel wait trebuie să preceadă un apel signal.

6.8. Implementarea proceselor in SO


Gestiunea proceslor este realizata prin intretinerea (administrarea) unor tabele numite Tabele de Procese
(sunt structuri de informatie care asigura cate o intrare pentru fiecare process). Pentru fiecare intrare se
pastreaza in fiecare moment informatii despre starea procesului. Cele mai importante informatii asociate
unei intrari sunt: - Program Counter (IP sau PC); - Stack Pointer; - memoria alocata procesului; - starea
(pozitia) fisierelor deschise; - informatii de contabilitate si planificare si orice alta informatie ce se
salveaza in momentul in care un proces trece din starea Executie in Gata in asa fel incat procesul sa poata
fi trecut mai tarziu in starea de executie. Continutul exact al Tabelei de procese difera de la un sistem la
altul existand informatii "tipice“ pentru fiecare scop. Pentru Managementul proceselor avem urmatoarele
informatii:- Registrele generale;- IP; - PSW; - Stack Pointer (SP); - Starea procesului; - Timpul de cand
procesul este pornit; - Timpul de UC (CPU) consumat; - Timpul de CPU (UC ) consumat de procesele "fiu"; -
Proces ID (Identificatorul Procesului); - Diferite "flags-uri".
6.9. Planificarea proceselor
Componenta SO care determină care dintre procesele din sistem va deveni activ: scheduler; schedulerul
implementează un algoritm de planificare (scheduling algoritm);  acest algoritm permite alegerea unuia
din procesele aflate în starea ready și marcarea acesteia ca fiind active ;  după alegere schedulerul
realizează schimbarea contextului între procesul care a fost activ și cel care este marcat să devină activ.
Criteriile planificarii: fiecare proces să ocupe procesorul în mod cinstit eficient: să mențină utilizarea CPU
cât mai aproape de 100%. Timp de răspuns: minim; turnaround: minimizare timpului de așteptare;
throughput: maximizarea numărului de joburi pe oră; Problemele planificatorului : - criteriile sunt
contradictorii; - o complicație prezintă faptul că fiecare proces este unic și impredictibil
Strategiile planificatorului : - strategii de planificare preemtive: permit suspendarea temporară a
proceselor care rulează; - strategii de planificare non-preemptive: procesele rulează până când își termină
execuția sau se vor bloca în așteptarea unei operații IO.

6.10 Alegerea Cuantei


O problemă importantă în proiectare este alegerea cuantei;  comutarea proceselor necesită un anumit
interval de timp pentru salvarea și încărcarea registrelor, actualizarea tabelelor și listelor,etc.(de ex.
cuantă 20ms, timp de comutare 5ms t=>timp de comutere de 20%);  pentru a mări eficiența trebuie
micșorat timpul de comutare, de ex. cuantă 495ms, timp de comutare 1%;  dar cu cuanta mare timpul
de răspuns crește: de ex. 10 utilizatori apasă Enter, ultimul va trebui să aștepte 5s ;  stabilirea unei
cuante mici va conduce la comutări multe scăzând eficiența procesorului -stabilirea unei cuante mari
cauzează un timp de răspuns mare pentru utilizator ;  valorile uzuale pentru cuante sunt 1-100ms;
 informații despre eficiență ;

8. Gestionarea memoriei
8.1 Introducere
Sistemul de memorie consta in maimulte subsiteme cu capacitate diferite si tipuri de acces diferite. Rolul
modului de gestiune al memoriei:  monitorizeaza zonele libere de memorie si pe cele utilizate;  aloca
memorie proceselor cand este nevoie;  de a aloca memoria cand nu mai este necesara;
Ierarhia memoriei:  Memoria cache: foarte rapida , scumpa , de dimensiuni mici , volatila;  Memoria
ram : rapida , pret mediu , dimensiuni medii , volatile;  Discul : lent , ieftin , dimensiuni mari , nevolatila;
Datorita importatei mari in functie de sistemul de calcul, gestiunea memoriei se realizeaza atent.

8.2 Structura ierarhica


a)Memoria Cache: Capacitate relative mica;  Timp de acces foarte rapid;  Contine informatii cele
mai recente folosite de CPU;  La fiecare acces, CPU verifica daca data invocate se afla in cache si abia
atunci solicita memoria operative. Daca e gasita se realizeaza schimbul intre CPU si ea. Daca nu , este
cautata in nivele superioare de memorie (memoria operationala , memoria secundara) si se aplica
principiul vecinitatii
b)Memoria operativa:  Contine programele si datele pentru toate procesele existente in sistem;  In
momentul in care un process s-a terminat memoria ocupata va fi eliberata si disponibila altui program.
 Viteza de acces mare, dar mai mica decat a memoriei cache;
c)Memoria secundara:  Pentru SO care au mecanisme pentru memorie virtuala;  Extensie a memoriei
operative;  Nu e direct accesibila procesorului; Se folosesc canale de I/O pentru transfer datelor dupa
memoria secundara pe memoria interna; Nu e volatila;
d)Memoria de arhivare:  Gestionata de utilizator;  Consta in fisiere, baze de date etc.
8.3 Monoprogramarea
Presupune existenta unui singur
program in memorie la un moment dat,
impreuna cu sistemul de operare; De-a
lungul timpului au fost utilizate trei
scheme de baza de organizare a
memoriei pentru aceasta situatie:
a)Schema utilizata pentru sisteme de
operare main frame si mini-calculatoare.
b)Schema folosita pentru sisteme de tip
palmtop si embedded.
c)Schema utilizata initial pentru micro-computers.
d)De mentionat existenta unor zone (ROM) specifice: “Basic Input-Output System”.

8.4. Multiprogramarea
Caracterizeaza in general SO moderne. O metoda simpla consta in divizarea memoriei intr-un numar de
partitii, posibil egale.
1.O lucrare noua se va depune in coada unei partitii de dimensiune destul de mare pentru a o putea
suporta.  In aceasta situatie, spatiul neutilizat din partitie este considerat pierdut.  Metoda
presupune sortarea lucrarilor dupa marime si folosirea unor cozi diferite pentru a sustine lucrarile. Ex.: un
sistem care foloseste intens lucrari de dimensiuni mici va pastra nefolosite partitiile de dimensiuni mari;
 vor putea exista lucrari care nu sunt planificate pentru executie, chiar daca exista suficient spatiu in
memorie…
2.Toate lucrarile sunt depuse in aceeasi coada
- De aceasta data devine posibila evitarea problemelor anterioare, cu riscul unei utilizari ineficiente a
partitiilor. Exista mai multe alternative:
1.Cand se elibereaza o partitie, aceasta
este oferita lucrarii care se potriveste cel
mai bine: risculde a “uita” lucrari de
dimensiuni mici;
2.Garantarea a cel putin unei partitii de
dimensiune mica pentru deservire rapida
a lucrarilor mici;
3.Oferirea unei garantii privind incarcarea
in memorie intr-o perioada fixa de timp.

8.5 Modelarea multiprogramarii


Prin multiprogramare va creste gradul de utilizare al procesorului; Ex. Daca un proces foloseste in medie
20% din resurse, este de dorit ca 5 procese similare sa ajunga la 100%... Practic, aceasta situatie nu poate
fi obtinuta decat daca cele cinci procese isi sincronizeaza perfect operatiile de intrare/isire. Intr-un sistem
cu n procese identice, gradul de utilizare al procesorului este egal cu 1-p^n, unde p reprezinta fractiunea
de timp folosita pentru operatiile de intrare/iesire. Ex. Pentru situatia anterioara, gradul de utilizare al
procesorului poate atinge cel mult 67%. Sunt necesare cel putin 10 procese pentru un grad superior de
utilizare a procesorului.
8.6 Swapping
Organizarea bazata pepozitii de memorie fixa ,garanteaza executia lucrarilor si un grad inalt de ocupare al
procesorului. Swapping:procesele sunt depozitate sau aduse in memorie in intregime.
-Marimea,pozitia si nr. de partitii se modifica dinamic, pe
masura ce intra si ies procese.
-dispar problemele legate de partitii,dar apar probleme
legate de procesarea memoriei;
-duce in timp la aparitia unui nr. mare de goluri din
dinamici cee ace duce la neexecutarea unui program daca exista spatiu.
8.7 Bitmaps
Hartile de biti rep. o metoda simpla de urmarire a memoriei. Memoria este divizata in unitati de alocare.
Fiecarei unitati I se asociaza un bit, precizand daca unitatea este libera sau ocupata.Harta este pastrata in
memorie. O unuitate de alocare mica o presupune o harta de dinamica relative mare.

a ->portiune de memorie cu 5 procese si 3 gauri.zonele hasurate=libere


(vol “0”) ; b->harta de biti asociata
8.8 Algoritmi pt. gestionarea listelor inlantuite
1. Swopping(Prima potrivire)  presupune parcurgerea listei de segment pana la identificarea unuia
capabil sa sutina procesul; divizat in 2 bucati:-o bucata alocata procesului ; -o bucata libera
2. Swopping(Urmatoarea Potrivire)  cautarea nu va fi reluata pt fiecare process de la inceputul listei,ci
din pozitia cautarii anterioare.
3. Swopping(Cea mai buna potrivire) in acest algoritm este analizata toata lista pt a gasi segmental “cel
mai potrivit” pt. Process;  incearca sa evite divizarea segmentelor de memorie
4.Swopping(Cea mai proasta potrivire)  in acest caz este ales procesul cel mai mare care poate suporta
procesorul.
5.Swopping(potrivirea rapida) aici sunt pastrate mai multe liste de goluri,pt marimile cel mai des
intalnite;  noile segmente sunt plasate in lista cea mai apropiata ca dinamica ; ofera rapid segmente
de dinamica potrivite;  utilizarea tehnicilor de comparare este necesara pt. prevenirea fragmentarii
excesive a memoriei.

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