![Page 1: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/1.jpg)
Cursul 1
1Introducere în sisteme de operare13 februarie 2012 - 19 februarie 2012
![Page 2: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/2.jpg)
Cuprins
● Prezentare generală a cursului● Ce este un sistem de operare?● Istoria sistemelor de operare● Concepte hardware de bază● Concepte de bază în SO● Componența și structura unui SO
![Page 3: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/3.jpg)
Echipa
● Andrei Pitiș, Costin Raiciu, Răzvan Deaconescu● Oana Baron, Daniel Băluţă, Răzvan Crainea, Laura Gheorghe,
Alex Juncu, Cătălin Moraru, Sofia Neață, Traian Popeea, Irina Preșa, Radu Velea
● Mult succes în noul semestru!
![Page 4: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/4.jpg)
Resurse
● wiki: http://elf.cs.pub.ro/so/wiki/○ NeedToKnow page:http://elf.cs.pub.ro/so/wiki/need-to-know○ folosiți feed-ul RSS
● lista de discuții○ [email protected]○ abonați-vă (detalii pe wiki)
● cursuri format Google Docs● catalog Google, calendar Google● mașini virtuale● vmchecker (verificare teme)● documentație● cs.curs.pub.ro (rol de portal)● pagină de Facebook
![Page 5: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/5.jpg)
Participarea în "comunitate"
● cursurile sunt în format Google Docs○ puteți solicita acces de editare
■ detalii în pagina NeedToKnow■ corecții/ajustări, precizări■ pentru detalii, folosiți "Speaker Notes"
● laboratoare○ puteți solicita drept de editare a wiki-ului (discutați cu
asistentul)● colaborați în timpul laboratorului● răspundeți la mesajele pe lista de discuții● fiți interactivi pe parcursul cursului● oferiți feedback și sugestii● se acordă "karma points" pentru implicare
○ vezi pagina "Karma Awards"
![Page 6: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/6.jpg)
De ce SO?
Voi ce credeți?
![Page 7: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/7.jpg)
De ce SO? (2)
● sunt peste tot (PC, servere, smartphones)● administrarea eficientă a unui sistem● asigurarea performanței aplicațiilor● depanarea aplicațiilor● system/low-level/kernel programming● înțelegerea arhitecturilor, ierarhiei de memorie și sistemelor de
calcul ● skill-uri de programare și design● aspecte aplicate în alte domenii
○ concurență, gestiunea resurselor, gestiunea de structuri complexe
● part of an elite
![Page 8: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/8.jpg)
De ce SO? (3)
● studiu de inserție ● 161 de absolvenți de Calculatoare - promoțiile 2009, 2010● Ce cunoștințe dobândite pe parcursul facultății v-au fost de folos
la locul de muncă?
![Page 9: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/9.jpg)
De ce SO? (4)
It's fun!
![Page 10: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/10.jpg)
Legătura cu celelalte materii
● Prerequisites○ USO○ Programare, SD○ IOCLA, CN○ PC, RL
● Materii ce depind de SO○ SO2, CPL○ ASC, APP, SPRC
![Page 11: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/11.jpg)
Where do we stand?
kernel space
user space
USO
SO
SO2
interfețe de programare de sistem (system API)
interfețe de utilizare
![Page 12: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/12.jpg)
Where do we stand? (programming)
application programming (EGC, SPG, PP, SPRC, IOC, IDP, PW etc.)
system programming (IOCLA, PC, SO, CPL)
kernel programming (SO2)
kernel space
user space
![Page 13: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/13.jpg)
Despre curs
● 13 cursuri● interactiv
○ participaţi la discuţii○ întrebaţi atunci când nu aţi înţeles (și nu numai)○ karma points pentru implicare
● destul de “dens”● recomandăm parcurgerea suportului bibliografic înainte și după
curs● slide-urile nu sunt suficiente pentru a înțelege materia● accesibile în format Google Docs
○ contribuiți la îmbunătățirea slide-urilor! ○ karma points pentru contribuții
![Page 14: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/14.jpg)
Despre laborator
● POSIX/Win32 API programming (C/C++)● 5 minute workshop / 15 min prezentare / 80 minute lucru● tutorial-like, task-based, learn by doing● nu se punctează activitatea efectivă
○ participarea obligatorie la 8 laboratoare● workshop: test la începutul laboratoarelor 2-11
○ 3 întrebări, 5 minute○ punctajul poate compensa 50% din nota pe lucrări
● karma points ("pentru cei puternici")● încurajăm colaborarea studenților în timpul laboratorului
![Page 15: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/15.jpg)
Despre teme
● tema 0 – hash-table● tema 1 – mini-shell● tema 2 – IPC● tema 3 – demand pager/swapper● tema 4 – planificator de thread-uri● tema 5 – server de fișiere (pe echipe de două persoane)
![Page 16: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/16.jpg)
Despre teme (2)
● Linux și Windows● aprofundare API (laborator) și concepte (curs)● estimare de timp: 8-20 ore pe temă● teste publice● suport de testare la submit - feedback imediat● întrebări pe listă
○ karma points pentru răspunsuri pe listă (suport pentru colegi)
![Page 17: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/17.jpg)
Bibliografie
● curs○ Galvin, Silberschatz, Gagne – Operating System Concepts, 7th
Edition○ Andrew Tanenbaum - Modern Operating Systems, 2nd Edition
● laborator○ Michael Kerrisk – The Linux Programming Interface○ Johnson Hart – Windows System Programming, 4th Edition
![Page 18: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/18.jpg)
Bibliografie suplimentară
● Mathew, Stones - Beginning Linux Programming, 4th Edition● Stephens, Rago – Advanced Programming in the Unix
Environment, 2nd Edition● Robert Love – Linux System Programming ● Rector, Newcomer – Win32 Programming● Charles Perzold – Programming Windows, 5th Edition● John Levine – Linkers and Loaders
![Page 19: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/19.jpg)
Suport curs 1
● OSC○ Chapter 1: Introduction○ Chapter 2: Operating-System Structures
● MOS○ Chapter 1: Introduction
![Page 20: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/20.jpg)
Ce este un SO?
● Un program scris, în general, în C sau C++● Extensie a mașinii fizice (vedere top-down)
○ abstractizează operațiile mașinii fizice în operații mai simple pentru ușurința utilizării
○ ex: accesul la fișiere● Gestionar al resurselor mașinii fizice (vedere bottom-up)
○ utilizatorii accesează resursele comune ale sistemului○ SO are rolul de multiplexare a accesului○ ex: gestiunea procesorului, a memoriei
![Page 21: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/21.jpg)
Ce este un SO? (2)
![Page 22: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/22.jpg)
Istoria sistemelor de operare
![Page 23: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/23.jpg)
Istoria sistemelor de operare (2)
● PDP11 (DEC Corporation) - Independent, Coral● Prima versiune de Unix a rulat pe un PDP11 in 1970● PDP11 a influentat CP/M, MS/DOS, Windows NT● VMS, RSX11: Windows NT● UNIX: Solaris, HP-UX, AIX, Darwin (Mac OS X)● UNIX-like: MINIX, Linux, Android, *BSD
![Page 24: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/24.jpg)
Concepte hardware de bază
● SO interacționează cu hardware-ul la un nivel destul de scăzut● sunt necesare cunoștințe despre hardware pentru a înțelege
modul de funcționare a sistemului de operare
![Page 25: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/25.jpg)
Magistrale
![Page 26: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/26.jpg)
Magistrale (2)
● Linii de○ adresă (determină spaţiul de adresă)○ date (împreună cu frecvența magistralei determină lățimea de
bandă)○ control
● Lățimea de bandă○ numărul de linii de date x frecvența magistralei
![Page 27: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/27.jpg)
Memoria
Nivel 1 2 3
Nume registre cache memorie principală
Dimensiune 32/64/128 biți ~ MB ~ GB
Tehnologie specializată CMOS SRAM (on-chip sau off-chip)
CMOS DRAM
Timp de acces (ns) 0,25-0,5 0,5-25 80-250
Lățime de bandă (MB/s) 20.000-100.000 5000-10.000 1000-5000
Controlată de compilator hardware sistemul de operare
Susținută de cache memoria principală disc
![Page 28: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/28.jpg)
Dispozitive de I/E
● în general sunt compuse din două părți○ un controller○ dispozitivul efectiv
● părțile din SO care controlează dispozitivele de I/E se numesc device drivere
● lente: mouse, tastatura○ comunicația între dispozitivele de I/E lente și procesor se poate
face prin polling● rapide: discuri, placa de rețea, placa video
○ pentru controlul acestor dispozitive se folosesc întreruperi și controllere DMA
![Page 29: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/29.jpg)
Întreruperi
(a) activarea unui dispozitiv I/E și primirea unei întreruperi(b) tratarea unei întreruperi
![Page 30: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/30.jpg)
Concepte de bază însisteme de operare
![Page 31: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/31.jpg)
Interpretorul de comenzi
● Programul de interfață între utilizator şi sistem● Mod linie de comandă
○ avantaje: flexibilitate, puține resurse consumate○ ex: sh , bash, korn
● Mod grafic○ avantaje: mai ușor de utilizat○ ex: explorer.exe în Windows
![Page 32: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/32.jpg)
Un program simplu
int a(int b, int c){ int d=3; int e=4; int f=5; int g=6; return b+c+d+e+f+g;}
int fd;int main(){ int x = a(1,2);
int fd = open (“t.out”,O_WRONLY); write(fd,&x,sizeof(int)); close(fd);}
![Page 33: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/33.jpg)
De la program la proces
● rulăm compilatorul/linker-ul○ aplicație care translatează instrucțiunile din limbaj înalt în cod mașină
● salvează fișierul executabil pe suport stabil● lansăm fișierul executabil – creăm un proces
![Page 34: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/34.jpg)
De la program la proces (2)
![Page 35: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/35.jpg)
Procese
● un program în execuție● are asociate mai multe resurse:
○ un spațiu de adrese○ fișierele deschise○ alte resurse (memorie partajată, socketi, etc)
● în general procesele sunt ierarhizate după relația părinte-copil● SO oferă protecție dar şi comunicație interprocese
![Page 36: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/36.jpg)
Fire de execuție
● un proces poate avea mai multe fire de execuție● firele de execuţie dintr-un proces partajează resursele
acestuia (memorie, fișiere deschise etc.)● fiecare fir de execuție are un context
○ context = informații despre starea thread-ului (stivă, registre generale, registre speciale)
● avantaje / dezavantaje○ paralelism cu o comunicație extrem de facilă și rapidă○ se pierde mai puțin timp când se face o schimbare de context○ nu există protecție între firele de execuție
![Page 37: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/37.jpg)
SO realizeaza gestiunea proceselor
● crearea și terminarea proceselor● suspendarea și repornirea proceselor
○ planificatorul de procese (scheduler)● mecanisme de sincronizare● mecanisme pentru comunicație inter-procese● detectare/rezolvare deadlock-uri● protecție
![Page 38: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/38.jpg)
Gestiunea memoriei unui proces
int a(int b, int c){ int d=3; int e=4; int f=5; int g=6; return b+c+d+e+f+g;}
int fd;
int main(){ int x = a(1,2); int fd;fd = open (“t.out”,O_WRONLY);write(fd,&x,sizeof(int));close(fd);}
● Memorie virtuală○ oferă iluzia accesului exclusiv la
toată memoria fizică
![Page 39: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/39.jpg)
int a(int b, int c){ int d=3; int e=4; int f=5; int g=6; return b+c+d+e+f+g;}int fd;int main(){ int x = a(1,2);
fd = open (“t.out”,O_WRONLY);write(fd,&x,sizeof(int));close(fd);}
Stiva
![Page 40: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/40.jpg)
Gestiunea memoriei
● gestiunea memoriei fizice și virtuale○ memorie virtuală, segmentare, paginare○ swaping
● gestiunea memoriei folosite de nucleu○ memorie rezidentă permanentă○ memorie rezidentă temporară
● gestiunea spațiilor de adrese○ malloc/free, mmap
● protecție
![Page 41: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/41.jpg)
int a(int b, int c){ int d=3; int e=4; int f=5; int g=6; return b+c+d+e+f+g;}int fd;int main(){ int x = a(1,2); int fd; fd = open (“t.out”,O_WRONLY); write(fd,&x,sizeof(int)); close(fd);}
Apeluri de sistem
● Accesul la resursele sistemului se face prin apelarea serviciilor puse la dispoziție de nucleu
![Page 42: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/42.jpg)
Fișiere
● cale, director rădăcină, director de lucru● descriptor de fișier / handle● fișiere speciale
○ bloc○ caracter○ pipe-uri○ link-uri
● sistem de fișiere, operații de montare/demontare○ (a) înainte de montare○ (b) după montare
![Page 43: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/43.jpg)
int a(int b, int c){ int d=3; int e=4; int f=5; int g=6; return b+c+d+e+f+g;}int fd;int main(){ int x = a(1,2); int fd;fd = open (“t.out”,O_WRONLY);write(fd,&x,sizeof(int));close(fd);}
Gestiunea fișierelor
● translatarea operațiilor de acces asupra fișierelor (open, close, read, write, seek) în operații de citire și scriere pe disc
● caching și read-ahead● compresie și criptare● protecție
![Page 44: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/44.jpg)
Cum este implementat un sistem de operare?
![Page 45: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/45.jpg)
Nucleul sistemului de operare
● Nucleul SO are acces direct la hardware● Părți din nucleu sunt permanent rezidente în memorie● Imaginea nucleului
○ Linux: /vmlinuz, /boot/vmlinuz○ Windows: %SystemRoot%\system32\ntoskrnl.exe○ Mac OS X: /mach_kernel
● module / drivere
![Page 46: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/46.jpg)
kernel space vs. user space
● Nucleul rulează în mod privilegiat○ kernel mode○ kernel space
● Orice proces are un spațiu de adrese diferit● Nucleul lucrează cu un spațiu de adrese diferit de cel al proceselor
○ user mode○ user space
![Page 47: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/47.jpg)
Structuri de SO
● SO monolitice ● SO microkernel● Mașini virtuale● SO exokernel● SO stratificate
![Page 48: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/48.jpg)
SO monolitice
● UNIX și derivatele, Windows
![Page 49: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/49.jpg)
Microkernel
● Minix, Amoeba● QNX● Mach● L4
![Page 50: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/50.jpg)
Mașini virtuale
![Page 51: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/51.jpg)
Cuvinte cheie
● Sistem de operare (SO)● Unix● Procesor● Memorie● Cache● Întreruperi● DMA
● Procese● Fire de execuție● Fișiere● kernel/nucleu● Apel de sistem● Monolitic, microkernel● Mașini virtuale
![Page 52: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/52.jpg)
Reguli și notare
![Page 53: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/53.jpg)
Reguli și notare
● Curs – 5 puncte○ lucrari – 2 puncte (4 lucrări x 3 subiecte x 0.16 puncte) – 10
minute■ vor avea loc la curs în săptămânile: 4, 7, 10,13
■ primele 10 minute ale cursului ■ nu este open-book■ nu se refac■ workshop-ul de laborator poate compensa 50% din punctaj
○ final – 3 puncte (10 subiecte x 0.3 puncte) – 60 de minute■ sesiune, acoperă întreaga materie■ open-book■ se reface în restanță
○ minim 1.5 puncte pentru promovare
![Page 54: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/54.jpg)
Reguli și notare (2)
● Activitate laborator - 0 puncte○ nu are pondere in nota finală, dar este obligatorie prezenţa activă la
cel puţin 8 laboratoare○ tutorial-like, task-based○ încurajăm colaborarea pe parcursul laboratorului
● Teme - până la 11 puncte (5 puncte obligatorii)○ 1 temă (independentă de platformă) (tema 0 - din săptămâna 2)○ 5 teme x 2 (Linux, Windows)○ primele 5 teme (în ordinea punctajului) vor fi punctate integral○ următoarele 6 teme vor fi punctate raportat cu nota de curs○ corectare cu teste publice○ ultima tema se face pe echipă de două persoane
● Depunctare teme○ -0.25p pe zi (din 10) timp de 12 zile○ după 12 zile nota maximă pentru o temă este 7○ deadline absolut: o săptămână înainte de primul examen
![Page 55: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/55.jpg)
Reguli și notare (3)
● Punctajul de absolvire a cursului este 4.5○ Participare activă la cel puțin 8 laboratoare○ Punctaj minim 1.5p (din 5p) la curs.
● După sesiunea de restanțe tot punctajul se resetează la 0
![Page 56: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/56.jpg)
14.02.2012- 20.02.2012
Upstream Challenge
● Este un concurs de contributii upstream. Studentii sunt incurajati sa se implice intr-un proiect open source.
● Cele mai bune patch-uri sau feature-uri vor fi premiate.
● Premiul cel mare este un Ultrabook, oferit de Intel România.
● Mai multe detalii aici http://elf.cs.pub.ro/so/wiki/upstream-challenge
![Page 57: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/57.jpg)
Intrebări
?
![Page 58: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/58.jpg)
BACKUP
![Page 59: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/59.jpg)
Memorie virtuală
● adrese○ virtuale○ fizice
● MMU și SO fac translatarea din adrese virtuale în adrese fizice
![Page 60: Introducere în sisteme de operare - andrei.clubcisco.roandrei.clubcisco.ro/cursuri/f/f-sym/3so/cursuri/12_SO_Curs_01.pdf · Concepte de bază în sisteme de operare. Interpretorul](https://reader031.vdocuments.pub/reader031/viewer/2022020114/5b94c6fb09d3f219658db26d/html5/thumbnails/60.jpg)
Memoria cache
● Introdusă pentru a crea iluzia unei memorii ieftine, rapide și de capacitate mare
● Probleme de○ consistență: sisteme multitasking○ coerență: sisteme multiprocesor
● Tipuri de memorie cache○ cu mapare directă○ asociative total○ asociative pe mai multe căi