STRUTTURA DEL SISTEMA OPERATIVO

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Gestione della memoria centrale
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D1 Architetture di rete.
Gestione dei processi A. Ferrari.
STRUTTURA DEL PERSONAL COMPUTER
TEORIA DEI SISTEMI OPERATIVI
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Il Sistema Operativo.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Silberschatz, Galvin and Gagne Operating System ConceptsIntroduzione Che cosè un Sistema Operativo? Sistemi batch semplici Sistemi batch multiprogrammati.
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
INTRODUZIONE AI SISTEMI OPERATIVI
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Le prestazioni (velocità) di un singolo disco sono limitate dalla tecnologia usata, -per aumentare le prestazioni si può pensare di far operare in parallelo.
Struttura dei sistemi operativi (panoramica)
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1.7 Risorse di sistema Comprendere le risorse di sistema Gestire le risorse di sistema.
Sistemi Operativi SCHEDULING DELLA CPU.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Il sistema operativo Vito Perrone
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
Silberschatz and Galvin Operating System Concepts CAP. 1 - INTRODUZIONE.
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
La schedulazione dei processi
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
interfaccia tra utente e macchina
Il Sistema Operativo (1)
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Threads.
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Il Software Programmare direttamente la macchina hardware è molto difficile: l’utente dovrebbe conoscere l’organizzazione fisica del computer e il suo.
1.1 Sistemi di elaborazione
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
I processi.
SISITEMI MONOPROGRAMMATI E MULTI PROGRAMMATI
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
Reti di computer Condivisione di risorse e
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
I primi elaboratori Anni ‘50 Rigidamente sequenziali
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Le basi di dati.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Transcript della presentazione:

STRUTTURA DEL SISTEMA OPERATIVO UTENTE LIVELLO N Esempi LIVELLO N-1 Gestione RAM Gestione CPU LIVELLO 3 LIVELLO 2 Gestione I/O Prog1 Prog2 Prog3 LIVELLO 1 M1 Mn M1 M2 Mn M1 HARDWARE

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI La scelta del S.O. è dettata da: se eseguire uno o più programmi utente contemporaneamente uno o più utenti contemporaneamente gestiscono le risorse del computer Sistema di elaborazione di riferimento Risorse Hardware Sistemi Multiprocessori I sistemi di elaborazione ad alte prestazioni possono possedere più CPU. S.O più complesso.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI Sistema di elaborazione di riferimento Risorse Hardware Un S.O. è composto da un insieme di programmi che, per essere eseguiti dalla CPU, devono essere allocati nella RAM, nella forma di codice macchina.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI Un sistema viene detto monoprogrammato (o uniprogrammato) quando la sua memoria centrale contiene, in un dato istante, codice utente proveniente da un unico programma. Il S.O. è sempre allocato in RAM, condivisa insieme ai programmi utente. L’esecuzione di un’istruzione del programma utente comporta una chiamata di sistema (system call / routine di S.O.). Esempio: richiesta d’accesso a qualche dispositivo

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI Un sistema viene detto monoprogrammato (o uniprogrammato) quando la sua memoria centrale contiene, in un dato istante, codice utente proveniente da un unico programma. Il S.O. è sempre allocato in RAM, condivisa insieme ai programmi utente. Quando si scrive un programma in C++ è il compilatore che genera il codice appropriato per il S.O. usato, diverso per Linux e Windows. Nel programma C++ c’è almeno una chiamata al S.O. Flusso di esecuzione quando un istruzione del programma utente attraversa la chiamata di sistema: - Chiamata di sistema del programma utente - Sospensione esecuzione programma - Salvataggio stato programma - Controllo S.O: Esecuzione della routine di sistema chiamata - Esecuzione del programma dall’istruzione successiva all’interruzione

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI Si può dividere il tempo che intercorre tra l’inizio e la fine del programma in intervalli caratterizzati dalle diverse attività della CPU. Attività della CPU • Esecuzione di istruzioni del programma utente • Esecuzione di istruzioni del sistema operativo • Inattività, per esempio quando la CPU attende un input da tastiera.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MONOPROGRAMMATI Attività della CPU Un sistema di questo tipo non è efficiente nell’utilizzo della CPU. Si potrebbe utilizzare il tempo di inattività per far eseguire alla CPU programmi di utenti diversi.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI L’obiettivo è ottenere il massimo rendimento della CPU attraverso l’impiego dei tempi di inattività S.O. più complicato rispetto alla monoprogrammazione. - La CPU, nel tempo in cui non viene usata dal programma utente, viene adoperata per eseguire altri programmi, eventualmente di utenti diversi. - Usare i meccanismi di sospensione dell’esecuzione, impiegati per le routine di sistema, per permettere l’esecuzione anche di altri programmi utente. L’obiettivo è raggiunto con i Sistemi Multiprogrammati

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI Nuove funzioni richieste ai sistemi multiprogrammati - Decidere quale istruzione far eseguire dopo quella attuale, se prelevandola dallo stesso programma o da un altro - Garantire la mutua protezione tra i diversi programmi, per evitare che i dati di uno vengono inquinati dalle istruzioni dell’altro. - Risolvere eventuali conflitti per l’assegnazione di una determinata risorsa Più attività richieste al S.O. e più tempo macchina assegnato al S.O

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI La multiprogrammazione si ottiene con il Time sharing Si dice che una risorsa viene gestita in modo time sharing (a partizione di tempo), quando il suo uso viene concesso per un tempo che non può superare un massimo: questo intervallo viene chiamato time slice (fetta o quanto di tempo). Il Time sharing è un concetto che viene applicato ai singoli dispositivi. Se la CPU di un sistema multiprogrammazione viene gestita in Time sharing, essa rimane assegnata a un programma utente fino a quando: Il programma utente termina Il progr. U. chiede operazioni che coinvolgono altri dispositivi Scade il time slice

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI Se la CPU di un sistema multiprogrammazione viene gestita in Time sharing, essa rimane assegnata a un programma utente fino a quando: Il programma utente termina Il progr. U. chiede operazioni che coinvolgono altri dispositivi Scade il time slice Appena accade un di questi eventi, il controllo passa al S.O. che effettua un cambiamento di contesto, ossia decide a quale tra gli altri programmi in RAM toccherà disporre della CPU per il prossimo time slice. Il tempo necessario per prendere tale decisione si chiama tempo di assegnamento.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI Il tempo necessario per prendere tale decisione si chiama tempo di assegnamento.

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI La modalità con cui il S.O. decide un cambiamento di contesto costituisce un esempio di politica di gestione. Una politica di gestione semplice consiste nell’assegnamento round robin (a rotazione) RAM Sistema Op. P2 P3 P4 Progr. 1

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI E’ possibile che un S.O. usi meccanismi di priorità. Programmi con priorità alta vengono eseguiti più velocemente: Concedendo un time slice più lungo Assegnare più spesso la CPU

SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI SISTEMI MULTIPROGRAMMATI L’uso del time sharing della CPU permette di realizzare ambienti multiprogrammati o multiutente senza la necessità di disporre di diverse CPU. Il S.O. attraverso il time sharing trasforma un singolo dispositivo fisico in molti dispositivi virtuali, disponibili in un tempo e prestazioni inferiore.

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE - Sistemi dedicati - multitasking - Sistemi batch - Sistemi interattivi multiutente - Sistemi per la gestione delle reti - Sistemi transazionali - Sistemi real time

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi dedicati Prevedono l’utilizzo di un solo utente per volta. Esempio: DOS (Disk Operating System). Sistema monoprogrammato Sistemi dedicati più moderni supportano il multitasking: particolare multiprogrammazione nella quale più applicazioni (task: compiti) vengono eseguite contemporaneamente sulla stessa macchina scambiando tra loro dati e risultati.

Sistemi batch (a lotti di lavoro) CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi batch (a lotti di lavoro) L’utente non interagisce con il calcolatore durante l’esecuzione dei programmi. Svantaggi: non è possibile fornire i dati nel momento della richiesta non è possibile ottenere risultati parziali non è possibile avere messaggi di avvertimento o di errore Vantaggi: - Sfruttamento intelligente delle risorse nei casi in cui l’intervento dell’operatore non è necessario

Sistemi interattivi multiutente CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi interattivi multiutente Si ottengono con l’uso in time sharing della CPU La risorsa CPU viene dedicata a ciascun utente a turno per un tempo stabilito. Se questo è abbastanza breve, ogni utente ha la sensazione di lavorare su una macchina dedicata In questa modalità di lavoro occorre che: gli utenti devono essere serviti in un tempo ragionevole se gli utenti sono molti, occorre che i time slice siano brevi i time slice, devono essere sempre molto più lunghi del tempo di riassegnamento, altrimenti tempo più lungo alla gestione rispetto al tempo dedicato agli utenti. In questo contesto di lavoro assumono importanza 2 parametri: velocità operativa della CPU (MIPS: milioni di istruzione per secondo) dimensione della memoria centrale

Sistemi per la gestione delle reti CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi per la gestione delle reti Sistemi operativi orientati alle problematiche di installazione configurazione amministrazione di computer connessi tra di loro anche a grandi distanze I problemi per realizzare questi sistemi operativi sono: rispetto dei protocolli fissati come standard a livello internazionale gestione degli utenti delle reti condivisione delle risorse e dei dati in modo collaborativo controllo degli accessi, protezione dei sistemi e attivazione dei meccanismi di sicurezza integrazione delle reti aziendali (Intranet) con la rete Internet I moderni S.O. di rete come Windows Server e Linux operano sull’architettura Client/Server.

Sistemi transazionali CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi transazionali Tra i Sistemi operativi interattivi multiutente, evidenziamo i sistemi transazionali, strutturati in modi di gestire le transizioni (aggiornamento) delle basi di dati . Esempio di applicazioni gestionali di D.B.: - rete Bancomat Borsa telematica punti vendita grandi magazzini

CLASSIFICAZIONE DEI S.O. DAL PUNTO DI VISTA DELL’UTENTE Sistemi real time E’ un sistema che risponde istantaneamente agli stimolo provenienti dall’esterno. In un sitema real time, un elaborazione si può considerare corretta non solo quando fornisce risultati esatti, ma soprattutto quando li fornisce in tempo; ossia un risultato che arriva in ritardo è un risultato inutilizzabile e quindi errato.