25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în...
Transcript of 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în...
![Page 1: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/1.jpg)
Cursul 1
1Introducere în sisteme de operare25 februarie 2009
![Page 2: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/2.jpg)
25.02.2009 2
Cuprins
� Prezentare general a cursului�� Ce este un sistem de operare?� Istoria sistemelor de operare� Clasificarea sistemelor de operare� Concepte hardware de baz�� Concepte de baz în SO�� � �Componen a i structura unui SO
![Page 3: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/3.jpg)
25.02.2009 3
Echipa
� �Andrei Piti , R zvan Deaconescu, Octavian Purdil� �
� �Mircea Bardac, Daniel B lu , Mircea Gherzan, Lucian Grijincu, � �Andrei Ismail, George Milescu, Mihnea Muraru
� Mult succes în noul semestru!
![Page 4: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/4.jpg)
25.02.2009 4
Obiectivele cursului
� Make you a better engineer!
� Prezentarea mecanismelor puse la dispozi ie de SO moderne ��pentru dezvoltarea de aplica ii
� Procese i thread-uri�� Comunica ia între procese i thread-uri� �� Accesul la memorie; gestiunea memoriei� Accesul la alte resurse puse la dispozi ie de SO moderne (fi iere, � �
dispozitive de I/E)
![Page 5: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/5.jpg)
25.02.2009 5
Obiectivele laboratorului
� Aplicarea conceptelor prezentate la curs� � �Prezentarea i familiarizarea cu interfe ele de programare de
sistem (system API): POSIX & Win32� �lucrul cu fi iere� lucrul cu procese/thread-uri� �comunica ia între procese/thread-uri� gestiunea memoriei� �opera ii de I/E
![Page 6: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/6.jpg)
25.02.2009 6
Reguli i notare�
� site-ul cursului: http://cs.pub.ro/~so� list de discu ii: � � http://cursuri.cs.pub.ro/liste/so � curs � 3 puncte
� lucrare � 1 punct (6 subiecte x 0.2 puncte) � 40 de minute� s pt mâna a 8-a la curs� �� nu se reface
� final � 2 puncte (11 subiecte x 0.2 puncte) � 70 de minute� sesiune
� minim 1 punct din 3 pentru absolvirea cursului
� activitate laborator � 2 puncte� �NU se puncteaz prezen a�
![Page 7: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/7.jpg)
25.02.2009 7
�Reguli i notare (2)
� 5 teme x 2 (Linux, Windows) � 10 puncte� o tem copiat -> punctaj 0 la toate temele� �� primele 5 teme (în ordinea punctajului) vor fi punctate integral� urm toarele 5 teme vor fi punctate raportat cu nota de curs�� corectare cu teste publice
� 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 examen� � �
� punctajul de absolvire a cursului este 4.5� �dup restan e tot punctajul se reseteaz la 0� �
![Page 8: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/8.jpg)
25.02.2009 8
Leg tura cu celelalte materii�
� Prerequisites� USO� Programare, SDA� PLAS, CN� PC, RC
� Materii ce depind de SO� SO2� PC, SSC, APC, SPRC
![Page 9: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/9.jpg)
25.02.2009 9
Where do we stand?
kernel space
user space
USO
SO
SO2
�interfe e de programare de sistem (system API)
�interfe e de utilizare
![Page 10: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/10.jpg)
25.02.2009 10
Where do we stand? (programming)
application programming (EGC, SPG, PP, SPRC, IOC, etc.)
system programming (PC, SO, PT)
kernel programming (PSO)kernel space
user space
![Page 11: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/11.jpg)
25.02.2009 11
Despre curs
� 12 cursuri� interactiv
� participa i la discu ii� �� întreba i atunci când nu a i în eles� � �
� destul de �dens�� se recomand c lduros parcurgerea suportului bibliografic înainte � �
�i dup curs�� �slide-urile nu sunt suficiente pentru a în elege materia
![Page 12: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/12.jpg)
25.02.2009 12
Despre laborator
� POSIX/Win32 API programming (C/C++)� 20 min prezentare / 80 minute lucru� se puncteaz activitatea�� learn by doing� �se puncteaz exerci iile rezolvate în laborator�
![Page 13: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/13.jpg)
25.02.2009 13
Despre teme
� tema 1 � mini-shell� tema 2 � sistem client-server cu IPC� tema 3 � demand pager/swapper� tema 4 � monitor generic� �tema 5 � server de fi iere
![Page 14: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/14.jpg)
25.02.2009 14
Despre teme (2)
� intense� �necesare: aprofundare API (laborator) i concepte (curs)� estimare de timp: 8-20 ore pe tem�� teste publice� suport de testare la submit - feedback imediat
![Page 15: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/15.jpg)
25.02.2009 15
Relevan system programming��
� Better programmer through intimate knowledge of how computers operate
� C, C++, C#, Java � doar limbaje de programare, opereaz cu �acelasi concepte de multi-threading, I/O (async)
� Better jobs � better pay� �Voi ce crede i?
![Page 16: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/16.jpg)
25.02.2009 16
Bibliografie
� curs� Galvin, Silberschatz, Gagne � Operating System Concepts, 7th Edition� Andrew Tanenbaum - Modern Operating Systems, 2nd Edition
� laborator� Robert Love � Linux System Programming� Johnson Hart � Windows System Programming, 3rd Edition
![Page 17: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/17.jpg)
25.02.2009 17
Bibliografie suplimentar�
� Mathew, Stones - Beginning Linux Programming, 4th Edition� Stephens, Rago � Advanced Programming in the Unix
Environment, 2nd Edition� Rector, Newcomer � Win32 Programming� Charles Perzold � Programming Windows, 5th Edition� John Levine � Linkers and Loaders
![Page 18: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/18.jpg)
25.02.2009 18
Suport curs 1
� OSC� Chapter 1: Introduction� Chapter 2: Operating-System Structures
� MOS� Chapter 1: Introduction
![Page 19: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/19.jpg)
25.02.2009 19
Ce este un SO?
� 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 20: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/20.jpg)
25.02.2009 20
Ce este un SO? (2)
![Page 21: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/21.jpg)
25.02.2009 21
Istoria sistemelor de operare
� �dezvoltarea sistemelor de calcul i a sistemelor de operare s-au �influen at reciproc
� � �dificultatea program rii ma inilor a dus la ad ugarea de facilit i în SO � � �� � �dificult i ale implement rii SO au dus la ad ugarea de facilit i în hardware � � � �
(memoria virtual )�
![Page 22: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/22.jpg)
25.02.2009 22
Istoria sistemelor de operare (2)
� prima genera ie (1945 -1955) �� primele calculatoare digitale
construite: relee electromecanice, tuburi
� programare se f cea manual, în ��limbaj ma in�
� nu existau compilatoare sau asambloare
� nu existau sisteme de operare
![Page 23: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/23.jpg)
25.02.2009 23
Istoria sistemelor de operare (3)
� genera ia a doua (1955 -1965) �� tranzistoare, mainframeuri � apare conceptul de batch � sisteme de operare: FMS, IBSYS
![Page 24: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/24.jpg)
25.02.2009 24
First bug
� On September 9th, Grace Hopper recorded the first actual computer "bug" � a moth stuck between the relays and logged at 15:45 hours on the Harvard Mark II.
� Hopper, a rear admiral in the U.S. Navy, enjoyed successful careers in academia, business, and the military while making history in the computer field.
� She helped program the Harvard Mark I and II and developed the first compiler, A-0. Her subsequent work on programming languages led to COBOL, a language specified to operate on machines of different manufacturers.
![Page 25: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/25.jpg)
25.02.2009 25
Istoria sistemelor de operare (4)
� �genera ia a treia (1965 -1980) � circuite integrate � apare conceptul de familie de calculatoare (IBM System/
� � �360): aceea i arhitectur i set de instruc iuni �� multiprogramare
� �parti ionarea memoriei în mai multe segmente� �cât timp un job a teapt la I/O alt job se execut� �
� spooling� �citirea joburilor de pe cartele perforate i p strarea lor pe disc �
�pân la execu ie �
![Page 26: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/26.jpg)
25.02.2009 26
UNIX
![Page 27: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/27.jpg)
25.02.2009 27
Istoria sistemelor de operare (5)
� �genera ia a treia (1965 -1980) � multitasking (time-sharing)
� CTSS (Compatible Time Sharing System) � MULTICS (Multiplexed Information and Computing Service)
� MIT, Bell Labs, General Electric � lansat în 1960 are un succes comercial sc zut�� �influen masiv asupra dezvolt rii ulterioare ale SO� � �
� UNIX� o versiune mult redus a MULTICS�� implementat de Ken Thompson� portabil (scris în C)� System V, BSD
![Page 28: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/28.jpg)
25.02.2009 28
Istoria sistemelor de operare (6)
� genera ia a patra (1980 -prezent) �
� microcalculatoare i calculatoarele �personale
� CP/M � dezvoltat de Kidall pentru Intel
8080 � MS-DOS
� cump rat de Microsoft de la �Seattle Computer ($50, 000)
� oferit împreun cu BASIC pentru �IBM PC
� Mac OS� Steve Jobs �fur � ideea de GUI �
de la Xerox� MS Windows: 3.11, 95, ..
� influen at de Mac OS�
![Page 29: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/29.jpg)
25.02.2009 29
Istoria sistemelor de operare (7)
� Genera ia a patra (1980 -prezent) �� MS Windows NT, 2000, XP, Vista
� Scris de la zero, 32/64 bi i�� David Cutler (VAX VMS)
� Solaris, IRIX, HP-UX, ULTRIX � Tru64
� primul sistem de operare pe 64 bi i (procesoare Alpha) �� Linux
� clon UNIX�� scris de la zero de Linus Torvalds
� FreeBSD, OpenBSD, NetBSD
![Page 30: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/30.jpg)
25.02.2009 30
Clasificare SO
� SO pentru servere� SO pentru sisteme multiprocesor� SO pentru calculatoare personale� SO pentru sisteme embedded� RTOS
![Page 31: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/31.jpg)
25.02.2009 31
Concepte hardware de baz�
� SO interactionez 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 32: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/32.jpg)
25.02.2009 32
Procesoarele
� Arhitecturi� band asamblare (a)�� superscalar (b)� VLIW/EPIC
� Arhitecturi� RISC� CISC
![Page 33: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/33.jpg)
25.02.2009 33
Memoria
1 2 3cache~ MB ~ GB
CMOS DRAM
0,25-0,5 0,5-25 80-25020.000-100.000 5000-10.000 1000-5000
hardwarecache disc
NivelNume registre memorie principal�Dimensiune 32/64/128 bi i�
Tehnologie specializat� CMOS SRAM(on-chip sau off-chip)
Timp de acces (ns)L ime de band (MB/s)�� �Controlat de� compilator sistemul de operareSus inut de� � memoria principal�
![Page 34: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/34.jpg)
25.02.2009 34
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�
![Page 35: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/35.jpg)
25.02.2009 35
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 36: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/36.jpg)
25.02.2009 36
Întreruperi
�(a) activarea unui dispozitiv I/E i primirea unei întreruperi
(b) tratarea unei întreruperi
![Page 37: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/37.jpg)
25.02.2009 37
DMA
� folosit în cazul transferurilor mari de date între dispozitivul de I/E i memorie�
� procesorul programeaz transferul�� transferul este efectuat de un controller dedicat (DMA)� la încheierea transferului, controller-ul DMA emite o întrerupere
![Page 38: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/38.jpg)
25.02.2009 38
Magistrale
![Page 39: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/39.jpg)
25.02.2009 39
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 40: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/40.jpg)
25.02.2009 40
Concepte de baz�
� �procese, fire de execu ie� deadlock� memorie virtual�� �sisteme de fi iere� interpretorul de comenzi� nucleul sistemului de operare� kernel mode vs user mode� kernel space vs user space � apeluri de sistem
![Page 41: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/41.jpg)
25.02.2009 41
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 42: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/42.jpg)
25.02.2009 42
�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 43: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/43.jpg)
25.02.2009 43
Deadlock-uri
� �deadlock poten ial (a) � deadlock (b)
![Page 44: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/44.jpg)
25.02.2009 44
Memorie virtual�
� adrese� virtuale� fizice
� �MMU i SO fac translatarea din adrese virtuale în adrese fizice
![Page 45: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/45.jpg)
25.02.2009 45
�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 46: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/46.jpg)
25.02.2009 46
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 47: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/47.jpg)
25.02.2009 47
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 3.0 + *BSD
� module / drivere
![Page 48: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/48.jpg)
25.02.2009 48
Kernel vs. User
� 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 49: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/49.jpg)
25.02.2009 49
Apeluri de sistem
� Accesul la resursele sistemului se face prin apelarea �serviciilor puse la dispozi ie de nucleu
![Page 50: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/50.jpg)
25.02.2009 50
Componente ale SO
� gestiunea proceselor � gestiunea memoriei � �gestiunea fi ierelor � �gestiunea opera iilor de I/E � �gestiunea re elei
![Page 51: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/51.jpg)
25.02.2009 51
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 52: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/52.jpg)
25.02.2009 52
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 53: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/53.jpg)
25.02.2009 53
�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 54: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/54.jpg)
25.02.2009 54
�Gestiunea opera iilor de I/E
� �interfa comun pentru device drivere � �� caching, buffering � întreruperi, DMA � I/O scheduling
![Page 55: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/55.jpg)
25.02.2009 55
�Gestiunea re elei
� �implementarea unor stive de protocol eficiente i sigure (secure)� implementare în kernel
� leg turi cu alte subsisteme ale SO: memorie, procese, ��scheduling, sisteme de fi iere
![Page 56: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/56.jpg)
25.02.2009 56
Structuri de SO
� SO monolitice � SO microkernel � �Ma ini virtuale � SO exokernel� SO stratificate
![Page 57: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/57.jpg)
25.02.2009 57
SO monolitice
� �UNIX i derivatele, Windows
![Page 58: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/58.jpg)
25.02.2009 58
Microkernel
� Minix, Amoeba � QNX � Mach
![Page 59: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/59.jpg)
25.02.2009 59
Ma ini virtuale�
![Page 60: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/60.jpg)
25.02.2009 60
Cuvinte cheie
� Sistem de operare (SO)� �Genera ii de SO/sisteme de
calcul� Unix� Procesor� Memorie� Cache� Întreruperi� DMA
� Procese� �Fire de execu ie� �Fi iere� kernel/nucleu� Apel de sistem� Monolitic, microkernel� �Ma ini virtuale
![Page 61: 25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.Introducere.pdf · Introducere în sisteme de operare 25 februarie 2009. 25.02.2009 2 Cuprins Prezentare general a cursului](https://reader030.fdocument.pub/reader030/viewer/2022040320/5e4c3d4a140d68613f59e256/html5/thumbnails/61.jpg)
25.02.2009 61
Intreb ri�
?