Sunteți pe pagina 1din 42

Utilizarea sistemului de operare Linux n industrie

Curs 1: Introducere n sistemele de


operare

As. Univ. Dr. Ing. Gal-Ndan Norbert


Subiectele Cursului 1

1.Ce este un sistem de operare?


2.Istoria sistemelor de operare
3.Concepte hardware de baz
4.Concepte de baz n SO
5.Componena i structura unui SO
Ce este un sistem de operare?
Este un program care controleaz distribuia resurselor unui calculator i
mediaz comunicarea dintre hardware i aplicaiile utilizatorilor

Unde gsim sistem de operare?


Ce este un sistem de operare?

Figura 1. Prezentarea grafic a sistemului de operare


Istoria sistemelor de operare
Dezvoltarea sistemelor de calcul i a sistemelor de operare s-au influenat
reciproc

dificultatea programrii mainilor a dus la


adugarea de faciliti n SO

Dificulti ale implementrii SO au dus la


adugarea de faciliti n hardware
(memoria virtual)
Istoria sistemelor de operare

prima generaie (1945 -1955)


o primele calculatoare digitale
construite: relee
electromecanice, tuburi
o programare se fcea manual, n
limbaj main
o nu existau compilatoare sau
asambloare
o nu existau sisteme de operare
Istoria sistemelor de operare

prima generaie (1945 -1955)


o primele calculatoare digitale construite:
relee electromecanice, tuburi
o programare se fcea manual, n limbaj
main
o nu existau compilatoare sau
asambloare
o nu existau sisteme de operare

generaia a doua (1955 -1965)


tranzistoare, mainframeuri
apare conceptul de batch
sisteme de operare: FMS, IBSYS
Primul BUG
n 1947,Grace Hopper a identificat pentru
prima dat o problem de calculator, pe un
Harvard Mark.

O molie a intrat ntre releele calculatorului


blocnd ceasul calculatorului.

Astfel a rmas denumirea de bug.


Istoria sistemelor de operare

generaia a treia (1965 -1980)


circuite integrate
apare conceptul de familie de calculatoare (IBM
System/360): aceeai arhitectur i set de instruciuni
multiprogramare
o partiionarea memoriei n mai multe segmente
o ct timp un job ateapt la I/O alt job se execut
spooling
o citirea joburilor de pe cartele perforate i pstrarea lor pe disc
pn la execuie
Istoria sistemelor de operare
Istoria sistemelor de operare
generaia a patra (1980 -prezent)
o microcalculatoare i calculatoarele
personale
o CP/M
dezvoltat de Kidall pentru Intel 8080
o MS-DOS
cumprat de Microsoft de la Seattle
Computer ($50, 000)
oferit mpreun cu BASIC pentru IBM
PC
o Mac OS
Steve Jobs fur ideea de GUI de la
Xerox
o MS Windows: 3.11, 95, ..
influenat de Mac OS
Istoria sistemelor de operare

The Xerox Star (1981)


Istoria sistemelor de operare

Windows 1 1985

GUI Mac 1985


Istoria sistemelor de operare

Generaia a patra (1980 -prezent)


o MS Windows NT, 2000, XP, Vista, 7
Scris de la zero, 32/64 bii
David Cutler (VAX VMS)
o Solaris, IRIX, HP-UX, ULTRIX
o Tru64
primul sistem de operare pe 64 bii (procesoare
Alpha)
o Linux
clon UNIX
scris de la zero de Linus Torvalds
o FreeBSD, OpenBSD, NetBSD
Concepte hardware de baz
SO interacioneaz cu hardware-ul la un nivel destul de sczut
Sunt necesare cunotine despre hardware pentru a nelege modul
de funcionare a sistemului de operare
Tipuri de procesoare

Arhitecturi Arhitecturi
o band asamblare (a) oRISC (Reduced instruction set computing)
o superscalar (b) oCISC (Complex instruction set computing)
o VLIW/EPIC
Memoria Cache
Introdus pentru a crea iluzia unei memorii ieftine,
rapide i de capacitate mare
Probleme de
o consisten: sisteme multitasking
o coeren: sisteme multiprocesor
Tipuri de memorie cache
o cu mapare direct
o asociative total
o asociative pe mai multe ci
Dispozitivele de I/O

n general sunt compuse din dou pri


o un controller
o dispozitivul efectiv
prile din SO care controleaz dispozitivele de
I/O se numesc device drivere
lente: mouse, tastatura
o comunicaia ntre dispozitivele de I/E lente i procesor se
poate face prin polling
rapide: discuri, placa de reea, placa video
o pentru controlul acestor dispozitive se folosesc ntreruperi
i controllere DMA
ntreruperile

(a) activarea unui dispozitiv I/O i primirea unei ntreruperi


(b) tratarea unei ntreruperi
Direct memory access

folosit n cazul transferurilor mari de date ntre dispozitivul


de I/E i memorie
o procesorul programeaz transferul
o transferul este efectuat de un controller dedicat (DMA)
o la ncheierea transferului, controller-ul DMA emite o
ntrerupere
Magistrarele
Linii de
o adres (determin spaiul de adres)
o date (mpreun cu frecvena magistralei determin limea de
band)
o control

Limea de band
o numrul de linii de date x frecvena magistralei
Conceptele de baz pentru SO

procese, fire de execuie


deadlock
memorie virtual
sisteme de fiiere
interpretorul de comenzi
nucleul sistemului de operare
kernel mode vs user mode
kernel space vs user space
apeluri de sistem
Procesele n SO

un program n execuie
are asociate mai multe resurse:
o un spaiu de adrese
o fiierele deschise
o alte resurse (memorie partajat, socketi, etc)
n general procesele sunt ierarhizate dup relaia printe-
copil
SO ofer protecie dar i comunicaie interprocese
Firele de execuie

un proces poate avea mai multe fire de execuie


firele de execuie dintr-un proces partajeaz resursele
acestuia (memorie, fiiere deschise etc.)
fiecare fir de execuie are un context
o context = informaii despre starea thread-ului (stiv, registre
generale, registre speciale)
avantaje / dezavantaje
o paralelism cu o comunicaie extrem de facil i rapid
o se pierde mai puin timp cnd se face o schimbare de context
o nu exist protecie ntre firele de execuie
Deadlock
A deadlock is a situation in which two or more competing actions are each waiting for
the other to finish, and thus neither ever does.
Memoria Virtual

adrese
o virtuale
o fizice

MMU i SO fac
translatarea din adrese
virtuale n adrese fizice
memory management unit (MMU)
Sistemul de fiiere
Interpretorul de comenzi

Programul de interfa ntre utilizator i sistem


Mod linie de comand
o avantaje: flexibilitate, puine resurse consumate
o ex: sh , bash, korn
Mod grafic
o avantaje: mai uor de utilizat
o ex: explorer.exe n Windows
Nucleul Sistemului de Operare
Kernel vs user space

Nucleul ruleaz n mod


privilegiat
o kernel mode
o kernel space
Orice proces are un spaiu de
adrese diferit
Nucleul lucreaz cu un spaiu
de adrese diferit de cel al
proceselor
o user mode
o user space
Apeluri de system

Accesul la resursele sistemului se face prin


apelarea serviciilor puse la dispoziie de nucleu
Componente ale SO

gestiunea proceselor
gestiunea memoriei
gestiunea fiierelor
gestiunea operaiilor de I/E
gestiunea reelei
Gestiunea proceselor

crearea i terminarea proceselor


suspendarea i repornirea proceselor
o planificatorul de procese (scheduler)
mecanisme de sincronizare
mecanisme pentru comunicaie inter-procese
detectare/rezolvare deadlock-uri
protecie
Gestiunea memoriei

gestiunea memoriei fizice i virtuale


o memorie virtual, segmentare, paginare
o swaping
gestiunea memoriei folosite de nucleu
o memorie rezident permanent
o memorie rezident temporar
gestiunea spaiilor de adrese
o malloc/free, mmap
protecie
Gestiunea fiierelor

translatarea operaiilor de acces asupra fiierelor (open, close,


read, write, seek) n operaii de citire i scriere pe disc
caching i read-ahead
compresie i criptare
protecie
Gestiunea operaiilor de I/O

interfa comun pentru device drivere


caching, buffering
ntreruperi, DMA
I/O scheduling
Gestiunea reelei

implementarea unor stive de protocol eficiente i sigure (secure)


o implementare n kernel
legturi cu alte subsisteme ale SO: memorie, procese,
scheduling, sisteme de fiiere
Structuri de SO

SO monolitice
SO microkernel
Maini virtuale
SO exokernel
SO stratificate
SO monolitice

UNIX i derivatele, Windows


Microkernel

Minix, Amoeba
QNX
Mach
Maini virtuale
ntrebri ????