14/03/2002 Fondamenti di Informatica IL SISTEMA OPERATIVO Software per la: Gestione sistema Gestione e allocazione delle risorse hardware (es. CPU, stampanti) Gestione lavori Pianificazione ed esecuzione dei lavori di utente accettazione utente (password,diritti accesso, ...) interpretazione richieste utente e attivazione lavori Gestione dati Gestione dei dati di utente attraverso un efficiente e flessibile impiego delle memorie di massa e delle periferiche IL SISTEMA OPERATIVO Lo si può considerare come un’ INTERFACCIA uomo/macchina capace di rendere del tutto trasparente all’utenza i problemi di gestione del sistema - Interpreta ed esegue i comandi di utente - Coordina la esecuzione delle elaborazioni richieste dagli utenti - Attribuisce le risorse (processore centrale, unità periferiche, memoria) Sistemi Operativi 1 14/03/2002 Fondamenti di Informatica Concetto di “processo” Un S.O. gestisce una qualsiasi elaborazione come: “un insieme di unità di elaborazioni parziali” dette PROCESSI PROCESSO: La minima unità di lavoro che il S.O. predispone per la esecuzione e che possa individualmente richiedere l’uso della CPU Il S.O. e “processi” I sistemi operativi si classificano in base alla modalità di gestione dei processi S.O. monoprocesso Supporta la esecuzione di un unico processo alla volta (es. MS-DOS) S.O. multiprocesso Supporta la esecuzione di più processi (es. Windows, UNIX) Sistemi Operativi 2 14/03/2002 Fondamenti di Informatica Sistemi mono e multiprogrammati MONOPROGRAMMATI Sistemi atti a supportare unicamente applicazioni sequenziali. Sono sistemi mono-utenti MULTIPROGRAMMATI Sistemi atti supportare le concorrenza dei processi: in un dato intervallo di tempo, avanzano più processi. Sono sistemi multi- utenti Sistemi operativi multiprogrammati SISTEMI BATCH I processi da eseguire sono raggruppati in lotti, ed il lavoro procede dall’inizio alla fine senza alcuna interazione con l’utente SISTEMI INTERATTIVI Il lavoro richiede interventi umani: l’operatore fornisce un input, il sistema lo elabora, restituisce un output e ... il colloquio continua fino al termine dell’elaborazione SISTEMI TIME SHARING Servono più utenti, e forniscono a ciascun utente la sensazione di disporre dell’intero sistema e di essere immediatamente serviti SISTEMI REAL TIME Fanno in modo che l’elaborazione fornisca i risultati entro un determinato tempo utile (real time). Ci sono applicazioni per il controllo di processo, e applicazioni di tipo gestionale Sistemi Operativi 3 14/03/2002 Fondamenti di Informatica File system E’ lo strumento organizzativo di cui è dotato ogni S.O che disimpegna l’utente da tutte le problematiche inerenti: -la registrazione di dati su supporti esterni -la ricerca di dati su supporti esterni FILE - L'oggetto elementare su cui opera il file system - Una raccolta di dati registrati su memoria di massa (il file è visto dal S.O. come una sequenza di byte) un nome un tipo - Caratterizzato da una dimensione una data di creazione Tipi di File Una prima distinzione testo (ASCII): una sequenza di caratteri es. programma sorgente (es. in linguaggio C) binari: una sequenza di byte eseguibili (programmi) non eseguibili (es. immagine, documento word) I file dati prodotti da un programma possono essere di testo o binari (dipende dal programma). Alcuni S.O. (es. Windows) associano tipi diversi a file prodotti con programmi diversi (es. Word, Excel, ...) Sistemi Operativi 4 14/03/2002 Fondamenti di Informatica Il Catalogo (directory o cartella) Un elenco (raccoglitore ) in cui sono memorizzati tutti i nomi dei file ... ... per ogni file sono conservate tutta una serie di informazioni ausiliarie quali: Data e ora di creazione / ultima modifica Dimensioni in byte Proprietario e diritti di accesso Armadio indice .... .... .... Cartella .... .... .... .... .... .... .... .... .... .... .... .... Cassetto Documenti Cartella Sistemi Operativi 5 14/03/2002 Fondamenti di Informatica Organizzazione gerarchica delle directory Le directory sono organizzate in una struttura gerarchica \ f 1 . . . f n D1 . . . Di . . . . . . f i1. . . f in Di1. . . Dn \:radice f:file D:cartella Din Nomi di file e directory Tipicamente i nomi di file si compongono di un nome e di un’estensione Nomefile.Estensione nome del file In genere 3 lettere che definiscono il “tipo” di file - Windows 95/98/…. può gestire nomi lunghi fino a 255 caratteri - in UNIX non c’è lo stesso concetto di estensione ... Sistemi Operativi 6 14/03/2002 Fondamenti di Informatica Nome di file e directory Il nome completo di un file individua l’oggetto e ne specifica la collocazione nella struttura gerarchica: percorso \ nomefile \ = separatore Il percorso individua le directory da percorrere per raggiungere la cartella che contiene il file Il percorso può essere : Assoluto: parte dalla radice Relativo: parte dalla directory corrente Nome di file e cartelle: esempi Ricerca \ directory corrente Didattica Uffici ... ... Corsi Percorso relativo: Corsi\FI ... FI Percorso assoluto: \Didattica\Corsi\FI ... Lab Percorso relativo: ..\Uffici\Lab directory padre Sistemi Operativi 7 14/03/2002 Fondamenti di Informatica Volumi In alcuni S.O. (es. MS-DOS, Windows) per far riferimento ad un file, oltre al percorso, è a volte necessario far riferimento anche al supporto di memorizzazione (es. unità disco) - Le unità disco sono denominate volumi - Ogni unità disco ha una sua struttura gerarchica - Esiste un’unità corrente ... - Bisogna anteporre l’identificativo dell’unità al percorso (se l’unità non è corrente) A: Dischetto denominazioni standard in MS-DOS e C: Disco rigido Windows (ma potrebbero essere diverse): D: CD-ROM Esempio percorso assoluto sull’unità C: C:\Didattica\Corsi\FI Esempio percorso assoluto sull’unità A: A:Corsi\FI Operazioni su file (e directory) - creazione / cancellazione - accesso - copia / spostamento (da un catalogo all’altro) - condivisione / protezione Sistemi Operativi 8 14/03/2002 Fondamenti di Informatica Linguaggio di comando Il dialogo tra l’utente ed il S.O. avviene tramite un linguaggio di comando Il dialogo si può attuare con tecniche diverse: a FRASI a MENU’ a ICONE sviluppo delle Interfacce grafiche (GUI - Graphical User Interface) a Menù Linguaggio di comando Il comando viene selezionato da una lista a video (menù) di possibili operazioni da intraprendere - con i tasti di direzione della tastiera - con il mouse Utente Aggiungi La selezione dell'operazione può avvenire su più livelli; a seguito di una scelta compare il dettaglio di ulteriori scelte (sottomenù) Elimina Abilita Modifica Device Porta .......... .......... .............. .............. Sistemi Operativi 9 14/03/2002 Fondamenti di Informatica a Icone Linguaggio di comando Richiede l’uso del mouse Selezione di ideogrammi (icone) atti a ricordare l’operazione da effettuare ; azione specificata da uno o più “clic” del mouse Non diminuisce il numero dei comandi messi a disposizione da un S.O.; tende solo a renderne più immediato e mnemonico l’uso Linguaggio di comando a FRASI Ciascun comando è esplicitato con una frase la cui forma generica è: Comando parola chiave esplicativa del comando oggetti elementi su cui viene compiuta l’azione [opzioni] modalità di esecuzione del comando Sistemi Operativi 10 14/03/2002 Fondamenti di Informatica Interprete comandi (Shell) Modulo del S.O preposto a: - Riconoscere la correttezza sintattica del comando - Interpretarlo - Attivare gli appositi moduli del S.O. S.O. UNIX: Principali comandi Note preliminari - La gestione dei dischi è riservata all’amministratore del sistema (l’utente vede un’unica struttura ad albero) - Il simbolo che in UNIX denota la directory radice e che funge da separatore nei percorsi è: / (es.: cd /Didattica/Corsi/Fi1) - A differenza di MS-DOS e Windows, in UNIX lettere maiuscole e minuscole sono diverse (case sensitiveness) Sistemi Operativi 11 14/03/2002 Fondamenti di Informatica S.O. UNIX: Principali comandi Gestione dei cataloghi (directory) - Creazione: mkdir percorso - Cancellazione: rmdir percorso - Cambio directory corrente: cd percorso - Visualizzazione posizione directory corrente: pwd - Visualizzazione contenuto directory: ls [opzioni] [percorso] es: ls -l (visualizza tutti i dettagli dei file) S.O. UNIX: Principali comandi Gestione dei file - Copia: cp [percorso1] nf1 [percorso2] [nf2] - Cancellazione: rm [percorso] nomefile - Rinomina/Spostamento: mv [percorso1] nf1 [percorso2] [nf2] Sistemi Operativi 12 14/03/2002 Fondamenti di Informatica S.O. UNIX: Principali comandi Esempi: - Creazione: mkdir dilucca mkdir dilucca/lezioni - Cambio directory : directory corrente dilucca per spostarsi nella directory lezioni: cd lezioni - Visualizzazione posizione directory corrente: pwd - Cancellazione della directory lezioni: rmdir lezioni N.B. Per cancellare una directory bisogna essere all’esterno della stessa S.O. UNIX: Principali comandi Gestione dei file - Visualizzazione contenuto directory: es: directory corrente dilucca ls visualizza l’elenco dei file in dilucca ls dilucca/lezioni visualizza l’elenco dei file in dilucca/lezioni - Copia: cp documento1.txt nuovo_documento.txt cp dilucca/documento1.txt - Cancellazione: dilucca/lezioni/altrodoc.txt rm documento1.txt - Rinomina/Spostamento: mv dilucca/documento1.txt dilucca/lezioni/doclezione.txt Sistemi Operativi 13 14/03/2002 Fondamenti di Informatica S.O. UNIX: Principali comandi Gestione dei file - Visualizzazione / Concatenamento (file ascii): cat [percorso1] nomefile1 [[percorso2] nomefile2 ...] - Visualizzazione per pagina: more [percorso1] nomefile1 Sistemi Operativi 14