Definizioni iniziali Sistemi Operativi Programma: una sequenza di istruzioni elementari Processo: un programma in esecuzione Software: insieme dei programmi 2 / 32 Tipi di software Sistema Operativo Base: lavora sull hardware e fornisce le funzioni essenziali Ha due funzioni principali gestisce le risorse fisiche (hardware) Applicativo: si basa sul software di base e soddisfa esigenze controlla i processi e mette a disposizione un interfaccia per l utente dell utente 3 / 32 4 / 32
Avvio del calcolatore Tipi di Sistemi Operativi La memoria ROM contiene il software necessario all avvio (firmware) carica il Sistema Operativo in memoria monotasking: non più usati (DOS) multitasking: permettono l esecuzione di più processi in parallelo (Windows) controlla l integrità delle componenti interne verifica le periferiche collegate (ora plug & play) 5 / 32 real-time: oltre al parallelismo, garanzie sull'esecuzione 6 / 32 Sistemi multitasking Interfacce Sono i più usati: Windows, Linux, Mac OS X Sfruttano la tecnica di time-sharing 7 / 32 A caratteri: i comandi sono stringhe di testo DOS UNIX / Linux Grafiche: sfruttano metafore grafiche e contesti Windows Mac OS X 8 / 32
Interfacce a caratteri Interfacce grafiche Svantaggi difficili Svantaggi molte risorse poco flessibili Vantaggi veloci flessibili richiedono poche risorse 9 / 32 Vantaggi facili maggior trasparenza rispetto all hardware 10 / 32 Software applicativo Esempio di interfaccia di un programma Si cerca di costruirlo con interfacce amichevoli Tipologie ambienti di sviluppo (programmazione) produttività personale (e.g. elaborazione di testi) programmi verticali specializzati (e.g. biblioteche) Ciascun programma può fornire interfacce aggiuntive rispetto a quelle fornite dal S.O. 11 / 32 12 / 32
Macchine virtuali Macchine virtuali Si nascondono le funzionalità non necessarie Anche il Sistema Operativo è organizzato in maniera simile Si uniforma l accesso alle risorse 13 / 32 14 / 32 Gestore dei processi (kernel( kernel) Lo stallo Processo 1 Coordina l esecuzione di più processi Pronto Pronto In In esecuzione esecuzione in esecuzione (tanti quanti le CPU) pronto in attesa (di dati o risorse) Pronto Pronto In In esecuzione esecuzione Processo 2 sta usando In In attesa attesa Risorsa Risorsa 11 Dato Dato 11 sta aspettando In In attesa attesa sta aspettando sta usando Pronto Pronto In In esecuzione esecuzione In In attesa attesa 15 / 32 16 / 32
Esempio di gestore di processi Gestione della memoria centrale In Windows esiste un programma chiamato Task Manager CTRL + ALT + CANC 17 / 32 Assicura l accesso corretto alla memoria RAM da parte dei programmi Interagisce con la memoria secondaria per aumentare la capacità: memoria virtuale 2. Il processo 1 (attivo) ha il doppio di memoria 1. Il processo 2 (non attivo) viene messo da parte memoria RAM Processo Processo 11 Processo Processo 22 Processo Processo 22 memoria di massa 18 / 32 Esempio Gestore della memoria secondaria (filesystem( filesystem) Windows permette di gestire la memoria virtuale, anche se la nasconde all utente usuale I dati nella memoria secondaria sono organizzati in file unità di aggregazione (importanza del contesto) si misurano in byte hanno un nome univoco (con limitazioni) ulteriori proprietà: dimensione, tipo, date, permessi di lettura/scrittura et c. 19 / 32 20 / 32
Organizzazione dei file Tipi di file (estensione) I file sono organizzati in cartelle Sono individuati da un percorso fotografie/vacanze/mare Mare Mare Vacanze Vacanze Montagna Montagna Fotografie Fotografie Animali Animali Amici Amici 21 / 32 Per individuare il tipo di file ci sono vari metodi aggiungere una proprietà riconoscerne la struttura aggiungere un simbolo convenzionale (estensione) al nome Estensione bmp, jpg, gif exe, com wav, mp3 mpg, mov... Tipo immagine eseguibile suono video... 22 / 32 Esempio Tipi di filesystem e formattazione In Windows Risorse del computer rappresenta una interfaccia per il filesystem 23 / 32 Il disco fisso viene formattato fisicamente in tracce e settori logicamente in partizioni di vario tipo Ci sono vari tipi di filesystem Windows: FAT, NTFS Linux: Ext2, Ext3, ReiserFS et c. Mac OS X: HFS+ CD: ISO9660 settore cilindro traccia 24 / 32
Integrità e frammentazione Esempio I dischi fissi sono maggiormente soggetti ad usura controlli di integrità sui file Le operazioni sui file tendono a disperderli in pezzettini sempre più piccoli deframmentazione (Windows) Disposizione iniziale (non frammentato) file1 file2 file3 spazio libero Dopo diverso tempo (frammentato) file1 file2 file1 file3 è necessario più 25 / 32 tempo per leggerlo In Windows ci sono due programmi appositi ScanDisk si occupa del controllo dell integrità Defrag si occupa della deframmentazione 26 / 32 Gestione delle periferiche Coda di stampa Nasconderne ed uniformarne il funzionamento Gestire gli errori (e.g. carta mancante) e gli accessi Esistono programmi specifici per ogni periferica, i driver 27 / 32 La stampa è una delle periferiche più lente Lo spooler costruisce una coda di richieste (di stampa) invia i documenti alla periferica permette ai programmi di continuare ed essere avvertiti quando il documento è pronto 28 / 32
Interprete dei comandi Terminale dei comandi Ogni Sistema Operativo ha un interprete che riconosce le richieste degli utenti (comandi) avvio di programmi funzioni del Sistema Operativo Le interfacce a caratteri prevedono un linguaggio specifico 1. Pronto per ricevere un comando C:\> 2. L utente digita il comando C:\> ren *.jpg *.jpeg 3. Il S.O. controlla la sintassi ed esegue 29 / 32 30 / 32 Sintassi di un comando Comandi più comuni Windows Linux / Mac OS X Un comando è formato da elenco dei file dir ls -la un nome (* indica qualsiasi serie di caratteri) creazione cartella md mkdir una serie di opzioni una serie di argomenti eliminazione cartella copia rd copy rmdir cp spostamento move mv dir /p /od *.jpg nome nome opzioni opzioni argomento eliminazione di file ridenominazione del ren rm mv 31 / 32 32 / 32