LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

1 Introduzione ai calcolatori Parte II Software di base.
Il Software.
Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Il Sistema Operativo.
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Gestione del processore
Gestione del processore
Sistemi Operativi - C Susanna Pelagatti
INTRODUZIONE AI SISTEMI OPERATIVI
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Laboratorio di Informatica
Laboratorio di Informatica
1 Gestione del processore Il modello a processi sequenziali.
Informatica Generale Susanna Pelagatti
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Cos’è un problema?.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
STRUTTURA GENERALE DI UN ELABORATORE
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Concetti di base sul Software dei PC Unitre Anno
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Il Sistema Operativo (1)
Il Sistema Operativo: il File System
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Gestione della Memoria
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
1 Le applicazioni. 2 Quali sono tipici programmi applicativi ? Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Sistema operativo Il sistema operativo è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Cos’è un sistema operativo ?
Informatica Generale Marzia Buscemi
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
I sistemi operativi Funzioni principali e caratteristiche.
Gestione delle periferiche. Le periferiche sono dispositivi che permettono le operazioni di input/output.
Struttura del Computer
Transcript della presentazione:

LEZIONI SUI SISTEMI OPERATIVI Ing. Ciro Riccio

Il sistema operativo è l’interfaccia uomo-macchina. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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, ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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). ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

Lezioni sui SISTEMI OPERATIVI 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. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

Stato utente e stato supervisore 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Gestione del processore ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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’ ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Gestione della memoria ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

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 l’esecuzione corrente ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

Il gestore della memoria (5) Paginazione ad ogni istante solo le pagine necessarie sono caricate in memoria (località!) 1 2 3 4 .. 1 2 3 4 .. Programma 2 RAM vuota Programma 1 1 2 3 4 .. RAM vuota Programma 3 Sistema Operativo ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Gestione delle periferiche ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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!….) ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI Il File system ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 dell’utente umano può essere modificata per cancellare dati obsoleti, aggiornare l’organizzazione etc .. ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

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

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

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

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 l’estensione da informazione sul formato del file e/o sull’applicazione utilizzata per crearlo lez2.ppt estensione ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI File (3) Nome di un file (cont.) alcuni SO (come Windows) non mostrano normalmente l’estensione lez1.doc viene mostrato come ‘lez1’ tuttavia l’estensione è 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 dell’interfaccia 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 all’altro ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 dell’accesso controlla che l’operazione sia effettivamente consentita ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI Sicurezza (2) Il superutente (root,administrator) E’ l’account dell’amministratore del sistema Può accedere in maniera non ristretta dappertutto I file del sistema operativo sono generalmente dell’utente 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO

Lezioni sui SISTEMI OPERATIVI 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 ING CIRO RICCIO Lezioni sui SISTEMI OPERATIVI ING CIRO RICCIO