Documente Academic
Documente Profesional
Documente Cultură
2012 - 2014 SL. dr. ing. Stefan Mocanu SL. dr. ing. Mihnea Moisescu
Curs 2
Cuprins
1. Introducere in SO 2. Rolul si componentele SO 3. Caracteristici ale SO 4. Clasificari ale SO
Introducere in SO
Introducere in SO
Introducere in SO
Introducere in SO
BIOS
BIOS
sistem compus dintr-un chip miniatural de memorie (aflat pe placa de baza) si un software minimal diversi producatori: American Megatrands (AMI), Award Software/Pheonix Technologies (Awared, Pheonix, PheonixAward), Datatek Enterprise (DTK), Microid Research (MR), etc.
A aparut in 1975 inclus in sistemul de operare - CP/M
BIOS
Functiile BIOSului
control primar al diverselor componente HW: tastatura, monitor, discuri, porturi (serial, paralel, PS2, USB); determina incarcarea sistemului de operare la pornirea sistemului (Bootstrap loader) setarea unor parametri ai sistemului (ora, data, caracteristici functionale pentru diverse componente: placa video, audio, de retea, etc.) testarea sumara a principalelor componente HW (POST = Power-On Self Test) altele:
BIOS
Caracteristici BIOS
in cazul aparitiei unei probleme la discurile magnetice, continutul BIOSului nu este afectat; este posibila modificarea valorilor si salvarea preferintelor in cazul unei probleme generate de lipsa alimentarii cu energie electrica si descarcarea acumulatorului, setarile din BIOS revin la valorile initiale (de fabrica) altele:
BIOS
Power-on self-test Detecteaza dispozitive Plug & Play Afiseaza mesaje de inceput pe ecran Realizeaza un test rapid de memorie Configureaza memoria si alte dispozitive Identifica dispozitive de boot:
Componente
Rutine de diagnoza
Afisare mesaje de eroare pe ecran (daca este cazul). Daca monitorul lipseste sau exista o defectiune la sistemul video -> mesaj sonor (beeeeeep)
Componente
Sunt cautate dispozitive de tip Plug and Play (de ex.: placa video, placa de sunet)
Daca exista astfel de dispozitive, o parte sau toate functiile BIOS-ului sunt inlocuite cu functii specifice Daca au aparut modificari de HW (sau disfunctionalitati) este afisat un mesaj pe ecran (poate fi un mesaj de eroare sau o recomandare de actualizare)
Componente
Bootstrap Loader
BIOSul acceseaza primul sector al HDD si porneste acest program care este capabil sa recunoasca structura dispozitivului de stocare si sa lanseze/porneasca sistemul de operare
Kernel-ul (nucleul) SO este incarcat in memoria principala. Din acest moment, SO preia controlul dispozitivelor HW Comunicarea dintre SO si dispozitivele HW este realizata prin intermediul unor drivere. Ce sunt driverele ?
Updating (Actualizare)
BIOS-urile actuale permit actualizarea scrierea de informatii Cine credeti ca realizeaza actualizarea BIOSului ?
Secventa BIOS
Pornire computer
POST
PlugnPlay
MBR
Boot Loader
Kernel
OS
Introducere in SO
Introducere in SO
Introducere in SO
Introducere in SO
Introducere in SO
Introducere in SO
Introducere in SO
NTLDR (NT loader) este cel care determina pornirea sistemelor de operare Windows bazate pe Windows NT (NT, XP, 2000)
Definire SO
SISTEM DE OPERARE program care controleaza executia aplicatiilor interfata intre aplicatii si componentele hardware Obiectivele sistemului de operare: Facilitate Eficienta Caracter evolutiv
Rolul si componentele SO
Aplicatii SO
Mem. Int. Mem. Ext.
Procesor
Aplicatii utilizator
Rolul si componentele SO
Sistemul de Operare:
este cel mai important program (set de programe) care ruleaza pe un calculator; controleaza si comunica direct cu toate componentele unui calculator; permite si gestioneaza executarea aplicatiilor utilizator; permite si intermediaza legatura dintre aplicatii si componetele HW.
Rolul si componentele SO
Exemplul 1:
Rolul si componentele SO
Exemplul 2:
Rolul si componentele SO
Windows
-cd, md,
Linux
- ls, ps - clear - mkdir Aplicatii SO Kernel (nucleu) - etc.
-cls, copy
- del - etc.
Dezvoltarea de programe: servicii oferite de SO (editoare, debugger, etc) instrumente pentru dezvoltarea de programe Executia programelor: SO planifica executarea unui program. Exemplu: datele si instructiunile sunt incarcate in memoria principala, dispozitivele si fisierele I/O sunt initializate Accesul la dispozitivele de tip I/O: dispozitivele I/O necesita propriul set de instructiuni sau semnale de control pentru operare. SO ofera o interfata ce permite utilizatorului sa acceseze dispozitivele I/O folosind comenzi predefinite. Accesul controlat la fisiere: SO identifica dispozitivele I/O SO determina structura datelor stocate si gestioneaza accesul
Accesul la sistem: asigura protectia fata de utilizatorii neautorizati: parola, alte metode limiteaza accesul la anumite componente ale sistemului: clase de utilizatori Detectarea/corectarea erorilor: Gestioneaza erorile componentelor hardware (erori de memorie, functionare defectuoasa) Gestioneaza erori software (impartire la zero, incercari de accesare a unor locatii de memorie interzise, incapacitatea sistemului de a acorda accesul unei aplicatii). Mecanisme de gestiune. Exemplu: inchiderea programului care a cauzat eroarea, reincarcarea unei operatii sau raportarea erorii catre o aplicatie. Monitorizare: statistici privind utilizarea resurselor Monitorizare a parametrilor de functionare Scop: imbunatatirea viitoare a performantelor sistemului
Rolul si componentele SO
Kernel (Nucleu):
cea mai importanta componenta a SO; este prima componenta care se incarca in memorie dupa pornirea calculatorului; ramane in memoria principala; din acest motiv este de dorit sa ocupe un spatiu cat mai mic fara ca acest lucru sa afecteze functionarea celorlalte componente ale SO sau a aplicatiilor utilizator; este responsabil pentru gestiunea memoriei interne, a proceselor si a discurilor (memorie externa) are privilegii (drepturi) mari (maxime) spre deosebire de aplicatiile utilizator !!!
Kernel
Oxford Dictionary: KERNEL = "a softer, usually edible part of a nut" => link with shell "The central or most important part of something."
Kernel
Stiva Retea
Gestiune CPU
Hardware
System call
Kernel
Executie System call
System call = mecanism prin care un program cere un serviciu oferit de kernel Modul privilegiat nu are restrictii Modul utilizator este restrictionat pentru
Kernel monolitic
Utilizator
Shell si comenzi Compilator Biblioteci sistem
Interfata System call
Unix
Kernel
Stiva Retea
Gestiune CPU
Drivere dispozitiv
Interfata hardware
Hardware
MicroKernel
microkernel
Utilizator
Programe
Sistem de fisiere
Interfata
Drivere dispozitiv
Kernel
Comunicare
Gestiune CPU
Interfata hardware
Management memorie
Hardware
Kernel hibrid
kernel hibrid sau modular Similar cu microkernel dar cu servicii suplimentare / extensii dinamice Windows XP, 7
Kernel de baza
Alte module
Sistem de fisiere
Drivers
Masina virtuala
Aplicatie Aplicatie Aplicatie Aplicatie
Kernel Kernel
Kernel
Kernel
MV1
MV1
MV1
Hardware
masina virtuala
Rolul si componentele SO
Aplicatii SO:
care este rolul lor ? cine le-a dezvoltat ? unde se gasesc ? cum pot fi executate ?
Rolul si componentele SO
Functii ale SO:
gestiunea memoriei, procesorului, dispozitivelor I/O; gestiunea fisierelor de pe dispozitivele de stocare; gestiunea utilizatorilor (in cazul SO multi-user); gestiunea proceselor/threadurilor (discutii ulterioare); tratarea erorilor;
Rolul si componentele SO
Caracteristici ale SO
Facilitate: usureaza folosirea computerului
utilizatorul nu trebuie sa fie preocupat de hardware-ul sistemului de calcul; utilizatorul este interesat de aplicatii SO trebuie sa ofere independenta utilizatorului de HW
Eficienta: optimizeaza folosirea resurselor Portabilitate (independenta de HW): un SO trebuie sa nu depinde de tipul de procesor, memorie, disc, etc.
Caracteristici ale SO
Caracter evolutiv: implementarea de noi functii fara a afecta functionarea sistemului. scenariul 1 : HW nu se modifica (exemplu ?) scenariul 2 : HW se modifica (exemplu ?) Permanenta: sistemul de operare este in permanenta activ (SO actuale) Actualizare: sistemul de operare face/reface configurarea componentelor HW
Clasificari ale SO
I. In functie de numarul de utilizatori
1. 2. Single user: SO deserveste un singur utilizator la un moment de timp dat: MS-DOS, Windows 3.1, Windows CE Multi user: SO deserveste mai multi utilizatori in acelasi timp: Linux, Solaris
Clasificari ale SO
III. In functie de numarul de procese
1. 2. Single tasking: SO executa un singur proces la un moment de timp dat. Multi tasking: SO executa mai multe procese in acelasi timp a. real: sistemul de calcul necesita capabilitati de procesare paralela (procesor cu mai multe nuclee) b. simulat: executia in paralel a proceselor este doar aparenta, se bazeaza pe un mecanism de divizare a timpului de acces la procesor (time sharing)
Clasificari ale SO
IV. Dupa tipul prelucrarilor
1. SOTR: executia programelor utilizator se face cu anumite garantii in conformitate cu algoritmi puternici de planificare; se intilnesc in domenii critice. Ex: QNX, RTLinux, Enea OSE SO batch processing: caracterizate printr-o deservire secventiala a cererilor
2.
3.
SO time-sharing: deservire alternativa a cererilor; executia fiecarui task dureaza foarte putin.
Clasificari ale SO
IV. Dupa tipul si configuratia HW a sistemului de calcul
1. 2. 3. 4. 5. SO pentru calculatoare mici SO pentru calculatoare mainframe SO pentru dispozitive portabile SO embedded SO pentru smart-card-uri
Bibliografie
A.Tanenbaum & A.Woodhull, Operating Systems Design and Implementation, 2nd edition, Prentice Hall, 2003 Sibsankar Haldar & Alex A. Aravind, Operating Systems, 2009, http://my.safaribooksonline.com/book/operating-systems-and-serveradministration/9788131715482 http://www.greatwhitesnark.com/2010/04/14/operating-systems-venndiagram http://www.itimcj.ro/~jalobean/Cursuri/ArhCalc/Materiale/carte/cap4.htm http://www.cse.iitm.ac.in/~sdas/courses/comp_org/LEC_INTRO.pdf Amir Hossein Payberah, Linux Kernel Architecture