La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;

Presentazioni simili


Presentazione sul tema: "SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;"— Transcript della presentazione:

1 SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente; in altre parole ha un ruolo di interfaccia tra utente e macchina HARDWARE PROGRAMMI APPLICATIVI UTENTI S.O.

2 Poiché alcuni programmi dei s.o. interagiscono con le componenti hardware, essi devono conoscerne le caratteristiche per poterle adoperare; in realtà il s.o. deve poter essere ampliato successivamente, ogni volta che si deve inserire nel sistema un nuovo componente hardware. Plug and play (inserisci ed usa) è la tecnologia con la quale sono realizzati i dispositivi in grado di farsi riconoscere, ovvero di far istallare al s.o. i driver necessari al loro corretto utilizzo Standard di compatibilità -CPU compatibili INTEL -Stampanti compatibili EPSON o HP -Ecc.

3 Il s.o. ha una struttura gerarchica e modulare i programmi che appartengono ad un unico livello si chiamano moduli, le procedure per dialogare tra moduli si chiamano primitive i programmi che lo compongono si collocano a livelli diversi, in modo da servire i programmi dei livelli superiori e di servirsi di quelli di livello inferiore

4 Lutente in realtà interagisce con una macchina virtuale, di più semplice utilizzo, formata dallhardware + il s.o. nucleo gestione della memoria interprete dei comandi file system gestione delle periferiche Modello onion skin (a buccia di cipolla)

5 1. SISTEMA MONOPROGRAMMATO Quando la sua memoria centrale contiene in un certo istante codice proveniente da un unico programma. Possibili alti tempi di inattività della CPU CLASSIFICAZIONE DEI S.O. IN RELAZIONE ALLA POSSIBILITA DI ESEGUIRE UNO O PIU PROGRAMMI CONTEMPORANEAMENTE Tempoutente Temposistema Tempoinattivo

6 2. SISTEMA MULTIPROGRAMMATO È un s.o. che consente di tenere in memoria centrale codice proveniente da più programmi, portati avanti contemporaneamente; lobiettivo è quello di ridurre i tempi di inattività della CPU, soddisfacendo più rapidamente le esigenze degli utenti finali politiche di assegnazione della CPU meccanismi di protezione tra i diversi programmi risoluzione di eventuali conflitti per lutilizzo di una risorsa system overhead ovvero carico di lavoro in più per il s.o. 3. SISTEMA IN TIME SHARING (a partizione di tempo) È un s.o. multiprogrammato nel quale ciascun processo attivo non può utilizzare la CPU oltre un tempo massimo prefissato detto time slice (fetta o quanto di tempo)

7 1. SISTEMA DEDICATO E il sistema che prevede lutilizzo da parte di un unico utente; è il caso dei personal computer CLASSIFICAZIONE DEI S.O. IN RELAZIONE AGLI UTENTI MS DOS (fino agli anni 90) Windows Linux I sistemi dedicati moderni consentono il multitasking ovvero un tipo particolare di multiprogrammazione che consente di eseguire più applicazioni (task), a volte alcune in background (attività come ascolto di musica, trasferimento di file attraverso internet, ecc)

8 2. SISTEMA BATCH (A LOTTI ) È un s.o. in cui lutente non interagisce con la macchina durante lesecuzione dei programmi; usato laddove occorre eseguire programmi lunghi che non necessitano di input delloperatore (es. la stampa degli estratti conto di una banca a fine mese, la stampa delle bollette della luce, ecc) Oggi è difficile trovare elaboratori che lavorino soltanto in modalità batch, piuttosto in modalità mista, lasciando che il lavoro batch venga svolto a volte fuori dallorario di lavoro (es. di notte) 3. SISTEMA INTERATTIVO MULTIUTENTE È il s.o. usato laddove ad un elaboratore sono collegati tanti terminali (video- tastiera); la CPU deve avere una grande velocità (MIPS – milioni di istruzioni per secondo) e la memoria centrale deve avere una considerevole dimensione

9 CPU ACTIVITY (attività della CPU) = (tempoutente + temposistema) * 100 / tempototale THROUGHPUT (produttività) = tempoutente / tempototale

10 È uninsieme di istruzioni, ovvero la traduzione di un algoritmo in un linguaggio di programmazione È linsieme di istruzioni e dati coinvolti, ovvero è un programma in esecuzione, cioè qualcosa che evolve nel tempo È il dispositivo che causa levolvere di un processo

11 In un s.o. multiprogrammato che lavora in modalità time sharing in un certo istante possiamo avere una situazione come quella rappresentata nella figura memoria centrale memoria di massa Processo in esecuzione P1 P3P2 P6P7 P4P5 Processi pronti Processi in attesa di I/O Processi parcheggiati

12 Vediamo come avviene la transizione di stato dei processi stato di parcheggio stato di esecuzione stato di pronto stato di terminazione stato di attesa fine I/O richiesta operazione di I/O scadenza time slice I/O terminato

13 INTERRUPT (interruzioni): è un segnale inviato alla CPU che le segnala che è accaduto qualcosa e che deve interrompere momentaneamente la sua attività per eseguire un compito particolare sincrone, ad es. in caso di errore, fine del time slice asincrone, generate solo dallhardware, come la fine di una stampa o di scrittura su disco

14 Quando un processo viene interrotto e di conseguenza cambia il suo stato, prima di poter eseguire un altro processo il s.o. deve salvare tutte le informazioni relative al processo che viene sospeso, in particolare il contenuto del suo registro di stato, che contiene tra laltro lindirizzo dellistruzione da cui dovrà riprendere il processo; quindi dovrà caricare le informazioni relative al nuovo processo che deve essere ripreso (il suo registro di stato), e finalmente riprendere il nuovo processo

15 È la parte del s.o. più vicino allhardware. Le sue funzioni sono: avvio e terminazione dei processi assegnazione della CPU ai vari processi (politiche di scheduling) sincronizzazione tra i processi sincronizzazione dei processi con lambiente esterno

16 semplice modalità f.i.f.o. (first in, first out): a ciascun processo viene assegnata la CPU, solo quando è in attesa di operazioni di I/O cede la CPU al successivo processo in coda (gestione semplice, ma non ottimizzata) round robin con modalità f.i.f.o. (first in, first out): a ciascun processo viene assegnata la CPU per un intervallo di tempo, terminato il quale il processo va in fondo nella coda dei pronti e riattende il proprio turno round robin con code di priorità: i processi in attesa vengono collocati su code a priorità differenti, privilegiando la coda a priorità alta

17 1.allocazione per partizioni fisse: la memoria centrale è divisa in blocchi (partizioni ) di uguali dimensioni; molto semplice ma con spreco di memoria s.o. LIBERO BO B2 B1 B3 B4 P1 P3 P2 MEMORIA CENTRALE 1P1 2P3 3P2 4 TABELLA DI GESTIONE BLOCCHIPROGRAMMI

18 2.allocazione per partizioni variabili: i programmi vengono caricati allinizio in sequenza, quindi laddove cè uno spazio libero sufficiente; la tabella di gestione è più complessa, deve contenere anche la dimensione, quindi cè un maggior carico di lavoro da parte del s.o., ma lo sfruttamento della risorsa è migliore ci sono svariati criteri per decidere dove allocare un processo in memoria: First fit : il processo viene allocato nella prima partizione libera adeguata per dimensione Best fit : il processo viene allocato nella partizione libera più adeguata per dimensione, ovvero quella che lascia il più piccolo spazio inutilizzato Worst fit : il processo viene allocato nella partizione libera più grande, quella cioè che lascia uno spazio inutilizzato capace in seguito anche di contenere un altro processo

19 Con questa tecnica il sistema simula una memoria centrale più grande di quella reale unendo due componenti: la memoria centrale e la memoria di massa; quando non cè memoria sufficiente per caricare un programma in memoria centrale, questo viene diviso in parti, e viene caricata in memoria centrale una parte per volta. Si realizza con due differenti tecniche, la paginazione e la segmentazione

20 1.LA PAGINAZIONE Ogni programma è suddiviso in blocchi detti pagine logiche tutti della stessa dimensione, e la memoria centrale in blocchi della medesima dimensione detti pagine fisiche; la tabella di gestione della memoria è più complessa perché per ogni pagina logica occorre sapere se è stata caricata in memoria e a quale indirizzo, altrimenti il suo indirizzo sulla memoria di massa. Quando una pagina deve essere caricata in memoria centrale possono verificarsi due differenti situazioni, o cè una pagina fisica disponibile e allora quella logica vi viene caricata e viene contemporaneamente aggiornata la tabella di gestione, oppure non ci sono posti disponibili in memoria centrale e allora si ricopre una pagina fisica già occupata scegliendola con una delle due differenti tecniche: FIFO : viene ricoperta la pagina logica caricata da più tempo in memoria, la più vecchia LRU (LAST RECENTLY USED) : viene ricoperta la pagina logica che non viene usata da più tempo, ovvero quella più vecchia duso VANTAGGI: semplicità dovuta alla uguale dimensione delle pagine SVANTAGGI: larbitrarietà con la quale vengono create le pagine logiche aumenta il numero di chiamate

21 2. LA SEGMENTAZIONE Ogni programma è suddiviso in blocchi detti segmenti sulla base di criteri logici, stabiliti dal programmatore (es. una certa area dati, una particolare routine, ecc),non tutti della stessa dimensione, e di conseguenza la memoria centrale non è a priori suddivisa in blocchi, ma si frammenta via via nel corso delle elaborazioni. VANTAGGI: più processi possono condividere stessi segmenti; inoltre non ci sono vincoli sul numero di segmenti da caricare in memoria non essendo stabilito a priori il numero di blocchi in cui è divisa la memoria centrale SVANTAGGI: la maggiore complessità delle tabelle di gestione ed il conseguente maggior onere da parte del s.o.

22 Avviene attraverso interfacce o nei casi più complessi elaboratori di canale in maniera assolutamente trasparente per lutente CPU REGISTRO DATI (BUFFER) PERIFERICHEPERIFERICHE bus Il buffer è unarea di memoria tampone dove vengono appoggiati i dati in attesa di essere utilizzati dalla periferica o viceversa e serve a garantire una maggiore efficienza del sistema poiché i tempi di lavoro della CPU e delle periferiche sono nettamente differenti CPU REGISTRO DATI (BUFFER) PERIFERICHEPERIFERICHE bus Il buffer è unarea di memoria tampone dove vengono appoggiati i dati in attesa di essere utilizzati dalla periferica o viceversa e serve a garantire una maggiore efficienza del sistema poiché i tempi di lavoro della CPU e delle periferiche sono nettamente differenti

23 CPU canale1 bus canale2 Gli elaboratori di canale hanno una loro autonoma capacità di elaborazione per eseguire il trasferimento dati tra CPU e periferiche canale3

24 Grazie a questi dispositivi il s.o. riesce ad aumentare in maniera virtuale il numero di periferiche, attuando quella che viene definita tecnica di SPOOL (Simultaneous Peripheral Operation On Line), che consente a diversi processi di utilizzare la stessa periferica, grazie alla gestione di una coda di spool P1 P2 P3 Output 1 Output 2 Output 3 Output 2Output 1 STAMPANTESTAMPANTE Coda di SPOOL

25 E linsieme dei programmi che consente allutente di utilizzare file memorizzati sulle memorie di massa utilizzando semplicemente i loro nomi simbolici, e ignorando gli aspetti relativi alle tecniche di memorizzazione e gestione delle memorie di massa. Il file system opera attraverso tabelle di gestione dei file, dette directory o tabelle dei descrittori, che contengono una serie di informazioni, tipo: il nome del file lindirizzo la data di creazione la data dellultimo aggiornamento la grandezza leventuale password di protezione il tipo di accesso consentito (lettura, scrittura, ecc)

26 Con luso continuo e frequente delle memorie di massa non è sempre possibile che un file sia memorizzato tutto insieme, ma può essere suddiviso in blocchi fisici memorizzati in aree non contigue, e ciò crea un rallentamento e un appesantimento del lavoro a carico del file system. Per questo motivo è buona norma eseguire frequentemente loperazione di deframmentazione del dispositivo di memoria di massa, operazione che consente un risistemazione dei file contenuti, nel senso che vengono eliminati tutti i buchi creati con luso per creare aree libere sufficientemente ampie per poter contenere nuovi file interi.

27 E un programma del s.o. che riceve in input le richieste di esecuzione di operazioni. Linterprete standard del sistema DOS si chiama command.com e contiene alcuni semplici comandi di base per lutilizzo dellelaboratore, e consente anche la scrittura di script (i file BAT) da parte dellutente più esperto che voglia personalizzare il suo elaboratore I s.o. più recenti colloquiano con lutente attraverso interfacce grafiche, di sempre più semplice utilizzo (user friendly), che hanno nel tempo reso possibile lutilizzo del computer anche ad utenti per niente esperti Il processo di esecuzione dellinterprete di comando viene considerato il processo padre degli altri processi che verranno lanciati nellambito della sessione di lavoro

28 Allaccensione del computer il s.o. deve essere caricato in memoria centrale, per poi rimanervi fino allo spegnimento; tale compito è svolto da un programma IPL (Initial Program Loader), che si trova sulla memoria ROM, memoria permanente e di sola lettuta, che prima effettua un controllo sulle varie componenti Loperazione di caricamento del s.o. prende il nome di bootstrap. La procedura di chiusura, shutdown, deve controllare tutte le sessioni di lavoro aperte da eventuali utenti differenti ed eventualmente mandare un messaggio di conferma dello spegnimento del computer, abortendo eventuali processi in corso e non conclusi

29 Sono un insieme di programmi, detti anche programmi di utilità, che agevolano lattività degli utenti. editor di testi Compilatori Linker Interpreti Debugger ecc.

30 Tecniche per garantire la riservatezza di archivi sensibili, evitare la perdita di dati e programmi, impedire laccesso ad utenti non autorizzati, ecc backup: procedura per effettuare copie di salvataggio restore: procedura per il recupero delle copie di sicurezza antivirus E la figura professionale che si occupa dei s.o. e del software di base


Scaricare ppt "SISTEMA OPERATIVO: È un insieme di programmi che gestiscono le risorse dellelaboratore (CPU, memoria centrale, periferiche) in maniera trasparente allutente;"

Presentazioni simili


Annunci Google