Obiectivele disciplinei
Studiul acestei discipline face ca studentii sa se familarizeze cu notiunile, metodele si tehnicile specifice programarii calculatorului, astfel incat acesta sa devina un instrument curent de lucru, deosebit de util, atat in abordarile practice ale celorlalte discipline - pe parcursul anilor de studiu, cat si in activitatea ulterioara - dupa absolvirea studiilor.
Cursul urmareste introducerea notiunilor 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.
Definitie: SO - Un "program" care actioneaza ca un intermediar intre un utilizator al sistemului de calcul si hardware-ul acestuia.
SO are urmatoarele functii principale:
- Functii de administrare a resurselor software, hardware si a informatiilor
- Functia de abstractizare si de extindere a functionalitatii sistemului de calcul
CLASIFICAREA SO
S.O. au aparut si au evoluat odata cu evolutia sistemelor de calcul.
1. Calculatoare mainframe:
- calculatorul era programat direct
- nu existau sisteme de operare
- in memorie rula cel mult un program
- odata cu aparitia tranzistoarelor: apare primul limbaj de programare si primul
S.O. care utiliza conceptul de procesare pe loturi (batch-jobs) si conceptul de job.
Procesorul era slab utilizat deoarece perifericele aveau viteza foarte scazuta;
apare multiprogramarea pentru a tine procesorul ocupat in mod optim. In
memorie se incarca mai multe programe iar planificatorul alege unul din acestea.
2. Sisteme interactive (cu partajarea timpului):
- permit interactiunea utilizatorului cu programele care ruleaza in memorie
- apare notiunea de multitasking care reprezinta o extensie a multiprogramarii si in
care comutarea intre programe se realizeaza atat de rapid incat utilizatorul are
senzatia ca se executa mai multe programe simultan.
3. Sisteme Desktop
4. Sisteme de tip real
5. Sisteme incorporate
6. Sisteme cu multiprocesor
7. Sisteme distribuite
8. Clustere
9. Retele peer-to-peer
10. Retele client server
Nucleul sistemului de operare
Partea principala a unui S.O. (miezul, kernel) se incarca
in memorie la pornirea calculatorului, ramane rezidenta in memorie si are rol de supervizor.
Functiile principale ale unui S.O. aflate in kernel sunt legate de:
- gestiunea proceselor
- gestiunea procesorului
- comunicarea intre procese, sincronizare
- gestiunea memoriei
- gestiunea operatiilor legate de intreruperi
- gestiunea fisierelor
Structura unui sistem de operare
Monolitic:
- kernelul format dintr-un fisier;
- majoritatea fisierelor se afla in kernel;
- este o colectie de functii fara nici o ierarhizare interna;
Modular :
- sistemul este structurat pe module cu functionalitati bine precizate
Stratificat:
- este compus din straturi suprapuse, fiecare strat oferind servicii stratului superior si abstractizand structura si operatiile cu operatiile stratului inferior;
Exokernel:
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.