IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.

Slides:



Advertisements
Presentazioni simili
Gestione della memoria centrale
Advertisements

Il Sistema Operativo.
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.
Il sistema operativo Vito Perrone
Il sistema operativo.
Il Sistema Operativo (1)
Sistema Operativo (Software di base)
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
1 I sistemi operativi. 2 Cos’è un sistema operativo ? Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende.
Sistemi Operativi : Gestione della Memoria Anno Scolastico 2012/2013 Un sistema operativo è un programma o un insieme di programmi che garantisce e permette.
E’ costituita da due blocchi:  Interfaccia di rete  Blocco di simulazione L’ interfaccia di rete fornisce il collegamento elettrico con la rete sotto.
Il Sistema Operativo. Sistema Operativo (Software di base) Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Corso di Elementi di Informatica
NAT, Firewall, Proxy Processi applicativi.
Sistema Operativo Il software può essere diviso in due grandi classi:
PRESENTAZIONE di RICCARDO
Summary di (quasi) tutti gli utenti non presentati…
Process synchronization
Sistemi operativi.
Il Sistema Operativo Gestione dei Processi
Prova d’Esame: selezione di domande
I PROCESSI.
Il Sistema Operativo Ripasso
Programmazione per la Musica | Adriano Baratè
Sistema di Analisi e di Acquisizione
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
DIRIGERE L’INNOVAZIONE
Paradigma MVC Ing. Buttolo Marco.
SISTEMA OPERATIVO - INTERPRETE DEI COMANDI -
CALCOLATORI ELETTRONICI Anno Accademico
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
12. Il Sistema Operativo Ing. Simona Colucci
STRUTTURA GENERALE DI UN ELABORATORE
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Capitolo 7 Le infrastrutture SoftWare
analizzatore di protocollo
APPUNTI DI INFORMATICA
Database
Corso propedeutico base di informatica
Architettura del calcolatore
Il Sistema Operativo.
Processi e Thread Meccanismi di IPC (1).
Sistemi Operativi.
Programmare.
Concetti introduttivi
© 2007 SEI-Società Editrice Internazionale, Apogeo
Scheduling in Linux (Kernel 2.4 e 2.6)
Concetti base 1.1.
Lezione N° 6 L’organizzazione
Definizione di linguaggio di programmazione
Processi e thread in Windows 2000
LOGICA DI FUNZIONAMENTO
Lezione N° 6 L’organizzazione
Parti interne del computer
Scheduling (Schedulazione)
Lezione N° 6 L’organizzazione
La Mappa dei servizi pubblici per l’impiego
Algoritmi.
Lezione N° 6 L’organizzazione
CLOUD.
Transcript della presentazione:

IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE 1

IL SISTEMA OPERATIVO ●Il sistema operativo gestisce le risorse della macchina fisica sottostante e fornisce all’utente l’astrazione di macchina virtuale ●lo strato di Gestione dei processi gestisce l’unità di elaborazione, ossia la CPU ●lo strato di Gestione della memoria gestisce la memoria centrale ●lo strato di Gestione delle periferiche gestisce i dispositivi periferici e le loro connessioni con la CPU ●Il file system è l’organizzazione logica dei file sulla memoria di massa ●l’interprete comandi permette di interpretare i comandi di alto livello 2

La gestione delle periferiche  Funzioni principali: Indirizzamento dei segnali da e verso le periferiche Sincronizzazione delle periferiche  Gestione del sistema di Ingresso/Uscita Gestione dei flussi di dati (buffer). Interfaccia generale per i programmi di controllo (driver) delle periferiche (device). Collezione di programmi di controllo (driver) specifici per le varie periferiche (device) collegabili al calcolatore. 3

La gestione delle periferiche: i driver  I driver sono meccanismi software cui è affidato il compito di comunicare dati da e verso le periferiche  Garantiscono ai programmi che li usano una visione di alto livello E’ possibile leggere o scrivere tramite primitive indipendenti dalla struttura hardware delle periferiche  Distinguiamo: Driver fisici (hardware): vengono attivati direttamente dal gestore delle interruzioni Driver logici (software): fanno parte del sistema operativo e forniscono una gerarchia di operazioni, con un’ organizzazione a strati 4

Gestione della memoria centrale Tutti i programmi che compongono il SO e i programmi applicativi attivi usano contemporaneamente la RAM Il gestore della memoria si preoccupa di fare condividere la RAM ai vari processi in esecuzione in modo che:  ogni processo abbia il suo spazio privato distinto dagli altri (e inaccessibile agli altri)  ogni processo abbia abbastanza memoria per eseguire il proprio algoritmo e raccogliere i suoi dati 5

Gestione della memoria centrale La strategia più semplice (NON VA BENE!) – ricopiare interamente lo spazio di indirizzamento di un processo P dalla memoria secondaria alla RAM quando P va in esecuzione Sistema Operativo Spazio Indirizzamento processo 1 Area riservata, non accessibile in modalità utente 0 AmpiezzaRAM - 1 RAM vuota Spazio Indirizzamento processo 2 6

La memoria virtuale  La memoria però deve essere gestita con molta attenzione ed efficienza caricando solo i dati e le istruzioni che devono essere modificate ed eseguite. Le altre parti devono essere spostate sul disco per poter essere caricate quando necessario.  La memoria virtuale è un sistema per aumentare lo spazio di memoria disponibile.  La memoria virtuale è maggiore di quella fisica.  La gestione della memoria è coordinata con la gestione dei processi. 7

Partizione della memoria  La strategia adottata: partizionamento della memoria e del suo spazio di indirizzi mediante paginazione e/o segmentazione (implementate anche contemporaneamente).  Tecniche di partizionamento: Segmentazione: suddivide la memoria centrale in segmenti di lunghezza variabili contenenti parti di un programma logicamente correlati tra di loro Paginazione: suddivide memoria e programmi in pagine di lunghezza fissa  Sia nel caso della partizione, sia in quello della segmentazione, il gestore della memoria offre al programma applicativo la visione di una memoria virtuale 8

Tabella delle pagine  A ogni processo viene assegnata nella fase di partenza una tabella detta tabella delle pagine dove per ogni pagina usata dal processo viene scritto dove si trova la pagina fisica.  Se viene richiesto un indirizzo NON in memoria, si genera un fault di pagina che provoca il caricamento di una nuova pagina TABELLA DELLE PAGINE PAGINA VIRTUALEPAGINA FISICATIPO PAGINA Pagina 0Pagina 3RAM Pagina 1Pagina 20DISCO Pagina 2Pagina 1DISCO Pagina 3Pagina 2RAM 9

Gestione dei processi: richiami sulla classificazione dei S.O.  In base alla modalità di gestione dei programmi:  Monoprogrammazione: esegue un solo programma alla volta)  Multiprogrammazione: esegue più programmi apparentemente conteporaneamente, in time-sharing, suddividendo il tempo di esecuzione in intervalli molto piccoli e assegnando a turno le risorse ai diversi programmi)  In base al tipo di accesso fornito agli utenti:  Monoutente: un solo utente può usare la macchina  Multiutente: più utenti possono contemporaneamente interagire con la stessa macchina 10

Multiprogrammazione: time ‑ sharing  I concetti di mono e multi-programmazione sono indipendenti da quelli di SO mono e multi-utente  I SO attuali operano tutti in multiprogrammazione  Quando si parla di multiprogrammazione si parla anche di time ‑ sharing: il sistema operativo che fa sì che le risorse del calcolatore siano assegnate per prefissati intervalli di tempo, in successione, ai diversi programmi: gli intervalli di tempo possono essere più o meno lunghi l’uno rispetto all’altro, a seconda della priorità di cui gode il programma che l'utente utilizza. 11

Sistema operativo in time sharing  Permette la condivisione della CPU tra più processi  Ogni processo in esecuzione ha a disposizione un quanto di tempo di utilizzo della CPU, al termine del quale viene sospeso per lasciare il posto ad un altro processo in attesa di esecuzione. Processo 1 Processo 2 Processo 3 tempo Fase di elaborazioneAttesa per quanto di tempo scaduto o per operazioni di I/O 12

Coda di scheduling In un sistema con un singolo processore e più processi non è possibile avere più di un processo attivo in ogni istante di tempo. È necessario eseguire i processi a per quanti di tempo e prevedere un sistema di riordinamento (scheduling) delle loro esecuzioni, che assegni loro tempo di esecuzione in modo equo. I processi vengono fatti avanzare a turno, assegnando loro un quanto di tempo per portarsi avanti nell’esecuzione. Si ottiene lo scheduling dei processi mediante una (o anche più di una) coda di scheduling, in cui vengono inseriti i processi che devono essere fatti aspettare. 13

Sistema operativo e macchine virtuali  In una macchina multiprogrammata il sistema operativo gestisce più processi contemporaneamente, rendendo visibile ad ogni processo una macchina “virtuale” ad esso interamente dedicata e quindi con risorse proprie. 14

Sistema operativo e macchine reali 15  In una macchina multiprogrammata il sistema operativo condivide le risorse tra processi.

Lo scheduler  Lo schedulatore (scheduler) è la componente del sistema operativo che si occupa di spostare i processi tra le varie code di attesa. 16

Sincronizzazione dei processi  A volte, i processi devono sincronizzarsi, ovvero coordinare le loro attività  Il coordinamento sequenziale: un processo termina invocando l’attivazione di un altro processo  La competizione: due processi vogliono accedere simultaneamente a una medesima risorsa (risorsa critica) 17