Sunteți pe pagina 1din 8

Sisteme de operare curs 13

Sisteme de operare

Niveluri software şi interacţiunea cu hardware


Software = totalitatea programelor care permit funcţionarea unui sistem de calcul.
Fiecare program executat de calculator aparţine unui nivel:
1. Firmware sau nivelul funcţiilor de bază pentru comunicarea software-hardware
este constituit din instrucţiunile ce intră în contact direct cu componentele fizice
ale sistemului. În cazul PC-urilor, acest nivel este constituit din setul de
microinstrucţiuni (RISC şi CISC) al microprocesorului şi din BIOS (Basic Input
Output System) inscripţionat în memoria ROM.
2. Sistemul de operare(S.O.) -nivelul sistemului de operare controlează sarcinile
calculatorului și gestionează resursele sistemului pentru a-i optimiza
performanța.
3. Nivelul programelor de aplicaţii: nivelul superior, cel mai apropiat de utilizator,
constituit din totalitatea programelor destinate rezolvării unor probleme specifice:
o Programe pentru prelucrarea textelor: Microsoft Word, Corel WordPerfect,
Lotus WordPro, Adobe AcrobatReader;
o Programe de tehnoredactare (DTP – Desktop Publishing): QuarkXPress,
Adobe Pagemaker,;
o Programe de prezentare: Microsoft PowerPoint, Harvard Graphics;
o Programe de calcul tabelar: Microsoft Excel, Corel QuattroPro, Lotus 1-2-3;
o Programe pentru baze de date: Microsoft Access, FoxPro, dBase;
o Programe de grafică: CorelDraw;
o Programe pentru prelucrarea imaginilor: Adobe PhotoShop, Corel PhotoPaint;
o Programe CAD: AutoCad, Archicad;
o Editoare HTML (Web Publishing Software): Netscape Composer, Frontpage.
o Browser-e Internet: Microsoft Internet Explorer, Netscape Communicator;
o Programe pentru poşta electronică: Netscape Messenger, Microsoft Outlook
Express, Lotus Notes;
o Programe pentru agende: Microsoft Outlook, Lotus Organiser;
o Pachete de programe office: Microsoft Office, Corel Office, Lotus Notes
SmartSuite.
o Alte tipuri de software:

1
Sisteme de operare curs 13

 programe utilitare ;un utilitar este un program de interfaţă între


utilizator şi sistemul de operare în vederea accesării unui
serviciu oferit de SO.pentru :
o inițializarea sau oprirea proceselor
o comunicarea între procese
o gestiunea și utilizarea sistemui de fișiere (Norton
Commander, Windows Explorer);
o monitorizarea și diagnosticarea sistemului
 driver-e: mici programe care comandă componente ale
hardware-ului; unele fac parte din SO, find livrate odată cu
acesta (drivere-le de mouse,tastatură) altele se livrează separat,
fiind necesară instalarea lor ulterioară; programe relativ
autonome, deseori furnizate de producători care asigura
comunicarea cu echipamente noi fără modificarea SO
(module)
 programe de asistenţă;
 jocuri;
 viruşi.
 programele-utilizator (programele scrise de utilizator în
limbajele de programare, pentru rezolvarea unor probleme
specifice).

Niveluri software şi interacţiunea cu hardware.


Cele mai multe PC-uri desktop sau laptopuri sunt vândute cu sistemul de operare
Microsoft Windows deja instalat. Computerele Macintosh sunt vândute cu Mac OS X.
Serverele corporative utilizează Linux sau sisteme de operare UNIX.
Mai recent, sisteme de operare au început să fie integrate şi în multe dispozitive pe
care le folosim în fiecare zi, de la telefoane mobile la puncte de acces wireless. Aceste
dispozitive atât de mici , au ajuns atât de puternice , încât pot rula un sistem de operare şi
alte aplicaţii. Calculatorul dintr-un telefon mobil modern tipic este acum mai puternic decât
un calculator PC de acum 20 de ani.
2
Sisteme de operare curs 13

Scopul unui sistem de operare este să organizeze şi să controleze partea hardware şi


software, astfel încât dispozitivul funcţionează şi se comportă într-un mod flexibil, dar
previzibil.
În orice dispozitiv care are un sistem de operare, există de obicei o modalitate de a
efectua modificări la modul în care acel dispozitiv funcţionează. Acest lucru este departe de a
fi un accident fericit, unul din motivele pentru care sistemele de operare sunt realizate in cod
portabil, decât in circuite permanente este ca acestea pot fi schimbate sau modificate, fără a fi
nevoie să solicitaţi întregul dispozitiv.
Pentru un utilizator al calculatorului, acest lucru înseamnă că puteti adăuga un nou update
de securitate, patch-uri de sistem, noi aplicaţii sau chiar un alt sistem de operare complet nou.
Printr-o definiție mai specifică, un patch reprezintă o actualizare a unui software sau a unui program pentru a remedia o eroare sau o
vulnerabilitate, precum și o modalitate de îmbunătățire a acestuia. Același concept ca în cazul umplerii unei găuri într-o anvelopă, dar
în lumea digitală.

Fără sistemul de operare, calculatorul ar fi o colecţie inertă de circuite şi conexiuni.


Ceea ce îl transformă într-o maşină care ajunge să rezolve probleme prin intermediul
diverselor programe, este acest software special care face două lucruri:
1. Gestionează resursele hardware și software ale sistemului. Într-un calculator desktop,
aceste resurse includ : procesor, memoria volatilă, memoria permanentă, orice dispozitiv de
intrare/ieşire :-tastatură, mouse, imprimante, display-uri- , fişiere. (pe un telefon mobil, ele
includ tastatura, ecranul, agenda, bateria și conexiunea la reţea).
2. Oferă un mod stabil, mai coerent pentru aplicaţii să se ocupe cu partea hardware fără
a fi nevoie să cunoască toate detaliile hardware.
Prima sarcina, gestionarea resurselor hardware si software, este foarte importantă,
deoarece diversele programe, precum şi cererile de la perifericele de intrare, se află într-o
continuă competiţie pentru atenţia unităţii centrale de prelucrare (CPU) și pentru cererea de
memorie, stocand și folosind periferice intrare/iesire(I/O) pentru scopurile proprii. În
această calitate, sistemul de operare arbitrează această competiţie, rezolvând conflictele
şi crescând eficienţa utilizării resurselor sistemului ,asigurându-se ca fiecare cerere primește
resursele necesare în timp ce se joacă cu toate celelalte aplicaţii, gospodărind eficient
capacitatea limitată a sistemului spre binele tuturor utilizatorilor și aplicaţiilor.
Cele mai populare sisteme de operare – prin prisma numărului de utilizatori – sunt cele din
familia Windows a firmei Microsoft, cele din familia Unix şi cele din familia MacIntosh.
Diversele sisteme de operare aparţinând unei aceleiaşi astfel de familii oferă utilizatorilor un
mediu de lucru aproape neschimbat în timp; facilităţile oferite utilizatorului şi uneori
resursele ce pot fi folosite sunt cele ce se diversifică la versiunile mai noi.

3
Sisteme de operare curs 13

Există sute de alte sisteme de operare, specializate pentru tipuri de calculatoare (cele de mai
sus sunt pentru PC-uri; altele sunt pentru mainframe-uri etc.) sau pe tipuri de aplicaţii
(pentru procese industriale / procese în timp real, robotică etc.).
A doua sarcină, oferind o interfață de aplicație consistentă, este deosebit de importantă
dacă trebuie să existe mai mult de un anumit tip de calculator care utilizează sistemul de
operare sau dacă hardware-ul care alcătuiește calculatorul este posibil să fie schimbat
vreodată.
1
O interfața de programare a aplicațiilor (API) consistentă permite unui dezvoltator
de software să scrie o aplicaţie de pe un singur calculator și are un nivel ridicat de încredere
ca va rula pe un alt calculator de acelasi tip, chiar dacă cantitatea de memorie sau cantitatea
de depozitare este diferită pe cele două calculatore.
API este acronimul pentru interfața de programare a aplicațiilor, este un software
intermediar care permite la două aplicații să discute între ele. De fiecare dată când utilizați o
aplicație precum Facebook, trimiteți un mesaj instantaneu sau verificați vremea pe telefonul
dvs., utilizați un API.

Conceptele de proces vs thread (fir de executie )


Un program aflat în executie se numeste proces.
Firele de executie fac trecerea de la programarea secventiala la programarea
concurenta. Un program secvential reprezinta modelul clasic de program : are un început, o
secventa de executie a instructiunilor sale si un sfârsit. Cu alte cuvinte, la un moment dat
programul are un singur punct de executie.

Conceptul de thread (fir de executie )definește cea mai mică unitate de procesare ce
poate fi programată spre execuție de către sistemul de operare. Este folosit în programare
pentru a eficientiza execuția programelor, executând porțiuni distincte de cod în paralel în
interiorul aceluiași proces. Câteodata însă, aceste portiuni de cod care constituie corpul
threadurilor, nu sunt complet independente și în anumite momente ale execuției, se poate
întampla ca un thread să trebuiască să aștepte execuția unor instructiuni din alt thread,
pentru a putea continua execuția propriilor instrucțiuni. Această tehnică, prin care un thread
asteaptă execuția altor threaduri înainte de a continua propria execuție, se numește
sincronizarea threadurilor.
Un sistem de operare monotasking (MS-DOS) nu este capabil sa execute decât un singur
proces la un moment dat în timp ce un sistem de operare multitasking (UNIX, Windows)
poate rula oricâte procese în acelasi timp (concurent), alocând periodic cuante din timpul de
lucru al CPU fiecarui proces. Am reamintit acest lucru deoarece notiunea de fir de executie nu
are sens decât în cadrul unui sistem de operare multitasking. Un fir de executie este similar
unui proces secvential în sensul ca are un început, o secventa de executie si un sfârsit.
Diferenta între un fir de executie si un proces consta în faptul ca un fir de executie

Application Programming Interface(API) reprezintă un set de definitii de sub-programe, protocoale si unelte pentru programarea de aplicații si software.

4
Sisteme de operare curs 13

nu poate rula independent ci trebuie sa ruleze în cadrul unui proces. Firele de executie sunt
utile în multe privinte, însa uzual ele sunt folosite pentru executarea unor operatii
consumatoare de timp fara a bloca procesul principal : calcule matematice, asteptarea
eliberarii unei resurse, acestea realizându-se de obicei în fundal.(de exemplu ,in
word,paginarea documentului in timp ce tastam; in timpul in care se editeaza documentul,
un thread separat parcurge ciclic documentul si semnaleaza erorile de tastare.)

Sistemul de operare Windows 95 (lansat oficial la 24.08.1995, următoarele versiuni fiind


lansate în anul 1998-Windows 98, Windows 2007; Windows 8.1 , iulie 2015 -Windows 10.
Windows deţine supremaţia sistemelor de operare pe 32 sau 64 biţi de tip Desktop (“birou
de lucru”) şi care s-a vrut o extensie şi o variantă perfecţionată a sistemului de operare MS-
DOS (MicroSoft Disk Operating System), care era un sistem de operare monouser şi
monotask, ceea ce înseamnă că permitea folosirea calculatorului la un moment dat de către
un singur utilizator, rulându-se un singur program de aplicaţie.
În acelaşi timp, corporaţia americană Microsoft a promovat şi sistemul de operare
Windows NT (Network Technology) destinat aplicaţiilor de tip client-server pentru reţele de
calculatoare ( Server & WorkStation) care să înlocuiască supremaţia sistemelor de operare
UNIX şi Novell NetWare .
Sistemele de operare pe 32 de biți nu pot utiliza mai mult de 4096 MB RAM (4 GB).
Comparativ cu limita de 2 GB pentru o aplicație la versiunile pe 32 de biți, la cele pe 64 de
biți limita maximă este 8 TerraBytes și asta fără elemente suplimentare în proiectarea
aplicațiilor pe 64 de biți.
Windows reprezintă un sistem de operare complet , integrat pe 32 biţi şi care se
distinge prin:

facilităţi de conectare în reţea;

facilităţi de protected-mode;

facilităţi de multitasking şi multithreading ;

procesor grafic pe 32 biţi;

subsisteme pe 32 biţi pentru operaţii de imprimare şi comunicaţii multimedia;

facilităţi Plug and Play.

Când pornim calculatorul, primul program care rulează este de obicei un set de
instrucţiuni păstrate în memoria read-only (ROM) a calculatorului. Acest cod
analizează componentele sistemului pentru a asigura ca totul funcţionează corect.
Acest Power-On Self Test (POST) verifica CPU, memoria, si Basic Input-Output
System (BIOS) pentru erori și memorează rezultatul în locaţia de memorie specială. Dupa
ce POST este finalizat cu succes, software-ul încarcat în ROM (uneori numit BIOS sau
firmware) va începe sa activeze hard disk-ul calculatorului, in care gasește prima piesă a
sistemului de operare: bootstrap loader.

5
Sisteme de operare curs 13

Bootstrap loader este un mic program care are o funcţie unică: încarcă sistemul de
operare în memorie și îi permite să-și înceapă activitatea.
Întâi ,bootstrap loader pornește driverele cu care interferează și controlează diferitele
subsisteme hardware ale calculatorului. Stabilește zonele de memorie care reţin sistemul de
operare, informaţiile userului și a aplicaţiilor. Apoi da controlul asupra calculatorului
sistemului de operare.
Sarcinile sistemului de operare, în sensul cel mai general, se încadrează în
șase categorii:
-managementul procesorului
-managementul memoriei
-managementul dispozitivelor
-managementul spaţiului de pe disk
-interfaţa cu aplicaţiile
-interfaţa cu utilizatorul

Sistemul de operare controlează fiecare sarcină pe care calculatorul o realizează


și gestionează resursele sistemului.
https://computer.howstuffworks.com/operating-system2.htm
Arhitectura unui sistem de operare
Componentele unui sistem de operare sunt :
Nucleul - realizează servicii pentru legătura cu rutinele BIOS şi legătura cu cerinţele
programelor utilizatorilor (această componentă se încarcă de pe hard disc în memoria
internă odată cu iniţializarea sistemului);
Interfaţa sistemului de operare asigură comunicarea între utilizator şi sistem

Coordonarea activităţilor desfăşurate de calculator

Nucleul sistemului de operare conţine programele care realizează următoarele tipuri de


activităţi:
 gestiunea operaţiilor de intrare/ieşire: la nivel fizic sunt asigurate operaţiile de
intrare/ieşire cu echipamentele periferice prin care se realizează citirea/scrierea
datelor pe suportul de informaţie, acţionându-se direct asupra dispozitivului

6
Sisteme de operare curs 13

periferic. Sunt asigurate operaţiile de intrare/ieşire cu echipamentele periferice la


nivel logic. Prin aceste operaţii se realizează organizarea, accesul, stocarea şi
regăsirea datelor pe suportul de informaţie. Unitatea logica de acces la
echipamentele periferice este fişierul.
 gestiunea datelor (fişierelor) pe suportul de memorie externă. Programe ale
sistemului de operare formatează hard diskul, definesc structura sistemului de
fişiere , asigură transferul de date cu echipamentele periferice şi realizează o
interfaţă între programele de aplicaţie şi sistemul de intrare–ieşire. Modulele de
program care realizează transferul de date exista o singură dată în sistem ca şi
componente ale sistemului de operare, şi nu în fiecare program de aplicaţie care
utilizează transferuri cu un anumit echipament periferic.
 Gestiunea memoriei si controlul încărcării în memoria internă, punerii în
funcţiune şi încetării activităţii pentru programele utilizator;

rezolvarea cerințelor de memorie ale proceselor

prevenirea utilizării simultane a aceluiași spațiu de memorie

folosirea adecvată a diferitelor tipuri de memorie

 sesizarea evenimentelor deosebite care apar în timpul execuţiei şi tratarea


acestor evenimente (mesaje de erori şi recomandări de rezolvare): în timpul
executării unor programe (de aplicaţie sau de sistem) pot să apară evenimente
deosebite ca de exemplu programul solicită: scrierea pe un CD, iar acesta nu este
montat, scrierea la imprimantă, iar aceasta nu este conectată sau nu a fost
alimentată cu hârtie, executarea unei operaţii aritmetice iar rezultatul depăşeşte
capacitatea zonei de memorie alocată, etc. Evenimentele sunt sesizate de circuitele
de control ale dispozitivelor periferice şi transmise sistemului de operare care
tratează aceste evenimente.
 asigură un sistem de protecţie a datelor şi programelor
 oferirea unei interfeţe pentru utilizarea resurselor hardware de către
diversele programe de aplicaţii, fără ca acestea să trebuiască să trateze detalii
legate de caracteristicile respectivelor resurse. Rezolvarea acestei sarcini de către
sistemul de operare are două efecte foarte importante: portabilitatea şi
flexibilitatea în configurarea hardware-ului.

Portabilitate: sistemul de operare oferă diverse interfeţe pentru programele de
aplicaţii şi programele utilizator (API – Application Program Interface). Cu
ajutorul acestor interfeţe, un programator care scrie o aplicaţie pentru

7
Sisteme de operare curs 13

un calculator o poate utiliza şi pe alt calculator, chiar dacă detaliile


hardware nu coincid pe cele două maşini.

Flexibilitate: programul utilizator nu lucrează cu hardware-ul direct, ci
prin intermediul sistemului de operare. În consecinţă, programul poate fi
rulat fără modificări, chiar dacă, în timp, se produc modificări ale
hardware-ului aceluiaşi calculator. De exemplu, schimbarea imprimantei
nu afectează modul în care acţionează programul utilizator.
Interfaţa cu utilizatorul: prin intermediul tastaturii sau al mouse-ului, utilizatorul transmite
comenzi sau răspunsuri la solicitările sistemului de operare Interfeţele pot fi realizate
utilizând:
 limbaj de comandă ( utilizatorul transmite comenzile sub forma unui sir de
caractere care respectă o anumită sintaxă;
 sistem de meniuri;
grafic cu ajutorul unor desene specifice (icon-uri); acest din urmă mod de comunicare
a comenzilor către sistemul de operare se numeşte interfaţă grafică utilizator (GUI –
Graphical User Interface).
Interfața Windows a fost revizuită pentru a ușura tranziția dintre o interfață adaptată
pentru mouse și o interfață adaptată pentru touchscreen

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