La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio.

Presentazioni simili


Presentazione sul tema: "ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio."— Transcript della presentazione:

1 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio

2 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 2 Il sistema operativo è linterfaccia uomo-macchina.

3 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 3

4 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 4 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.

5 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 5 COMPONENTI DI UN SO 1) 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

6 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 6 COMPONENTI DI UN SO 3) uno scheduler che 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,

7 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 7 COMPONENTI DI UN SO 5)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.

8 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 8 Kernel Il 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.

9 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 9 File system Il 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

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

11 ING CIRO RICCIOLezioni 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.

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

13 ING CIRO RICCIOLezioni 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.

14 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 14 Interfaccia utente Si 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).

15 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 15 Spooler di stampa Lo 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.

16 ING CIRO RICCIOLezioni 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.

17 ING CIRO RICCIOLezioni 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

18 ING CIRO RICCIOLezioni 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.

19 ING CIRO RICCIOLezioni 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.

20 ING CIRO RICCIOLezioni 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………………….

21 ING CIRO RICCIOLezioni 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.

22 ING CIRO RICCIOLezioni 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

23 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 23

24 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 24

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

26 ING CIRO RICCIOLezioni 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 allapplicazione da eseguire Facilita laccesso 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

27 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 27 Quali sono le funzioni di un SO ? (2) Archivia dati e programmi : –mette a disposizione dellutente 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

28 ING CIRO RICCIOLezioni 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 alluso 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

29 ING CIRO RICCIOLezioni 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 unaltra parte es: se unapplicazione cerca di effettuare una operazione non permessa (come leggere i dati di unaltra applicazione) può bloccare lapplicazione segnalando allutente la situazione erronea

30 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 30

31 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 31

32 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 32

33 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 33

34 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 34

35 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 35

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

37 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 37 Stato utente e stato supervisore Stato utente : –modalità di funzionamento del computer che permette laccesso 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 laccesso a tutte le risorse

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

39 ING CIRO RICCIOLezioni 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

40 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 40 Gestione del processore

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

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

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

44 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 44 Esecuzione di un programma (4) Passo 3 : –modificare il PC del processore in modo che contenga correttamente lindirizzo della prima istruzione assembler da eseguire nel nostro programma Sistema Operativo Spazio programma 1 0 AmpiezzaRAM - 1 Spazio programma 2 Spazio programma Prima istruzione da eseguire nel programma 2 È lindirizzo da scrivere nel PC

45 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 45 Esecuzione di un programma (5) Quando un programma utente è stato attivato il processore esegue una dopo laltra le istruzioni assembler che lo compongono Un programma in esecuzione viene dettoprocesso Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo lattivazione di un processo? –Terminazione (normale o erronea) –Interruzione

46 ING CIRO RICCIOLezioni 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

47 ING CIRO RICCIOLezioni 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

48 ING CIRO RICCIOLezioni 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 dellesecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione –se è presente il controllo passa automaticamente al sistema operativo

49 ING CIRO RICCIOLezioni 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 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 limpressione che ognuno abbia il suo processore dedicato

50 ING CIRO RICCIOLezioni 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 Quanto ms Eseguo Prog1 Eseguo Prog2 Eseguo Prog3 Periferica orologio interno Eseguo Prog1 Interruzione : il SO riprende il controllo e decide chi eseguire nel quanto successivo

51 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 51 Gestione della memoria

52 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 52 Il gestore della memoria Tutti i programmi che compongono il SO ed i programmi applicativi attivi usano contemporaneamente la RAM Il gestore della memoria si preoccupa di fare condividere la RAM ai vari processi in esecuzione in modo che : –ogni processo abbia il suo spazio privato distinto dagli altri (e inaccessibile agli altri) –ogni processo abbia abbastanza memoria per eseguire il proprio algoritmo e raccogliere i suoi dati

53 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 53 Il gestore della memoria (2) La gestione statica –ricopiare interamente lo spazio di indirizzamento di un programma da memoria secondaria a RAM allinizio dellesecuzione –abbiamo già visto un esempio : Sistema Operativo Spazio programma 1 Area riservata, non accessibile in modalità utente Una possibile organizzazione della RAM con più programmi attivi contemporaneamente 0 AmpiezzaRAM - 1 Spazio programma 2 RAM vuota

54 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 54 Il gestore della memoria (3) Problemi della gestione statica –non posso girare programmi con spazio di indirizzamento grande della RAM ! Attualmente ogni programma usa almeno 4GB di spazio di indirizzamento, con RAM assai più piccole… Soluzione : gestione dinamica (a pagine) –ad ogni istante carico in RAM solo i pezzi che mi servono per lesecuzione corrente

55 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 55 Il gestore della memoria (4) Paginazione –lo spazio di indirizzamento di ogni processo è diviso in fette (pagine) tutte della stassa ampiezza Programma 1 Pagina : fetta dello spazio di indirizzamento (1-4K) Programma Programma 3

56 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 56 Il gestore della memoria (5) Paginazione –ad ogni istante solo le pagine necessarie sono caricate in memoria (località!) Sistema Operativo RAM vuota Programma Programma Programma 3

57 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 57 Gestione delle periferiche

58 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 58 Driver e controller Ogni periferica è gestita da due entità cooperanti : il controller : un dispositivo hardware che colloquia direttamente con la parte elettrico/meccanica della periferica il driver : un programma software che fa parte del sistema operativo e che conosce le caratteristiche della periferica ed è capace di colloquiare con il controller

59 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 59 Driver e controller (2) Solitamente il driver non è sviluppato da chi costruisce il SO (es. Microsoft) ma da chi costruisce il dispositivo Quando viene acquistata una nuova periferica il driver corrispondente deve essere inserito nel Sistema Operativo (installazione) –operazione rischiosa, perché se il nuovo driver è difettoso può rovinare il vostro sistema (il driver essendo nel SO ha accesso a tutta la macchina senza restrizioni!….)

60 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 60 Driver e controller (3) Quando si installa un nuovo driver bisogna fornirgli delle informazioni a basso livello per permettergli di colloquiare correttamente con il resto del sistema (configurazione) –es: stabilire quali linee del bus utilizzare per inviare una interruzione... Periferiche plug&play : quelle per cui la configurazione può essere fatta automaticamente dal sistema –sono generalmente tutte così nei PC odierni

61 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 61 Il File system

62 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 62 File System È la parte del SO che –permette di memorizzare dati e programmi in modo persistente –permette di organizzare dati e programmi in modo da renderne agevole la localizzazione da parte dellutente umano –può essere modificata per cancellare dati obsoleti, aggiornare lorganizzazione etc..

63 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 63 File System (2) Le astrazioni fornite sono : –il file (o archivio) : una sequenza di byte che contiene dati o programmi rappresentati con una opportuna codifica binaria –il folder/directory (o cartella) : astrazione che permette di collezionare insieme più file e/o folder

64 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 64 File System (3) Esempio : una possibile organizzazione dei file relativi ai diversi corsi che insegno File: lucidi lez1 File: lucidi lez2 File: compiti e voti Folder : inf_gen Folder : sis_op Folder : corsi

65 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 65 File System (4) La struttura è gerarchica (ad albero) File: lucidi lez2 File: compiti e voti Folder : inf_gen Folder : corsi Folder : sis_op File: lucidi lez1 Contenuto del folder corsi

66 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 66 File System (5) La struttura è gerarchica (ad albero) File: lucidi lez2 File: compiti e voti Folder : inf_gen Folder : corsi Folder : sis_op File: lucidi lez1 Contenuti dei due folder inf_gen e sis_op

67 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 67 File Come si crea un file –utilizzando una applicazione editori di testi per creare file di testo secondo diversi formati (doc,html,text) es. Word applicazioni per gestire grandi quantitì di dati persistenti (basi di dati) es. Access fogli elettronici es. Excel –dando comandi diretti al SO es. chiedendo di duplicare un file esistente (taglia e incolla …) via shell o interfaccia grafica

68 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 68 File (2) Nome di un file –ogni file ha un nome (es lez1.doc, lez2.ppt etc) –il nome deve essere unico nel folder che contiene il file –la parte dopo il punto (.) si chiama estensione di solito lestensione da informazione sul formato del file e/o sullapplicazione utilizzata per crearlo lez2.ppt estensione

69 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 69 File (3) Nome di un file (cont.) –alcuni SO (come Windows) non mostrano normalmente lestensione lez1.doc viene mostrato come lez1 –tuttavia lestensione è presente e serve al sistema per capire che tipo di file è e quale applicazione attivare quando desideriamo leggerlo es. un doppio click su un file lez1 attiva automaticamente Word per visualizzarlo

70 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 70 Folder Anche i folder sono identificati univocamente da nomi –es inf_gen, corsi –non usano estensioni contengono solo informazioni sui file/folder contenuti (il formato di queste dipende dal dal file system usato, e quindi dal SO) non dobbiamo discriminare fra codifiche diverse

71 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 71 Folder (2) Per creare un folder basta invocare una opportuna funzione del SO –es. scegliere una opportuna opzione (new folder,nuova cartella) in un menu dellinterfaccia grafica Per cancellare file/folder basta invocare una opportuna funzione del SO –es. trascinarli con il mouse fino al cestino I file/folder possono essere spostati da un folder allaltro

72 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 72 Sicurezza Come evitare che i nostri file siano letti da altri utenti che hanno accesso al sistema? –Assegnare ad ogni utente : Account (nome unico identificativo) e password (segreta, abbastanza complessa!) –Ogni file appartiene ad un utente –Il proprietario può specificare se un file può essere letto o scritto anche da altri –Il file system al momento dellaccesso controlla che loperazione sia effettivamente consentita

73 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 73 Sicurezza (2) Il superutente (root,administrator) –E laccount dellamministratore del sistema –Può accedere in maniera non ristretta dappertutto –I file del sistema operativo sono generalmente dellutente root e non sono accessibili da nessun altro utente –…… ovviamente il superutente è oggetto di numerosi tentativi di violazione termini come attack, hacker si riferiscono a questo

74 ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 74 Sicurezza (3) I vecchi sistemi Windows (3.1,95,98) non avevano alcun meccanismo di protezione –tutto gira in stato kernel –da cui la facilità di danneggiare il sistema operativo o i file utente (es. con virus) –molto pericoloso in connessioni Internet non sporadiche Windows NT, 2000, XP sono protetti –è necessario però creare utenti non privilegiati Sistemi Unix/Linux protetti fino dagli anni 70


Scaricare ppt "ING CIRO RICCIOLezioni sui SISTEMI OPERATIVI 1 LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio."

Presentazioni simili


Annunci Google