Sisteme de Operare Curs 2 PDF
Document Details
![SlickKoala4317](https://quizgecko.com/images/avatars/avatar-3.webp)
Uploaded by SlickKoala4317
Politehnica University of Timișoara
Tags
Related
- omscs-notes-notes_operating-systems_thread-performance-considerations.md at 1e77184ce6ad5faefba8709d6a249888a005f542 · m4ttsch_omscs-notes-notes · GitHub.pdf
- omscs-notes-notes_operating-systems_midterm-exam-review-questions.md at 1e77184ce6ad5faefba8709d6a249888a005f542 · m4ttsch_omscs-notes-notes · GitHub.pdf
- The Bootloader: Definition, Location, Functioning, and Examples PDF
- Installation Windows 10 : Questions de Base - Guide PDF
- BIOS 151 - Computer Software PDF
- Instalación y Configuración de un Sistema Informático (PDF)
Summary
Acest document este un curs despre Sisteme de Operare, concentrându-se pe introducere, BIOS, componentele sale, precum și conceptele de bază ale sistemului de operare și UEFI. Sunt incluse definiții, detalii despre funcțiile BIOS-ului și secvența BIOS-ului, componente și modelul kernel simplificat.
Full Transcript
Sisteme de Operare Curs 2 Cuprins 1. Introducere in SO 2. Rolul si componentele SO 3. Initializarea Sistemelor de Operare - BIOS 4. Caracteristici ale SO 5. Clasificari ale SO INTRODUCERE IN SO Introducere in SO Introducere in SO Introducere in SO Introdu...
Sisteme de Operare Curs 2 Cuprins 1. Introducere in SO 2. Rolul si componentele SO 3. Initializarea Sistemelor de Operare - BIOS 4. Caracteristici ale SO 5. Clasificari ale SO INTRODUCERE IN SO Introducere in SO Introducere in SO Introducere in SO Introducere in SO BIOS BIOS BIOS = Basic Input/Output System BIOS BIOS = Basic Input/Output System 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, Pheonix- Award), 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 ◼ BIOS executa urmatoarea secventa: ◼ Power-on self-test (POST) ◼ Detecteaza dispozitive Plug & Play ◼ Detecteaza BIOS placa video – executa initializarea video ◼ Detecteaza BIOS alte dispozitive ◼ Afiseaza ecran start-up ◼ Test scurt de memorie ◼ Configurare memorie si dispozitive ◼ Identifica device de boot: ◼ Incarca blocul de boot 0 (Master Boot Record) Secventa BIOS Pornire computer POST Plug’n’Play MBR Boot Loader Kernel OS Componente ◼ POST (Power On Self Test) ◼ Rutine de diagnoza ◼ Initializare HW intern si dispozitive periferice: ◼ Placa video, memoria principala, procesorul, tastatura, altele. ◼ Verificare functionarii corecte ◼ Afisare mesaje de eroare pe ecran (daca este cazul). Daca monitorul lipseste sau exista o defectiune la sistemul video -> mesaj sonor (beeeeeep) Componente ◼ Plug and Play ◼ 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 ◼ Operating System Kernel (Nucleul Sistemului 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 ? Introducere in SO Introducere in SO Introducere in SO Introducere in SO Introducere in SO Introducere in SO ◼ GRUB = GNU GRand Unified Bootloader ◼ Volume Boot Record (VBR) ◼NTLDR (abbreviation of NT loader) is the boot loader for all releases of Windows NT operating system ◼ Unified Extensible Firmware Interface (UEFI) Framework UEFI Overview Unified Extensible Firmware Interface ◼ (UEFI) – succesor BIOS ◼ Preia din BIOS: ◼ Power management (Advanced Configuration & Power Interface, ACPI) ◼ System management ◼ Suporta discuri de dimensiuni mari ◼ – BIOS - 4 partitii per disk, pana la 2.2 TB per partitie ◼ – EFI - 9.4 ZB pe partitie http://www.uefi.org/ ◼ Device drivers - inclusi ◼ Boot manager: selectare si incarcare OS ◼ Nu necesita boot loader separat ◼ Extensibil ◼ Dezvoltat in C – independent fata de CPU si OS ◼ Suport pentru retea – IPv4 si IPv6 ◼ Recuperarea datelor si diagnostic independent de OS https://how2do.org/how-to-update-the-pc-bios-uefi/ ◼ UEFI - Windows UEFI Firmware UEFI Boot Manager Windows Boot Manager (bootmgfw.efi) Windows OS Loader (winload.efi) Kernel (ntoskrnl.exe) http://www.uefi.org/sites/default/file s/resources/UEFI_on_Dell%20BizClie nt_Platforms.pdf ROLUL SI COMPONENTELE SO Definire SO SISTEM DE OPERARE ◼ program care controleaza executia aplicatiilor ◼ interfata intre aplicatii si componentele hardware Obiectivele sitemului de operare: ◼ Facilitate: usureaza folosirea computerului ◼ Eficienta: optimizeaza folosirea resurselor ◼ Caracter evolutiv: dezvoltarea, testarea si implementarea de noi functii ale sistemului fara sa afecteze functionarea. Definire SO ◼ Aplicatii ◼ Interfata de programare a aplicatiilor (API) ◼ Biblioteci / utilitati ◼ Interfata binara a aplicatiilor (ABI) ◼ SO ◼ Arhitectura set de instructiuni (ISA) ◼ Hardware ◼ Arhitectura set de instructiuni (ISA Instruction Set Architecture): set de instructiuni limbaj masina executate de computer. granita dintre hardware si software. ISA utilizator (user) accesate de SO sau de API si ABI. ISA sistem (system): accesate doar de SO pentru gestionarea resurselor sistemului. Exemplu Ref: Modern Processor Design - Funds of Superscalar Processors Definire SO Interfata binara intre aplicatii (ABI Application Binary Interface) ◼ defineste un standard pentru transferul intre programe (la nivel binar) ◼ defineste interfata de apelare a sistemului de operare si ansamblul resurselor hardware si serviciilor disponibile prin intermediu ISA utilizator. Interfata de programare a aplicatiilor (API Application Programming Interface) ◼ asigura accesul unui program la resursele hardware si la serviciile disponibile prin ISA utilizator si apelarea de biblioteci HLL (High Level Language). ◼ API permite transferul facil al aplicatiilor software catre alte sisteme ce suporta acelasi API, prin recompilare. ◼ https://www.vlsisystemdesign.com/abi-get-this-one-right-risc-v-is-all-yours/ Rolul si componentele SO Aplicatii SO Mem. Int. Mem. Ext. I/O Sistem de Operare 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 Linux - ls, ps -cd, md, - clear -cls, copy - mkdir - del Aplicatii SO - etc. - etc. Kernel (nucleu) Rolul si componentele SO Aplicatii SO: care este rolul lor ? cine le-a dezvoltat ? unde se gasesc ? cum pot fi executate ? cine le poate executa ? pot fi sterse ? Kernel Oxford Dictionary: KERNEL = ◼ "a softer, usually edible part of a nut" => link with “shell” ◼ "The central or most important part of something." 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 !!! Model Kernel simplificat Programe / Aplicatii Sistem de operare Program 3 Program 2 Explorare Browser Shell Program 1 Interfata fisiere System call Sistem de fisiere Kernel Stiva Gestiune Driveri dispozitiv Retea CPU Management memorie Hardware Model Kernel simplificat Program Program lansat in Rezultat “System call” executie de utilizator “System call” Kernel Executie “System call” ◼ Sistemul de operare ruleaza in doua moduri: ◼ Modul privilegiat nu are restrictii ◼ Modul utilizator este restrictionat pentru: Operatii I/O, accesare CPU si memorie ◼ System call ◼ este un mecanism care asigură interfața dintre un proces și sistemul de operare ◼ un program cere un serviciu oferit de “kernel” Model Kernel simplificat ◼ “System call” ◼ oferă programelor utilizator access la serviciile sistemului de operare prin intermediul API (Application Programming Interface). ◼ Modul de interactiune program – kernel: 1) Procesele se executa în modul utilizator până la momentul întreruperii de catre “system call”. 2) “System call” se execută în modul kernel 3) Dupa finalizare se revine in modul utilizator. ◼ Exemple de utilizare a “system call”: ◼ citirea și scrierea din fișiere / crearea si stergerea fisierelor ◼ crearea și gestionarea de noi procese. ◼ accesul la dispozitive I/O precum scanerul, imprimanta ◼ conexiuni la retea – schimbul de mesaje Kernel monolitic ◼ monolitic Utilizator ◼ mostenire Unix, preluat de Linux Shell si comenzi ◼ functii de baza + Compilator drivere Biblioteci sistem Interfata System call Sistem Stiva Gestiune de fisiere Driveri Unix Kernel Retea CPU Management dispozitiv memorie Interfata hardware Hardware MicroKernel Utilizator ◼ microkernel ◼ Servicii minimale ◼ Mac OS X, MINIX, Programe Sistem Driveri QNX de fisiere dispozitiv Interfata Gestiune Management Kernel Comunicare CPU memorie Interfata hardware Hardware Kernel hibrid ◼ kernel hibrid sau modular Extensii ◼ Similar cu microkernel dar cu system call servicii suplimentare / extensii dinamice ◼ Windows XP, 7 Alte Kernel module de ◼ exokernel baza ◼ Experimental ◼ Separare intre protectia hardware si managementul hardware Sistem de Drivers fisiere Masina virtuala Aplicatie Aplicatie Aplicatie Aplicatie Kernel Kernel Kernel Kernel MV1 MV1 MV1 Hardware Implementare masina virtuala Hardware Fara masina virtuala masina virtuala CARACTERISTICI ALE SISTEMELOR DE OPERARE Functii ale SO Servicii furnizate de SO Caracteristici ale SO Functii ale 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 (cursuri ulterioare); tratarea erorilor; dupa caz, ofera o interfata grafica, prietenoasa cu utilizatorul; in general, un SO ofera un set minim de programe/aplicatii pentru asistarea utilizatorului Servicii furnizate de SO Servicii furnizate de SO ◼ Dezvoltarea de programe ◼ Executia programelor ◼ Accesul la dispozitivele de tip I/O ◼ Accesul controlat la fisiere ◼ Accesul la sistem ◼ Detectarea/corectarea erorilor ◼ Monitorizare ◼ Descrise pe larg in continuare Servicii furnizate de SO ◼ Dezvoltarea de programe: ◼ servicii oferite de SO (editoare, debugger, etc) ◼ instrumente pentru dezvoltarea de programe ◼ Executia programelor: ◼ So planifica pentru 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 dsipozitivele I/O folosind comenzi predefinite. ◼ Accesul controlat la fisiere: ◼ SO identifica dispozitivelor I/O , ◼ SO determina structura datelor stocate si gestioneaza accesul Servicii furnizate de SO ◼ Accesul la sistem: ◼ asigura protectia fata de utilizatorii neautorizati: parola ◼ 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 Proprietati ale SO Sistemele de operare pot fi caracterizate prin urmatoarele proprietati: ❑Facilitate ❑Portabilitate (independenta de HW) ❑Caracter evolutiv ❑Permanenta ❑Actualizare ❑Eficienta Proprietati 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 folosii resurselor Portabilitate (independenta de HW): un SO trebuie sa nu depinde de tipul de procesor, memorie, disc, etc. Proprietati 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 Clasificari ale SO I. In functie de numarul de utilizatori 1. Single user: SO deserveste un singur utilizator la un moment de timp dat: MS-DOS, Windows 3.1, Windows CE 2. Multi user: SO deserveste mai multi utilizatori in acelasi timp: Linux, Solaris II. In functie de tipul interactiunii cu utilizatorul 1. Seriale: utilizatorul nu are nici un fel de control asupra executiei programelor proprii; astfel de sisteme de operare nu mai sunt de actualitate; 2. Interactive: utilizatorul are controlul programelor proprii Clasificari ale SO III. In functie de numarul de procese 1. Single tasking: SO executa un singur proces la un moment de timp dat. 2. 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 2. SO batch processing: caracterizate printr-o deservire secventiala a cererilor 3. SO time-sharing: deservire alternativa a cererilor; executia fiecarui task dureaza foarte putin. Clasificari ale SO V. Dupa tipul si configuratia HW a sistemului de calcul 1. SO pentru calculatoare mici 2. SO pentru calculatoare mainframe 3. SO pentru dispozitive portabile 4. SO embedded 5. SO pentru smart-card-uri VI. Dupa arhitectura kernel 1. SO monolitice 2. SO stratificate 3. SO bazate pe micro-kernel 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-server- administration/9788131715482 ◼ http://www.greatwhitesnark.com/2010/04/14/operating-systems-venn- diagram ◼ http://www.itim- cj.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