IL SISTEMA OPERATIVO IL COMPUTER E COMPOSTO DA

  • Slides: 22
Download presentation
IL SISTEMA OPERATIVO IL COMPUTER E’ COMPOSTO DA HARDWARE E SOFTWARE: • con hardware

IL SISTEMA OPERATIVO IL COMPUTER E’ COMPOSTO DA HARDWARE E SOFTWARE: • con hardware si intende qualsiasi componente fisico di una periferica o di un’apparecchiatura elettronica • con software si intende un insieme di programmi in grado di funzionare su un computer o elaboratore IL SOFTWARE, A SUA VOLTA, SI DIVIDE IN: • software di base, o di sistema, si intendono tutti i programmi basilari per il funzionamento dell’elaboratore, in quanto coordina il collegamento tra le varie componenti del computer • Il software applicativo, invece, è composto da tutti i programmi che risolvono i problemi specifici dell’utente, rispondendo ad esigenze di varia natura: • elaborazione di testi: scrittura, controllo ortografico, stampa ecc. ; • foglio elettronico (spreadsheet): calcoli, grafici, statistiche; • gestione di basi di dati: organizzazione dei dati; • disegno: gestione di immagini, ritocco fotografico, grafica; • gestione audio: creazione di suoni, registrazione ecc. ; • animazione video: creazione o modifica di filmati; • programmazione: linguaggio C, Java, Html ecc. PROF. GRISOLIA 1

IL SISTEMA OPERATIVO DEFINIZIONE: • insieme dei programmi del software di base per gestire

IL SISTEMA OPERATIVO DEFINIZIONE: • insieme dei programmi del software di base per gestire i dispositivi dell’elaboratore • RICONOSCIMENTO DEI DISPOSITIVI: • Plug & play – riconosce, automaticamente, qualsiasi dispositivo collegato al computer • Device driver – per riconoscere il dispositivo è necessario il software di installazione 2

IL SISTEMA OPERATIVO FUNZIONI: • facilitare l’uso delle risorse (sia hardware che software) •

IL SISTEMA OPERATIVO FUNZIONI: • facilitare l’uso delle risorse (sia hardware che software) • interfaccia: • testuale, tipica dei sistemi operativi MS-DOS, LINUX e UNIX • grafica (GUI – Graphical User Interface) tipica dei sistemi Windows e Mac 3

IL SISTEMA OPERATIVO ALLOCAZIONE: il S. O. viene installato (allocato) all’interno del disco rigido

IL SISTEMA OPERATIVO ALLOCAZIONE: il S. O. viene installato (allocato) all’interno del disco rigido (HD) nella Partizione Primaria, è bene suddividere il disco rigido in partizioni primarie e secondarie, logiche o estese (queste ultime da utilizzare per conservare programmi e dati; in quanto se dovessimo formattare il nostro disco questa partizione verrebbe preservata) Per installare più sistemi operativi sullo stesso disco dobbiamo creare più partizioni primarie Programmi per creare partizioni: 4

IL SISTEMA OPERATIVO TIPI: Proprietari: o chiusi sono Windows, che appartiene a Microsoft, e

IL SISTEMA OPERATIVO TIPI: Proprietari: o chiusi sono Windows, che appartiene a Microsoft, e osx, che appartiene ad Apple ed è il sistema operativo di Mac Aperti: sono sistemi operativi che non sono proprietari di alcuna azienda specifica e i cui sorgenti, quindi, sono pubblici e utilizzabili da chiunque per farsi il proprio personale sistema operativo ad esempio Linux il più conosciuto, nonché altri. React. OS Syllable Kolibri. OS Haiku Plan 9 AROS Aranym Free. DOS Visopsys 5

IL SISTEMA OPERATIVO L'attitudine di un sistema operativo a essere eseguito su macchine diverse

IL SISTEMA OPERATIVO L'attitudine di un sistema operativo a essere eseguito su macchine diverse definisce il grado di portabilità. LA MACCHINA VIRTUALE – il modello a buccia di cipolla (onion skin): Il modello "onion skin" (buccia di cipolla) rappresenta il sistema come una successione di strati costruiti sopra la macchina hardware, ciascuno dei quali rappresenta un livello di macchina virtuale. Secondo il suddetto modello, nel sistema operativo si distinguono i seguenti moduli dal livello più basso al più alto IL NUCLEO In informatica, il nucleo detto anche kernel, è la parte di un sistema operativo più vicina alla macchina (a fianco: Struttura a buccia di cipolla). Si tratta di un software che ha il compito di fornire ai processi in esecuzione, un accesso sicuro e controllato all'hardware. 7

IL SISTEMA OPERATIVO IL NUCLEO – La gestione dei Processi Differenza tra processo e

IL SISTEMA OPERATIVO IL NUCLEO – La gestione dei Processi Differenza tra processo e programma Programma: entità passiva che descrive le azioni da compiere Processo: entità attiva che rappresenta l’esecuzione di tali azioni I processi possono essere trovarsi nei seguenti stati: - Parcheggio (deve essere trasferito dalla memoria di massa in memoria centrale) - Pronto (è in memoria centrale ed attende che la CPU sia libera per elaborarlo) - Attesa* (è stato eseguito una prima volta, attende che la CPU sia di nuovo disponibile per l'ulteriore esecuzione) - In esecuzione (la CPU esegue le istruzioni del programma) - Attesa* - un processo è in attesa perché aspetta che una risorsa di Input o Ouput sia libera per occuparla (ad esempio stampare un documento e la stampante è occupata da un altro processo; oppure perché è terminato il TIME-SLICE, tempo massimo che la CPU dedica ad ogni processo 8

IL SISTEMA OPERATIVO LA MACCHINA VIRTUALE – il modello a buccia di cipolla (onion

IL SISTEMA OPERATIVO LA MACCHINA VIRTUALE – il modello a buccia di cipolla (onion skin): LA GESTIONE DELLA MEMORIA CENTRALE – Le Partizioni La memoria centrale è divisa, logicamente, in due parti: ROM (Read Only Memory) e RAM (Random Access Memory) La memoria RAM è suddivisa in locazioni o indirizzi, ciascuno dei quali può contenere un’istruzione in linguaggio macchina, una parte di essi è occupata dal codice del sistema operativo (detta SUPERVISORE) la parte rimanente è destinata ai processi degli utenti (detta UTENTE) – rapporto non superiore al 10/15% La memoria centrale può essere gestita attraverso delle tecniche quali le Partizioni. Metodo a partizioni fisse: la memoria centrale è frammentata in blocchi di differenti dimensioni. I programmi che risiedono in memoria devono corrispondere al numero di partizioni fisse. Svantaggi: · Il numero massimo di processi che possono essere allocati in memoria è prefissato · Si ha uno spreco di memoria perché un programma di solito ha dimensioni minori di quelle della partizione e lo spazio avanzato non può però essere utilizzata da un altro programma · Il programma può essere di dimensioni maggiori della partizione, non eseguibile 9

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – Le Partizioni Metodo a partizioni

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – Le Partizioni Metodo a partizioni variabili: Con il metodo a partizioni variabili queste vengono create in funzione delle dimensioni del programma. Svantaggi: · Il carico di lavoro svolto dal sistema operativo è maggiore (System overhead) Vantaggi: · Non c’è un numero fisso di partizioni · Ogni partizione ha dimensioni uguali al programma. Dunque non c’è uno spreco di memoria. ALGORITMI PER GESTIRE LA PARTIZIONI - First Fit (la prima partizione libera in grado di contenere il processo viene occupata - Best Fit (la migliore partizione libera viene occupata) La seconda da preferire alla prima, tenendo conto del System overhead) 10

IL SISTEMA OPERATIVO Nel caso di programmi di dimensioni uguali a quelle della memoria

IL SISTEMA OPERATIVO Nel caso di programmi di dimensioni uguali a quelle della memoria centrale la loro allocazione sarebbe problematica e in caso di programmi di dimensioni superiori non sarebbe possibile. Per questo motivo si possono utilizzare due diverse tecniche di suddivisione dei programmi in blocchi: la paginazione e la segmentazione. LA GESTIONE DELLA MEMORIA CENTRALE – La Paginazione Ogni programma (in memoria di massa) viene diviso in blocchi di eguali dimensioni detti pagine logiche, analogamente la memoria centrale viene divisa in pagine fisiche di dimensioni uguali alle pagine logiche. Ad ogni pagina logica deve corrispondere una pagina fisica. Per ogni pagina fisica occorre sapere: · se è libera o occupata · se è occupata quale parte del programma occupa la pagina Per gestire tale tecnica (paginazione) si utilizza una tabella che contiene: · gli indirizzi reali o assoluti delle pagine in memoria centrale · la corrispondenza tra l'indirizzo della pagina logica (indirizzo logico) e della pagina fisica (indirizzo reale o assoluto) Algoritmi utilizzati per sostituire la pagine logiche e fisiche (Swapping) - F. I. F. O. (First In First Out – la prima ad essere carica sarà la prima sostuita) - LSU (Last Recently Used – quella inutilizzata da più tempo) 11

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Paginazione Memoria di massa

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Paginazione Memoria di massa = pagine logiche; Memoria centrale = pagine fisiche La memoria centrale (RAM) è molto più piccola rispetto a quella di massa (HDD) RAM 1 2 3 4 5 6 13 14 15 16 17 18 7 8 9 10 11 12 DISCO RIGIDO Pagine fisiche 1 2 7 8 3 4 5 Pagine logiche 6 DAT N N Dynamic Address Transaltor Traduttore automatico degli indirizzi – associa le pagine logiche con quelle fisiche 12

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Segmentazione Questa tecnica di

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Segmentazione Questa tecnica di gestione suddivide la memoria disponibile in blocchi di lunghezza fissa o variabile detti segmenti. Un programma può essere diviso in 2 o più segmenti di cui uno principale (Main) che risiede sempre in memoria centrale e gli altri secondari (slaves) che vengono caricati di volta in volta dalla memoria di massa in quella centrale. La segmentazione aumenta l’efficienza e il risparmio della memoria e un risparmio del tempo di gestione della memoria ma comporta anche due conseguenze negative cioè la frammentazione della memoria e la diminuzione della semplicità del sistema operativo. Per ogni segmento dei programmi da eseguire occorre sapere: · se è presente in memoria · qual è l’indirizzo dove inizia · dove si trova sul disco · le sue dimensioni La tabella per gestire tutte le suddette funzioni è molto più complessa rispetto a quella della paginazione, ciò comporta un aumento del lato Supervisore rispetto al lato Utente – System overhead 13

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Segmentazione Con questo metodo

IL SISTEMA OPERATIVO LA GESTIONE DELLA MEMORIA CENTRALE – La Segmentazione Con questo metodo in memoria centrale sarà presente sempre il segmento principale (main) e gli altri segmenti (slaves) verranno caricati dalla memoria di massa in quella centrale in funzione dello spazio disponibile in quest'ultima. Ad esempio Main e Slave 1, scarica Slave 1 e carica Slave 2, e così via fino al termine del processo da eleaborare MEMORIA DI MASSA MEMORIA CENTRALE Main Slave 2 Slave 3 Main 1) Slave 1 Main 2) Slave 2 Slave 3 Slave 1 Slave 2 14

IL SISTEMA OPERATIVO LA GESTIONE DELLE PERIFERICHE La periferica è un componente hardware di

IL SISTEMA OPERATIVO LA GESTIONE DELLE PERIFERICHE La periferica è un componente hardware di input/output del computer. Essa può essere parte o meno del case che contiene la CPU. La periferica è collegata con gli altri componenti hardware del computer via cavo o via radio ed è controllata dal sistema operativo attraverso un driver. La prima volta che si collega una periferica al PC, bisogna in generale seguire alcuni passi per l'installazione. Il CD spesso è autoinstallante, ossia dispone di una funzione, detta di autorun, disattivabile, per cui appena inserito avvia la procedura di installazione. Per le periferiche con collegamento USB, invece, non è necessariamente richiesto un CD di installazione. I driver sono presenti in una memoria della periferica e scaricati tramite il cavo USB. Fino a Windows '98, anche per queste periferiche doveva essere installato un CD. Il CD-Rom di installazione contiene i driver della periferica, scaricabili gratuitamente dal sito del produttore, con i relativi aggiornamenti. 15

IL SISTEMA OPERATIVO IL FILE SYSTEM Il file system provvede alla virtualizzazione delle memorie

IL SISTEMA OPERATIVO IL FILE SYSTEM Il file system provvede alla virtualizzazione delle memorie di massa (identificandole con delel lettere A, C, F, ecc. ) e genera una macchina costituita da una pluralità di dispositivi indipendenti l'uno dall'altro. Tutto ciò che viene registrato su memorie di massa prende il nome di file: testo, programma, comando, routine, dati, immagine, filmato, suono. Esistono molti tipi di file system, creati per diversi sistemi operativi, per diverse unità di memorizzazione e per diversi usi. Si possono identificare due grandi classi di file system: per unità locali, destinate ad organizzare fisicamente i dati su un disco oppure file system distribuiti, nati per condividere i dati fra più computer collegati attraverso una rete, superando le differenze fra sistemi operativi e file system locali delle varie macchine. Le principali funzioni sono: la gestione ottimale dello spazio della memoria di massa (MM) per le eventuali richieste effettuate da parte dell’utente; assicurare all’utente un accesso rapido ai dati presenti in un file, anche quando esso viene richiesto simultaneamente da più utenti; garantire un accesso limitato verso alcuni file, con meccanismi di protezione, diretti a evitare interventi dannosi o non autorizzati; rendere semplici le modifiche solitamente richieste sui file. 16

IL SISTEMA OPERATIVO IL FILE SYSTEM Per gestire i files il sistema operativo utilizza

IL SISTEMA OPERATIVO IL FILE SYSTEM Per gestire i files il sistema operativo utilizza la VTOC (Volume Table Of Contents – tabella dei contenuti) conosciuta col nome di DIRETTORIO; questo contiene tutte le informazioni per ogni singolo file: nome, dimensione, data e ora di creazione, tipo di organizzazione, tipo di attributo (sola lettura – protetto – di sistema – nascosto), coordinate fisiche del volume (Cilindro, traccia e settore) di dove è memorizzato, ecc. Questo viene caricato in Memoria centrale e contiene le informazioni inerenti i files presenti su un supporto (Volume). È evidente che più sono i files più questa Tabella occupa spazio. Per evitare di sprecare spazio in memoria centrale tale Direttorio è stato diviso in due parti: - Simbolico (contiene solo il nome del file + le coordinate fisiche – chiamate ID) - di Base, contiene, oltre all’ID, tutte le altre informazioni. Quello Simbolico è sempre presente in Memoria centrale, quello di Base viene caricato solo quando si utilizza il file e, al termine delle operazioni, viene riportato in memoria di massa 17

IL SISTEMA OPERATIVO IL FILE SYSTEM - Simbolico (contiene solo il nome del file

IL SISTEMA OPERATIVO IL FILE SYSTEM - Simbolico (contiene solo il nome del file + le coordinate fisiche – chiamate ID) ed è sempre presente in Memoria centrale - di Base, contiene, oltre all’ID, tutte le altre informazioni e viene caricato di volta in Memoria centrale. MEMORIA DI MASSA MEMORIA CENTRALE Utente Super visore di Base F 1 Simbolico F 1 F 2 F 3 F 4 F 5 F 6 Simbolico 18

IL SISTEMA OPERATIVO L'INTERPRETE DEI COMANDI L’interprete dei comandi rappresenta lo strato superiore del

IL SISTEMA OPERATIVO L'INTERPRETE DEI COMANDI L’interprete dei comandi rappresenta lo strato superiore del sistema operativo, responsabile di ricevere ed interpretare i comandi formulati dall’utente; queste istruzioni richiamano funzioni del sistema operativo o mandano in esecuzione programmi dell’utente o di sistema. In definitiva l’interprete dei comandi si occupa di ricavare, dai comandi forniti dall’utente, le effettive richieste da inviare ai moduli sottostanti. Nei sistemi ad interfaccia grafica (GUI), l’utente è aiutato nel colloquio con l’elaboratore grazie al fatto che i comandi sono comunicati o utilizzando semplici menù a tendina o attraverso la selezione, tramite mouse, di disegni che simboleggiano l’operazione richiesta detti icone. Quando è invece presente una interfaccia testuale, il dialogo tra utente e macchina è più faticoso: l’utente deve infatti conoscere un linguaggio elementare, dotato di propria grammatica e sintassi, per poter impartire ordini all’elaboratore. 19

IL SISTEMA OPERATIVO – Open source (Linux) Linux è una famiglia di sistemi operativi

IL SISTEMA OPERATIVO – Open source (Linux) Linux è una famiglia di sistemi operativi di tipo Unix-like, rilasciati sotto varie possibili distribuzioni, aventi la caratteristica comune di utilizzare come nucleo il kernel Linux. Molte importanti società come: IBM, Sun Microsystems, Hewlett-Packard, Red Hat, Canonical e Novell hanno infatti sviluppato e rilasciato, e continuano a farlo, sistemi Linux. Grazie alla portabilità del kernel Linux sono stati sviluppati sistemi operativi Linux per un'ampia gamma di computer, dai personal computer, ai cellulari, dai tablet computer e console, ai mainframe e ai supercomputer ed esistono sistemi Linux installabili anche come server. Il kernel Linux vede la luce nell'agosto 1991 grazie al giovane studente finlandese Linus Torvalds. Nel 1996 fu scelto come logo ufficiale di Linux un pinguino disegnato da Larry Ewing e ad esso venne dato il nome di Tux come abbreviazione di Torvalds Unix; altre fonti sostengono si tratti dell'abbreviazione di tuxedo, termine statunitense che indica lo smoking. Il kernel Linux è stato rilasciato sotto la libera licenza GNU GPL, non esiste un'unica versione di Linux ma esistono diverse distribuzioni (chiamate anche distro), esistono distribuzioni eseguibili direttamente da CD senza che sia richiesta l'installazione sul proprio hard disk, come Knoppix e derivate: sono chiamate distribuzioni live o desktop CD. Per altre ancora si può effettuare l'installazione dalla penna USB. 20

IL SISTEMA OPERATIVO – Open source (Linux) Distribuzioni più diffuse Android - È una

IL SISTEMA OPERATIVO – Open source (Linux) Distribuzioni più diffuse Android - È una distribuzione per dispositivi mobili (principalmente touch screen) nel 2005 acquistata dalla Google Inc. che la supporta tuttora. Arch Linux - È leggera, veloce, estremamente scalabile e adattabile alle proprie esigenze. Ottimizzata per. X 86 -64. Cent. OS - È usata per lo più in ambito server. Debian - Offre un ottimo sistema di gestione dei pacchetti software (in formato deb), compilati per 11 architetture differenti. Viene definita per questo "il sistema operativo universale". Ha un'installazione disponibile sia in modalità testuale che grafica. Fedora - Distribuzione non commerciale sponsorizzata da Red Hat. Piuttosto curata nell'aspetto, viene aggiornata frequentemente con le ultime novità. Knoppix - La distribuzione live CD più famosa. Deriva da Debian. Molto indicata per i principianti, permette di avere un sistema completo avviabile direttamente da CD-ROM o DVD che permette, tra i vari usi, l'utilizzo dimostrativo, come tool di diagnostica, come test di compatibilità hardware, ecc. Presenta alcune varianti come Eduknoppix. Linspire - Era un distribuzione commerciale derivata da Debian che puntava alla facilità d'installazione e d'utilizzo anche da parte di principianti. 21

IL SISTEMA OPERATIVO – Open source (Linux) Mandriva - È una tra le distribuzioni

IL SISTEMA OPERATIVO – Open source (Linux) Mandriva - È una tra le distribuzioni più diffuse e maggiormente orientate all'utente desktop. È distribuita sia in forma gratuita che come prodotto commerciale. Mint - Derivata da Ubuntu, comprende alcuni software personalizzati per installazione e gestione, un menù principale che richiama quello di Windows Vista, e comprende codec multimediali preinstallati per DVD, MP 3 ecc. Puppy - Distribuzione molto leggera, disponibile in versione Live cd, ed adatta a pc poco potenti o datati, occupa poche risorse e spazio su disco. Se la quantità di RAM è sufficiente (256 MB o più), può girare integralmente in memoria. Red Hat Linux Enterprise - È la distribuzione commerciale più diffusa. Slackware - Viene spesso definita come la distribuzione più "pura" dal punto di vista degli standard GNU Linux. Possiede un sistema di gestione dei pacchetti molto rigido con una relativa scarsità di software precompilato. Su. SE - Celebre distribuzione europea, molto usata a livello aziendale, ma rivolta anche all'utente Desktop. Ubuntu - Distribuzione derivata da Debian, è salita alla ribalta per la facilità d'installazione e d'utilizzo e per la disponibilità di frequenti aggiornamenti della versione stabile. Secondo una statistica relativa al mese di Dicembre 2011 risultava la distribuzione più diffusa. 22

IL SISTEMA OPERATIVO – La memoria ROM (Read Only Memory) è una componente di

IL SISTEMA OPERATIVO – La memoria ROM (Read Only Memory) è una componente di sola lettura. Conserva le informazioni hardware e software dell’elaboratore, al fine di evitare di caricarle ogni volta. Tra i vari algoritmi presenti ne ricordiamo due: • il BOOTSTRAP (controlla che tutte le periferiche hardware siano collegate in modo corretto); • l’IPL (Initial Program Loader) con la funzione di caricare il sistema operativo dalla memoria di massa in memoria centrale (parte Supervisore). La memoria CACHE (Tampone) è una componente che si frappone tra la CPU (che è velocissima) e la memoria centrale (abbastanza veloce) al fine di non rallentare le operazioni della CPU. 23