Sunteți pe pagina 1din 3

Dispozitivele de intrare/ieire

Dispozitivele periferice pot fi clasificate n dou categorii: dispozitive bloc i dispozitive


caracter. Dispozitivele bloc ( discul magnetic ) stocheaz informaia sub forma unor blocuri de
dimensiune fix, fiecare dintre acestea avnd asociat o adres cu ajutorul creia poate fi accesat
individual. Dispozitivele caracter lucreaz cu iruri de caractere crora nu le confer o structurare
pe blocuri. Acestea pot fi adresate individual i deci nu pot constitui obiectul unor opearii de
cutare. Din aceast categorie fac parte imprimantele, adaptoarele de reea, mouse-ul, terminalele
etc. La grania dintre cele dou categorii menionate se gsesc dispozitive ca unitile de band
magnetic n cazul crora nu se poate implementa n mod eficient accesul aleatoriu, dei pot fi
structurate bloc i pot furniza operaii de cutare.

Controllere
Dispozitivele periferice sunt n general formate dintr-o component mecanic i o
component electronic. Componenta electronic este denumit controller, n timp ce
componenta mecanic este dispozitivul propriu-zis. n cazul unei operaii de citire de pe un disc
magnetic, controller-ul este cel care poziioneaz capetele de citire/scriere i citete de pe
suportul magnetic un ir de bii care cuprinde:
un antet care conine informaii nscrise la momentul formatrii discului magnetic, cum ar fi
numrul cilindrului, al sectorului, dimensiunea unui sector etc.;
biii de informaie stocai n sectorul respectiv;
un cod de corecie a erorilor.
Controller-ele asambleaz bit cu bit un bloc de date, cruia i calculeaz suma de control
ce trebuie s coincid cu codul citit de pe disc. Abia dup aceea blocul de date respectiv poate fi
transferat n memoria principal. Comunicaia dintre controller i unitatea central se realizeaz
prin intermediul unui numr de regitri care de cele mai multe ori fac parte din spaiul de adrese
de memorie ( sunt mapai n memorie memory mapped I/O ). Regitri mapai n memorie se
adreseaz la fel ca orice alt locaie de memorie, singura diferen fiind legat de timpul de acces
care este mai redus. Aceti regitri sunt utilizai de sistemul de operare pentru a nscrie parametri
i comenzi i pentru a citi starea dispozitivului respectiv i codurile de eroare. O comand odat
acceptat de ctre controller, sistemul de operare las dispozitivul s o execute n timp ce el
palnific alte sarcini. n momentul terminrii operaiei controller-ul genereaz o ntrerupere care
permite sistemului de operare s preia controlul i s analizeze rezultatul.

Proiectarea i implementarea sistemelor de operare

Obiectivele proiectrii
Prima problem care apare n proiectarea unui SO este definirea obiectivelor i a
specificaiilor sistemului. La nivelul superior, proiectarea este determinat de alegerea hardwareului i de tipul sistemului: cu prelucrare pe loturi, time-sharing, mono-utilizator, multi-utilizator,
distribuit, n timp real sau de interes general. Utilizatorul dorete ca sistemul s poat fi folosit i
nvat cu uurint, sa fie fiabil, sigur i rapid. n mod asemntor, cei care proiecteaz, creeaz,
ntrein sistemul i opereaz asupra lui doresc ca sistemul s fie uor de proiectat, de implementat
i ntreinut, flexibil, fiabil, lipsit de erori i eficient.

Mecanisme i strategii
Un principiu extrem de important n proiectarea SO este separarea strategiei ( policy ),
care decide ce anume trebuie fcut, de mecanism ( mechanism ) care arat cum trebuie fcut.
Deciziile de tip strategic au un rol deosebit n toate problemele de alocare a resurselor, precum i
n cele referitoare la planificare. Separarea strategiilor de mecanisme asigur i o buna
flexibilitate a sistemelor, deoarece, n cazul trecerii pe un alt sistem, pot fi modificate doar
strategiile, fr a mai fi nevoie s se modifice i mecanismul de baz.

Implementarea SO
n mod tradiional, etapa de implementare se realiza prin scrierea sistemului cu ajutorul
limbajului de asamblare. n prezent, se pot folosi n acelai scop i limbajele de nivel nalt.
Avantajele utilizrii limbajelor de nivel nalt pentru implementarea sistemelor de operare sunt
aceleai ca i n cazul scrierii programelor utilizator: codul poate fi scris mai repede, este mai
compact, mai uor de neles i de depanat. Principalul dezavantaj se refer la vitez i la
necesarul de memorie. Un compilator, orict de performant, nu poate produce cod mai bun dect
un limbaj de asamblare expert, dar este foarte probabil ca un compilator s produca un cod cel
puin tot att de bun ca i cel scris ntr-un limbaj de asamblare obinuit. Cu toate c dimensiunea
unui SO e foarte mare, numai o mic parte a codului poate fi considerat ca fiind critic din
punctul de vedere al performanelor.

Generarea sistemului
De cele mai multe ori, SO sunt proiectate n aa fel nct s poat lucra pe orice tip de
calculator, ntr-o mare varietate de configuraii periferice. Din acest motiv, pentru fiecare tip de
calculator este necesar ca SO s fie configurat sau generat, operaie cunoscut sub numele de

generarea sistemului. Deoarece SO este furnizat de obicei pe suport magnetic, pentru generare se
folosete un program special, care citete dintr-un fiier sau cere operatorului informaii
referitoare la configuraia hardware specific a sistemului:
tipul de UC i opiunile instalate;
cantitatea de memorie disponibil;
dispozitivele existente n sistem;
opiunile alese pentru SO sau valorile parametrilor ce vor fi folosii pentru configurare. Odat
definite, informaiile pot fi utilizate n moduri diferite.