Documente Academic
Documente Profesional
Documente Cultură
Tema SO
Tema SO
Bucuresti - 2014
Cuprins:
1. Sistemul de Operare. Definitie. Caracteristici..2
1.1 Generalitati..2
1.2 Caracteristicile Sistemului de Operare.4
1.3 Tipuri de Sisteme de Operare.5
1.4 Obiectivele Sistemelor de Operare.6
2. Componentele unui Sistem de Operare..7
3. Managementul proceselor11
4. Managementul procesorului..13
5. Managementul fisierelor..15
6. Bibliografie..16
D. Gestiunea fiierelor
E. Gestiunea componentelor de Intrare/Ieire:
gestioneaz perifericele;
asigur alocarea corect a acestora ctre procese;
controleaz operaiile de Intrare/Ieire.
F. Managementul dispozitivelor de stocare
Asigur:
managementul spaiului liber ;
alocarea spaiului la cerere;
planificarea i controlul accesului la discuri.
G. Componenta de reea
H. Sistemul de protecie
I. Interfaa de programare a aplicaiilor(API):
ofer programatorului un set de funcii de nivel nalt prin care acesta poate
accesa n programare serviciile oferite de celelalte componente ale S.O.
Serviciile sunt oferite ctre utlizatorul programtor:
Sistemul de operare permite accesul la serviciile sale prin apelul unor funcii ale
sistemului denumite apeluri-sistem. Aceste apeluri alctuiesc interfaa de acces a
programatorului ctre serviciile sistemului de operare. Aceste funcii pot fi apelate
direct n limbaj de ascultare prin intermediul vectorului de ntreruperi sau n limbaj de
nivel nalt prin apelul unor funcii de biblioteca (care la rndul lor invoca serviciile
sistemului, genernd ntreruperile necesare). In sistemul MS-DOS apelul la serviciile S.O.
se realizau prin intermediul ntreruperii 21H. In Unix i n Linux se acceseaz prin
ntreruperea 80H. Printreserviciile sistemului enumerm:
Exemplu de shell:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include <sys/wait.h>
#define MAXLINE 256
int main(void)
{
char buf[MAXLINE];
pid_t pid;
9
int status;
printf("%% ");
while (fgets(buf, MAXLINE, stdin) != NULL)
{
if (buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = 0;
if ((pid = fork()) < 0) {
printf("fork error");
}
else if (pid == 0)
{
/* child */
execlp(buf, buf, (char *)0);
printf("couldn't execute: %s", buf);
exit(127);
}
/* parent */
if ((pid = waitpid(pid, &status, 0)) < 0)
printf("waitpid error");
printf("%% ");
}
return 0;
}
n plus, un sistem multiuser trebuie s asigure urmtoarele servicii:
alocarea resurselor;
conturi pentru utilizatori;
protecia informaiei;
securitatea sistemului fa de interior.
10
Managementul proceselor
Un proces este o unitate de lucru n cadrul unui sistem de calcul care are un program
asociat, cruia i se aloc un set de resurse de memorie, de procesor,etc. i care execut n
mod secvenial instruciunile programului.
Procesul se mai numete i joburi, mai ales n contextul planificrii proceselor.
La lansareaunui proces, acestuia i se aloc o zon de memorie pentru stiv, o zon
pentr date i o zonde memorie heap care e alocat dinamic la rulare. In plus, procesul mai
conine un contorde program numit instruction pointer i coninutul registrelor procesorului.
Procesul se poate afla n una din urmtoarele stri:
proces nou
ruleaz
asteapt
gata
terminat
Informaia legat de stare face parte din datele asociate fiecrui proces. Aceste
informaii despre un proces sunt cninute de ctre planificatorul de procese ntr-o structur
special numit Process Control Block.
O structur PCB conine:
Starea procesului
I.D. procesului
Instruction pointer(IP)
Registele procesorului
11
Memoria alocat
Fiiere deschise
Informaii de planificare( prioritate)
Lista de dispozitive de Intrare/Ieire asociat procesului
12
S.O.
Criterii de planificare:
Planificarea proceselor pe procesor va urmri urmtoarele criterii:
1. Utilizarea procesorului n mod optim
2. Troughtput ( numrul de procese terminate n unitatea de timp)
3. Timpul total de rulare
4. Timpul total de ateptare ( n coada ready )
5. Timpul de reacie
Algoritmi de planificare
A. Algoritmi de planificare: primul venit, primul servit. Procesele sunt executate n ordinea
sosirii lor n coada rady. Algoritmul este nepreemptiv. Avantaje: toate procesele vor
ajunge s ruleze odat i odat; Dezavantaje: efectul de convoi.
B. Shortest-Job-First: cel mai scutr job mai nti. Algoritmul msoar durata rafalei de
instruciuni pentru fiecare proces i ncearc s promoveze pe procesor procesele cucea
mai scurt rafal. Poate fi i preemptiv i nepreemptiv.
C. Algoritm de planificare dup prioriti: fiecrui proces I se asociaz un numr numit
prioritate. Algoritmul avanseaz procesele spre procesor n funcie de prioritatea
acestora. Este preemptiv sau nepreemptiv. Dezavantaj: blocare indefinit sau
nfometare. O soluie la problema nfometrii ar fi mbtrnirea= o metod de a crete
prioritatea proceselor care asteapt de mult timp n coad.
13
14
Managementul fisierelor
Este cea mai vizibil component a sistemului, gestioneaz spaiul de stocare a datelor
pememoria extins (discuri magnetice, benzi magnetice, discuri optice, stick-uri de memorie).
Fiecare dispozitiv din cele enumerate are propriile caracteristici legate de modul de
acces (secvenial sau aleator), viteza de acces, rata de transfer a datelor
Sistemul de operare asigur o vedere uniform a dispozitivelor de stocare care
reprezintmemoria extins a sistemelor de calcul.
Sistemul de operare abstractizeaz modul de funcionare a diferitelor dispozitive de
stocare i definete o singur unitate de lucru numit fiier.
Un fiier este o colecie de informaii create de utilizator, stocate sub un nume unic.
Sistemul de operare asigur urmtoarele funcii n ceea ce privete managementul
fiierelor:
creeaz i terge fiiere;
creeaz i terge directoare;
asigur funcii de manipulare a fiierelor i directoarelor;
asigur mecanisme de backup
15
Bibliografie
http://os.obs.utcluj.ro/Repository/Books/Indrumator.OS.pdf
http://cs.uns.edu.ar/~jechaiz/sosd/clases/libros/MustRead/Operating_System_Conc
epts_Essentials_Silberschatz.pdf
Silberschatz A., Galvin P.B. and Gagne G. (2005). Operating Systems Concepts 7th
edn. John Wiley & Sons
An Introduction to Programming with Threads, Andrew D. Birrell
Oaualline Steve, Descoperii sistemul Linux, Editura TEORA, Bucureti, 1998
http://www.competentedigitale.ro/it/it6.html
http://vsh.ro/tutorial/264/nucleul-sistemului-de-operare/
16