Sunteți pe pagina 1din 13

Curs 2

Tipuri si structuri de sisteme


de operare

Sisteme de operare
Lect. Dr. Ozten CHELAI

Facultatea de Matematica si Informatica


Universitatea Ovidius Constanta

Curs2 SO - lect. dr. Ozten Chelai, 2009-2010 1


Functii ale SO
 Din perspectiva nivelului superior(software): SO furnizează
utilizatorului echivalentul unei maşini virtuale (maşină extinsa) care
este mai uşor de programat decât nivelul hardware peste care se
suprapune. Oferă un limbaj virtual.
 Scop ->de a oferi un acces “convenabil” la sistemul de calcul (GUI – Graphic
User Interface)
 Din perspectiva nivelului inferior (hardware) : SO păstrează evidenŃa
resurselor şi utilizatorilor acestora, garantează şi verifică accesul la
resurse, mediază cererile conflictuale de la diferite programe şi
diferiŃi utilizatori. Ofera resurse virtuale.
 Scop -> de a asigura o operare eficientă a acestor resurse mai ales în condiŃiile
sistemelor multiutilizator în care ele sunt partajate de utilizatori multipli.

Curs SO - lect. dr. Ozten Chelai, 2009-2010 2


Nivelurile sistemului de operare
 Nivelul fizic include componenta firmware a sistemului de calcul;
 Device Driver-e oferă servicii privind lucrul cu componentele hardware ale sistemului de
calcul
 Loaderul (incarcatorul) program care lansează încărcarea automată a sistemului de
operare, la pornirea calculatorului.
 La acest nivel, comunicarea cu sistemul de calcul se realizează prin intermediul sistemului
de întreruperi, prin care se semnalează anumite evenimente apărute în sistem; la apariŃia
unei întreruperi, controlul este dat unor rutine de pe nivelul următor al sistemului de operare;
 Exemplu : la PC-uri, componenta sistemului de operare de pe nivelul fizic este componenta
ROM-BIOS. Aceasta include programe grupate după funcŃia lor în :
 programele care se execută la pornirea sistemului de calcul : programul POST (Power-
On Self-Test), care verifică starea de funcŃionare a sistemului de calcul şi programele de
iniŃializare a activităŃii sistemului (rutina de încărcare a primului sector al discului sistem) ;
 rutinele care fac posibilă utilizarea componentelor fizice ale sistemului de calcul, rutine
numite drivere fizice ; ele oferă servicii pentru lucrul cu configuraŃia hardware standard a
sistemului de calcul : consola, tastatura, imprimanta, perifericele standard şi ceasul
sistemului. Avantajul acestei soluŃii este că asigură independenŃa software-ului de pe
nivelul logic faŃă de caracteristicile constructive ale componentelor hardware de bază, ele
fiind tratate unitar, prin intermediul driverelor.
 Nivelul logic include partea de programe a sistemului de operare şi oferă utilizatorului mijloacele
prin care poate exploata sistemul de calcul; comunicarea utilizatorului cu sistemul de calcul se
realizează prin
 CLI (Command Line) comenzi adresate sistemului de operare sau prin intermediul
instrucŃiunilor programelor pe care le execută;
 GUI (Graphic User Interface) comunicarea se realizează prin intermediul mesajelor
transmise de sistemul de operare către utilizator.
 Programele nivelului logic adresează dispozitivele hardware prin intermediul programelor
nivelului fizic al sistemului de operare şi din acest motiv ele sunt independente de structura
hardware a sistemului de calcul : nivelul fizic constituie o interfaŃă între hardware şi nivelul
logic al sistemului de operare.
Componente functionale
 Componenta de comandă şi control, care cuprinde programe ce au rolul de a asigura
utilizarea eficientă a resurselor sistemului de calcul.
 Componenta de servicii, care cuprinde programe destinate minimizării efortului uman implicat
de utilizarea sistemului de calcul.
Componenta de comanda si
control
 Activitati:
 lansare în execuŃie a unui program,
 gestionare a alocării resurselor sistemului de calcul, pe toată durata executării
programului, ca şi operaŃiile efectuate la încheierea execuŃiei acestuia
 FuncŃii:
 planificarea, lansarea şi urmărirea execuŃiei programelor
 gestionarea resurselor sistemului de calcul
 depistarea şi tratarea evenimentelor deosebite care apar în timpul execuŃiei
programelor
 asigurarea protecŃiei informaŃiilor manevrate de diverse programe (aceste programe
pot fi ale sistemului de operare sau programe utilizator).
 Parti componente necesare realizarii functiilor:
 nucleul sistemului de operare, cu funcŃia de coordonare a activităŃii sistemului de
calcul şi a celorlalte componente ale sistemului de operare. Această componentă este
rezidentă în memoria internă pe toată durata funcŃionării sistemului de calcul şi se mai
numeşte monitorul rezident al sistemului de operare.
 câte o componentă de gestionare pentru fiecare tip de resursă din sistem.
 FuncŃia de protecŃie a informaŃiei între procese şi funcŃia de tratare a erorilor se
realizează în mod specific, pentru fiecare tip de resursă, în cadrul componentei de
gestionare a resursei.
Componenta de servicii
 S-a dezvoltat odată cu cerinŃele utilizatorilor sistemelor de calcul. Gradul de accesibilitate al unui sistem
de calcul, ca şi complexitatea sarcinilor pe care utilizatorul le poate rezolva cu ajutorul lui, sunt influenŃate
de existenŃa şi eficienŃa programelor de sistem incluse în componenta de servicii.
 Programele de servicii se execută sub supravegherea programelor de comandă şi control, ca orice
program de aplicaŃie.
 Această componentă oferă servicii diferite, de la un sistem de operare la altul, sau chiar între variante
diferite ale aceluiaşi sistem de operare. Componenta de servicii a unui sistem de operare poate include:
 unul sau mai multe programe încărcător (loader) pentru sistemul de operare, care lansează
automat programe ale sistemului de operare la pornirea sistemului de calcul ;
 programe de tip interpretor de comenzi ale sistemului de operare, adică acele programe care
preiau comenzile adresate sistemului de operare de către utilizator, asigurând astfel comunicarea
între utilizator şi sistemul de operare;
 funcŃia de gestionare a dialogului cu utilizatorul, fie în mod comandă (CLI), oferind mecanisme
de editare a comenzilor, fie în mod grafic, prin intermediul unei interfeŃe grafice cu utilizatorul (GUI -
Graphical User Interface) ;
 funcŃia de înlănŃuire prin date a comenzilor sistemului de operare (mecanismul pipe), de
interpretare a comenzilor sistemului de operare agregate sub forma unor macrouri sau a unor
fişiere de comenzi ;
 funcŃia de asistenŃă « on line » pentru sistemul de operare, cunoscută ca Help-ul sistemului de
operare;
 funcŃia de tipul « plug and play » care oferă facilităŃi de autodetecŃie a echipamentelor nou instalate
în sistem şi permite reconfigurarea hardware, cu uşurinŃă, a sistemului, ca şi notificarea schimbării
configurării sistemului, de exemplu prin căderea unui echipament din sistem;
 funcŃia care oferă suportul pentru utilizarea limbii naŃionale, adică adaptarea informaŃiilor cu caracter
naŃional (semn monetar, marcă zecimală) conform Ńării selectate ;
 funcŃii pentru configurarea personalizată a mediului de lucru cu sistemul de calcul, de exemplu
pentru utilizatori cu opŃiuni speciale de manevrare a echipamentelor (tastatură, mouse, etc.)
Clasificare SO dpdv al
executiei proceselor
Pentru utilizarea eficientă a resurselor sistemului de calcul, unele sisteme de operare pot gestiona
execuŃia concurentă a mai multor procese, asigurând proceselor din sistem accesul concurent
la resursele sistemului sau partajarea resurselor. Aceasta înseamnă că, la un moment dat, în
sistem se pot afla în execuŃie mai multe procese care concurează între ele pentru accesul la
resursele sistemului iar sistemul de operare gestionează resursele sistemului pentru satisfacerea
cât mai multor cereri ale acestor procese pentru alocarea de resurse. O caracteristică importantă
a unui sistem de operare este măsura în care poate asigura execuŃia concurentă a proceselor.
După acest criteriu, sistemele de operare pot fi:
 monotasking, care nu asigură execuŃia concurentă şi nici partajarea resurselor între mai multe
procese. Sub controlul unui sistem de operare monotasking, la un moment dat, în sistemul de
calcul se poate executa un singur program; acesta rămâne activ din momentul lansării lui în
execuŃie şi până la terminarea lui completă; cât timp este în execuŃie, programul are acces la
toate resursele sistemului de calcul.
 Exemplu: sistemele de operare MS-DOS şi CP/M sunt sisteme de operare monotasking; în timpul
executării unui program, sistemul de operare pierde controlul asupra sistemului, în favoarea
programului aflat în execuŃie, care preia controlul până în momentul încheierii execuŃiei sale.
 multitasking sunt acele sisteme de operare care asigură execuŃia concurentă a mai multor
procese care există concomitent în sistem.
 Exemple: sistemele de operare Windows, Unix sunt sisteme multitasking. AplicaŃia Windows 3.x
rulată sub sistemul de operare monotasking MS-DOS permite exploatarea în regim multitasking a
aplicaŃiilor Windows.
 În plus faŃă de sistemele de operare monotasking, pentru un sistem de operare multitasking
trebuiesc definite strategiile de alocare a resurselor la procesele concurente, strategii care vor fi
folosite de componentele sistemului de operare pentru gestionarea resurselor.
Clasificare SO dpdv al
interactiunii cu utilizatorii
 Din punctul de vedere al accesului utilizatorilor la sistem şi al gradului de interacŃiune cu
sistemul, sistemele de operare pot fi:
 seriale, acele sisteme de operare pentru care gradul de interacŃiune cu utilizatorul, în timpul
prelucrărilor, este nul. De cele mai multe ori, interfaŃa dintre sistemul de operare si utilizator nu
dispune de un limbaj de comandă accesibil utilizatorului obişnuit, motiv pentru care comunicarea
dintre utilizator şi sistem nu este directă ci mediată de persoane specializate ca operatori de
calculator. În timpul execuŃiei lucrării sale, utilizatorul pierde total controlul asupra prelucrării; el
furnizează datele care se prelucrează odată cu formularea cererii de prelucrare şi primeşte
rezultatele prelucrării la încheierea execuŃiei.
 interactive: sistemele de operare care permit comunicarea directă între utilizator şi sistemul de
calcul, prin intermediul unui limbaj dedicat acestui scop (limbajul de comandă al sistemului de
operare sau interfaa grafică utilizator). În plus, utilizatorul poate urmări modul în care se execută
programul său şi poate influenŃa, în anumite condiŃii, execuŃia acestuia. Un sistem de operare
interactiv presupune o arhitectură a sistemului de calcul care să cuprindă echipamente standard de
intrare/ieşire dedicate comunicării utilizatorului cu sistemul de operare (terminale I/O); aceste
echipamente cuprind, de obicei, o tastatură, ca echipament standard de intrare şi un dispozitiv de
vizualizare a informaŃiilor de ieşire (un display sau o mini- imprimantă). Sistemele de operare
interactive pot fi:
 monouser, când comunicarea cu sistemul de calcul este posibilă, la un moment dat, numai pentru un
singur utilizator, prin intermediul consolei sistemului de calcul;
 multiuser, când sistemul de operare poate gestiona comunicarea concomitentă cu mai mulŃi utilizatori,
conectaŃi la sistemul de calcul prin intermediul echipamentelor terminale de intrare/ieşire.
 Exemplu: MS-DOS este un sistem interactiv monouser; Unix este un sistem interactiv multiuser.
Clasificare SO dpdv al
repartizarii sarcinilor nucleului
 sisteme cu nucleu monolitic, în care nucleul
cumulează aproape întreaga funcŃionalitate a
sistemului de operare; exemple tipice în acest sens
sunt sistemele din familia Unix, unde nucleul
include, între altele, chiar şi driverele care
gestionează funcŃionarea perifericelor,
 sisteme de tip microkernel, în care multe din
sarcinile sistemului de operare sunt preluate de
unele procese specializate (numite de obicei
servere), astfel încât nucleul este degrevat de o
parte din atribuŃiile sale
Categorii de SO
 Sisteme mainframe
 Sisteme cu prelucrare in loturi de lucrari
 Sisteme cu dispozitive periferice de tehnologii vechi (cititoare cartele, banda mg,
imprimanta ) cu o consola monouser si dispozitiv de afisare mesaje, erori
 Activitatile reprezentate de joburi grupate (bached) in loturi in functie de cerintele de
resurse
 Functia principala a SO = transferul controlului de la un job la altul, iar cu introducere
unitatilor de disc, planificarea joburilor (job scheduling)
 Dezavantaj – procesor inactiv in operatiile de I/E
 Sisteme cu multiprogramare
 Planificarea activitatilor a.i. cele ce realizeaza operatii de I/E sunt deplanificate
 Necesara comutarea contextului i.e. salvarea/restaurarea
 Gestionarea automata aresurselor (memorie, timp procesor, spatiu de I/E)
 Sisteme cu partajarea timpului (time-sharing, multitasking)
 Multitasking = multiprogramare cu multiuser (mai multi utilizatori, fiecare cu mai multe
joburi)
 comutari frecvente de context, fiecare activitate cu resursele virtuale (propri)
 Suport pentru concurenta la resurse
 Suport pentru comunicarea intre procese si sincroniuzare
Curs SO - lect. dr. Ozten Chelai, 2009-2010 10
Categorii de SO
 Sisteme desktop
 SO pe PC-uri initial monotasking, apoi multitasking
 Exemple: UNIX (Linux, Free BSD, etc), Windows, MacOS, etc.
 Caracteristici mainframe-uri (lucru in retea, securitate) + usurinta in utilizare
 Sisteme multiprocesor
 Sisteme cu mai multe procesoare (vezi clasificare Flynn)
 Sisteme distribuite
 Sisteme client-server
 Sisteme care implementeaza paradigma Client-Server (centralizate si asincrone)
 Servere specializate care raspund la cerile calculatoarelor client;
 Compute-server furnizeaza o interfata la cererile de seviciu ale clientilor (ex. database)
 File-server furnizeaza o interfata la stocarea/redarea fisierelor; etc
 Sisteme Peer-to-Peer
 Sisteme in retea descentralizate P2P (exemplu pentru Internet), nu exista distinctie intre client si server
 Nodurile se considera perechi (peers) actionand si ca client si ca server
 Operatii:
 Inregistrare a serviciului
 Difuzare a cererii de serviciu si raspunsului printr-un protocol de descoperire
 Exemple: Napster and Gnutella
 Sisteme Clustered (de grup)
 Asocierea mai multe calculatoare intr-un nod pentru realizarea unei activitati
 Grup asimetric – 2 calculatoare ce se monitorizeaza reciproc
 Grup simetric - > 2 calculatoare ce se monitorizeaza
 Grup paralel - permite acces la o memorie poartajata
11
Curs SO - lect. dr. Ozten Chelai, 2009-2010
Categorii de SO
 Sisteme de timp-real
 Sisteme in care timpul este critic (timeout-uri) in aplicatii industriale, de control, etc.
 Tipuri – hard RT si soft RT
 Sisteme manuale pentru dispozitive mobile cu functionalitate redusa
 SO pe dipozitive mobile (PDA, telefoane, etc) cu resurse limitate
 Inferno (sistem de operare iniŃial distribuit de Bell Labs)
 Palm OS creat de Palm Inc; acum parte din PalmSource
 EPOC iniŃial creat de Psion (UK), a devenit Symbian, numele preferat este Symbian OS
 Windows CE, creat de Microsoft
 Pocket PC creat de Microsoft, o variantă de Windows CE.
 Windows Mobile creat de Microsoft, o variantă de Windows CE.
 Linux în Sharp Zaurus şi Ipaq
 DOS în Poqet PC
 Newton OS în Apple Newton Messagepad
 VT-OS for the Vtech Helio
 Internet Tablet OS bazat pe Debian Linux şi utilizat de Nokia pentru Nokia 770, N800 şi N810 Internet Tablets.
 SO pentru Smartphone-uri
 RIM BlackBerry OS
 Embedded Linux
 Open Handset Alliance Android
 Openmoko Linux , Mobilinux, MontaVista, MotoMagx, Qtopia, LiMo Platform
 Apple iPhone OS
 Sun Microsystems JavaFX Mobile
 Palm Palm OS
 Symbian Symbian OS
 Microsoft Windows CE
 Microsoft Windows Mobile

Curs SO - lect. dr. Ozten Chelai, 2009-2010 12


Medii de calcul

 Traditional (calculator PC conectat la retea)


 Web (suport pentru Internet)
 Webul a devenit omniprezent (ubiquitous)
 PC-uri si noi exchipamente permit acces web
 O noua categorie de echipamente server pentru gestiunea traficului web: load balancers
 Utilizarea SO existente (Windows, Linux, etc)

 Embedded (inglobat) – echipamente specializate (medicale,


automobile, etc.)

Curs SO - lect. dr. Ozten Chelai, 2009-2010 13

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