1 / 74

LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio

LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio. Il sistema operativo è l ’interfaccia uomo-macchina. E’ il programma responsabile del diretto controllo e gestione: 1) dell’ hardware 2) delle operazioni di base 3) dei processi che vengono eseguiti 4) degli accessi degli utenti .

presley
Download Presentation

LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio Lezioni sui SISTEMI OPERATIVI

  2. Il sistema operativo è l’interfaccia uomo-macchina. Lezioni sui SISTEMI OPERATIVI

  3. Lezioni sui SISTEMI OPERATIVI

  4. E’ il programma responsabile del diretto controllo e gestione:1) dell’ hardware2) delle operazioni di base3) dei processi che vengono eseguiti4) degli accessi degli utenti. Lezioni sui SISTEMI OPERATIVI

  5. COMPONENTI DI UN SO1) un gestore di file system che si occupa di esaudire le richieste di accesso alle memorie di massa,2)un gestore di memoria virtuale che alloca pagine di memoria a richiesta e si assicura che questa sia presente nella memoria fisica al momento giusto Lezioni sui SISTEMI OPERATIVI

  6. COMPONENTI DI UN SO3) uno schedulerche assicura ai vari processi in esecuzione una ben definita quantità di tempo di elaborazione, 4) uno spooler che accumula i dati da stampare e li stampa in successione, Lezioni sui SISTEMI OPERATIVI

  7. COMPONENTI DI UN SO5)una interfaccia utente (shell o GUI) che permette agli esseri umani di interagire con la macchina;6) un kernel, fulcro del sistema, che gestisce il tutto. Lezioni sui SISTEMI OPERATIVI

  8. KernelIl kernel è il cuore di un sistema operativo. Si tratta di un software che ha il compito di fornire ai moduli che compongono il sistema operativo e ai programmi in esecuzione sul computer le funzioni fondamentali ed un accesso controllato all'hardware, sollevandoli dai dettagli della sua gestione. Lezioni sui SISTEMI OPERATIVI

  9. File systemIl file system è il modo in cui i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un hard disk o un CD-ROM. Esistono molti tipi di file system, creati per diversi sistemi operativi, per diverse unità di memorizzazione e per diversi usi Lezioni sui SISTEMI OPERATIVI

  10. SchedulerLo scheduler è il componente fondamentale dei sistemi operativi multitasking, cioè quelli in grado di eseguire più processi (task) contemporaneamente. Lezioni sui SISTEMI OPERATIVI

  11. Lo scheduler si occupa di fare avanzare un processo interrompendone temporaneamente un altro, realizzando così un cambiamento di contesto (context switch). Generalmente computer con un processore sono in grado di eseguire un programma per volta, quindi per poter far convivere più task è necessario usare lo scheduler. Lezioni sui SISTEMI OPERATIVI

  12. Gestore di memoriaIl gestore di memoria è la componente del sistema operativo che si occupa di gestire ed assegnare la memoria ai processi che ne fanno richiesta. Lezioni sui SISTEMI OPERATIVI

  13. La gestione della memoria è necessaria per tenere traccia di quanta memoria è impegnata e di quanta invece è disponibile per soddisfare nuove richieste: in mancanza di un sistema di gestione, si avrebbe prima o poi il caso di processi che ne sovrascrivono altri, con gli ovvi inconvenienti. Lezioni sui SISTEMI OPERATIVI

  14. Interfaccia utenteSi tratta di un programma che permette all'utente di interagire con il computer. Esistono sostanzialmente due famiglie di interfacce utente: interfaccia a linea di comando e interfacce grafiche (GUI). Lezioni sui SISTEMI OPERATIVI

  15. Spooler di stampaLo spooler di stampa è stato storicamente il primo modulo esterno del sistema operativo ad essere implementato, per risolvere il problema della gestione delle stampe su carta. Lezioni sui SISTEMI OPERATIVI

  16. Infatti, essendo le stampanti elettromeccaniche dei dispositivi molto lenti, i primi programmi per elaboratore dovevano necessariamente sprecare molto tempo di CPU, estremamente prezioso all'epoca, per controllare la stampante ed inviarle i dati. Lezioni sui SISTEMI OPERATIVI

  17. Quindi venne ideato un programma separato, che girava con una priorità molto bassa e che era visto dagli altri programmi come una normale stampante: in realtà invece lo spooler accumulava i dati che un programma doveva stampare in una apposita area di memoria, e poi si faceva carico del processo di stampa Lezioni sui SISTEMI OPERATIVI

  18. Gestire le periferiche: un processo che ha bisogno di accedere ad una periferica manda un interrupt (interrupt software) e si mette in attesa, la CPU passa il controllo al kernel, che provvede all'I/O per conto del processo, poi fa ripartire il processo, o un altro se lo scheduling lo prevede. Lezioni sui SISTEMI OPERATIVI

  19. Analogamente una periferica che ha finito il suo lavoro ed ha bisogno della CPU ad esempio deve comunicare che l'utente ha battuto un tasto, manda un interrupt (interrupt hardware) alla CPU, la CPU interrompe il processo in corso e passa il controllo al sistema operativo, che tratta i dati letti dalla periferica e fa quanto necessario. Lezioni sui SISTEMI OPERATIVI

  20. Sistema multiutente Se un computer può far girare più programmi contemporaneamente, allora può anche accettare comandi da più utenti contemporaneamente……. Problema…………………. Lezioni sui SISTEMI OPERATIVI

  21. ma fa sorgere una serie di nuovi problemi dal punto di vista della sicurezza del sistema: come distinguere i vari utenti tra loro, come accertarsi che nessun utente possa causare danni agli altri o alla macchina che sta usando ecc. Lezioni sui SISTEMI OPERATIVI

  22. i diversi sistemi operativi, sono progettati in modo che questo tipo di operazioni avvengano nel più breve tempo possibile e senza “conflitti” Lezioni sui SISTEMI OPERATIVI

  23. Lezioni sui SISTEMI OPERATIVI

  24. Lezioni sui SISTEMI OPERATIVI

  25. Cos’è un sistema operativo ? È il livello di SW con cui interagisce l’utente e comprende programmi quali : Compilatori Editori di testi Fogli elettronici Sistemi bancari Navigatori per Web ….. Applicazioni Software Sistema Operativo Hardware gcc, Word, PowerPoint Excel, Explorer Fotoshop, Gimp È il livello di SW che interagisce direttamente con l’hw e che si occupa di una uso corretto ed efficiente delle risorse fisiche (processore, memorie, periferiche etc.) Windows Unix/Linux Mac OS Lezioni sui SISTEMI OPERATIVI

  26. Quali sono le funzioni di un SO ? • Esegue applicazioni : • carica il programma binario prodotto della compilazione (e residente su disco) nella RAM, • cede il processore all’applicazione da eseguire • Facilita l’accesso ai dispositivi di I/O • interagisce con le periferiche facendosi carico di tutti i dettagli fisici (es. modem, reti, video…) • mette a disposizione operazioni di lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica Lezioni sui SISTEMI OPERATIVI

  27. Quali sono le funzioni di un SO ? (2) • Archivia dati e programmi : • mette a disposizione dell’utente una visione astratta della memoria secondaria (il file system basato sulle astrazioni : file/archivi e folder/cartelle) • gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori Lezioni sui SISTEMI OPERATIVI

  28. Quali sono le funzioni di un SO ? (3) • Gestisce le risorse • ripartisce le risorse disponibili fra le varie applicazioni (processore, RAM, periferiche) • evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse • es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea • ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer Lezioni sui SISTEMI OPERATIVI

  29. Quali sono le funzioni di un SO ? (4) • Gestisce malfunzionamenti del sistema • rileva e gestisce situazioni anomale • es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte • es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea Lezioni sui SISTEMI OPERATIVI

  30. Lezioni sui SISTEMI OPERATIVI

  31. Lezioni sui SISTEMI OPERATIVI

  32. Lezioni sui SISTEMI OPERATIVI

  33. Lezioni sui SISTEMI OPERATIVI

  34. Lezioni sui SISTEMI OPERATIVI

  35. Lezioni sui SISTEMI OPERATIVI

  36. Quali sono le parti di un SO ? Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore File system Gestore della memoria Gestore delle periferiche Hw Lezioni sui SISTEMI OPERATIVI

  37. Stato utente e stato supervisore • Stato utente : • modalità di funzionamento del computer che permette l’accesso solo a un numero limitato di risorse • es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc. • Stato supervisore : • modalità che permette l’accesso a tutte le risorse Lezioni sui SISTEMI OPERATIVI

  38. Stato utente e stato supervisore (2) Eseguiti in stato utente Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore File system Gestore della memoria Gestore delle periferiche Eseguiti in stato supervisore Hw Lezioni sui SISTEMI OPERATIVI

  39. Stato utente e stato supervisore (3) • I programmi che girano in stato utente richiedono servizi al SO tramite invocazione di sottoprogrammi speciali • system call o chiamate di sistema • Il sistema operativo decide come e quando effettuare il servizio • Il sistema operativo può interrompere un programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di ‘gestione’ della macchina Lezioni sui SISTEMI OPERATIVI

  40. Gestione del processore Lezioni sui SISTEMI OPERATIVI

  41. Esecuzione di un programma Data Flow Passo 1 : scrivere e compilare il programma Codifica in un linguaggio di programmazione (C, Java etc) Programma Input : programma Compilatore Eseguibile Output : rappresentazione comprensibile alla macchina Lezioni sui SISTEMI OPERATIVI

  42. Esecuzione di un programma (2) Struttura che permette di realizzare correttamente il meccanismo di chiamata a sottoprogrammi • Come è organizzata la rappresentazione binaria eseguibile del programma (spazio di indirizzamento): 232 - 1 Stack/pila È un array di parole ! dati Codifica binaria dei dati Codifica binaria delle istruzioni assembler in cui il programma è stato tradotto testo 0 Lezioni sui SISTEMI OPERATIVI

  43. Esecuzione di un programma (3) • Passo 2 : • ricopiare lo spazio di indirizzamento di un programma da memoria secondaria a RAM AmpiezzaRAM - 1 Spazio programma 3 Spazio programma 2 Una possibile organizzazione della RAM con più programmi attivi contemporaneamente Spazio programma 1 Area riservata, non accessibile in modalità utente Sistema Operativo 0 Lezioni sui SISTEMI OPERATIVI

  44. Esecuzione di un programma (4) • Passo 3 : • modificare il PC del processore in modo che contenga correttamente l’indirizzo della prima istruzione assembler da eseguire nel nostro programma AmpiezzaRAM - 1 Spazio programma 3 Spazio programma 2 Prima istruzione da eseguire nel programma 2 440 Spazio programma 1 È l’indirizzo da scrivere nel PC Sistema Operativo 0 Lezioni sui SISTEMI OPERATIVI

  45. Esecuzione di un programma (5) • Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono • Un programma in esecuzione viene detto ‘processo’ • Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l’attivazione di un processo? • Terminazione (normale o erronea) • Interruzione Lezioni sui SISTEMI OPERATIVI

  46. Terminazione di un processo • Un processo termina : • Quando esegue una istruzione assembler di terminazione • Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi) • Quando c’è un errore che non lo permette di proseguire (es. overflow, etc) • In tutti questi casi il processore ricomincia automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato Lezioni sui SISTEMI OPERATIVI

  47. Interruzione di un processo • Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina • Questo avviene attraverso il meccanismo hardware delle interruzioni Lezioni sui SISTEMI OPERATIVI

  48. Interruzione di un programma (2) • Come funzionano le interruzioni • ogni periferica può ‘richiedere attenzione’ inviando un segnale di interruzione usando le linee di controllo del bus • alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione • se è presente il controllo passa automaticamente al sistema operativo Lezioni sui SISTEMI OPERATIVI

  49. Il gestore del processore • Nei computer attuali, tutti i programmi che compongono il SO ed i programmi applicativi ‘avviati’ sono attivi contemporaneamente sul calcolatore (multiprogrammazione) • es : Windows 2000 + Word + cd player ... • Il gestore del processore si preoccupa di far condividere il processore a tutti i programmi attivi in modo corretto • lo scopo è dare l’impressione che ognuno abbia il suo processore dedicato Lezioni sui SISTEMI OPERATIVI

  50. Il gestore del processore (2) • Si usa la tecnica dei quanti di tempo • es: 3 programmi attivi Prog1, Prog2, Prog3 • vengono mandati in esecuzione ciclicamente Eseguo Prog1 Eseguo Prog3 Eseguo Prog1 Eseguo Prog2 Quanto 20-100 ms Interruzione : il SO riprende il controllo e decide chi eseguire nel quanto successivo Periferica ‘orologio interno’ Lezioni sui SISTEMI OPERATIVI

More Related