Il sistema operativo Stefano Brocchi [email protected] Stefano Brocchi Il sistema operativo 1 / 70 Il sistema operativo Il sistema operativo è il primo programma caricato in memoria all’avvio del computer, e resta sempre attivo fino allo spegnimento E’ avviato dal bootstrap Il suo primo scopo è quello di mettere a disposizione all’utente un’interfaccia per l’avvio degli altri programmi Qualsiasi calcolatore programmabile ne deve disporre Questo include per esempio gli smartphone, per i quali molti principi di funzionamento sono uguali a quelli di un calcolatore Stefano Brocchi Il sistema operativo 2 / 70 Funzionalità Inoltre, il sistema operativo gestisce molte altre funzionalità fondamentali della macchina: L’accesso ai dispositivi di ingresso ed uscita (I/O, Input/Output) La gestione dei dati presenti nel calcolatore, e la loro strutturazione in file e cartelle Coordinazione dei programmi in esecuzione contemporaneamente Comprensiva di ottimizzazione delle risorse condivise Controllo degli accessi e sulle limitazioni dei programmi Gestione della memoria Stefano Brocchi Il sistema operativo 3 / 70 Il sistema operativo come tramite Il sistema operativo fa da tramite tra i programmi e le risorse del computer Le risorse comprendono il processore, la memoria, le periferiche, i file e la rete E’ possibile cosı̀ ripartire le risorse tra i vari processi Definito quello che ogni programma può o non può fare Imposti dove necessario anche vincoli per la sicurezza Stefano Brocchi Il sistema operativo 4 / 70 Programmi e processi Uno dei compiti più delicati di un sistema operativo è quello della gestione dei processi Un programma differisce da un processo, in quanto è una sequenza di istruzioni statiche non in esecuzione Da un programma si origina un processo quando questo viene caricato in memoria centrale e viene fatta partire l’esecuzione delle sue istruzioni Nei sistemi Windows, tipicamente ogni processo avviato dall’utente corrisponde ad una diversa finestra Presenti però altri processi in esecuzione, per esempio avviati in automatico all’avvio Stefano Brocchi Il sistema operativo 5 / 70 Visione a livelli Si può pensare al sistema operativo tramite una visione a livelli, dove dopo il nucleo più interno gli altri livelli gestiscono le altre funzioni del sistema Utente Programma applicativo Programma applicativo Interprete comandi Gestore file (filesystem) Gestore delle periferiche Sistema operativo Gestore della memoria Nucleo (kernel) Hardware Stefano Brocchi Il sistema operativo 6 / 70 Interprete dei comandi L’interprete dei comandi è quella parte del sistema operativo che da la possibilità all’utente di avviare gli altri programmi L’interfaccia del sistema operativo definisce la facilità di utilizzo del sistema In passato, veniva utilizzato un sistema a comandi di testo, tramite il quale l’utente potesse comunicare più facilmente con la macchina Stefano Brocchi Il sistema operativo 7 / 70 Sistemi operativi, grafica e GUI Con lo sviluppo delle potenzialità grafiche del calcolatore, nascono i sistemi operativi con interfaccia grafica (detta anche GUI, Graphical User Interface) Detti anche ’punta e clicca’ per il sistema di interazione molto semplice ottenuto con l’uso di mouse Il computer diventa uno strumento usabile anche ai non addetti ai lavori Stefano Brocchi Il sistema operativo 8 / 70 Nucleo del sistema Il nucleo (kernel) del sistema operativo è quello che si occupa di gestire i vari processi in esecuzione I moderni sistemi operativi sono multiprogrammati: possono eseguire più processi contemporaneamente Importante, per esempio perché problemi di blocco o rallentamento potrebbero essere dovuti a programmi in esecuzione diversi da quello in primo piano Stefano Brocchi Il sistema operativo 9 / 70 Nucleo del sistema Per assicurare un’equa distribuzione del tempo, la CPU esegue a rotazione un po’ di codice per ogni processo in esecuzione Definito un quanto di tempo assegnato a rotazione ai processi Essendo la quantità di tempo molto breve, la rotazione passa da un processo all’altro molte volte al secondo, dando l’impressione che tutto accada contemporaneamente Politica chiamata round robin Stefano Brocchi Il sistema operativo 10 / 70 Politica round robin, esempio Vediamo come si alternano i processi tramite round robin Quando un processo è in attesa di input o output, viene messo in attesa Esempio: un word processor in attesa di comandi dall’utente, o che sta aspettando che un file venga salvato su disco Quanto di tempo Elaborazione Stefano Brocchi Attesa Il sistema operativo Richiesta di I/O 11 / 70 Gestione dell’hardware Il sistema operativo è anche incaricato di gestire l’hardware del computer, compito assegnato al gestore delle periferiche Gli altri processi non possono accedere direttamente all’hardware, per manipolarlo devono inoltrare una chiamata al sistema operativo Esempio: nel momento in cui si debba scrivere su disco fisso Stefano Brocchi Il sistema operativo 12 / 70 Gestione dell’hardware: vantaggi Si garantisce cosı̀ un maggiore controllo sul sistema E’ possibile limitare le operazioni che un processo può eseguire, impedendo per esempio la manipolazione di alcuni file di sistema o un uso eccessivo delle risorse Sui sistemi operativi più moderni, quando un programma richiede di effettuare alcune operazioni, il sistema operativo chiede conferma all’utente prima di procedere Possibilità di maggiore coordinazione: quando diversi processi sono in attesa di input, il sistema operativo sa smistare i dati in ingresso al processo giusto Stefano Brocchi Il sistema operativo 13 / 70 Coordinazine dell’hardware: vantaggi Alcuni esempi di utilizzo di coordinazione dell’hardware Smistamento corretto dell’input: se abbiamo due word processor aperti contemporaneamente, digitando un carattere questo appare solo in quello attivo grazie al sistema operativo Se due processi diversi stanno aspettando dati inviati dalla rete, il sistema operativo distingue automaticamente i dati destinati ad uno o all’altro Impedite operazioni potenzialmente non coerenti su filesystem, come due processi che scrivono contemporaneamente sullo stesso file, o la cancellazione di un file aperto o in esecuzione Stefano Brocchi Il sistema operativo 14 / 70 Coordinazine dell’hardware: sicurezza Tramite il controllo degli accessi all’hardware, e la gestione del filesystem, è possibile limitare quello che un programma può fare Meccanismo utilizzato negli smartphone per avere programmi con permessi limitati Quando viene installata un’applicazione, questa deve dichiarare subito tutti i tipi di operazioni di cui necessita Dopo che l’utente ha dato l’autorizzazione, il sistema operativo consentirà solo le operazioni permesse Importante per la sicurezza del sistema (impossibile manipolare il funzionamento del sistema operativo), la privacy (un’applicazione non può leggere e diffondere dati delle altre, come gli SMS) e per proibire operazioni a pagamento non desiderate Stefano Brocchi Il sistema operativo 15 / 70 Driver Grazie alla gestione centralizzata delle periferiche, un programma può funzionare anche senza conoscere il tipo di hardware presente Per la gestione delle componenti hardware, sono necessari dei programmi detti driver che si occupano di tradurre comandi in un linguaggio comprensibili alla periferica I processi comunicheranno la richiesta al sistema operativo che la tradurrà opportunamente al dispositivo Stefano Brocchi Il sistema operativo 16 / 70 Esempio driver: stampa Un esempio di uso di driver: un word processor richiede la stampa di un documento Il programma specifica solo il file da stampare, il sistema operativo apre una finestra dove si possono configurare le proprietà tramite il driver Stefano Brocchi Il sistema operativo 17 / 70 Driver e spooling Tramite driver è possibile inoltre la manipolazione in parallelo di risorse intrinsecamente non condivisibili Esempio: una stampante deve terminare la stampa di un documento prima di poterne stampare un altro Tramite un meccanismo detto spooling, il sistema operativo accoda correttamente le richieste arrivate in parallelo in modo che possano essere correttamente eseguite Stefano Brocchi Il sistema operativo 18 / 70 Gestione della memoria Un’importante funzione del sistema operativo è quello della gestione della memoria (centrale) Ad ogni processo viene associata una zona di memoria limitata, e gli viene proibito di manipolare il resto della RAM Si impedisce cosı̀ che un difetto in un processo alteri il funzionamento degli altri Ogni processo funziona cosı̀ indipendentemente dal contesto In caso di necessità, due processi si possono comunque ’accordare’ per condividere un’area di memoria Stefano Brocchi Il sistema operativo 19 / 70 Memoria virtuale Grazie alla gestione centralizzata della memoria, è possibile sfuttare degli artifici per disporne di maggiori quantità Nel caso la richiesta di memoria ecceda le dimensioni della memoria centrale, viene utilizzata parte del disco fisso per integrare la mancanza Questa memoria aggiuntiva viene detta virtuale, e l’operazione di scambio tra RAM e disco fisso swapping Stefano Brocchi Il sistema operativo 20 / 70 Politiche per la memoria virtuale Come scegliere quali porzioni di memoria tenere in memoria e quali su disco fisso ? Utilizzate politiche simili a quelle della cache In effetti, il meccanismo di paginazione virtuale è del tutto analogo a quello della cache, dove la RAM fa la parte della memoria veloce e il disco fisso di quella più lenta Opposte le motivazioni: invece di usare una memoria di supporto più veloce per ottimizzare le prestazioni, se ne usa una più lenta per aumentare la capacità Stefano Brocchi Il sistema operativo 21 / 70 Memoria virtuale: limitazioni Utilizzando tuttavia il disco fisso come memoria centrale, l’efficienza della macchina decade molto rapidamente Uno dei motivi di rallentamento quando troppe applicazioni vengono utilizzate contemporaneamente La memoria centrale, essendo ad accesso casuale, ha tempi di accesso uguali indipendentemente dal carico Per questo, la quantità di memoria virtuale impiegata è solitamente limitata ad una soglia massima Stefano Brocchi Il sistema operativo 22 / 70 Filesystem Il sistema operativo si occupa inoltre della gestione dei contenuti del disco fisso in una struttura logica facilmente gestibile detta filesystem Il filesystem può essere considerato un gestore della memoria di archivio I dati sono strutturati in unità logiche di base dette file Un file può rappresentare per esempio un’immagine, un programma, un documento... Stefano Brocchi Il sistema operativo 23 / 70 File Un file è formato da un nome ed un’estensione, separati da un punto Es. ding.wav è un file di nome ding e di estensione wav L’estensione serve ad identificare il tipo di file Es. I file .jpg sono immagini, i .mp3 sono file audio, i .pdf documenti . Per ogni file, nel filesystem è memorizzata la sua posizione su disco Stefano Brocchi Il sistema operativo 24 / 70 Tipi di file ed estensioni L’estensione del file definisce con che programma sarà aperto il file stesso Es. doc con editor di documenti, jpg con un visualizzatore di immagini Presente una scelta di default, utilizzata a meno che l’utente non specifichi diversamente Scelta di default modificabile dalle opzioni del file (menù apribile cliccando con il tasto destro sul file) Spesso, l’estensione dei file è nascosta dal sistema operativo, per impedirne la modifica Se l’estensione viene modificata, quando l’utente clicca sul file il sistema tenterebbe di aprirlo con un programma inappropriato Stefano Brocchi Il sistema operativo 25 / 70 File eseguibili Il tipo di file si vede anche dall’icona associata, corrispondente al programma con cui verrà aperto il file Eccezione: i programmi (file eseguibili) dispongono di un’icona propria Fare attenzione quando si clicca su di un file eseguibile, in quanto questo eseguirà un comportamente attivo Possibili azioni potenzialmente dannose sul sistema, o diffusione di programmi come virus o trojan Stefano Brocchi Il sistema operativo 26 / 70 File eseguibili I file eseguibili su windows hanno estensione .exe, anche se esistono altre estensioni meno diffuse di file eseguibili come .jar, .com, .bat, .msc Diffidare da file con questa estensione scaricati da Internet, specialmente se non si sta scaricando un programma Alcuni sistemi operativi più moderni avvisano l’utente prima di eseguire file scaricati dalla rete Stefano Brocchi Il sistema operativo 27 / 70 File: date memorizzate Il sistema operativo inoltre tiene traccia di tre momenti importanti di un file: Il tempo e la data di creazione Il tempo e la data dell’ultima modifica Il tempo e la data dell’ultimo accesso Utili sia come criteri di ricerca, sia per avere informazioni su di un file Es. quanto è recente questo documento ? Quando è stato aggiornato per l’ultima volta ? Stefano Brocchi Il sistema operativo 28 / 70 Cartelle I file sono raggruppati in gruppi logici detti cartelle Metafora che rispecchia un archivio cartaceo Una cartella può a sua volta contenere altre cartelle; si crea cosı̀ una struttura ad albero Stefano Brocchi Il sistema operativo 29 / 70 Radice Su windows, le radici del filesystem sono rappresentate dalle prime lettere dell’alfabeto seguite da ’:’, ed identificano il dispositivo di memoria di archivio dove si trova il file Un esempio verosimile: c: potrebbe essere il disco fisso, d: il lettore cd/dvd, e all’inserimento di una chiave USB comparirebbe il disco e: (a: e b: erano solitamente riservate per i floppy disk) Stefano Brocchi Il sistema operativo 30 / 70 Percorsi Un file è determinato da un percorso che ne identifica la posizione e dal suo nome Il formato del percorso (sempre su sistemi windows) è drive\cartella\cartella\...\nomefile Es. c:\windows\images\stripe.png è un file sul disco c: nella sottocartella images della cartella windows con nome stripe ed estensione png Il percorso, completo del nome del file, è univoco per ogni file: due file nella stessa cartella e con lo stesso nome (comprensivo di estensione) non possono coesistere Copiando un file in una cartella dove è presente un file omonimo, il sistema operativo chiede se si vuole sovrascrivere il vecchio file o copiare quello nuovo con un altro nome (es. aggiungendo ’- copia’ al nome del file) Stefano Brocchi Il sistema operativo 31 / 70 Collegamenti Per poter richiamare un file da una cartella diversa, si possono utilizzare i collegamenti Possibile creare un collegamento dal menù che compare cliccando con il pulsante destro su un file Questi file contengono semplicemente un percorso ad una cartella o a un file Possono essere utili per navigare il filesystem in modo comodo Esempio: le icone sul desktop sono solitamente dei collegamenti per avviare i vari programmi senza andarli a cercare nelle loro cartelle di installazione Stefano Brocchi Il sistema operativo 32 / 70 Gestione filesystem tramite GUI Vediamo come si può gestire un filesystem su windows tramite GUI Stefano Brocchi Il sistema operativo 33 / 70 Gestione più utenti Nei moderni sistemi operativi, è possibile dare accesso al sistema ad utenti diversi Per identificarsi all’avvio, ognuno potrà disporre di una sua password Le impostazioni del sistema sono personalizzate a seconda dell’utente Es. contenuto del desktop e dello sfondo, impostazioni dei programmi, sensibilità del mouse, ... Possibile imporre permessi limitati ai vari utenti, in modo che ognuno non possa cancellare o modificare file degli altri Si possono imporre altri vincoli di controllo, come limitare lo spazio occupabile da ognuno, impedire le modifiche di impostazioni di sistema, ecc... Stefano Brocchi Il sistema operativo 34 / 70 Utente amministratore Per la gestione dei vari utenti, è presente almeno un utente amministratore (detto a volte super utente) L’amministratore potrà creare o eliminare gli altri utenti, e manipolare tutti i file e le impostazioni di sistema Ogni programma avviato avrà gli stessi permessi dell’utente che lo ha avviato A volte può essere conveniente avviare i programmi in modalità non amministratore se si sospetta che il programma altrimenti possa causare problemi Stefano Brocchi Il sistema operativo 35 / 70 Utente amministratore Nei moderni sistemi operativi, spesso per modificare caratteristiche del sistema occorre avere permessi di amministratore Anche se si è amministratori, spesso il sistema chiede conferma all’utente quando un programma tenta di modificare il sistema Questo avviene tipicamente al momento di un’installazione Importante per la sicurezza: possibile bloccare programmi che cercano di modificare il sistema ma che non dovrebbero Stefano Brocchi Il sistema operativo 36 / 70 Windows Windows è probabilmente il sistema operativo più utilizzato nel mondo Programma proprietario della Microsoft, a pagamento Nel 1990 nasce Windows 3.0, contenente un’interfaccia che faceva da ponte tra l’utente e la vecchia console dei comandi Invece di scrivere comandi sulla console, l’utente poteva usufruire dell’interfaccia punta e clicca, e l’interfaccia grafica si occupava di creare il comando corrispondente Stefano Brocchi Il sistema operativo 37 / 70 Windows 95 Grandi evoluzioni arrivano nel 1995 con Windows 95 Nasce il supporto per nomi di file lunghi, prima limitati a 8 caratteri e 3 di estensione Anche altre funzionalità aggiunte, come la distinzione tra maiuscole e minuscole e la possibilità della presenza di spazi Parallelismo gestito in maniera migliore (possibilità di avviare più programmi contemporaneamente) Stefano Brocchi Il sistema operativo 38 / 70 Plug and Play Con Windows 95 nasce il Plug and Play, la possibilità di attaccare una periferica al sistema operativo e di farla funzionare automaticamente Realizzata tramite la presenza di una serie di driver comuni nel sistema operativo Richiesti comunque diversi anni prima che il meccanismo funzionasse in modo stabile Stefano Brocchi Il sistema operativo 39 / 70 Windows 98 - 8 Ulteriori evoluzioni vanno da Windows 98 all’ultimo Windows 8, passando per Windows 2000 e Windows XP Sviluppi sotto molteplici aspetti, dall’usabilità e l’aspetto grafico ad una più attenta gestione della sicurezza Esistono altre versioni per scopi specifici, come Windows Phone per dispositivi mobili o Windows Server per server web Molte versioni distribuite anche in modalità ’professional’, con funzionalità aggiuntive per quanto riguarda le reti, la gestione di più utenti o la configurazione del sistema Stefano Brocchi Il sistema operativo 40 / 70 Applicazioni incluse Insieme a Windows, distribuite diverse applicazioni in modo che il computer sia utilizzabile già dall’installazione del sistema operativo Esempi: software per word processing (Wordpad), calcolatrici, programmi base per la gestione di immagini (Paint) Anche se distribuiti con Windows, questi programmi non sono parte del sistema operativo vero e proprio Stefano Brocchi Il sistema operativo 41 / 70 Desktop All’avvio di Windows, compare il desktop (scrivania) Su di uno sfondo selezionabile, delle icone che consentono l’avvio di programmi Le icone sono dei collegamenti al programma, la loro presenza o rimozione non modifica l’installazione del programma Essendo lo spazio su desktop limitato, è consigliabile tenere solo le icone dei programmi usati più recentemente Le icone sono attivabili tramite due click ripetuti rapidamente (doppio click) Stefano Brocchi Il sistema operativo 42 / 70 Desktop: icone base Sul desktop di windows sono sempre presenti delle icone fondamentali per la manipolazione del sistema L’icona ’risorse del computer’ consente di navigare il filesystem per aprire qualsiasi file presente nella macchina ’Risorse del computer’ è la radice del filesystem, e contiene i dischi rigidi e le periferiche di memoria di massa (CD/DVD/memorie USB) L’icona ’cestino’ rappresenta una locazione dove vengono posizionati i file eliminati Stefano Brocchi Il sistema operativo 43 / 70 Cestino Nel momento dell’eliminazione di un file, Windows non elimina il file ma lo sposta in una cartella speciale detta ’Cestino’ Utile per recuperare file eliminato per errore: ogni file può essere ripristinato e tornare nella posizione originaria Quando lo spazio su disco si riempie, il sistema chiederà se si vuole procedere con lo svuotamento del cestino, creando spazio eliminando dei file di cui comunque era stata richiesta la cancellazione Stefano Brocchi Il sistema operativo 44 / 70 Icone e convenzioni Per le icone e gli altri elementi cliccabili esistono delle convenzioni standard Per avviare un’icone solitamente serve un doppio click, per qualsiasi altra interazione (pressione di un pulsante o di un menù) ne basterà uno Cliccando una volta su un’icona, questa verrà solo selezionata Con il tasto destro solitamente si apre un menù che specifica delle azioni alternative per l’elemento cliccato Su di un file, appaioni per esempio le opzioni ’Rinomina’, ’Cancella’, ’Taglia’, ’Copia’... Tenendo premuti i tasti Shift e Control, si possono selezionare più oggetti contemporaneamente Utile per eliminare o spostare gruppi di file Stefano Brocchi Il sistema operativo 45 / 70 Barra delle applicazioni: tasto start Windows dispone di una barra delle applicazioni tipicamente in fondo allo schermo In basso a sinistra, il tasto start, che attiva delle opzioni fondamentali del funzionamento del sistema Cliccandoci, appaiono una serie di menù che consentono l’avvio dei programmi e la gestione del sistema Le posizioni esatte dipendono dalla versione di windows e dalla configurazione del sistema Stefano Brocchi Il sistema operativo 46 / 70 Menù programmi Il menù dei programmi contiene una serie di collegamenti che avviano i vari programmi installati sul sistema Si può scegliere quali collegamenti tenere nel menù e quali no manipolando l’apposita cartella del filesystem Spesso il sistema mostra automaticamente solo i programmi più usati o aperti più recentemente, per una scelta più rapida Stefano Brocchi Il sistema operativo 47 / 70 Configurazione impostazioni Per manipolare la configurazione di sistema, esiste un pannello di controllo Da qua si possono modificare le impostazioni delle varie periferiche Es. la risoluzione dello schermo, lo sfondo, la sensibilità del mouse, la configurazione delle connessioni di rete, la creazione di nuovi utenti... Stefano Brocchi Il sistema operativo 48 / 70 Ricerca file L’opzione di ricerca dei file è utile per trovare file di cui non si conosce la posizione Opzioni specificabili nella ricerca: Nome del file o parte di esso Data di creazione o dell’ultima modifica Tipo di file La ricerca si può effettuare o su di un intero disco o in una cartella e nelle sue sottocartelle Stefano Brocchi Il sistema operativo 49 / 70 Opzione esegui L’opzione esegui permette di inviare comandi al sistema operativo in stile simile a come avveniva nei sistemi a comandi Esempio: notepad avvia il blocco note, cmd avvia la console dei comandi Utile per avviare un comando che magari non è presente nei vari menù Stefano Brocchi Il sistema operativo 50 / 70 Chiusura sessione Il menù di chiusura della sessione consente di spegnere il computer dopo la terminazione di tutti i programmi Si garantisce cosı̀ che tutti i vari dati siano stati salvati prima dello spegnimento Disponibili altre opzioni di tipo standby, che consentono uno spegnimento ’a metà’ Spesso, il computer viene lasciato acceso, ma lo schermo ed i dischi rigidi vengono spenti per risparmiare energia Utile per riiniziare ad usare il computer rapidamente, senza riavviare tutto il sistema Stefano Brocchi Il sistema operativo 51 / 70 Barra delle applicazioni Le icone accanto al pulsante start sono semplicemente dei collegamenti, tipicamente a programmi usati frequentemente La parte centrale della barra contiene le finestre attualmente aperte, che si possono portare in primo piano tramite un click Stefano Brocchi Il sistema operativo 52 / 70 Barra delle applicazioni Le icone sulla destra rappresentano programmi in esecuzione che non corrispondono a finestre attive Si trovano qua spesso programmi lanciati all’avvio del computer che devono restare sempre attivi, come antivirus o programmi per il controllo del volume A seconda del programma, cliccando sulla sua icona comparirà un diverso menù per interagirvi Nella parte più a destra, l’ora corrente, manipolabile (insieme alla data di sistema) cliccandoci sopra Stefano Brocchi Il sistema operativo 53 / 70 Finestre In Windows, ogni applicazione avviata dall’utente è tipicamente associata ad una finestra In ogni momento, una sola finestra è considerata attiva (questa è anche detta in primo piano o a fuoco) Una finestra attiva ha il titolo evidenziato, la zona corrispondente nella barra delle applicazioni è in evidenza La finestra attiva è quella che riceve l’input da tastiera Esempio: premendo un tasto quando ci sono due word processor aperti, il carattere comparirà in quello relativo alla finestra in primo piano Per portare in primo piano una delle finestre aperte, si può passare da una all’altra tramite i tasti Alt+Tab Con il tasto di Windows + D si visualizza il desktop, minimizzando tutte le finestre Stefano Brocchi Il sistema operativo 54 / 70 Finestre: manipolazione I tasti in alto a destra consentono la manipolazione della finestra Il tasto ’X’ chiude la finestra e l’applicazione Il tasto ’ ’ minimizza la finestra: questa diventa invisibile, si potrà riselezionare dalla barra delle applicazioni Il tasto centrale si alterna tra ’Massimizza’ (ingrandisci la finestra su tutto lo schermo) e riporta a dimensioni normali (inverso di massimizza) Le finestre si possono spostare trascinando la barra del titolo, o ridimensionare trascinando i bordi o l’angolo della finestra Stefano Brocchi Il sistema operativo 55 / 70 Clipboard La clipboard è una memoria temporanea del sistema operativo utilizzata per molteplici scopi Non corrisponde ad una componente fisica, ma è un’area della memoria centrale dedicata a questo scopo Può contenere dati di vario tipo, come testo, immagini o file Utilizzata nel copia e incolla: al momento della copia la parte selezionata viene copiata nella clipboard, e nel momento dell’incolla viene recuperata da questa zona di memoria Tasti rapidi per taglia, copia e incolla: Ctrl+X (taglia), Ctrl+C (copia), Ctrl+V (incolla) Stefano Brocchi Il sistema operativo 56 / 70 Clipboard (2) Essendo una memoria nel sistema operativo, la clipboard può essere utilizzata per spostare dati tra programmi diversi Un esempio: copiare una parte di una pagina web selezionata in un word processor Il meccanismo di copia e incolla viene spesso utilizzato anche per copiare e spostare file nel filesystem Si può inserire la schermata attualmente visualizzata nella clipboard tramite il tasto ’Stamp’ Potrà essere utilizzata in un programma di manipolazione di immagini come Paint o Photoshop Stefano Brocchi Il sistema operativo 57 / 70 Gestione processi Per vedere che processi sono in esecuzione e quante risorse occupino, esiste un monitor di sistema Programma lanciabile dal pannello di controllo, o dalla schermata ’di emergenza’ attivabile la combinazione di tasti Ctrl+Alt+Del Solitamente, il sistema risponde a questa combinazione di tasti anche se altrimenti bloccato Tramite il monitor si possono visualizzare i processi in esecuzione e la loro occupazione di memoria e CPU Stefano Brocchi Il sistema operativo 58 / 70 Gestione processi Molti processi sono sempre in esecuzione perché di supporto al sistema Es. per la gestione delle reti, delle stampanti o antivirus E’ possibile imporre la terminazione dei vari processi Agire con cautela: si rischia la perdita di dati non salvati o il malfunzionamento del sistema Utile per terminare processi che eccedendo nelle risorse utilizzate di fatto bloccano il sistema Stefano Brocchi Il sistema operativo 59 / 70 Avvio automatico dei processi All’avvio del sistema operativo, molti processi vengono avviati automaticamente Alcuni sono processi necessari al sistema, altri derivano da programmi che una volta installati si avviano ad ogni accensione Un numero eccessivo di processi rallenta l’avvio del computer ed occupa una grande quantità di memoria Esistono programmi per gestire cosa viene lanciato all’avvio Se Windows XP e Windows 7, è possibile utilizzare il comando ’msconfig’ Stefano Brocchi Il sistema operativo 60 / 70 Risoluzione problemi: blocco Supponiamo che il computer si blocchi, cioè non risponda più all’input dell’utente Come si può risolvere il problema alla luce delle conoscenze acquisite ? Il computer sta leggendo da disco fisso ? Segnalato dall’apposita spia sul case In questo caso, è più probabile che la macchina stia caricando qualcosa, e che si sbloccherà con il tempo Se ci sono molti programmi in memoria, è possibile che la causa sia l’uso eccessivo di memoria virtuale Stefano Brocchi Il sistema operativo 61 / 70 Risoluzione problemi: blocco (2) Si possono controllare i processi in esecuzione tramite il monitor di sistema C’è qualche programma che sta utilizzando buona parte della CPU ? Se sı̀, potrebbe essere responsabile del blocco Possibile forzare la terminazione Attenzione: i dati non salvati del programma andranno persi Se i soliti programmi continuano a bloccare il computer, se ne potrebbe cercare una versione più nuova e più stabile, oppure cercare del software alternativo Visibile anche l’occupazione di memoria dei programmi, utile nel caso in cui il problema può essere causato dall’uso eccessivo di memoria virtuale Se ad occupare la CPU è un programma sconosciuto, nel caso peggiore potrebbe trattarsi di un virus o un trojan Stefano Brocchi Il sistema operativo 62 / 70 Risoluzione problemi: prestazioni lente Come si può affrontare invece un calo drastico delle prestazioni della macchina ? Se il computer rallenta molto passando da una finestra all’altra, il problema potrebbe essere causato dallo swapping: può essere necessario aprire meno applicazioni contemporaneamente Controllare se le applicazioni lanciate all’avvio siano effettivamente tutte necessarie Soluzione hardware: incrementare la memoria centrale della macchina Se il computer richiede molto tempo all’accensione, potrebbero essere avviati molti processi all’avvio Di nuovo, rimuovere i programmi non necessari dall’avvio automatico Soluzione hardware: utilizzare un disco fisso più veloce, magari con tecnologia SSD Anche nel caso di basse prestazioni, può essere utile controllare il sistema con un antivirus Stefano Brocchi Il sistema operativo 63 / 70 Linux La principale alternativa a sistemi Windows sono i sistemi operativi Linux Sistema operativo nato nel 91, scritto da Linux Torvald Gratis e open source: chiunque può vedere il programma che realizza il sistema Adottata (e creata) la filosofia del software libero Stefano Brocchi Il sistema operativo 64 / 70 Linux come sistema open source Dal momento che ognuno può vedere e modificare il codice, qualunque programmatore può scrivere una componente del sistema operativo Il sistema operativo è realizzato da tante piccole parti create da persone diverse Inoltre, con questo metodo chiunque può rilevare problemi di sicurezza o stabilità Spesso, il sistema è considerato più solido di Windows, e per questo viene spesso utilizzato nei server web Stefano Brocchi Il sistema operativo 65 / 70 Confronto con Windows Vediamo vantaggi e svantaggi di usare un sistema Linux: Minore facilità di utilizzo, soprattutto per non addetti ai lavori In molte versioni di Linux, la differenza di usabilità si sta rapidamente assottigliando Una delle versioni più orientate all’usabilità è Ubuntu Maggiore sicurezza, grazie al codice aperto Quasi inesistenti virus che funzionano su Linux Stefano Brocchi Il sistema operativo 66 / 70 Confronto con Windows (2) Diverse compatibilità con i programmi: programmi creati per Windows non funzioneranno su Linux e viceversa Alcuni programmi sono disponibili in entrambe le versioni; molti software commerciali sono sviluppati tuttavia principalmente su Windows, in modo da garantire un bacino d’utenza più grande I sistemi Linux, grazie alla loro modularità, possono occupare meno risorse ed essere più veloci Linux è gratuito Stefano Brocchi Il sistema operativo 67 / 70 Altri sistemi operativi Un altro sistema operativo comune è quello per Macintosh, detto prima Mac OSX poi OSX Creato specificatamente per un tipo di computer, il Mac Esistenti versioni per dispositivi portatili (iPhone, iPad), detti iOS (IPhone Operative System) Molte componenti costruite in modo simile a sistemi Linux Grande differenza: il sistema è di nuovo (in parte) chiuso, similarmente a Windows Stefano Brocchi Il sistema operativo 68 / 70 Domande da esame Quali sono le principali funzionalità del sistema operativo ? Come vengono gestiti i processi in un sistema operativo moderno ? Come interagiscono con il sistema operativo e con l’hardware della macchina ? Cosa è la memoria virtuale, e quando viene utilizzata ? Quali sono i suoi vantaggi e svantaggi ? Come sono organizzati i dati del computer all’interno del filesystem ? Come si distinguono i tipi di file ? Stefano Brocchi Il sistema operativo 69 / 70 Domande da esame (2) Quali sono le caratteristiche principali dei sistemi Windows ? Come si possono gestire e manipolare le finestre aperte ? Come si possono visualizzare e gestire i processi in esecuzione ? Se il sistema rallenta o si blocca, come si può cercare di capire la causa e risolverla ? Cosa è la clipboard e come si può utilizzare ? Quali sono le differenze con un sistema Linux ? Quali vantaggi e svantaggi ci sono nell’utilizzare Windows o Linux ? Stefano Brocchi Il sistema operativo 70 / 70