Dipartimento di Giurisprudenza Prof. Michele Perilli Conoscenze Informatiche [email protected] [email protected] Sistema Operativo: funzionalità • Gestire le risorse della macchina (CPU, memoria, dispositivi di I/O, file) • Dialogare con l’utente (o gli utenti) • Rendere disponibili agli utenti i traduttori e consentire l’uso dei programmi applicativi • Controllare l’uso del sistema (da parte degli utenti) a fini amministrativi Prof. Michele Perilli - I Sistemi Operativi - [email protected] 2 Gestione delle risorse • S.O. mono e multiutente – Protezione delle informazioni • Multiprogrammazione o multitasking – più attività possono (o debbono) essere svolte “contemporaneamente” – programmi e processi – competizione per le risorse – parallelismo e concorrenza Prof. Michele Perilli - I Sistemi Operativi - [email protected] 3 Dialogo con l’utente (1) • Interazione basata su comandi testuali Prof. Michele Perilli - I Sistemi Operativi - [email protected] 4 Dialogo con l’utente (2) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 5 Dialogo con l’utente (3) • Interazione mediante interfaccia grafica Prof. Michele Perilli - I Sistemi Operativi - [email protected] 6 Dialogo con l’utente (4) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 7 Sistema operativo: architettura • Modello cosiddetto “a buccia di cipolla” (o semplicemente a strati) • Ogni strato realizza una “macchina virtuale” – Usa le funzionalità della macchina sottostante – Fornisce servizi alla macchina che segue nella gerarchia – Gestisce delle risorse mediante politiche invisibili ai livelli superiori Prof. Michele Perilli - I Sistemi Operativi - [email protected] 8 Il modello a strati Hardware Gestione CPU (nucleo) Gestione Memoria Gestione I/O Gestione file (file system) Interprete dei comandi Prof. Michele Perilli - I Sistemi Operativi - [email protected] 9 Comandi di I/O Prof. Michele Perilli - I Sistemi Operativi - [email protected] 10 Tecnica di spool Problema: cosa succede se più processi (o più utenti) mandano “contemporaneamente” in stampa documenti sulla stessa stampante? Computer 1 Processo1 Processo2 Computer 2 Processo3 Come evitare che I dati escano nello stesso ordine in cui vengono eseguiti i comandi di uscita? Prof. Michele Perilli - I Sistemi Operativi - [email protected] 11 Spool di stampa Processo1 Processo2 Processo3 Processo di spool Driver Prof. Michele Perilli - I Sistemi Operativi - [email protected] 12 File (management) system • Creazione e cancellazione dei file • Modifica e aggiornamento • Protezione dei file e modalità di accesso • Copia, spostamento, creazione di collegamenti, etc. • Gestione della memoria di massa Prof. Michele Perilli - I Sistemi Operativi - [email protected] 13 Organizzazione dei dati sulle memorie di massa • Ogni “entità referenziabile ” su disco è un file – un programma – un insieme di dati utilizzati da un programma – una base di dati (o un archivio) – un grafico • I file sono identificati da un nome (filename) – nome Esempi: tesi.doc, sort.pas, sort.exe – estensione Prof. Michele Perilli - I Sistemi Operativi - [email protected] 14 Ancora sui file • Regole per i nomi – lunghezza massima – “case sensitive” o “insensitive” – caratteri speciali • Informazioni ausiliarie – lunghezza file – data creazione e modifica – diritti di accesso Prof. Michele Perilli - I Sistemi Operativi - [email protected] 15 Organizzazione logica di un file system (1) • Struttura ad albero (file system gerarchici) Radice dell’albero Nodo interno Foglia • Ai nodi e alle foglie possono essere associate informazioni Prof. Michele Perilli - I Sistemi Operativi - [email protected] 16 Organizzazione logica di un file system (2) • Struttura ad albero: – la radice è un’unità disco (o una partizione di unità) – i nodi interni sono cartelle (directory) – le foglie sono file • Una cartella può contenere file e/o altre cartelle → percorso di identificazione di un file (pathname): C:\Gallo\Didattica\Informatica\testo.doc Prof. Michele Perilli - I Sistemi Operativi - [email protected] 17 Organizzazione logica di un F.S. (3) C: Windows Programmi Esempio Gallo Didattica Ricerca Personale InfGen Tesi base.ppt hardware.ppt software.ppt Prof. Michele Perilli - I Sistemi Operativi - [email protected] 18 Strumenti grafici di esplorazione Prof. Michele Perilli - I Sistemi Operativi - [email protected] 19 Ancora sui file system gerarchici • Unità o volume e directory radice (root)=\ • Directory corrente (o di lavoro) = . • Pathname: \Gallo\Didattica\informatica.ppt (assoluto) Didattica\datiealg.ppt (relativo) • Directory “padre” = .. • Formattazione di un’unità Prof. Michele Perilli - I Sistemi Operativi - [email protected] 20 Il Sistema Operativo Unix • Unix vs. MultiCS • Sistema multiutente e “multitasking” • Interazione con l’utente tramite comandi testuali → l’interprete dei comandi è detto SHELL • File di comandi (script) • File System gerarchico • Directory root(/) e corrente (o di lavoro .) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 21 Il Sistema Operativo Unix Cenni storici • Alla fine degli anni ‘60, un gruppo di ricercatori dei “Bell Laboratories” (Ken Thompson, Denis Ritchie ed altri collaboratori) a seguito del fallimento del progetto MULTICS per un sistema operativo fra piu` costruttori, proposero di recuperare il know-how, ridimensionando il progetto e la denominazione in UNIX. • Obiettivi principali di UNIX erano: • il supporto alle attivita` di sviluppo software (i sistemi operativi all’epoca erano orientati all’utilizzo dell’elaboratore); • l’indipendenza dall’hardware. Prof. Michele Perilli - I Sistemi Operativi - [email protected] 22 Il Sistema Operativo Unix • UNIX fu scritto in versioni successive su elaboratori Digital della serie PDP, dapprima in assembler e poi in linguaggio C, progettato appositamente per rendere UNIX indipendente dall’elaboratore C e` la terza versione del linguaggio, successiva ad A e B). • Negli anni ‘70 UNIX era utilizzato all’interno della AT&T (proprietaria della Bell Laboratories) ma non poteva essere commercializzato per vincoli legali, che impedivano ad AT&T di entrare nel campo dell’informatica. • UNIX fu diffuso gratuitamente, completo di codice sorgente, in molte università, le quali portarono vari contributi e realizzarono una serie di “dialetti”. Prof. Michele Perilli - I Sistemi Operativi - [email protected] 23 Il Sistema Operativo Unix Una particolare implementazione di Unix è Linux, scritta dallo studente (all’epoca ventenne) finlandese Linus Torvalds e successivamente resa gratuitamente (open-source) disponibile per chiunque su Internet. Oggi Linux è lo Unix più diffuso al mondo, ed è presente in innumerevoli “dialetti” (o distribuzioni), tra cui: Debian, RedHat, Suse, Mandrake, Linspire, … Una particolare versione di Unix, derivata dalla versione universitaria BSD (Berkeley) è Darwin, su cui è basato il sistema operativo Mac OS X di Apple. Prof. Michele Perilli - I Sistemi Operativi - [email protected] 24 Il pannello di controllo (2) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 25 Personalizzazione della scrivania Prof. Michele Perilli - I Sistemi Operativi - [email protected] 26 Barra delle applicazioni (1) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 27 Barra delle applicazioni (2) Prof. Michele Perilli - I Sistemi Operativi - [email protected] 28 Esplorazione del file system Prof. Michele Perilli - I Sistemi Operativi - [email protected] 29 Menu di scelta rapida Prof. Michele Perilli - I Sistemi Operativi - [email protected] 30 Proprietà di file e cartelle Prof. Michele Perilli - I Sistemi Operativi - [email protected] 31