Planificarea Proceselor - Sisteme De Operare.docx

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Planificarea Proceselor - Sisteme De Operare.docx as PDF for free.

More details

  • Words: 1,487
  • Pages: 5
Planificarea proceselor Sisteme de operare Ce este un sistem de operare? Nu există o definiție universală care să poată fi acceptată. „Tot ce un distribuitor livrează când comanzi un sistem de operare” este o aproximare bună. Cel mai probabil înseamnă: o o o o o

managementul memoriei managementul intrărilor și ieșirilor (I/O) programarea CPU comunicare multitasking/multiprogramming.

Unicul program care rulează tot timpul pe calculator este kernel -ul (nucleul). Orice altceva este ori un program al sistemului (este livrat împreună cu sistemul de operare) sau o aplicație program. Abstracția mașinii virtuale Aplicație (Interfața mașină virtuală) ↓ Sistem de operare (Interfața mașină fizică) ↓ Hardware Gordon Moore (co-fondator Intel) a prezis în 1965 faptul că densitatea tranzistorilor pe chipurile semiconductoarelor s-ar dubla aproximativ la fiecare 18 luni. Această nouă abordare a căpătat numele de „Legea lui Moore”. Microprocesoarele au devenit mai mici, mai dense și mai puternice. La momentul de față, există microprocesoare în orice – ex.: mașini, telefoane, calculatoare, etc. În spatele acestora există o infrastructură vastă: o o o o o o o

conectivitate la internet servicii de securitate scalabile și fiabile baze de date colecții de informații stocare remote jocuri online comerț.

‘ManyCore’ se referă la mai multe procesoare per chip.

1

Organizarea sistemelor de operare ale calculatoarelor Operații care au loc între calculator și sistem: -

una sau mai multe unități centrale de prelucare (CPUs) sau dispozitive de control se conectează printr-o magistrală comună care permite accesul la memoria distribuită execuția concurentă/simultană a CPU -urilor și a dispozitivelor care se întrec pentru cicluri de memorie.

Operații pe care le efectuează un sistem de operare asupra unui calculator: 1. Coordonare: - administrează toate resursele - rezolvă solicitările de conflict pentru resurse - previne erori și folosirea improprie a calculatorului. 2. Facilitare: - provizionează facilități de care oricine are nevoie - librării standard, sisteme Windowing - face programarea aplicațiilor mai ușoară, rapidă și fără să fie predispusă la erori. Unele caracteristici reflectă ambele sarcini: -

File System este solicitat de toată lumea (Facilitator) File System trebuie să fie protejat (Coordonator)

Sistemele de operare complexe cuprind mulitple aplicații și realizează următoarele operații: 1. Coordonare totală și protecție: - gestionează interacțiuni între diferiți utilizatori - protejează resursele hardware. >> CPU, memorie, dispozitive de intrare/ieșire precum disk -uri, imprimante etc. 2. Facilitator: - prevede librării standard și alte facilități Exemplu: *Protejarea proceselor unele de altele Problemă: Rularea de multiple aplicații într-o manieră în care să fie protejate unele de altele. Obiectiv: -

păstrarea programelor utilizator de la prăbușirea (crash -ul) sistemului de operare păstrarea programelor utilizator de la crash -ul dintre acestea.

Mecanisme: -

adresarea translației & operațiuni duale (dual mode) creare, programare, deschidere, scriere, alocare trecere la un proces.

2

Metode simple: -

programele nu pot să citească/scrie memoria altor programe sau sisteme de operare cel mai puțin folosit (least recently used – LRU) primul deadline (earliest deadline first – EDF).

Design -ul metodelor Separarea mecanismelor prin metode: -

implementarea unor mecanisme flexibile pentru a putea susține multe metode ex.: LRU, LFU, random

Optimizare pentru un caz comun: -

unde va fi folosit sistemul de operare? unde va dori utilizatorul să execute pe acel PC? care sunt cerințele spațiului de lucru?

Alte operații pe care le pot face un sistem de operare: -

conduce operaționalizarea resurselor (controlează folosirea CPU -ului, memoriei, dispozitivelor periferice etc.) impune metode de lucru (accesarea echitabilă a resurselor, limitarea consumului de resurse etc.)

-

diminuează dificultatea sarcinilor complexe (detalii abstracte de hardware – apelarea sistemului) ascunde complexitatea hardware -ului asigură protecție are în mod direct, acces privilegiat la hardware -ul care stă la baza acestuia gestionează hardware -ul în numele a mai multor aplicații în concordanță cu niște metode predefinite asigură faptul că aplicațiile sunt izolate și protejate unele de altele.

Exemple de sisteme de operare : o Desktop : - Microsoft Windows - UNIX based  MacOS X (BSD)  Linux  etc. o Embedded : - Android - iOS - Symbian

3

Tipuri de sisteme de operare: 1. Single- și multi-tasking Un sistem de operare singe-tasking poate să ruleze un singur program odată, în timp ce un sistem de operare multi-tasking permite ca mai mult de un program să ruleze în paralel cu un altul. Acest lucru este realizat prin time-sharing, unde timpul procesorului disponibil este divizat între procese multiple. Aceste procese sunt fiecare întrerupte în mod repetat în time slices de un subsistem de planificări sarcini al sistemului de operare. Multi-tasking -ul ar putea fi caracterizat prin tipuri privilegiate și cooperative. În multitasking -ul privilegiat, sistemul de operare împarte timpul CPU -ului și dedică un slot/bucată fiecărui program. Sistemele de operare care se aseamănă cu UNIX, precum Solaris și Linux, precum și cele care nu au asemănări cu acesta, precum AmigaOS, oferă suport pentru multitasking privilegiat. Multitasking -ul cooperativ este realizat prin bazarea pe faptul că fiecare proces trebuie să furnizeze timp celorlalte procese într-o manieră definită. Versiunile pe 16 biți ale Microsoft Windows folosesc multitasking cooperativ. Versiunile pe 32 de biți ale WindowsNT și Windows9x, foloseau multitasking privilegiat. 2. Single- și multi-user Sistemele de operare single-user nu oferă facilități pentru deosebirea utilizatorilor, dar ar putea permite ca mai multe programe să ruleze în tandem. Un sistem de operare multi-user extinde conceptul de bază al multitasking -ului cu facilități prin care se identifică procese și resurse, precum spațiul pe disk, aparținând la utilizatori multiplii, și sistemul permite ca mai mulți utilizatori să interacționeze cu sistemul în mod simultan. Sistemele de operare time-sharing programează sarcini pentru folosirea eficientă a sistemului și pot să includă software de contabilitate pentru alocarea costului timpului de procesare, stocare în masă, și alte resurse pentru mai mulți utilizatori. 3. Distribuit Un sistem de operare distribuit administrează un grup de calculatoare distincte și le face să apară ca un singur calculator. Dezvoltarea calculatoarelor în rețea ,care ar putea fi legate să comunice unele cu altele, a dus la apariția tehnicilor de calcul distribuite. Calculele distribuite sunt livrate pe mai mult de o mașină. Când calculatoare dintr-un grup lucrează în perechi, acestea formează un sistem distribuit. 4. Predefinit Într-un sistem de operare, tehnicile de calcul în cloud și cele distribuite se referă la crearea unei singure imagini virtuale a unei mașini ca un sistem de operare de tip guest, apoi salvând -ul ca un tool pentru multiple mașini virtuale. Tehnica este folosită atât în virtualizare și cloud computing management, și este întâlnită des în largi depozite server. Mai sunt și alte tipuri de sisteme de operare, precum: încorporat, real-time, librărie etc.

4

Cele 3 concepte fundamentale ale sistemelor de operare sunt:  ‘virtualizarea’ (virtualization)  ‘concurența’ (concurrency)  ‘persistența’ (persistence) Virtualizarea Dacă am avea de a face cu un server virtual, aici nu există componentele fizice pe care un calculator le are în mod normal. Nu avem nevoie de un hard disk, memorie sau procesor. În schimb, o să avem nevoie de o simulare de computer a unui procesor, memorie, disk și a unei rețele. În mod particular, dacă am vrea să construim un server de email, am putea alege să avem părți fizice și să le combinăm într-un computer fizic sau am putea folosi un software de virtualizare pentru a crea o simulare a unui procesor, memorie, disk și să folosim aceste componente virtualizate pentru a crea un server virtual. Acel server virtual de email ar fi capabil să trimită și recepționeze email uri exact ca și un server de email fizic și prin urmare, ar îndeplini aceleași obiective ca și un server fizic. Sistemul de operare crează o iluzie prin virtualizarea unității centrale de prelucrare (CPU). Prin rularea unui proces, apoi oprindu-l și rulând un alt proces, și așa mai departe, sistemul de operare poate provoca iluzia conform căreia unități centrale de prelucrare virtuale există când, de fapt, există doar o unitate centrală fizică de prelucrare (sau puține unități), de fapt. Această tehnică de bază, cunoscută drept time sharing-ul unităţii centrale de prelucrare, permite utilizatorilor să ruleze în paralel câte procese simt nevoia să folosească; costul potențial este performanța, căci fiecare proces va funcționa mult mai încet dacă unitățile trebuie să fie distribuite. Concurența Problema concurenței se referă la faptul că, dacă doar un tip de interacțiune are loc între thread -uri, acel al acesării variabilelor distribuite și a necesității de a suporta ‘atomicitate’ pentru secțiuni critice. Există și o altă interacțiune care poate avea loc, unde un thread trebuie să aștepte după un altul să termine o acțiune, înainte de a putea continua. Persistența Acest subiect poate fi discutat prin introducerea conceptului de intrare/ieșire al unui dispozitiv și prin demonstrarea cum sistemul de operare ar putea interacționa cu o astfel de entitate. ‘I/O’ este destul de critic pentru sistemele de operare ale calculatoarelor; spre exemplu, un program fără operațiuni de intrare produce același rezultat de fiecare dată; un alt program, de data aceasta fără operațiuni de ieșire, își pierde din rolul acestuia de a rula. Bibliografie:     

http://pages.cs.wisc.edu/~remzi/OSTEP/ https://www.youtube.com/playlist?list=PLggtecHMfYHA7j2rF7nZFgnepu_uPuYws https://in.udacity.com/course/introduction-to-operating-systems--ud923 https://www.linkedin.com/learning/ https://en.wikipedia.org/wiki/Operating_system

5

Related Documents