Cursul 1 1 Introducere 06 Octombrie 2008
Motto If you can t explain it simply, you don t understand it well enough. Albert Einstein 04.10.08 2
Ce este un sistem de operare? Un sistem de operare este un set de programe care... controleaz ă distribuția resurselor unui calculator mediaz ă comunicarea dintre hardware și aplicațiile utilizatorilor utilizatori Editoare, browsere, playere Aplicaţii de bază Nucleu Hardware 04.10.08 3
Structura unui SO Nucleul (kernelul) este un mediu în cadrul căruia pot rula alte aplicații gestioneaz ă resursele fizice ofer ă o interfa ță comun ă aplicațiilor Programele de bază permit interacțiunea cu nucleul și cu sistemul fizic exemple: interpretoare de comenzi, utilitare de gestiune a utilizatorilor și a sistemului de fișiere, biblioteci 04.10.08 4
Structura unui SO 04.10.08 5
Funcţiile SO Administrarea resurselor hardware procesor, memorie, hard disk, comunicare în rețea, dispozitive de intrare / ieșire competiţia utilizatorilor competiţia aplicațiilor inclusiv cu SO însuși Abstractizarea resurselor hardware ofer ă o transparen ță a funcționării fizice a hardware-lui 04.10.08 6
Funcţiile SO (cont.) portabilitate o aplicație poate rula pe sisteme fizice diferite comunicarea cu dispozitive periferice drivere gestiunea utilitarelor de diagnosticare şi monitorizare 04.10.08 7
Tipuri de SO SO de pe smart carduri Management de baz ă al resurselor Servicii de securitate / criptare SO embedded în televizoare, telefoane mobile, PDA De la SO dedicate unui singur scop, făr ă interfa ță cu utilizatorul, la SO multitasking 04.10.08 8
Tipuri de SO (cont.) Real Time Operating Systems RTOS echipamente industriale și științifice timpul este un factor important RTOS hard (sisteme industriale) / RTOS soft (sisteme multimedia) permit mici desincronizări Exemple: TRON şi QNX SO single-user, single-task doar relevan ță didactică 04.10.08 9
Tipuri de SO (cont.) SO single-user, multi-tasking familiile MS Windows, Unix, Apple Macintosh permit lucrul în rețea dar administratorul e singurul utilizator real SO multi-user separ ă solicitările și resursele utilizatorilor Windows, Mac OS X, Linux, *BSD, Solaris SO pentru arhitecturi multi-procesor multi-user optimizeaz ă procesarea paralelă MS Windows... Server, Linux 2.6.x, Solaris 04.10.08 10
Funcționarea SO: sarcini Gestiunea procesorului Gestiunea memoriei Gestiunea echipamentelor și perifericelor Gestiunea sistemelor de stocare a datelor Medierea: interfața cu aplicațiile și cu utilizatorii Utilitare 04.10.08 11
Multiplexarea SO trebuie s ă permit ă folosirea în comun a resurselor multiplexare în timp alternarea accesului (de ex. la procesor) multiplexare în spațiu delimitarea și alocarea unor segmente din resurs ă (de ex. memorie) 04.10.08 12
Administrarea procesorului Optimizarea accesului unităților de software la ceasul procesorului unități: procese / fire de execuție (threads) Multi-tasking-ul este simulat cu excepția arhitecturilor multiprocesor 04.10.08 13
Administrarea memoriei Satisfacerea cerințelor de memorie ale proceselor Prevenirea utilizării simultane a aceluiași spațiu de memorie Folosirea adecvat ă a diferitelor tipuri de memorie 04.10.08 14
Administrarea perifericelor Drivere programe relativ autonome, deseori furnizate de producători comunicarea cu echipamente noi făr ă modificarea SO (module) Spaţiile tampon (buffer) 04.10.08 15
Medierea Interfața cu aplicațiile Application Programming Interface - API Interfața cu utilizatorul CLI, TUI, GUI Utilitare pentru... Inițializarea sau oprirea proceselor Comunicarea între procese Gestiunea și utilizarea sistemui de fișiere Monitorizarea și diagnosticarea sistemului 04.10.08 16
Scurt istoric al SO 1945-1955 tuburi vidate cartele perforate SO limbaje de programare interacțiune direct ă cu hardware-ul 04.10.08 17
A doua generație 1955-1965 Tranzistorul Sisteme mainframe Limbajul de ansamblare şi Fortran SO: Fortran Monitor System (FMS), IBSYS asisten ţă pentru I / O single stream batch processing 04.10.08 18
A treia generație 1965-1980 Circuite integrate Multiprogramming : OS/360 al IBM un job folosește procesor, celelalte lucreaz ă cu I/O Timesharing : CTSS al MIT mai mulți utilizatori folosesc același procesor valorificare timpi morți Din Multics MIT deriv ă primele variante de UNIX (sub conducerea lui Ken Thompson) Dennis Ritchie elaboreaz ă C special pentru redactarea UNIX primele standarde IEEE pentru UNIX 04.10.08 19
A patra generaţie 1980 prezent Calculatoare personale (PC) microprocesoare 1981: primele PC-uri IBM, 2880 USD Bill Gates cumpăr ă DOS și creeaz ă MS-DOS pentru IBM 1984: Steve Jobs lanseaz ă Apple Macintosh cu mouse și GUI 1991: Linus Torvalds public ă nucleul Linux 04.10.08 20
Windows vs. Linux Produs bine delimitat, cu pre ț pe piață Nucleul Linux O serie de pachete bazat ă pe proiectul GNU Distribuții GNU/Linux 04.10.08 21
Windows vs. Linux Proiect comercial (Microsoft Inc.) Facilitatea și confortul utilizării Domin ă piața de desktop-uri Closed-source Proiect inițial academic Comunitate de autori și utilizatori Centrat pe stabilitate și performanță Cot ă pe piața serverelor Open-source 04.10.08 22
Cuvinte cheie A&C it ain t easy studenție angajare just crunch it linux interactivitate implicare sistem de operare nucleu (kernel) administrare abstractizare mediere multiplexare utilizare Windows/Linux 04.10.08 23
Link-uri utile http://acs.pub.ro http://www.pub.ro http://curs.cs.pub.ro http://sraits.ro/ http://www.lsac.ro/ http://www.bestbucuresti.ro/ http://www.rosedu.org/ http://www.google.ro/ http://en.wikipedia.org/wiki/main_page 04.10.08 24
The End? 04.10.08 25
Cursul 1 1 Introducere 06 Octombrie 2008
Motto If you can t explain it simply, you don t understand it well enough. Albert Einstein 04.10.08 2
Ce este un sistem de operare? Un sistem de operare este un set de programe care... controleaz ă distribuția resurselor unui calculator mediaz ă comunicarea dintre hardware și aplicațiile utilizatorilor utilizatori Editoare, browsere, playere Aplicaţii de bază Nucleu Hardware 04.10.08 3
Structura unui SO Nucleul (kernelul) este un mediu în cadrul căruia pot rula alte aplicații gestioneaz ă resursele fizice ofer ă o interfa ță comun ă aplicațiilor Programele de bază permit interacțiunea cu nucleul și cu sistemul fizic exemple: interpretoare de comenzi, utilitare de gestiune a utilizatorilor și a sistemului de fișiere, biblioteci 04.10.08 4
Structura unui SO 04.10.08 5
Funcţiile SO Administrarea resurselor hardware procesor, memorie, hard disk, comunicare în rețea, dispozitive de intrare / ieșire competiţia utilizatorilor competiţia aplicațiilor inclusiv cu SO însuși Abstractizarea resurselor hardware ofer ă o transparen ță a funcționării fizice a hardware-lui 04.10.08 6
Funcţiile SO (cont.) portabilitate o aplicație poate rula pe sisteme fizice diferite comunicarea cu dispozitive periferice drivere gestiunea utilitarelor de diagnosticare şi monitorizare 04.10.08 7
Tipuri de SO SO de pe smart carduri Management de baz ă al resurselor Servicii de securitate / criptare SO embedded în televizoare, telefoane mobile, PDA De la SO dedicate unui singur scop, făr ă interfa ță cu utilizatorul, la SO multitasking 04.10.08 8
Tipuri de SO (cont.) Real Time Operating Systems RTOS echipamente industriale și științifice timpul este un factor important RTOS hard (sisteme industriale) / RTOS soft (sisteme multimedia) permit mici desincronizări Exemple: TRON şi QNX SO single-user, single-task doar relevan ță didactică 04.10.08 9
Tipuri de SO (cont.) SO single-user, multi-tasking familiile MS Windows, Unix, Apple Macintosh permit lucrul în rețea dar administratorul e singurul utilizator real SO multi-user separ ă solicitările și resursele utilizatorilor Windows, Mac OS X, Linux, *BSD, Solaris SO pentru arhitecturi multi-procesor multi-user optimizeaz ă procesarea paralelă MS Windows... Server, Linux 2.6.x, Solaris 04.10.08 10
Funcționarea SO: sarcini Gestiunea procesorului Gestiunea memoriei Gestiunea echipamentelor și perifericelor Gestiunea sistemelor de stocare a datelor Medierea: interfața cu aplicațiile și cu utilizatorii Utilitare 04.10.08 11
Multiplexarea SO trebuie s ă permit ă folosirea în comun a resurselor multiplexare în timp alternarea accesului (de ex. la procesor) multiplexare în spațiu delimitarea și alocarea unor segmente din resurs ă (de ex. memorie) 04.10.08 12
Administrarea procesorului Optimizarea accesului unităților de software la ceasul procesorului unități: procese / fire de execuție (threads) Multi-tasking-ul este simulat cu excepția arhitecturilor multiprocesor 04.10.08 13
Administrarea memoriei Satisfacerea cerințelor de memorie ale proceselor Prevenirea utilizării simultane a aceluiași spațiu de memorie Folosirea adecvat ă a diferitelor tipuri de memorie 04.10.08 14
Administrarea perifericelor Drivere programe relativ autonome, deseori furnizate de producători comunicarea cu echipamente noi făr ă modificarea SO (module) Spaţiile tampon (buffer) 04.10.08 15
Medierea Interfața cu aplicațiile Application Programming Interface - API Interfața cu utilizatorul CLI, TUI, GUI Utilitare pentru... Inițializarea sau oprirea proceselor Comunicarea între procese Gestiunea și utilizarea sistemui de fișiere Monitorizarea și diagnosticarea sistemului 04.10.08 16
Scurt istoric al SO 1945-1955 tuburi vidate cartele perforate SO limbaje de programare interacțiune direct ă cu hardware-ul 04.10.08 17
A doua generație 1955-1965 Tranzistorul Sisteme mainframe Limbajul de ansamblare şi Fortran SO: Fortran Monitor System (FMS), IBSYS asisten ţă pentru I / O single stream batch processing 04.10.08 18
A treia generație 1965-1980 Circuite integrate Multiprogramming : OS/360 al IBM un job folosește procesor, celelalte lucreaz ă cu I/O Timesharing : CTSS al MIT mai mulți utilizatori folosesc același procesor valorificare timpi morți Din Multics MIT deriv ă primele variante de UNIX (sub conducerea lui Ken Thompson) Dennis Ritchie elaboreaz ă C special pentru redactarea UNIX primele standarde IEEE pentru UNIX 04.10.08 19
A patra generaţie 1980 prezent Calculatoare personale (PC) microprocesoare 1981: primele PC-uri IBM, 2880 USD Bill Gates cumpăr ă DOS și creeaz ă MS-DOS pentru IBM 1984: Steve Jobs lanseaz ă Apple Macintosh cu mouse și GUI 1991: Linus Torvalds public ă nucleul Linux 04.10.08 20
Windows vs. Linux Nucleul Linux O serie de pachete Produs bine delimitat, bazat ă pe proiectul cu pre ț pe piață GNU Distribuții GNU/Linux 04.10.08 21
Windows vs. Linux Proiect comercial (Microsoft Inc.) Facilitatea și confortul utilizării Domin ă piața de desktop-uri Closed-source Proiect inițial academic Comunitate de autori și utilizatori Centrat pe stabilitate și performanță Cot ă pe piața serverelor Open-source 04.10.08 22
Cuvinte cheie A&C it ain t easy studenție angajare just crunch it linux interactivitate implicare sistem de operare nucleu (kernel) administrare abstractizare mediere multiplexare utilizare Windows/Linux 04.10.08 23
Link-uri utile http://acs.pub.ro http://www.pub.ro http://curs.cs.pub.ro http://sraits.ro/ http://www.lsac.ro/ http://www.bestbucuresti.ro/ http://www.rosedu.org/ http://www.google.ro/ http://en.wikipedia.org/wiki/main_page 04.10.08 24
The End? 04.10.08 25