25 februarie 2009andrei.clubcisco.ro/cursuri/3so/cursuri/01.introducere.pdf · introducere în...

61

Upload: others

Post on 07-Feb-2020

6 views

Category:

Documents


3 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25.02.2009 61

Intreb ri�

?