Extras din curs
Obiectivele disciplinei
Studiul acestei discipline face ca studentii sa se familarizeze cu notiunile, metodele si tehnicile specifice programarii calculatorului, astfel încât acesta sa devina un instrument curent de lucru, deosebit de util, atât în abordarile practice ale celorlalte discipline – pe parcursul anilor de studiu, cat si în activitatea ulterioara - dupa absolvirea studiilor.
Cursul urmăreşte introducerea noţiunilor fundamentale ale diferitelor limbaje de programare pentru implementarea algoritmilor stiintifici si tehnici. Se urmaresc cu precadere limbajele procedurale (imperative) cu detalieri ale limbajului C, limbajele matriciale cu exemplificari in MATLAB si limbajele bazate pe fluxul de date cu exemplificari din limbajul LabVIEW.
Definiţie: SO - Un “program” care acţionează ca un intermediar între un utilizator al sistemului de calcul şi hardware-ul acestuia.
SO are următoarele funcţii principale:
- Funcţii de administrare a resurselor software, hardware şi a informaţiilor
- Funcţia de abstractizare şi de extindere a funcţionalităţii sistemului de calcul
CLASIFICAREA SO
S.O. au apărut şi au evoluat odată cu evoluţia sistemelor de calcul.
1. Calculatoare mainframe:
- calculatorul era programat direct
- nu existau sisteme de operare
- in memorie rula cel mult un program
- odată cu apariţia tranzistoarelor: apare primul limbaj de programare şi primul
S.O. care utiliza conceptul de procesare pe loturi (batch-jobs) şi conceptul de job.
Procesorul era slab utilizat deoarece perifericele aveau viteză foarte scăzută;
apare multiprogramarea pentru a ţine procesorul ocupat in mod optim. În
memorie se încarcă mai multe programe iar planificatorul alege unul din acestea.
2. Sisteme interactive (cu partajarea timpului):
- permit interacţiunea utilizatorului cu programele care rulează în memorie
- apare noţiunea de multitasking care reprezintă o extensie a multiprogramării şi în
care comutarea între programe se realizează atât de rapid încât utilizatorul are
senzaţia că se execută mai multe programe simultan.
3. Sisteme Desktop
4. Sisteme de tip real
5. Sisteme încorporate
6. Sisteme cu multiprocesor
7. Sisteme distribuite
8. Clustere
9. Reţele peer-to-peer
10. Reţele client server
Nucleul sistemului de operare
Partea principală a unui S.O. (miezul, kernel) se încarcă
în memorie la pornirea calculatorului, rămâne rezidentă în memorie şi are rol de supervizor.
Funcţiile principale ale unui S.O. aflate în kernel sunt legate de:
- gestiunea proceselor
- gestiunea procesorului
- comunicarea între procese, sincronizare
- gestiunea memoriei
- gestiunea operaţiilor legate de întreruperi
- gestiunea fişierelor
Structura unui sistem de operare
Monolitic:
- kernelul format dintr-un fişier;
- majoritatea fişierelor se află în kernel;
- este o colecţie de funcţii fără nici o ierarhizare internă;
Modular :
- sistemul este structurat pe module cu functionalităţi bine precizate
Stratificat:
- este compus din straturi suprapuse, fiecare strat oferind servicii stratului superior şi abstractizând structura şi operaţiile cu operaţiile stratului inferior;
Exokernel:
Preview document
Conținut arhivă zip
- Limbaje de Programare Ingineresti.doc