Sunteți pe pagina 1din 97

Operating

Systems:
Internals Capitolul 2
and Design
Principles
Prezentare generală
Sisteme de Operare
Ninth Edition, Global Edition
By William Stallings

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Sistem de Operare
 Un program care controlează execuția programelor
aplicație
O interfața intre aplicații și hardware
Principalele obiective a unui SO:
• Comoditate
• Eficienta
• Abilitatea de a evolua

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Serviciile unui sistem de
operare
 Dezvoltarea programelor
 Execuția programelor
 Accesul la dispozitivele I/O
 Controlul accesului la fișiere
 Accesarea sistemului
 Detecția si răspunsul la erori
 Contabilitate

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Interfeţe cheie
 Instruction set architecture (ISA)
 Application binary interface (ABI)
 Application programming interface (API)

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Sistemul de Operare ca
Manager de Resurse
 Sistemul de operare este responsabil
pentru controlul utilizării resurselor
unui computer, cum ar fi dispozitivele
I/O, memoria principală și secundară
și timpul de execuție a procesorului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Sistemul de Operare ca
Manager de Resurse
 Funcționează în același mod ca un software
de calculator obișnuit
 Un program, sau o suita de programe
executate de procesor
 Renunța frecvent la control si trebuie sa
depindă de procesor pentru a-i se permite sa
recapete controlul
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Evolutia Sistemelor de Operare

 Un SO va evolua in timp din urmatoarele


motive :

Actualizarea hardware

Noi tipuri de hardware

Servicii noi

Corecţia erorilor

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Evolutia
Sistemelor de Operare
 Etapele includ:

Sisteme cu
partajarea
Sisteme Batch timpului
multiprogramate
Sisteme Batch
simple
Procesare
serială

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Procesarea Seriala
Primele Calculatoare: Probleme:
 Planificarea:
 Fără sisteme de operare
 cele mai multe instalații au
 Programatorii
utilizat o foaie înscriere tipărita
interacționează direct cu
ptr. a rezerva timp calculator
componentele hardware
 In alocările de timp pot fi
 Calculatoarele executa programe execuții scurte sau lungi,
de la o consolă cu lumini de rezultând nefolosirea de
afișare, comutatoare, o formă de timp procesor
dispozitiv de intrare, și o
imprimantă  Timp de setare
 o cantitate considerabilă de timp
 Utilizatorii au acces in ”serie” la este necesara doar pentru setarea
calculator programului pentru a rula
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Sisteme Batch Simple

 Computerele timpurii erau foarte scumpe


 Important de maximizat utilizarea procesorului
 Monitor
 Utilizatorul nu mai are acces direct la procesor
 Sarcinile se depun la operatorul calculatorului care le
„batches” împreună și le plasează pe un dispozitiv de
intrare
 Programul sare la monitor atunci când el se termina

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Punctul de vedere al
Monitorului
 Monitorul controlează secvența de
evenimente
 Resident Monitor este software-ul
care este tot timpul in memorie
 Monitorul citește sarcinile si
cedează controlul
 Sarcinile returnează controlul la
Monitor

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Punctul de vedere al
Procesorului
 Procesorul executa instrucțiuni din memoria care conține
monitorul
 Executa instrucțiuni din programul utilizator până la
terminare sau la apariție unei condiții de eroare
 “Controlul este transferat la o sarcina” înseamnă ca
procesorul extrage si executa instrucțiuni dintr-un program
utilizator
 “Controlul este returnat monitorului” înseamnă ca
procesorul extrage si executa instrucțiuni din programul
monitor
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Job Control Language (JCL)
Tip special de limbaj de programare
folosit pentru a furniza instrucțiuni
pentru monitor

Ce compilator sa
utilizeze

Ce date sa folosească

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Caracterisitici dorite
pentru Hardware
Protectia memoriei pentru
monitor
• în timp ce programul utilizator este executat, acesta nu trebuie să modifice zona de
memorie care conține monitorul

Timer

• Previne ca o sarcina sa monopolizeze sistemul

Instrucțiuni privilegiate

• Pot fi executate doar de monitor

Întreruperi

• Furnizeaza SO-ului o flexibilitate mai mare in controlarea programelor utilizator

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Moduri de Functionare

Modul Utilizator Modul Nucleu


• Programele utilizator sunt • Monitorul este executat in
executate in modul utilizator modul nucleu
• Anumite zone de memorie • Instructiunile priveligiate pot
sunt nu pot fi accesate fi executate
• Anumite instructiuni nu pot fi • Zonele de memorie protejate
executate pot fi accesate

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Supracontrolul
Sistemelor Batch Simple
 Timpul procesor este alternat între execuția programelor
utilizator și execuția monitorului
 Sacrificii:
 O parte din memoria principala este folosite de monitor
 O parte din timpul procesor este consumat de monitor
 In ciuda supracontrolului, sistemul batch simplu
ameliorează utilizarea calculatorului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Sisteme Batch
Multiprogramate

Dispozitivele
I/O sunt lente
în comparație
cu procesorul

Chiar și cu
secvențierea
automată a
sarcinilor

Procesorul este adesea


inactiv (idle)

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Uniprogramarea

Procesorul petrece o anumită perioadă de timp in executare,


până când ajunge la o instrucțiune I/O; el trebuie apoi să
aștepte până cand instrucțiunea I/O se încheie înainte de a
continua
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Multiprogramarea

 Trebuie sa existe suficientă memorie pentru SO (resident monitor) si un program utilizator


 Când o sarcina trebuie sa aștepte un I/O, procesorul poate fi comutat la alta sarcina, care cel
mai probabil nu așteaptă un I/O

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Multiprogramarea

 Cunoscuta si ca multitasking
 Memoria este extinsa să conțină trei, patru, sau mai multe programe și comuta
execuția între ele
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Exemplu de
multiprogramare

Table 2.1 Sample Program Execution Attributes

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Table 2.2 Effects of Multiprogramming on Resource Utilization

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Sisteme cu partajarea
timpului
 Pot fi utilizate pentru a trata mai multe sarcini
interactive
 Timpul procesor este partajat de mai multi
utilizatori
 Mai mulți utilizatori acceseaza simultan sistemul
prin intermediul terminalelor, cu intercalarea
executiei fiecărui program utilizator în cuante
mici de calcul
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Table 2.3 Batch Multiprogramming versus Time Sharing

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Compatible Time-Sharing
System (CTSS)
 Unul dintre primele sisteme de operare cu partajare a timpului
 Dezvoltat la MIT de un grup cunoscut sub numele de Project MAC
 Sistemul a fost dezvoltat pentru prima dată pentru IBM 709 în 1961
 A rulat pe un computer cu 32.000 de cuvinte pe 36 de biți de memorie principală,
monitorul rezident consumând 5.000 din acestea

 A folosit o tehnică cunoscută sub numele de felierea timpului (time slicing)


 Ceasul sistemului a generat întreruperi cu o rată de aproximativ una la fiecare 0,2 secunde
 La fiecare întrerupere a ceasului, sistemul de operare a recăpătat controlul și ar putea atribui procesorul
unui alt utilizator
 Astfel, la intervale regulate de timp, utilizatorul actual va fi intrerupt și un alt utilizator ar fi încărcat
 Pentru a păstra starea vechiului program utilizator pentru reluarea ulterioară, vechile programe utilizator și
datele au fost scrise pe disc înainte ca noile programe de utilizator și datele să fie citite si incarcate in
memorie
 Vechiul cod al programului utilizatorului și datele au fost restaurate în memoria principală atunci când
programului i s-a dat următoarea felie de timp
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Realizări majore
 Sistemele de operare sunt printre cele mai
complexe piese de software dezvoltate vreodată
 Progresele majore în dezvoltare includ:
 Procesele
 Gestionarea memoriei
 Protecția și securitatea informațiilor
 Planificarea și gestionarea resurselor
 Structura sistemului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Proces
 Fundamental pentru structura sistemelor de operare

Un proces poate fi definit ca:

Un program în execuție

O instanță a unui program care rulează


Entitatea care poate fi atribuită și executată pe un procesor

O unitate de activitate caracterizată printr-un singur fir secvenţial de execuţie, o


stare curentă şi un set asociat de resurse de sistem

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Cauzele erorilor
 Sincronizare necorespunzătoare  Functionare nedeterminata a
 Este adesea cazul ca o rutină să fie programelor
suspendată în așteptarea unui  Când programele partajează
eveniment în altă parte a sistemului memorie, iar execuția lor este
 Proiectarea necorespunzătoare a intercalată de procesor, ele pot
mecanismului de semnalizare poate interfera între ele prin suprascrierea
duce la pierderi sau dublare zonelor comune de memorie în
moduri imprevizibile
 Excluderea reciprocă eșuată  Ordinea în care sunt planificate
 Mai mult de un utilizator sau program
programele poate afecta rezultatul
încearcă să utilizeze o resursă partajată în
același timp unui
 anumit program
Deadlocks
 Trebuie să existe un fel de mecanism de  Este posibil ca două sau mai
excludere reciprocă care să permită o multe programe să fie blocate
singură rutină la un moment dat să așteptându-se unul pe celălalt
efectueze o actualizare a resursei
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Componentele unui proces
 Un proces conține trei  Contextul de execuție este
componente: esențial:
 Un program executabil  Sunt datele interne prin care
sistemul de operare este
 Datele asociate necesare
capabil să supravegheze și să
programului (variabile,
controleze procesul
spațiu de lucru, buffere
etc.)
 Include conținutul diferitelor
registre processor
 Contextul de execuție (sau
 Include informații precum
„starea procesului”) al
prioritatea procesului și dacă
programului
procesul așteaptă finalizarea
unui anumit eveniment I/O
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Process
Management
 Întreaga stare a procesului
în orice moment este
conținută în contextul său

 Noile funcții pot fi


proiectate și încorporate în
sistemul de operare prin
extinderea contextului
pentru a include orice
informații noi necesare
pentru a susține noua
caracteristica
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Managementul Memoriei
 Un SO are cinci responsabilităţi principale
pentru managementul stocării:

Alocarea şi Suport pentru Protectie si


Izolarea Stocare pe
managementul programarea controlul
proceselor termen lung
automat modulară accesului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Memoria Virtuala
O facilitate care permite programelor să adreseze
memorie din punct de vedere logic, indiferent de
cantitatea fizică de memorie principala
disponibilă
 Conceput pentru a satisface cerința de a avea
procese utilizator multiple stocate concomitent în
memoria principală

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Paginarea
 Permite proceselor să fie formate dintr-un număr de blocuri
de dimensiuni fixe, numite pagini
 Programul face referire la un cuvânt printr-o adresă virtuală
 constă dintr-un număr de pagină și o deplasare în cadrul
paginii
 fiecare pagină pot fi amplasata oriunde în memoria
principală
 Asigură o mapare dinamică între adresa virtuala utilizată în
program și o adresă reală (sau fizică), în memoria
principală
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Protectia si Securitatea
Informatiilor
 Natura amenințării
care se referă la o
Problemele
organizație va varia principale Disponibilitate
foarte mult în funcție
de circumstanțe
 Problema implică
controlul accesului la Autenticitate Confidentialitate
sistemele de calcul și
la informațiile stocate
Integritate
în ele datelor

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Planificarea si
Managementul Resurselor
 Responsabilitatea
cheie a unui sistem de Corectitu-
operare este Eficienta dinea

gestionarea resurselor
 Politicile de alocare a Răspuns
resurselor trebuie să ia diferențial

în considerare:

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Abordări architecturale
diferite
 Cererile privind sistemele de operare necesită
noi modalități de organizare a SO

Au fost încercate diferite abordări și elemente de proiectare:

• Arhitectura microkernel
• Multithreading
• Multiprocesare simetrică
• Sisteme de operare distribuite
• Proiectare orientata pe obiecte

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Arhitectura Microkernel
 Alocă doar câteva funcții esențiale pentru
kernel:
Administrarea Comunicatia
Planificarea
spatiului de inter-procese
de baza
adrese (IPC)

 Abordarea:

Este foarte
Simplifica Furnizeaza
potrivit pentru un
implementarea flexibilitate
mediu distribuit

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Multithreading
Firul de
Procesul
executie
 Tehnica în care un
proces, care
executata o Unitate dispecerizabilă de muncă O colecție de unul sau mai multe

aplicație, este
(executie) fire și resurse de sistem asociate

împărțita în fire
de executie care Prin spargerea unei singure

pot rula simultan Include un context procesor și o


zonă proprie de date
aplicații în mai multe fire, un
programator are un control mai
mare asupra modularității
aplicației și a timing-uui
evenimentelor legate de aplicație

Este executat secvențial și este


întreruptibil

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Symmetric
Multiprocessing (SMP)
 Termen care se referă la o arhitectură hardware și, de asemenea,
la comportamentul sistemului de operare care exploatează această
arhitectură
 OS-ul unui SMP planifică procese sau fire pe toate procesoarele
 Sistemul de operare trebuie să ofere instrumente și funcții pentru
a exploata paralelismul într-un sistem SMP
 Multithreading și SMP sunt adesea discutate împreună, dar cele
două sunt facilități independente
 O caracteristică atractivă a unui SMP este că existența mai multor
procesoare este transparentă pentru utilizator
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Avantajele SMP
Mai mult de un proces poate fi
Performanta executat simultan, fiecare pe un
procesor diferit

Eșecul unui singur procesor nu


Disponibiltate
opreste sistemul

Performanța a unui sistem poate fi


Crestere
îmbunătățită prin adăugarea unui
incrementala
procesor suplimentar

Vânzătorii pot oferi o gamă de produse


Scalare în funcție de numărul de procesoare
configurate în sistem
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Proiectarea SO
Sisteme de Operare Proiectare Orientata pe
Distribuite Obiecte
 Furnizeaza  Folosita pentru adăugarea de
extensii modulare la un nucleu
 Un sigur spatiu pentru memoria
mic
principala
 Un sigur spatiu pentru memoria  Permite programatorilor sa
secundara personalizeze un sistem de
 Facitati de acces unificat operare fără a afecta integritatea
sistemului
 Stadiul actual pentru sistemele de
operare distribuite este reprezentat de  Usureaza dezvoltarea de
sistemele de operare uniprocesor și instrumente distribuite și sisteme
SMP de operare distribuite exhaustive
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Toleranţa la defecte
 Se referă la capacitatea unui sistem sau a unei componente de a
continua funcționarea normală, în ciuda prezenței de defecte
hardware sau software
 Implica, de regula un anumit grad de redundanță
 Destinat pentru a crește fiabilitatea unui sistem
 de obicei, vine cu un cost în termeni financiari sau de
performanță
 Amploarea adoptării de măsuri de toleranță la eroare trebuie să fie
determinată de cât de critică este resursa

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Concepte fundamentale
 Măsurile de bază sunt:
 Reliability (fiabilitatea)
 R(t)
 definit ca probabilitatea a funcționare corectă până la timpul t în
condițiile în care sistemul a funcționat corect la momentul t=o
 Mean time to failure (MTTF)
 mean time to repair (MTTR) este timpul mediu necesar pentru a repara
sau înlocui un element de defect
 Disponibilitate
 definit ca fracțiune de timp în care sistemul este disponibil la
solicitările utilizatorilor

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Table 2.4 Availability Classes

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Defecte
 Sunt definite de IEEE Standards Dictionary ca fiind o stare hardware
sau software eronată care rezultă din:
 Eșecul componentei
 Eroare de operare
 Interferențe fizice din mediul înconjurător
 Eroare de proiectare
 Eroare de program
 Eroare de structură a datelor

 Standardul afirmă, de asemenea, că o eroare se manifestă ca fiind:


 Un defect al unui dispozitiv sau al unei componente hardware
 Un pas, un proces sau o definire incorectă a datelor într-un program de
calculator
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Categorii de defecte

 Permanente
• un defect care, după ce se produce, este mereu prezent
• defecțiunea persistă pana cand componenta defectă se înlocuiește sau reparată

 Temporare
• un defect care nu este prezent tot timpul, pentru toate condițiile de funcționare
• pot fi clasificate drept
• Transient - o eroare care apare o singură dată
• Intermitenta - o eroare care apare imprevizibil de mai multe ori

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Metode de redudanță
Redundanţă Redundanţă Redundanţă
spațială (fizică) temporală informaţională

implică folosirea mai implică repetarea unei


multor componente funcții sau operații
care realizează fie atunci când se oferă toleranță la erori
aceeași funcție detectează o eroare prin replicarea sau
simultan sau sunt codificarea datelor într-
configurate astfel încât un mod care erorile pe
o componentă este eficientă cu defecte biţi pot fi detectate și
disponibilă ca rezervă temporare, dar nu este corectate
în caz de eșec a altei utilă pentru defecte
componente permanente

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Mecanismele sistemelor de
operare
 Un număr a tehnici pot fi încorporate în software-ul SO
pentru a sprijini toleranta la defecte:
 izolare proces
 concurenta
 masini virtuale
 puncte de control și derulările înapoi

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Considerati pentru SO cu
multiprocesare simetrica
 Un sistem de operare multiprocesor trebuie să furnizeze toate funcționalitățile unui
sistem multiprogramat plus caracteristici suplimentare pentru a se adapta la mai
multe procesoare

 Probleme cheie de proiectare:


Procese Sincronizarea Fiabilitatea
concurente Planificarea Managment si toleranta
simultane sau ul memoriei la erori
fire orice cu mai multe
procesor procese active,
poate efectua sistemul de
rutinele de kernel care au acces reutilizare
planificare, operare ar
trebuie să fie de potențial pentru a
ceea ce trebui să
reentrante, pentru spațiile de adrese paginilor
complică ofere
a permite ca mai sau resurse I / O fizice este
sarcina de a degradare
multe procesoare partajate, trebuie cea mai
impune o nesemnificati
sa execute același asigurata mare
politică va în fața
cod kernel sincronizarea problemă
planificare eșecului
simultan eficace
procesor
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Consideratii pentru SO
multicore
 Provocarea de proiectare pentru
un sistem multicore este de a
valorifica eficient puterea de paralelism hardware în fiecare
procesare multicore și de a core, cunoscut sub numele de
gestiona inteligent si eficientr paralelism la nivel de instruire

esursele de pe chip
potențial pentru multiprogramare
 Potențialul de paralelism există și execuție multifir în cadrul
la trei niveluri: fiecărui procesor

potențial pentru o singură


aplicație de se executa în procese
concurente sau fire pe mai multe
nuclee

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Grand Central Dispatch
(GCD)
 Este o capacitate de suport multicore
 Odată ce un dezvoltator a identificat ceva care poate fi împărțit într-o
sarcină separată, GCD o face cât mai ușor și mai neinvaziv posibil
pentru a face acest lucru

 În esență, GCD este un mecanism de pool-uri de fire de


execuție, în care OS mapeaza tak-urile la fireșe de execuție care
reprezintă un grad de concurență disponibil
 Oferă extinderea limbajelor de programare pentru a permite
funcții anonime, numite blocuri, ca modalitate de specificare a
sarcinilor
 Îți ușurează întreruperea întregii unități de lucru, menținând
Copyright ordinea
© 2018 Pearsonși dependențele
Education, existente între sub-task-uri
Ltd. All Rights Reserved.
Abordarea Masinilor
Virtuale
 Permite ca unul sau mai multe nuclee să fie dedicat
unui anumit proces și apoi este lasat procesorul
singur pentru a dedica eforturile în acest proces
 Multicore OS ar putea acționa ca un supervizor
care realizeaza o decizie la nivel înalt pentru aloca
nuclee la aplicații, dar face puține pentru modul de
alocare a resurselor

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Componentele Windows
pentru modul nucleu
 Executiv
 Contine serviciile nucleul ale SO

 Nucleu
 Controleaza executia procesoarelor

 Hardware Abstraction Layer (HAL)


 Harta dintre comenzi hardware generice și răspunsuri și cele unic pentru
o platformă specifică

 Drivere dispozitiv
 biblioteci dinamice care extind funcționalitatea Executivului

 Ferestre și sistemul grafic


Implementeaza interfata grafica
 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018
Windows Executive

I/O manager Cache manager Object manager Plug-and-play Power manager


• Oferă un cadru prin care • bunătățește performanța • Creează, gestionează și manager • Coordonează gestionarea
dispozitivele I / O sunt intrărilor / ieșirilor șterge obiectele • Stabilește driverele care alimentării între
accesibile pentru aplicații bazate pe fișiere, Windows Executive care sunt necesare pentru a dispozitive
și sunt responsabile determinând ca datele sunt folosite pentru a suporta un anumit
pentru trimiterea la din fișierele de referință reprezenta resurse dispozitiv și este cel care
driverele recentă să se afle în precum procese, fire și încarcă acete drivere
corespunzătoare ale memoria principală obiecte de sincronizare și
dispozitivelor pentru pentru a avea acces rapid aplică reguli uniforme
prelucrare ulterioară și amânând scrierea de pentru păstrarea,
discuri ținând denumirea și setarea
actualizările în memorie securității obiectelor
pentru o perioadă scurtă
de timp înainte de a le
trimite pe disc în loturi
mai eficiente

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Windows Executive

Security reference Virtual memory Process/thread Configuration Advanced local


monitor manager manager manager procedure call
• Forțează regulile de • Gestionează adresele • Creează, gestionează și • Responsabil de (ALPC) facility
validare a accesului și de virtuale, memoria fizică șterge obiecte proces și implementarea și • implementeaza un
generare a auditului și fișierele de paginare de fire de execuție gestionarea registrilor de mecanism eficient de
pe disc și controlează sistem, care este solicitare a procedurilor
hardware-ul de depozitul atât pentru inter-proces pentru
gestionare a memoriei și setările la nivel de comunicarea între
structurile de date care sistem, cât și pentru procesele locale care
cartografiază adresele utilizatori, pentru diferiți implementează serviciile
virtuale în spațiul de parametri și subsistemele
adrese al procesului către
paginile fizice din
memoria calculatorului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Procese în modul utilizator
 Patru tipuri de bază sunt suportate de Windows:
 :
Special System • Servicii user-mode necesare pentru a gestiona sistemul
Processes
• spooler de imprimantă, logger de evenimente, și componentele user-
Service Processes mode care cooperează cu drivere de dispozitiv și diverse servicii de
rețea

Environment • oferă diferite personalități SO (medii)


Subsystems
• executabile (EXE) și DLL-uri care oferă utilizatorilor funcționalitate
User Applications de execuţie pentru utilizarea sistemului

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Modelul Client/Server
 Servicii de sistem  Avantaje:
Windows, subsisteme de  Simplifică Executive
mediu, și aplicații sunt
 îmbunătățește fiabilitatea
toate structurate folosind
modelul client/server  oferă o metodă uniformă
pentru cererile de
 Comun în sistemele comunicaţie cu servicii
distribuite, dar poate fi prin intermediul RPC fără
folosit intern pentru un a limita flexibilitatea
singur sistem  oferă o bază adecvată
 Procesele comunica prin pentru calcul distribuit
intermediul RPC
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Fire de execuţie și SMP
 Două caracteristici importante ale Windows sunt suportul pentru
fire și pentru multiprocesare simetrică (SMP)
 Rutinele OS pot rula pe orice procesor disponibil, și diferite rutine pot fi
executate simultan pe procesoare diferite

 Windows acceptă utilizarea de mai multe fire de execuție în cadrul unui


singur proces. Mai multe fire din același proces se pot executa simultan
pe procesoare diferite

 Procesele server pot folosi mai multe fire pentru a procesa simultan
cererile de la mai multi client

 Windows furnizează mecanisme pentru schimbul de date și resurse


între procese și capacități de comunicare flexibile
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Obiecte Windows
 Windows se bazează foarte mult pe conceptele de
proiectare orientata pe obiecte
 Conceptele cheie utilizate de Windows sunt:

Mostenire
Încapsulare

Obiecte clasa si Polimorfism


instante

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Table 2.5 Windows Kernel Control Objects

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Sisteme UNIX Traditionale
 Dezvoltate la Bell Labs si a devenit functionale pe un sistem PDP-7 in 1970

 A inclus multe idei din Multics

 PDP-11 a fost o piatră de hotar pentru că a arătat în primul rând că UNIX poate fi un sistem
de operare pentru toate computerele

 Urmatoarea piatra de hotar a fost rescrierea UNIX în limbajul de programare C


 a demonstrat avantajele utilizării unui limbaj de nivel înalt pentru codul sistem

 A fost descris într-un jurnal tehnic, pentru prima dată în 1974

 Prima versiune disponibilă pe scară largă în afara Bell Labs a fost Versiunea 6 în 1976

 Versiunea 7, lansata în 1978 este strămoșul celor mai multe sisteme UNIX moderne

 Cel mai important pentru sistemele non-AT& T a fost UNIX BSD (Berkeley Software
Distribution)
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Figure 2.16 Modern UNIX Kernel
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
System V Release 4
(SVR4)
 Dezvoltat în comun de către AT & T și Sun Microsystems

 Combină caracteristici din SVR3, 4.3 BSD, Microsoft Xenix System V şi SunOS

 Noile caracteristici din versiunea 4 includ:


 suport de procesare în timp real
 clase de planificare
 alocate dinamică a structurilor de date
 management al memoriei virtuale
 sistem de fișiere virtual
 kernel preemptiv

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


BSD
 Berkeley Software Distribution

 4.xBSD este utilizat pe scară largă în instalațiile academice și a servit ca baza a unui
număr a produse comerciale UNIX

 4.4BSD a fost versiunea finală a BSD lansată de către Berkeley

 Există mai multe versiuni open source ale BSD


 FreeBSD
 Popular pentru servere și firewall-uri bazate pe Internet
 Utilizat într-un număr de sisteme încorporate
 NetBSD
 Disponibil pentru multe platforme
 Adesea folosite în sistemele încorporate
 OpenBSD
 Un sistem de operare open-source care pune un accent deosebit pe securitate
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Solaris 11
 Oracle a lansat versiunea UNIX bazată pe SVR4
 Oferă toate caracteristicile SVR4 plus un număr de
caracteristici mai avansate, cum ar fi:
 suport complet pentru SMP
 un nucleu complet preemptive, multithreaded
 o interfață orientată pe obiecte pentru sisteme de fișiere

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Prezentare generala LINUX
 A pornit ca o varianta UNIX pentru IBM PC
 Linus Torvalds, un student filandez de la calculatoare, a scris prima versiune
 Linux a fost postat pe Internet in 1991
 Astăzi este un sistem cu caracteristici complete UNIX care rulează pe mai
multe platforme
 Este gratuit și codul sursă este disponibil
 Cheia succesului a fost disponibilitatea de pachete software gratuite
 Foarte modular și ușor de configurat

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Nucleu Modular Monolitic
Loadable Modules
 Dezvoltarea Linux este globală și
realizată de un grup slab asociat  Blocuri relativ independente
de dezvoltatori independenți
 Un modul este un fișier obiect a
 Deși Linux nu folosește o cărui cod poate fi legată de și
abordare microkernel, atinge deconectat de la kernel în timpul
multe din potențialele avantaje ale rulării
abordării prin intermediul
arhitecturii sale modulare  Un modul este executat în mod
 Linux este structurat ca o colecție nucleu, în numele procesului
de module, dintre care un număr curent
poate fi încărcat și descărcat
automat la cerere  Au două caracteristici importante:
 Legături dinamice
 Module care pot fi stivuite
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Linux Signals

Table 2.6 Some Linux Signals

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Table 2.7 Some Linux System Calls (page 1 of 2)
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Table 2.7 Some Linux System Calls (page 2 of 2)
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Sistemul de Operare
Android
 Un sistem bazat pe Linux proiectat  Cea mai recentă versiune este
inițial pentru dispozitive mobile cu Oreo 8.0
ecran tactil, cum ar fi smartphone-
uri și tabletele  Open Handset Alliance (OHA)
este responsabilă de lansarea SO
 Cel mai popular sistem de operare Android ca platformă deschisă
mobil
 Caracterul open-source a fost
 Dezvoltarea a fost realizată de
cheia succesului Android
Android Inc., care a fost cumparat
de Google in 2005

 Prima versiune comercială


(Android 1.0) a fost lansată in
2008

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Application Framework
 Ofera blocuri la nivel înalt accesibile prin API standardizat folosit de
programatorii pentru a crea noi aplicații
 arhitectura este concepută pentru a simplifica reutilizarea componentelor

 Componente cheie :

Activity Window Package Telephony


Manager Manager Manager Manager
Abstractizare Java pe
Gestionează ciclul de
care se bazează Surface
viață a aplicațiilor
Manager
Permite interacțiunea cu
Instalează și elimină
telefonul și servicii SMS,
aplicațiile
MMS
Permite aplicațiilor să
Responsabil pentru
declare zona lor client și
pornire, oprire, și reluarea
de a folosi caracteristici
diverselor aplicații
cum ar fi bara de stare

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Application Framework
(cont.)

Content Resource View Location Notification


XMPP
Providers Manager System Manager Manager

Permite
Aceste funcții dezvoltatorilor
încapsulează Gestionează Oferă interfața să accese
Gestionează
datele aplicației resursele cu utilizatorul servicii bazate Oferă funcții de
evenimente,
care trebuie să aplicației, cum (UI) prin pe locație, fie mesagerie
cum ar fi
fie partajate ar fi siruri de primitive, prin GPS, ID- standardizate
mesaje și
între aplicații, caractere și precum și UI uri turn de între aplicații
întâlniri
cum ar fi bitmap Events celule, sau baze
contactele de date locale
Wi-Fi

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


Librăriile sistem
 Colecție de funcții utile de sistem scrise în C sau C ++ și utilizate de către diverse
componente ale sistemului Android

 Chemat din application framework și din aplicații printr-o interfață Java

 Expuse la dezvoltatori prin application framework

 Unele dintre bibliotecile cheie ale sistemului includ:


 Surface Manager
 OpenGL
 Media Framework
 SQL Database
 Browser Engine
 Bionic LibC

Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.


 Majoritatea software-urilor Android
sunt mapate într-un format bytecode
care este apoi transformat în instrucțiuni
native de pe dispozitiv

 Versiunile anterioare ale Android au


folosit o schemă cunoscută sub numele
de Dalvik, cu toate acestea Dalvik are o
Android Runtime serie de limitări în ceea ce privește
extinderea la memorii mai mari și
arhitecturi multicore

 Cele mai recente lansări de Android se


bazează pe o schemă cunoscută sub
numele de Android runtime (ART)

 ART este pe deplin compatibil cu


formatul Bytecode existent al lui
Dalvik, astfel încât dezvoltatorii de
aplicații nu trebuie să-și schimbe
codarea pentru a fi executabili în cadrul
ART

 Fiecare aplicație Android rulează în


propriul proces, cu propria instanță a lui
Dalvik VM
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Avantajele și dezavantajele
utilizării ART
Avantaje Dezavantaje
 Reduce timpul de pornire al aplicațiilor,  Deoarece conversia de la codul bytecode
deoarece codul nativ este executat direct la codul nativ se face la momentul
instalării, instalarea aplicației durează mai
 Îmbunătățește durata de viață a bateriei mult timp
deoarece se evită utilizarea procesorului  La prima încărcare proaspătă sau la prima
pentru JIT
pornire după resetarea din fabrică, toate
aplicațiile instalate pe un dispozitiv sunt
 Este necesară o amprentă RAM mai
compilate la codul nativ folosind dex2opt,
mică pentru ca aplicația să ruleze,
prin urmare prima boot-are poate dura
deoarece nu este necesară stocarea
mult mai mult timp pentru a ajunge la
pentru cache-ul JIT
ecranul inițial în comparație cu Dalvik
 Există o serie de optimizări pentru  Codul nativ astfel generat este stocat pe
colecțiile de gunoi și îmbunătățiri de un spațiu de stocare intern care necesită o
depanare care au intrat în ART cantitate semnificativă de spațiu intern de
stocare suplimentar
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Activităţi
O activitate este o singură componentă de interfata
de utilizator vizuală, inclusiv lucruri cum ar fi
selecții de meniu, icoane, și căsuțele

Fiecare ecran într-o aplicație este o extensie a


clasei Activity

Foloseste Views pentru a forma interfețe grafice


care afișează informații și să răspundă la acțiunile
utilizatorului

Copyright © 2018 Pearson Education, Ltd. All Rights


Reserved.
Power Management
Alarme Wakelocks
 Implementat în kernel-ul Linux și este  Previne un sistem Android să intre
vizibil pentru dezvoltatorul de în modul sleep
aplicaţii prin AlarmManager în
bibliotecile de bază RunTime  Aceste încuietori sunt solicitate prin
intermediul API de fiecare dată când
 Este implementat în kernel, astfel o aplicație necesită ca unul dintre
încât o alarmă se poate declanșa chiar periferice să rămână pornit
dacă sistemul este în modul sleep
 acest lucru permite sistemului  O aplicatie poate deține una din
să intre în modul de repaus, următoarele wakelocks:
economisind energie, chiar  Full_Wake_Lock
dacă există un proces care
necesită o trezire
 Partial_Wake_Lock
 Screen_Dim_Wake_Lock
 Screen_Bright_Wake_Lock
Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.
Rezumat
 Considerații de proiectare pentru SO
 Obiectivele si funcţiile sistemului de multiprocesor și multicore
operare  Privire de ansamblu asupra Microsoft Windows
 Interfaţă computer utilizator  Sistemele tradiționale Unix
 Manager de resurse  Istorie/descriere
 Evolutia sistemelor de operare  Sisteme UNIX moderne
 Procesarea seriale  System V Release 4 (SVR4)

 Sisteme batch  BSD


 Solaris 10
simple/multiprogramate/partaharea
 Linux
timpului
 Istorie
 Realizări majore
 Structură modulară
 Evoluții care au condus la sistemele de  Componentele nucleului
operare moderne  Android
 Toleranța la defecte  Arhitectura software
 Concepte fundamentale  Activităţi

 Defecte  Power management


Copyright © 2018 Pearson Education, Ltd. All Rights Reserved.

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