Sunteți pe pagina 1din 63

Programarea

Calculatoarelor
Curs 3
Sisteme de operare (SO)
Iulian Nstac

Recapitulare din cursul precedent


Componentele unui sistem PC
Placa de baz:

procesorul
memoria RAM, componenta BIOS
chipset-ul plcii de baz
conectorii de magistrale

Sursa de alimentare + cutia


Dispozitivele de intrare ieire:

tastatura,
monitorul,
placa video,
HDD, etc.
2

Recapitulare din cursul precedent


Exemplu
Prezentarea schematic a categoriilor de
instruciuni aferente unui procesor generic
pe 16 bii care are 8 registre. Instruciunile
sunt codate pe 16 bii (ceea ce n octal
nseamn 6 cifre).

Recap
Presupunem un ir de 16 bii:
0111010001100000
Aceti bii pot fi mprii de la dreapta la
stnga pe grupuri de cte trei cifre octale
0 / 111 / 010 / 001 / 100 / 000
Practic irul de bii este echivalent n octal cu:
0 / 7 / 2 / 1 / 4 / 0
4

Recapitulare
Tipuri de instruciuni
1) Instruciuni cu doi operanzi n memorie sau
registru
Cod operaie

XX

MAS

RS

MAD

RD

<dest.> <src.> <dest.>

2) Instruciuni cu un operand n registru i cu un


operand n memorie sau n registru
Cod operaie

MAD

XXX

RD
D

3) Instruciuni cu un singur operand n memorie sau


registru
Cod operaie

MASD

XXXX

Etc

RSD
D
6

Recap
Adresare direct

Mod 0

Adresare indirect prin registru

Mod 1

Adresare direct cu autoincrementare

Mod 2

Adresare indirect cu autoincrementare

Mod 3

Adresare direct cu autodecrementare

Mod 4

Adresare indirect cu autodecrementare

Mod 5

Adresare indexat direct

Mod 6

Adresare indexat indirect

Mod 7
7

Sisteme de operare
Pentru ca un calculator s poat fi
folosit trebuie s existe iniial un soft
de baz care s permit conversaia
ntre un limbaj de programare (sau un
soft specializat, etc.) i procesorul
sistemului de calcul. Acesta este de
fapt sistemul de operare (SO) al
calculatorului.
8

Definiie:
Un sistem de operare (S.O.) este un set
de proceduri care permit unui grup de
utilizatori s foloseasc eficient i
eventual simultan sistemul de calcul
(S.C.) avut la dispoziie.

Sistemul de operare (S.O.) asist componenta


hardware (H.W.) a unui sistem de calcul (S.C.) n
realizarea urmtoarelor funcii:
1. pregtirea i lansarea n execuie a programelor;
2. controlul evoluiei unui program n execuie;
3. sesizarea evenimentelor excepionale care pot apare n
timpul execuiei;
4. alocarea resurselor hardware ntre diverse procese;
5. accesul programelor de utilizator la resursele software;
6. asigurarea proteciei ntre programe i ntre programe i
sistemul de operare;
7. controlul accesului i securitii pentru informaii;
8. furnizarea unor tehnici de comunicaii ntre procese i
sincronizarea acestor comunicaii.
10

Tipuri de sisteme de operare


(clasificare)
sistemele de operare pe loturi (batch
processing);
sistemele de operare cu multiprogramare
(multiprogramming);
sistemele de operare cu divizarea timpului
(time sharing);
sistemele de operare cu multiprelucrare
(multiprocessing).
11

A. Batch Processing
n acest caz, execuia unui nou
program ncepe atunci cnd precedentul
program este complet terminat.
Fazele unui program:
i = intrare;
c = calcul;
o = ieire.
12

- t1 i t2 sunt timpii utilizai efectiv de unitatea de calcul.


Observaie:
Dezavantajul principal este c unitatea de calcul este ocupat sporadic.
13

B. Sisteme de operare cu
multiprogramare (multiprogramming)
n cazul acestora, n memoria RAM a
calculatorului se afl mai multe programe
executabile. Activitatea unitii de calcul este
ntreinut cu operaii de intrare-ieire (I/O).

14

C. Sisteme de operare cu
divizarea timpului (time sharing)
Timpul unitii de calcul este divizat n felii
(poriuni mici) alocate pe rnd utilizatorilor.
Astfel un program lung nu mai acapareaz
complet unitatea de calcul la un moment
dat.

15

D. Sisteme de operare cu
multiprelucrare (multiprocessing)
Sarcinile de prelucrare sunt distribuite
ctre mai multe procesoare/uniti care
lucreaz n paralel.

16

Alte clasificri consider iau n


considerare urmtoarele categorii
de sisteme de operare:
n timp real (Real-time)
Pentru mai muli utilizatori simultan (Multi-user)
Multi-tasking / single-tasking
Distribuite
ncapsulate (Embedded)

17

Sisteme de operare n timp


real
Obiectivul principal al sistemelor de operare n timp real
este rspunsul lor rapid la sarcinile programate.
De obicei, un sistem de operare n timp real are un
comportament ce determin rspunsuri imediate (axat pe
eveniment) la solicitri dar include i elemente de timesharing.
Un SO axat pe eveniment comut ntre sarcinile avute n
funcie de prioritile lor sau de evenimente externe n timp
ce sistemele de operare time-sharing comuta n funcie de
ntreruperile de ceas.
18

SO multiutilizator
permite mai multor utilizatori s acceseze un sistem
informatic, n acelai timp.
sistemele de partajare a timpului (time-sharing) i
serverele de Internet pot fi clasificate ca sistemele
multi-utilizator, deoarece permit accesul mai multor
utilizatori la un sistem de calcul prin partajarea
timpului alocat (n uniti mici repartizate de obicei
echilibrat).
SO single-user pot fi folosite numai de un singur
utilizator la un moment dat, dar pot permite mai multe
19
programe s ruleze n acelai timp.

SO de tip multi-tasking
Astfel de SO permit mai multor programe
s ruleze sau s par a rula simultan, din
punct de vedere al scalei de timp umane.
Pot fi de dou tipuri:
preventive
cu cooperare

20

Multi-tasking
multitasking preventiv - sistemul de
operare mparte n felii timpul procesorului
i dedic un slot pentru fiecare dintre
programele curente (Ex: UNIX, versiunile
pe 32 de bii de Windows, Mac OS X).
multitasking cu cooperare - se bazeaz
pe fiecare proces, alocnd timp i pentru
alte procese ntr-un mod definit (versiunile
pe 16 bii ale Microsoft Windows, Mac OS
21
nainte de OS X).

SO distribuite
gestioneaz un grup de calculatoare
independente i le face s par a fi un
singur calculator.
Permite legarea calculatoarelor n reea,
comunicare ce favorizeaz calcul
distribuit.

22

SO ncapsulate/integrate
(embedded OS)
sunt concepute pentru a fi utilizate n
sistemele informatice integrate.
sunt capabile s funcioneze cu un numr
limitat de resurse, fiind foarte compacte i
extrem de eficient proiectate.
Windows CE (Windows Embedded
Compact) este un exemplu de sisteme de
operare integrate.
23

O alta perspectiv asupra SO


SO pot fi clasificate n continuare ca:
Sisteme de operare pe 8 bii (anii '70 - '80)
Sisteme de operare pe 16 bii (anii 80)
Sisteme de operare pe 32 de bii (anii 80,
nc n uz)
Sisteme de operare pe 64 de bii (devenite
populare n ultimii ani)

24

Sistemul de operare CP/M


CP/M (iniial "Control Program/Monitor"
a fost redenumit ulterior Control Program
for Microcomputers) a fost unul dintre
cele mai rspndite SO n anii 70 pn la
nceputul anilor 80 cnd a nceput s fie
nlocuit de DOS.
A fost creat (pentru sisteme bazate pe
Intel 8080/85) de ctre Gary Kildall de la
Digital Research Inc.
25

Un sistem de operare CP/M minimal de 8


bii conine:
Un terminal ce utilizeaz setul de caractere ASCII
Un procesor Intel 8080 (mai trziu 8085) sau Zilog
Z80
Cel puin 16 kB de RAM (gestioneaz 48 Ko RAM)
Cel puin o unitate de floppy disk cu driver-ul
aferent
26

Componentele principale ale


CP/M
Basic Input/Output System (BIOS)
dependent de hardware
Basic Disk Operating System (BDOS)
sistemul de exploatare a unitii de disc
Console Command Processor (CCP)
procesorul de comenzi consol
Transient Program Area (TPA) zona pentru
programe tranzitorii

27

BIOS
BIOS (Basic I/O System) (uzual produs de
AMI, AWARD sau PHOENIX) este o
component a S.O. ce se afl n memoria
ROM a calculatorului i conine informaii
legate de structura HW a sistemului.
Furnizeaz cel mai de jos nivel necesar
sistemului de operare.

28

BDOS
Implementeaz fiierele de sistem CP/M
precum i unele funcii de intrare-ieire;
Cea mai complex parte a CP/M se
regsete n BDOS.

29

Console Command Processor


(CCP)
CCP ateapt intrri de la tastatur i le
convertete pentru terminalul curent.
Implicit se afieaz un prompter de genul
A> care indic disk drive-ul curent.

30

Transient Program Area


(TPA)
Memoria RAM cuprins ntre adresa 0100 (n
hexazecimal) i cea mai mic adres din BDOS
este zona pentru programe tranzitorii - Transient
Program Area (TPA) disponibil pentru
aplicaiile de program CP/M.
Dei procesoarele Z80 i 8080 ar putea adresa 64
kilobytes de memorie, volumul de RAM poate
varia n funcie de computer.
Unele sisteme au mai mult TPA dect altele.
31

1981

32

Microsoft
Aprilie 1975 - Compania Microsoft este nfiinat
de Bill Gates i Paul Allen.
Acum, este unul dintre cel mai mare productor
de software din lume
Mai 2011 - Microsoft a achiziionat Skype
Technologies
Septembrie 2013 - Microsoft a preluat Nokia
33

MS-DOS
Microsoft Disk Operating System este un sistem
de operare pentru computere personale bazate
pe procesoare x86.
Prima versiune a fost bazat pe o clona de CP/M
i a fost elaborat de Tim Paterson.
1981 IBM PC
2000 ultima versiune (MS-DOS 8.0)
34

Caracteristici introduse de ctre


MS-DOS :
asigur o interfa simpl ntre utilizator i resursele
HW i SW;
modaliti eficiente de testare i detecie a erorilor;
orice program complex poate fi mprit n module
mai mici;
prezint o interfa simpl prin intermediul
interpretorului de comenzi COMMAND.COM;
exist o structur de fiiere ierarhizat sub form
de arbore.
35

Avantaje (continuare)
contabilizarea datei i orei;
posibilitatea conectrii unui numr mare
de echipamente periferice;
memorie minim de 128 Ko maxim
640 Ko;
mare diversitate de programe soft;
echipamente periferice gestionate:
monitorul, tastatura, HDD, imprimantele,
etc.
36

Exist un final pentru MS-DOS?


embedded in Windows 95 up until
Windows NT
Windows XP conine o copie a discului de
boot. Acest lucru este accesibil doar prin
formatarea unui floppy disk ca un "disc de
pornire MS-DOS".

37

Componentele de baz ale


MS-DOS
BIOS
BIO.COM & DOS.COM
CONFIG.SYS
COMMAND.COM
AUTOEXEC.BAT
38

UNIX
un sistem de operare multitasking i multiutilizator, care exist n mai multe variante.
originalul Unix a fost dezvoltat la AT&T,
centrul de cercetare Bell Labs, de ctre
Ken Thompson, Dennis Ritchie i alii n
anii '70.
39

Predecesorul lui UNIX


1964 - MIT, AT&T Bell Labs i General Electric au
fost implicate ntr-un program de dezvoltare pentru
un sistem de operare complex numit Multics
(Multiplexed Information and Computing
Service) - proiectul a euat
1969 Peter Neumann a nceput un nou proiect,
numit Unics (UNiplexed Information and
Computing Service). Ken Thompson, Dennis
Ritchie, MD McIlroy, i JF Ossanna s-au hotrt s
reia lucrul la Multics dar la o scar mai mic.
Ulterior numele proiectului a devenit UNIX.

40

nceputurile S.O. UNIX


1969 - 1973 limbajul de programare C a
fost proiectat de ctre Dennis Ritchie ca
un limbaj de programare pentru S.O. Unix.
1970 - 1980 - UNIX dezvoltat ca un sistem
de operare standard pentru mediul
academic
Apoi versiunile ulterioare se lanseaz ntro competiie numit rzboiul UNIX
41

42

Inovaii introduse de UNIX


conceptul de conduct (pipe)
transmiterea direct a unor date ntre dou
procese;
orientarea ctre prelucrarea textelor;
faciliti deosebite n reele de calculatoare
i pot electronic.
43

Componentele unui S.O. UNIX (n acord cu


implementarea V7 considerat ca una din
cele mai canonice structuri):
Kernel-ul ce include:

Codul de iniializare (boot code)


Dispozitivele de control al hardware-ului (dev)
Kernel-ul sistemului de operare (sys)
Fiierele header (h sau include)

Mediul de dezvoltare

Compilatorul C
Assembler-ul mainii
Editorul de legturi pentru fiierele obiect
Librriile
Header-ele pentru crearea de software
Alte limbaje secundare (ex. Fortran)

44

Componentele UNIX (cont.)


Comenzile
Interfaa utilizator (shell)
Setul de comenzi UNIX
Unele programe motenite de la primele
versiuni
Programele de comunicaie

Documentaia
Manualul (man)
Documentaia de subsisteme (doc)
45

LINUX
1983 Richard Stallman a iniiat Proiectul GNU, n
scopul de a dezvolta un sistem de operare
asemntor Unix-lui (complet compatibil dar nu identic
pentru a fi utilizat n regim free).
1991 Linus Torvalds a dezvoltat kernel-ul Linux - un
sistem de operare care este o variant a sistemului de
operare GNU.
mai mult de 90% dintr-un numr de 500, cele mai
rapide supercalculatoare din ziua de azi, ruleaz o
varianta de Linux.
46

Ubuntu
Ubuntu este un sistem de operare bazat
pe kernel-ul Linux.
Potrivit unor sondaje online din 2012,
Ubuntu era cel mai popular Linux pentru
desktop-uri, dar i pentru calculatoarele
personale de tip laptop.

47

Multe sisteme de operare au


rezultat din UNIX
n anii '80 AT&T a ncercat s
comercializeze sistemul de liceniere UNIX
ctre furnizori teri.
dup "rzboaiele Unix" ntre diverse
grupuri de furnizori, AT&T a vndut n cele
din urm drepturile sale pentru Unix ctre
firma Novell, la nceputul anilor 1990.

48

NetWare OS
dezvoltat de Novell
1985 Novell Inc a introdus un nou protocol
de reea i dezvoltare numit NetWare 286
OS
dup mijlocul anilor 90, popularitatea
NetWare intr n declin
instalalri moderne de NetWare OS erau
nc utilizate (n 2010) de ctre unele
organizaiile i firme mari

49

Modelul OSI
Standardul Open Systems Interconnection
- OSI - (ISO/IEC 7498-1) este un model
conceptual care caracterizeaz i
standardizeaz funciile interne ale unui
sistem de comunicaii (reea de
calculatoare) prin divizarea n straturi de
abstractizare.
Proiectul a fost nceput n 1977.
50

Descrierea nivelelor / straturilor OSI


7. Aplicaie

Interfaa cu utilizatorul, comunicaia ntre


programe

6. Prezentare

Conversia datelor ntr-un format acceptat

5. Sesiune

Protocoale de comunicare

4. Transport

Servicii de transport, intensitatea traficului

3. Reea

Lucrul cu adrese logice, ghidarea


informaiei
Fragmentarea datelor n cadre la care se
adaug biii de verificare

2. Legturi de
date
1. Nivelul fizic

Transmiterea informaiilor pe mediul fizic


51

52

S.O. Windows
20 Noiembrie 1985 - Microsoft a introdus
sistemul de operare Windows 1, ca o extensie
grafic a sistemului de operare MS-DOS.
Astzi, cele mai recente versiuni includ
Windows 10 i familii active ale sale (Windows
Embedded, Windows Phone, etc.).
Windows Server 2016 va fi lansat la
nceputul lui 2016.

53

Versiuni nvechite de Windows


Windows 9x Reunete sisteme de operare
produse ntre 1995 i 2000, bazate pe Windows 95
kernel (toate versiunile de Windows 95, Windows
98, i Windows ME).

Windows Mobile Sistem de operare (20002010) dezvoltat special pentru dispozitive mobile
sau care au limitri importante de capacitate de
stocare, memorie, rezoluia ecranului i consumul
de electricitate. n 2010 a fost nlocuit cu Windows
54
Phone.

Android
Un sistem de operare bazat pe Linux
(iniial dezvoltat de ctre Android Inc.)
2007-2008 Google a dezvoltat prima
versiune de Android pentru telefoane
mobile
n prezent a devenit unul dintre cele mai
populare sisteme de operare, nu numai
pentru dispozitive mobile

55

iOS
un sistem de operare mobil dezvoltat i
distribuit de Apple Inc
iOS este derivat din OS X, sistemul de
operare utilizat pe computerele Apple.
este primul sistem de operare mobil, care
este construit pe tehnologia de 64 de bii
56

nscrierea informaiei n unitatea


de memorie de mas (HDD)
Prin partiionarea hard-disk-ului se segmenteaz
unitatea n mai multe regiuni, numite partiii, care pot
conine sistemul de fiiere al unui anume S.O.
Un sisteme de fiiere separat (un SO separat chiar),
poate fi utilizat pe fiecare partiie
Sistemele de operare ale calculatoarelor utilizeaz
unul din cele trei sisteme uzuale de fiiere:
File Allocation Table (FAT)
High Performance File System (HPFS)
New Technology File System (NTFS)

57

File Allocation Table (FAT)


Sistemul de fiiere FAT ofer o performan bun
i robustee rezonabil
n timp ce FAT12 este omniprezent pe dischete,
FAT16 i FAT32 sunt de obicei regsite n uniti
mai mari (pe HDD).
Dimensiunea maxim posibil pentru un fiier ce
se afl pe un volum FAT32 este de 4 GB
FAT+ specific modul de a stoca fiiere mai mari
de pn la 256 GB
58

Fragmentarea
Sistemul de fiiere FAT nu conine
mecanisme care s mpiedice fiierele nou
scrise s se fragmenteze pe partiia
curent.
Pe volumele n care fiierele sunt create i
terse n mod frecvent sau lungimea lor se
schimb de multe ori, mediul va deveni din
ce n ce mai fragmentat de-a lungul
59
timpului.

Dei sistemul FAT este nc unul intens


utilizat, acesta prezint un dezavantaj
major. Spaiul pe disc este mprit n
grupuri de sectoare (uniti de alocare sau
clustere) rigide. Ca urmare spaiul pentru
volume mari este utilizat ineficient.
Ca avantaj ns, sistemul FAT permite
recuperarea informaiilor, ceea ce nu este
o sarcin chiar uoar n cazul HPFS sau
NTFS.
60

High Performance File System


(HPFS)
un sistem de fiiere create iniial pentru
OS/2 pentru a nltura limitrile sistemului
de fiiere FAT.
a fost elaborat de ctre Gordon Letwin i
echipa sa, n cadrul firmei Microsoft
61

mbuntirile aduse de HPFS


suport pentru nume de fiiere lungi (255 de
caractere, spre deosebire de FAT ce susine 8 +
3 caractere)
utilizarea mai eficient a spaiului pe disc (fiiere
nu mai sunt stocate folosind clustere sectoriale
multiple)
o arhitectur intern pe care pstreaz
elementele comune apropiate unele de altele n
cadrul volumului de disc/ partiiei curente
mai mic fragmentare a datelore
62
alocare optimizat a spaiului pe disc

New Technology File System


(NTFS)
dezvoltat de Microsoft Corporation pentru
linia sa de SO bazate pe arhitectura
Windows NT
NTFS are o serie de mbuntiri tehnice
peste FAT i HPFS
NTFS poate comprima fiiere folosind
algoritmi specifici

63

S-ar putea să vă placă și