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.

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.
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
STRUTTURA DEL PERSONAL COMPUTER
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
Elaboratore e Sistemi Operativo
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
12. Il Sistema Operativo Ing. Simona Colucci
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.
INTRODUZIONE AI SISTEMI OPERATIVI
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.
Linguaggi di programmazione
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.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
I SISTEMI OPERATIVI.
Informatica per medici
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.
Il Software Una programmazione diretta della macchina hardware da parte degli utenti è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica.
STRUTTURA GENERALE DI UN ELABORATORE
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
Il sistema operativo.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Con il computer si impara meglio!
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 Nomi di Unità n I sistemi sono dotati di più unità di memoria n DOS e Windows usano nomi di unità per distinguerle n In UNIX la gestione è trasparente.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
(processore, i dispositivi di input/output, ecc.)
STRUTTURA DI UN COMPUTER
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.
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)
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Sommario degli argomenti  Sistemi operativi: DOS, Unix/Linux,Windows  Word processors: Word  Fogli elettronici: Excel  Reti: TCP/IP, Internet, ftp,
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Sistema operativo Il sistema operativo è un insieme di programmi che gestiscono tutte le componenti hardware e software di un calcolatore. Spesso si può.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
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.
Informatica Generale Marzia Buscemi
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
3  L’hardware da solo non è sufficiente per il funzionamento dell’elaboratore ma è necessario introdurre il software  … ovvero un insieme di programmi.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Il Sistema Operativo Processi e Risorse
Componenti base di un computer Gli elementi fondamentali La Cpu La Ram L’ Hard disk.
Transcript della presentazione:

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 efficientemente l'elaboratore e le sue periferiche, cercando di sfruttare al massimo tutte le componenti hardware creare un ambiente amichevole per l'interazione uomo-macchina

Il Sistema Operativo Funzioni del Sistema Operativo: Avvio dell’elaboratore Gestione del processore e dei programmi in esecuzione Gestione della memoria principale Gestione della memoria secondaria Gestione dei dispositivi di input/output Gestione dei file Interazione con l’utente

Il Sistema Operativo Tipologie di SO: sistemi mono-utente - sistemi multi-utente i sistemi mono- utente sono destinati ad elaboratori per usi personale (tipo PC) mentre i sistemi multi-utente sono destinati ad elaboratori utilizzati da piu` utenti contemporaneamente sistemi mono-programmati - sistemi multi-programmati i sistemi mono- programmati gestiscono l’ esecuzione di un solo programma alla volta, mentre i sistemi multi-programmati gestiscono piu` programmi contemporaneamente sistemi interattivi - sistemi batch classificazione basata sull’ interazione con l’utente

Il Sistema Operativo Sistemi mono-utente interattivi pensati per Personal Computer IBM PC - Compatibili (DOS - Windows) Macintosh L’ interazione utente/computer puo` essere: testuale es. MS-DOS per PC-IBM grafica es. Macintosh es. Windows per PC-IBM

Il Sistema Operativo: Esempio Immettiamo il comando date

Il Sistema Operativo: Esempio Premendo il tasto “Enter” si ottiene

Le operazioni effettuate sembrano abbastanza semplici ma provocano una serie di eventi in cui vengono coinvolte sia risorse hardware che risorse software Il coordinamento e la gestione delle varie risorse viene effettuato dal Sistema Operativo Il Sistema Operativo fornisce i servizi che sono necessari a tutti gli altri programmi in esecuzione

Esempio dat Monitor dat Tastiera Disco rigido listener directory manager terminal driver disk driver file manager Disco rigido BUFFER Tastiera Monitor dat dat 148.608.043.200.010 OROLOGIO

Per ogni carattere immesso tramite la tastiera viene generato un codice corrispondente Il codice, grazie ad una componente hardware, viene memorizzato in un’area di memoria riservata (buffer) e viene inviato un segnale alla CPU (interrupt) Quando la CPU riceve l`interrupt dalla tastiera attiva un modulo (un piccolo programma) chiamato terminal driver Il terminal driver invia allo schermo una copia del codice del carattere immesso per visualizzare il carattere

Il codice corrispondente al carattere “Enter” indica che il comando immesso (date) è completo Il terminal driver attiva un altro modulo chiamato listener (perchè attende le richieste provenienti dagli utenti) Il listener legge i caratteri dal buffer della tastiera e ricerca un programma chiamato date, lo carica in memoria centrale e lo esegue Il programma date “va a leggere” un “orologio” (un contatore che tiene conto dello scorrere del tempo) e passa l’informazione letta al terminal driver Il terminal driver trasmette la data al monitor che la visualizza

Organizzazione del SO La gestione dei vari eventi da parte di un S.O. è una delle aree di vitale importanza dell’informatica L’idea di base è quella di creare una gerarchia di livelli di astrazione (struttura a cipolla) In questo modo, ad ogni livello le funzionalità presenti possono ignorare i dettagli sulle funzionalità offerte da altri livelli kernel gestione memoria processore, risorse interfaccia comandi

Organizzazione del SO Al livello più alto della gerarchia di funzionalità si trova l’utente del sistema Idealmente l’utente è ignaro di tutti i dettagli delle operazioni svolte dai livelli inferiori della gerarchia L’utente ha conoscenza solo delle operazioni che è interessato ad effettuare Nell’esempio della data l’utente è interessato alla data e conosce solo il comando che serve per ottenere tale informazione

Avvio dell’elaboratore Il sistema operativo viene mandato in esecuzione all’accensione del calcolatore (fase di bootstrap) In questa fase una parte del sistema operativo viene caricata in RAM,in genere questa parte comprende: programmi per la gestione del processore programmi per la gestione della RAM programmi per la gestione dell’I/O programmi per la gestione dei file programmi per l’interfaccia con l’utente Spesso in questa fase si eseguono anche programmi per la ricerca di virus

Avvio dell’elaboratore Una parte del Sistema Operativo deve essere sempre mantenuta in RAM e deve sempre essere pronta per l’esecuzione 1 Sistema Operativo Spazio utente n

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore è quello di eseguire programmi Chiamiamo processo un programma in esecuzione

Gestione del processore e dei processi Quando si clicca sull’icona di un programma, il Sistema Operativo: cerca il programma corrispondente in memoria secondaria copia il programma in RAM imposta il Program Counter con l’indirizzo della prima istruzione del programma principale

Gestione del processore e dei processi Sistemi mono-utente, mono-programmati Un solo utente puo’ eseguire un solo programma alla volta Il programma viene “lanciato” , eseguito e terminato La CPU non e’ utilizzata al meglio! Si spreca molto tempo La CPU e’ molto piu’ veloce delle periferiche (dispositi di I/O e disco) quindi passa molto del suo tempo in attesa del completamento delle operazioni da parte di questi dispositivi Durante queste fasi di attesa si dice che la CPU e’ idle

Gestione del processore e dei processi Esempio 1. Un processo e’ costituito da 1000 istruzioni, la CPU ha frequenza di 1MHz, quindi il processo richiede: 103/106 sec = 1msec A meta’ esecuzione e’ richiesta la lettura di un dato dal disco. Il tempo di lettura e’ pari a 1msec. : tempo totale di esecuzione del processo = 2 msec. Idle time = 1 msec.: Il 50% del tempo totale di esecuzione e’ tempo sprecato

Gestione del processore e dei processi Esempio 2. Un processo e’ costituito da 1000 istruzioni, la CPU ha frequenza di 1MHz, quindi il processo richiede: 103/106 sec = 1msec A meta’ esecuzione e’ richiesta la lettura di un dato da tastiera. Il tempo di lettura e’ pari a 1sec. : tempo totale di esecuzione del processo = 1001 msec. Idle time = 1 sec.: Il 99,9 % del tempo totale di esecuzione e’ tempo sprecato!!!

Gestione del processore e dei processi Sistemi multiprogrammati Quando un processo si ferma in attesa di operazioni di I/O, la CPU passa ad eseguire un altro proceso Il SO si occupa dell’alternanza tra i vari processi Piu’ programmi sembrano cosi’ essere eseguiti contemporaneamente In realta’ in ogni istante c’e’ sempre un solo processo in esecuzione, ma se l’alternanza e’ molto frequente si ha un’impressione di simultaneita’ Il numero di processi “contemporaneamente” in esecuzione e’ comunque limitato ed e’ detto ”grado di multiprogrammazione”

Gestione del processore e dei processi Un processo può trovarsi in tre diversi stati: in esecuzione, quando sta utilizzando il processore; in attesa (bloccato), quando è in attesa del verificarsi di un evento esterno (terminazione di un’operazione di input/output o altro) pronto, quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo

Gestione del processore e dei processi terminazione in_esecuzione scambio esecuzione richiesta I/O o risorsa pronto in_attesa creazione I/O terminato o risorsa disponibile

Gestione del processore e dei processi Cosa succede se…. Un processo non si ferma mai in attesa di I/O? Piu’ utenti vogliono usare il computer? E’ necessario che il tempo della CPU sia distribuito tra i processi in attesa: si parla di politica di scheduling della CPU. Se un processo in stato di esecuzione puo’ essere interrotto e ritornare nello stato di pronto, la politica si dice di tipo preemptive (prerilasciabile)

Gestione del processore e dei processi terminazione in_esecuzione scambio esecuzione richiesta I/O o risorsa tempo scaduto pronto in_attesa creazione I/O terminato o Coda ready risorsa disponibile

Gestione del processore e dei processi Per gestire l’insieme dei processi attivi il SO mantiene in un’area di memoria riservata, la tabella dei processi, in cui per ogni processo memorizza molte informazioni: Identificatore del processo Identificatore dell’utente Stato del processo Contenuto del Program Counter e altri registri Informazioni file aperti ….

Gestione del processore e dei processi Le informazioni della tabella dei Processi servono a realizzare lo scambio di contesto (context switching) Quando un processo rilascia la CPU, le informazioni del suo stato vengono copiate nel suo descrittore all’interno della tabella dei processi Quando il processo torna in esecuzione questi valori vengono ricopiati negli opportuni registri In questo modo quando riprende l’esecuzione, il processo riparte dal punto in cui era stato interrotto

Obiettivi del gestore dei processi massimizzare l’ utilizzazione del processsore massimizzare il numero dei programmi eseguiti nell’ unita` di teempo (throughput) minimizzare il tempo d`esecuzione dei processi (turnaround) minimizzare il tempo d`attesa dei processi