Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema • Il software in un calcolatore è organizzato in due parti distinte: – Il “Software di Sistema” o “Sistema Operativo”, che comprende una serie di programmi atti a gestire le risorse fisiche del calcolatore e a rendere agevole l’interazione dell’utente con il sistema – I programmi applicativi, che vengono scelti ed installati dall’utente. Fondamenti di informatica 119 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema • È quella parte del software che consente di gestire tutte le risorse di un calcolatore a diversi livelli (fisico, logico, utente). • È formato da un insieme di programmi e funzioni fondamentali per il funzionamento del calcolatore. – Per esempio, le funzioni per gestire monitor, tastiera e stampante, come pure per leggere e scrivere su disco, sono tutte parte del sistema operativo. • L’utente non vede tutto questo ma solo una parte del sistema operativo, espressamente orientata all’utente. Fondamenti di informatica 120 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema • Il sistema operativo è organizzato secondo una struttura a “cipolla” PROGRAMMI DI UTILITA’ UTENTE SERVIZI DI SISTEMA INTERPRETE DI COMANDI FILE SYSTEM KERNEL HARDWARE Fondamenti di informatica 121 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema • Il kernel è costituito da un insieme di programmi che operano direttamente sull’hardware del sistema. Gestisce tutte le risorse fisiche del calcolatore. • Il file system include i programmi e le strutture dati per l’organizzazione dei dati sul disco fisso (o altro supporto di memorizzazione). • I servizi di sistema sono una serie di funzioni utilizzabili da altri programmi che il sistema operativo mette a disposizione per consentire dall’esterno l’accesso alle risorse disponibili. • L’interprete di comandi è un programma di interfaccia che consente all’operatore di interagire con il sistema operativo ed eseguire direttamente un sottoinsieme dei servizi di sistema. • I programmi di utilità sono veri e propri programmi applicativi di norma forniti con il sistema operativo e utili a risolvere problemi generici di installazione e configurazione. Fondamenti di informatica 122 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema • Esempi di sistema operativo sono: Windows 98, DOS, Linux, Windows 2000, WindowsXP, UNIX. – Ognuno di essi è caratterizzato da un insieme di componenti differenti (all’interno della struttura a cipolla). – Parti di sistemi operativi diversi non sono compatibili, ma è possibile realizzare delle interfacce fra loro. • Le parti piu` interessanti per l’utente finale sono quelle più esterne: – il file system – I servizi di sistema (li vedremo con la programmazione) – l’interprete di comandi – i programmi di utilita` Fondamenti di informatica 123 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema - il file system • Il file system organizza i dati all’interno del disco secondo una struttura logica “ad albero”. • I dati sono raggruppati all’interno di archivi logici chiamati “directory”. – Esempio: un insieme di lettere possono essere raggruppate in una singola directory. • Insiemi di dati coerenti formano un “file”. – Esempio: un documento come una lettera costituisce un file; • Si definisce il “percorso” (path) per accedere ad un file o directory, come l’attraversamento dell’albero fino al punto desiderato. – Il percorso può essere assoluto oppure relativo. Fondamenti di informatica 124 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema - il file system C: alfa teta usr beta bin personale exec vita locale cartelle sistema documenti 740 parco prova tour letter alfa Directory corrente Fondamenti di informatica 125 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema - l’interprete dei comandi • È un programma (chiamato anche shell) in grado di interpretare una serie di comandi immessi tramite la tastiera. • Esempi di comandi possono essere: – La stampa di un documento; – La richiesta di visualizzare i file di una directory specificata – La richiesta di cancellazione di un file; – La navigazione all’interno del file system. Fondamenti di informatica 126 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema - l’interprete dei comandi • L’interprete di comandi MS-DOS si chia COMMAND.COM. In versioni leggermente modificate esso esiste anche nei più recenti sistemi operativi (es. Microsoft XP) • I comandi più comuni sono: – DIR - per vedere il contenuto della directory di lavoro; – CD - per cambiare la directory di lavoro; – COPY - per copiare uno o più files; – DEL - per cancellare uno o più files; – MKDIR - per creare una nuova directory; – RMDIR - per cancellare una directory; – TYPE - per visualizzare un file di testo; – PRINT - per stampare un file di testo; – PROMPT - per cambiare il prompt; – TREE – per visualizzare la struttura ad albero del file system – PATH - visualizzare o imposta il percorso di ricerca per i file eseguibili; – FORMAT - per formattare un disco; Fondamenti di informatica 127 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Il software di sistema – i programmi di utilità • Esistono diversi tipi di programmi di utilità. A volte il confine tra questi programmi e i programmi più propriamente applicativi è molto labile. – Text editor elementari (edit, notepad o wordpad); – Calcolatrici su schermo (calc); – Visualizzatori del file system (explorer); – Internet browser più o meno complessi (strumenti per la navigazione in Internet); – Programmi per il controllo e la configurazione di dispositivi e periferiche (deframmentazione, comunicazioni); – Programmi per il monitoraggio dello stato del sistema (CPU, memorie, dischi); Fondamenti di informatica 128 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 I programmi applicativi • I programmi applicativi sono installati dall’utente e rispondono a specifiche esigenze di lavoro. Tra gli altri vanno elencati – Word processor (formattatore di documenti); – Spreadsheet (foglio elettronico); – Database (gestione di basi di dati); – Calendar/planner (agenda e rubrica/organizer); – Internet browser avanzati (strumenti per la navigazione in Internet); – Programmi per la comunicazione di rete (posta elettronica, ftp) – Registratori/replicatori di suoni; – Compilatori e interpreti; – Applicazioni particolari (visualizzazione/analisi di immagini, analisi di dati, gestionali ecc.) Fondamenti di informatica 129 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • Gestione dei processi ● Processo (job) = immagine in memoria di un programma ● Il primo processo caricato è il sistema operativo ● Nei primi calcolatori solo un processo alla volta (sistema monoprogrammato) ● ● uso di coda FIFO Ovvie controindicazioni nel caso di più processi Fondamenti di informatica 130 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti MEMORIA PRIMARIA ROM MEMORIA PRIMARIA PROGRAMMA DI ISTRUZIONE A0 BOOT STRAP MEMORIA SECONDARIA MEMORIA PRIMARIA PROGRAMMA DI BOOT PROGRAMMA DI BOOT STRAP + SISTEMA OPERATIVO Sistema operativo SISTEMA OPERATIVO SEGMENTO ISTRUZIONI PROCESSO IN MEMORIA RAM SEGMENTO DATI MEMORIA LIBERA FASE 1 FASE 2 FUNZIONAMENTO ORDINARIO Fondamenti di informatica 131 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • Nei sistemi moderni più processi competono per l’esecuzione (sistemi multiprogrammati RESCHED READY RUN RESCHED • i processi vengono eseguiti a turno SUSPEND RESUME • la tecnica più frequente è quella del “time sharing”: la CPU dedica un uguale intervallo di tempo ad ogni processo Fondamenti di informatica SUSPEND WAIT KILL CREATE 132 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti T T T T T T SIST. OP. PROC. A PROC. B PROC. C TEMPO IOS IOS IOS T IOS IOS IOS RUN T T IOS T T READY SIST. OP. WAIT PROC. A PROC. B PROC. C IOS Fondamenti di informatica IOS IOS INIZIO I/O IOS INTERRUPT FINE I/O IOS IOS TEMPO 133 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • Memoria virtuale paginata – Il processo viene diviso in pagine di uguale dimensione (ad es. 256KB) – I processi possono avere dimensione molto più grande della memoria effettivamente disponibile – Viene continuamente gestito lo SWAP di pagine, secondo le necessità di indirizzamento legate all’esecuzione – Ovviamente più processi possono essere gestiti contemporaneamente – La gestione delle pagine è completamente trasparente per l’utente – Possono essere gestiti anche blocchi di dimensione variabile (SEGMENTI) Fondamenti di informatica 134 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • Memoria virtuale paginata Processor Memory Disk Page 1 Page 2 Page 3 Page 4 Page 5 Fondamenti di informatica 135 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • Struttura del disco MS-DOS Fondamenti di informatica 136 Università di Sassari – Dipartimento di Sc. Politiche, Sc. Delle Comunicazione e Ingegneria dell'Informazione - A.A. 2015-2016 Approfondimenti • File system MS-DOS Fondamenti di informatica 137