introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/so_curs-01.pdf · sisteme de operare...
TRANSCRIPT
![Page 1: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/1.jpg)
Introducere
SO: Curs 1
1SO: Curs 1: Introducere
![Page 2: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/2.jpg)
Cuprins
• De ce (un curs) de SO?
• Despre cursul de SO
• Despre sisteme de operare
• Sisteme de calcul. Hardware
• Concepte importante în SO
• Structura unui SO
2SO: Curs 1: Introducere
![Page 3: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/3.jpg)
DE CE (UN CURS DE) SO?
3SO: Curs 1: Introducere
![Page 4: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/4.jpg)
Un mic joc
Scrieți pe o foaie de hârtie:
•O aplicație (desktop, mobile, web) pe care o folosiți sau care vi se pare utilă/interesantă
•Un dispozitiv hardware care vă place și vi se pare interesant
Participați la discuția cu titularul de curs
4SO: Curs 1: Introducere
![Page 5: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/5.jpg)
Sisteme de operare
• Gestiunea resurselor sistemului (hardware)
• Interfața dintre aplicații și hardware
• Medierea accesului la hardware
• Securitatea și integritatea sistemului
5SO: Curs 1: Introducere
![Page 6: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/6.jpg)
De ce sisteme de operare?
• Independent de job/limbaj de programare/tip de aplicație– Depanare
– Performanță– Securitate
• SO ofera primitive care izoleaza aplicatiile de detaliile hardware– POSIX
– Procese, fisiere, thread-uri, memorie virtuala.
6SO: Curs 1: Introducere
![Page 7: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/7.jpg)
De ce e nevoie de un curs de SO?
Ca sa invatam istoria calculatoarelor?•System V, Solaris, HP-UX, AIX
•CP/M, MS-DOS
•Linux, FreeBSD, MacOS, Windows
•Mozilla OS, ClickOS, ChromeOS, ...
Ca sa invatam din greselile istoriei?
SO: Curs 1: Introducere 7
![Page 8: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/8.jpg)
A aparut noul, magnificul OS!
SO: Curs 1: Introducere 8
Ca sa evitam confuzia si intrebari ca:•Dar de ce e nevoie de inca un OS?•Eu nu am timp sa invat inca un OS!•Mai bine ma fac boss.•E prea de tot globalizarea SO, votez cu Brump!
De ce e nevoie de un curs de SO?
![Page 9: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/9.jpg)
Are sens!
SO: Curs 1: Introducere 9
De ce e nevoie de un curs de SO?
![Page 10: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/10.jpg)
DESPRE CURSUL DE SO
10SO: Curs 1: Introducere
![Page 11: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/11.jpg)
Cursuri de SO
USO
SO
SO2
kernel space
user space
system API
user interface
11SO: Curs 1: Introducere
![Page 12: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/12.jpg)
Legături cu alte discipline
Cunoștințe utile din
• USO
• Programare
• SD
• IOCLA
• CN
• PC
Cunoștințe utile pentru
• SO2
• CPL
• BD
• APP
• SPRC
12SO: Curs 1: Introducere
![Page 13: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/13.jpg)
Cine suntem• Curs– Costin Raiciu (CA), Mihai Carabaș (CB), Răzvan Deaconescu
(CC)
• Coordonator curs: Mihai Carabaș• Laborator:
– Costin Carabaș, Răzvan Nițu, Răzvan Crainea, Elena Mihăilescu, Narcisa Vasile, Robert Baronescu, Ioana Ciornei, Alexandru Rotaru, George Muraru, Octavian Grigorescu, Mihai Silviu Murgan, Lutan Adrian, Stefan Alexandru Aldoiu, Mihai Bărbulescu, Adrian Șendroiu, Eduard Staniloiu, Darius Mihai, Dragos Costea, Bogdan Purcareata, Alex Morega, Razvan Aurelian Pricope, Irina Presa, Vladimir Olteanu
• Colaboratori:– Petru Gurita, Liza Babu, Neculai Balaban 13SO: Curs 1: Introducere
![Page 14: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/14.jpg)
Resursele cursului de SO
• echipa• wiki: http://ocw.cs.pub.ro/courses/so/• moodle: http://cs.curs.pub.ro• listă de discuții• slide-uri cursuri• catalog și calendar Google• mașini virtuale• interfața vmchecker• documentație• pagina de Facebook
14SO: Curs 1: Introducere
![Page 15: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/15.jpg)
Comunitatea SO
• întrebări, discuții, sugestii, feedback
• live (cursuri, laboratoare), listă, Facebook– să parcurgeți indicațiile de comunicare pe listă
• colaborare în timpul laboratorului– încurajăm să discutați și vă ajutați între voi
15SO: Curs 1: Introducere
![Page 16: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/16.jpg)
Conținut
Cursuri
• 13 cursuri
• slide-uri
• suport bibliografic– foarte important de parcurs
• bogat în informații• interactiv
Laboratoare
• 12 laboratoare– corelate cursurilor
– după curs
• practice
• joc, discuții, exerciții• tutorial, task-based, learn
by doing
• încurajăm colaborarea
16SO: Curs 1: Introducere
![Page 17: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/17.jpg)
Teme
Conținut
• Cross-platform development
• Biblioteca stdio
• Loader de executabile
• Planificator de thread-uri
• Web server asincron
Dezvoltare
• Linux și Windows
• aprofundare API
• 8-20 de ore pe temă• teste publice
– testare pe vmchcker
• întrebări și suport pe listă
17SO: Curs 1: Introducere
![Page 18: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/18.jpg)
Despre rezolvare teme
• Temele te ajută să înțelegi mai bine conceptele
• Temele îți dezvoltă abilitățile de programare
• Pot fi dificile, dar e “rewarding” când îți ies
• Temele sunt individuale– Puteți discuta între voi în limitele bunului simț– Întrebați cu încredere pe lista de discuții– Parcurgeți regulile de realizare ale temelor
• Folosiți GitLab sau BitBucket sau GitHub (privat)
18SO: Curs 1: Introducere
![Page 19: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/19.jpg)
Bibliografie
• Curs– Operating System Concepts
– Modern Operating Systems
• Laborator– The Linux Programming Interface
– Windows System Programming
19SO: Curs 1: Introducere
![Page 20: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/20.jpg)
Bibliografie suplimentară
• Beginning Linux Programming
• Advanced Programming in the Unix Environment
• Linux System Programming
• Win32 Programming
• Programming Windows
• Linkers and Loaders
20SO: Curs 1: Introducere
![Page 21: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/21.jpg)
DESPRE SISTEME DE OPERARE
21SO: Curs 1: Introducere
![Page 22: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/22.jpg)
Ce este un SO?
OSCE, fig. 1.1, pg. 422SO: Curs 1: Introducere
![Page 23: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/23.jpg)
Ce este un SO?
• un set de programe
• vedere top-down: extensie a mașinii fizice
• vedere bottom-up: gestionar al resurselor fizice
• scris în general în C
• relativ transparent utilizatorului (“trebuie să meargă)
23SO: Curs 1: Introducere
![Page 24: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/24.jpg)
Legătura SO - hardware
• SO este primul nivel software peste hardware• Un SO performant
– folosește facilitățile hardware– expune facilitățile hardware aplicațiilor
• Hardware-ul are nevoie de SO pentru a putea fi folosit (pentru a construi aplicații/software)
• SO evoluează pe măsură ce evoluează hardware-ul
24SO: Curs 1: Introducere
![Page 25: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/25.jpg)
SISTEME DE CALCUL. HARDWARE
25SO: Curs 1: Introducere
![Page 26: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/26.jpg)
Sistem de calcul
• Sistemul fizic (hardware) + sisteme de operare și aplicații
• Baza pentru a dezvolta aplicații, a folosi aplicații, a construi sisteme
• În general interconectat cu alte sisteme
• De la servere cu mii de core-uri la dispozitive mici din zona IoT (Internet of Things)
26SO: Curs 1: Introducere
![Page 27: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/27.jpg)
Hardware-ul unui sistem de calcul
• Procesor (CPU)– rulează codul (instrucțiunile) proceselor
• Memorie de lucru (RAM)– stochează datele și codul proceselor
• Magistrale– leagă CPU, module de memorie, dispozitive de I/E
• Dispozitive periferice (de intrare/ieșire, I/E, I/O)– comunicarea cu exteriorul: utilizator, alte sisteme
de calcul, alte dispozitive• Spațiu de stocare (disc-uri, flash, ROM, NVRAM)
– Programe (din care vor lua naștere procese)– Date pentru procese– Informații pentru utilizator (fișiere)
27SO: Curs 1: Introducere
![Page 28: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/28.jpg)
Procesor și memorie
OSCE, fig. 1.7, pg. 16
28SO: Curs 1: Introducere
![Page 29: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/29.jpg)
Magistrale
https://en.wikipedia.org/wiki/Bus_%28computing%29
29SO: Curs 1: Introducere
![Page 30: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/30.jpg)
SO: Curs 1: Introducere 30
![Page 31: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/31.jpg)
Memorie
OSCE, fig. 1.11, pg. 28
31SO: Curs 1: Introducere
![Page 32: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/32.jpg)
CONCEPTE IMPORTANTE ÎN SO
32SO: Curs 1: Introducere
![Page 33: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/33.jpg)
Shell
• Interfața utilizator-sistem de operare
• CLI sau GUI
• Bash vs. Windows Explorer / GNOME / KDE
• Un proces care permite pornirea de alte procese/aplicații– “shell spawns a process”
33SO: Curs 1: Introducere
![Page 34: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/34.jpg)
Procese
• Iau naștere dintr-un program executabil• Program în execuție, entitate dinamică
– Noțiunea de “runtime” (timpul rulării) se referă la proces
• Date și cod în memorie, se execută pe CPU• Are asociate resurse: spațiu de adrese de
memorie, fișiere deschise, sockeți• SO oferă protecție și comunicare inter-proces• Ierarhie de procese la nivelul SO
Mai multe la cursurile 3 și 434SO: Curs 1: Introducere
![Page 35: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/35.jpg)
Memoria unui proces
https://en.wikipedia.org/wiki/Virtual_address_spaceMai multe la cursurile 3 și 535SO: Curs 1: Introducere
![Page 36: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/36.jpg)
Memorie virtuală
• Un proces are un spațiu virtual (inexistent de fapt) de memorie– Procesul are impresia că toată memoria îi aparține
• Memoria virtuală decuplează vederea procesului de memoria sistemului
• Procesele lucrează cu adrese virtuale (din spațiul fizic de adrese)– Adresele fizice sunt adrese din memoria fizică
• SO mapează/asociază spațiul virtual al proceselor cu memorie fizică
Mai multe la cursurile 6 și 736SO: Curs 1: Introducere
![Page 37: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/37.jpg)
Thread-uri
• Un proces poate avea mai multe thread-uri
• Thread-urile partajează spațiul virtual de adrese al procesului
• Utile să faci mai multe lucruri cu aceleași date (din spațiul virtual de adrese al procesului)
• Permit folosirea facilităților hardware multi-procesor
Mai multe la cursul 837SO: Curs 1: Introducere
![Page 38: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/38.jpg)
Concurență și sincronizare
• Thread-urile sau procesele pot concura la achiziția de resurse (date în memorie)
• Accesele concurente pot duce la date inconsecvente sau blocaje
• Sincronizarea garantează accesul consecvent și ordonat la date
Mai multe la cursul 938SO: Curs 1: Introducere
![Page 39: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/39.jpg)
Moduri de execuție
• Procesorul are un mod privilegiat: supervisor mode, system mode, kernel mode– Pentru acțiuni privilegiate– Aici rulează sistemul de operare
• Aplicațiile rulează în modul neprivilegiat: user mode– Nu pot comunica cu hardware-ul sau cu alte procese– Pot doar acționa asupra spațiului de memorie propriu
• Nucleul intermediază accesul proceselor la hardware sau la resursele altor procese
• Separația modurilor asigură securitatea sistemului• Tranziția user mode -> kernel mode = apel de sistem
Mai multe la cam toate cursurile următoare ☺ 39SO: Curs 1: Introducere
![Page 40: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/40.jpg)
Traziția user mode – kernel mode
Mai multe la cam toate cursurile următoare ☺
40SO: Curs 1: Introducere
OSCE, fig. 1.10, pg. 22
![Page 41: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/41.jpg)
Apeluri de sistem
Mai multe la cam toate cursurile următoare ☺
41SO: Curs 1: IntroducereOSCE, fig. 2.6, pg. 56
![Page 42: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/42.jpg)
Fișiere
• Unități de stocare
• Deschise și folosite de procese
• Fișier pe disc (static) și fișier deschis (dinamic, în cadrul unui proces)
• Fișier pe disc: nume, dimensiune, permisiuni, timestamp-uri
• Fișier deschis: handle de fișier, cursor de fișier, drepturi de deschidere, operații pe fișier
Mai multe la cursurile 2 și 1242SO: Curs 1: Introducere
![Page 43: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/43.jpg)
STRUCTURA UNUI SO
43SO: Curs 1: Introducere
![Page 44: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/44.jpg)
Stiva software pentru un sistem de calcul
SO: Curs 1: Introducere 44
Nucleu (kernel)
Utilitare de sistem, biblioteci low-level
Framework-uri, biblioteci, servicii
Aplicații
![Page 45: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/45.jpg)
Nucleul (kernel-ul)
• Strict tehnic, nucleul este sistemul de operare– Windows are ca nucleul WindowsNT din imaginea
ntoskrnl.exe– Linux este nucleul unei distribuții GNU/Linux și
Android– Mac OS X și iOS au ca nucleu XNU
• Încărcat la bootare apoi pornește primele aplicații și gestionează hardware-ul
• Răspunde apelurilor de sistem ale proceselor• Gestionează resursele hardware• Garantează integritatea sistemului
SO: Curs 1: Introducere 45
![Page 46: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/46.jpg)
Structura uzuală a SO (monolitic)
SO: Curs 1: Introducere 46OSCE, fig. 2.13, pg. 69
![Page 47: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/47.jpg)
SO monolotic vs. SO microkernel
SO: Curs 1: Introducere 47
https://en.wikipedia.org/wiki/Microkernel
![Page 48: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/48.jpg)
SO monolotic vs. SO microkernel (2)
Monolitic
• Eficient
• Coeziunea codului/datelor
• Mai puțin flexibil
• TCB (Trusted Computing Base) mai mare (design mai puțin sigur)
Microkernel
• Mai lent (comunicare între servicii)
• Componentizabil, flexibil, modular
• TCB redus (design mai sigur)
SO: Curs 1: Introducere 48
![Page 49: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/49.jpg)
Mașini virtuale
SO: Curs 1: Introducere 49OSCE, fig. 2.17, pg. 74
![Page 50: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/50.jpg)
Tendințe curente în SO
• Securitate
• Dispozitive de mici dimensiuni (tinification)
• Scalare (CPU, memorie, disc), mașini virtuale
• Performanță, suport hardware pentru operații specifice
SO: Curs 1: Introducere 50
![Page 51: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/51.jpg)
Reminder: Resursele cursului de SO
• echipa• wiki: http://ocw.cs.pub.ro/courses/so/• moodle: http://cs.curs.pub.ro• listă de discuții• slide-uri cursuri• catalog și calendar Google• mașini virtuale• interfața vmchecker• documentație• pagina de Facebook
SO: Curs 1: Introducere 51
![Page 52: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/52.jpg)
Concluzie
• Cunoștințele de SO sunt utile pentru– securitate– depanare– performanță
• Conceptele de SO sunt relativ complexe• Sunt foarte importante legăturile între concepte• Vom insista pe fiecare concept în următoarele cursuri• Sistemul de operare este strâns legat de hardware• Nucleul SO gestionează hardware-ul și asigură
securitatea sistemului
SO: Curs 1: Introducere 52
![Page 53: Introducere - elf.cs.pub.roelf.cs.pub.ro/so/res/cursuri/SO_Curs-01.pdf · Sisteme de operare •Gestiunea resurselor sistemului (hardware) •Interfața dintre aplicații și hardware](https://reader030.vdocument.in/reader030/viewer/2022040313/5e0cf772f3ab9f758208593f/html5/thumbnails/53.jpg)
Cuvinte cheie
• sistem de operare (SO)• comunitatea SO• sistem de calcul• hardware• procesor• memorie• procese• spațiu virtual• memorie virtuală
• mod de execuție• kernel mode• user mode• apel de sistem• fișiere• nucleu/kernel• SO monolitic• SO microkernel• mașină virtulă
SO: Curs 1: Introducere 53