Il supporto al sistema operativo
|
|
|
- Teodora Gattini
- 8 anni fa
- Просмотров:
Транскрипт
1 Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami 2007-
2 Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare il calcolatore Efficienza Permette miglior uso delle risorse del calcolatore In una visione a livelli del sistema di calcolo, che cosa dev e essere noto al progettista di ogni livello? Operating System Support 2007-
3 Livelli e viste del sistema di calcolo Operating System Support 2007-
4 I servizi offerti dal Sistema Operativo Supporto a: Creazione del programma Esecuzione del programma Accesso ai dispositivi di I/O Accesso controllato ai files Accesso al sistema di elaborazione Identificazione e gestione degli errori Contabilità Operating System Support 2007-
5 Il S.O. come gestore di Risorse Operating System Support 2007-
6 Tipi di Sistemi Operativi Interattivo Batch Programma singolo (Uni-programmazione) Multi-programmazione (Multi-tasking) Operating System Support 2007-
7 Un po di storia Fino alla metà degli anni 50: Non esistono Sistemi Operativi I programmi interagiscono direttamente con lo hardware Problema principale: Lo Scheduling come ordinare la successione dei compiti che il calcolatore deve eseguire. Operating System Support 2007-
8 I primi sistemi batch batch Programma Monitor residente L utente consegna programmi e dati ( job da eseguire) all operatore L operatore provvede all esecuzione dei job separatamente, uno alla volta dall inizio alla fine ( in blocco batch); Il Monitor controlla la sequenza di eventi necessari per elaborare ogni batch; Quando un job termina, il controllo torna al Monitor che legge il prossimo job; È il Monitor che gestisce l ordinamento delle operazioni. Operating System Support 2007-
9 Organizzazione della memoria nel caso di monitor residente Operating System Support 2007-
10 Aspetti hardware desiderabili Protezione della memoria Per proteggere il Monitor Timer Per impedire che un job monopolizzi il sistema Istruzioni privilegiate Eseguibili solo dal Monitor - es.: I/O Interruzioni Consentono di rilasciare e riprendere il controllo Comunque I dispositivi di I/O sono molto lenti Quando un program è in attesa dell I/O, un altro programma può usare la CPU Operating System Support 2007-
11 Sistemi Batch Multi- programmati Quando un program è in attesa dell I/O, un altro programma può usare la CPU; L utente non ha ancora possibilità di interagire col sistema nel corso dell esecuzione di un programma (ogni programma viene eseguito dall inizio alla fine senza possibilità di interventi) ma oiù programmi condividono le risorse di calcolo. Operating System Support 2007-
12 Programma singolo: Operating System Support 2007-
13 Multi-Programmazione con due programmi Operating System Support 2007-
14 Multi-Programmazione con tre programmi Operating System Support 2007-
15 Sistemi in Time Sharing Una soluzione più evoluta: time-sharing Consente agli utenti di interagire direttamente col calcolatore Es.: sistemi interattivi La multi-programmazione consente che più utenti interagiscano col calcolatore Operating System Support 2007-
16 Scheduling (ordinamento dei compiti) Fondamento della multi-programmazione Include una fase a lungo termine, oltre a Fase a medio termine, e A breve termine E infine riguarda l I/O Operating System Support 2007-
17 Scheduling a lungo termine Determina quali programmi sono presentati per l elaborazione; es., controlla il grado della multi-programmazione Una volta presentato, un job diventa O un processo per lo scheduler a breve termine (v.) (oppure diventa un job swapped out che viene fornito allo scheduler a medio termine) Operating System Support 2007-
18 Scheduling a medio termine Fa parte della funzione di swapping (v. avanti ) Di norma basato sulla necessità di gestire la multiprogrammazione; Se non si ricorre alla memoria virtuale, riguarda anche la gestione della memoria. Operating System Support 2007-
19 Scheduling a breve termine Dispatcher Decisioni di fino sul prossimo lavoro da eseguire, cioè stabilire quale dei programmi in attesa otterrà effettivamente il controllo della CPU nel prossimo intervallo di tempo. Operating System Support 2007-
20 Stato di un processo Operating System Support 2007-
21 Blocco di controllo di un processo (PCB) Identificatore Stato Priorità Program counter Puntatori alla memoria Dati di contesto Stato dell I/O Informazioni di contabilità Operating System Support 2007-
22 Diagramma di un PCB Operating System Support 2007-
23 Elementi fondamentali di un S.O. Operating System Support 2007-
24 Scheduling dei processi Operating System Support 2007-
25 Gestione della memoria Uni-programmazione La memoria viene divisa in due parti (in termini logici) Una per il S.O. (monitor) Una per il programma attualmente in esecuzione Multi-programmazione La parte di utente viene ripartita e condivisa fra i processi attivi Operating System Support 2007-
26 Swapping Problema: l I/O è così lento in confronto alla CPU che anche nei sistemi multiprogrammati, la CPU può essere in ozio per la maggior parte del tempo Soluzioni: Aumentare la memoria primaria Costoso Porta a programmi più grandi Swapping Operating System Support 2007-
27 Che cosa è lo Swapping? Esiste una coda a lungo termine di processi memorizzata sul disco; I processi vengono scambiati (swapped portati in memoria di lavoro al posto di altri) mano a mano che si rende disponibile spazio; Quando un processo viene completato, esce dalla memoria di lavoro e torna su disco; Se nessuno dei processi in memoria è pronto (cioè, tutti sono bloccati in attesa di I/O): Swap out il processo bloccato viene spostato da memoria a coda intermedia: Swap in un processo pronto (ready) o un processo nuovo viene portato in memoria: Ma lo swapping è un processo di I/O... Operating System Support 2007-
28 Partizionamento Si suddivide la memoria in sezioni da allocare ai processi (incluso il Sistema Operativo) Partizioni di dimensione fissa: Possono non avere tutte dimensioni identiche Il processo viene inserito nella partizione libera più piccola che lo può contenere (best fit) C è spreco di memoria Porta a partizioni di dimensione variabile Operating System Support 2007-
29 Partizionamento fisso Operating System Support 2007-
30 Partizioni di dimensione variabile (1) A un processo si alloca esattamente la memoria che gli occorre; conseguenza: area vuota alla coda della memoria, troppo piccola per poterla usare Ma ce ne è solo una minor spreco Quando tutti i processi sono bloccati, si procede a swap out di un processo per portarne un altro in memoria Il nuovo processo può essere più piccolo di quello swapped out Si crea un altra area vuota e inutilizzabile. Operating System Support 2007-
31 Partizioni con dimensione variabile (2) Alla fine ci si trova con una quantità di buchi (frammentazione) Soluzioni: Fusione si riuniscono le aree vuote adiacenti un un unica area grande Compattamento di tanto in tanto si esplora tutta la memoria e si spostano tutti I buchi in un unico blocco libero (si può confrontare la tecnica con la cosiddetta de-fragmentazioe del disco ) Operating System Support 2007-
32 Rilocazione Non c è garanzia che il processo la prossima volta verrà ricaricato nella stessa area di memoria; Le istruzioni contengono indirizzi di memoria: Indirizzi di dati Indirizzi-obiettivo dei salti Si distinguono: Indirizzi logici - relativi all inizio del programma Indirizzi fisici le effettive posizioni in memoria (nel momento attuale!) Meccanismi di conversione che fanno riferimento a un indirizzo base. Operating System Support 2007-
33 Paginazione Soluzione alternativa al partizionamento: Si suddivide la memoria in piccole aree tutte di uguale dimensione riquadri di pagine (page frames) Si suddividono i programmi (processi) in piccoli blocchi di pari dimensioni le pagine A un processo si alloca il numero di page frames necessario Il Sistema Operativo mantiene una lista delle frames libere Un processo non ha bisogno di page frames contigue Si usa una tabella delle pagine per tener conto della situazione (meccanismo della memoria virtuale!) Operating System Support 2007-
GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:
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,
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
I Processi. Il Concetto di Processo
I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite
Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1
GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di
Scheduling della CPU
Scheduling della CPU 1 Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi. Scheduler della
I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.
I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non
Sistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
Il Sistema Operativo
Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche
Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
GESTIONE DELLA MEMORIA CENTRALE
GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:
TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni
Roberta Gerboni 1 Gli stati di un processo Gli stati possibili nei quali si può trovare un processo sono: Hold (parcheggio): il programma (chiamato job) è stato proposto al sistema e attende di essere
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
Processi. Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi. Il descrittore di processo (PCB)
Processi Descrittore di Processo (PCB) Context Switch Primitive per la creazione e terminazione dei processi 1 Il descrittore di processo (PCB) Il S.O. gestisce i processi associando a ciascuno di essi
Il sistema operativo. Sistema Operativo
Sistemi operativi Il sistema operativo Sistema Operativo HW Il sistema operativo SW Applicativo Sistema Operativo HW SW = Sistema Operativo + SW applicativo Il sistema operativo il sistema operativo fornisce
SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati
TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono
I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas
I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete
Gestione della memoria
Gestione della memoria Gestione della Memoria Introduzione Spazi di indirizzamento Allocazione contigua Paginazione Segmentazione Segmentazione con paginazione 2 1 Introduzione La condivisione della memoria
Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione
1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.
SISTEMI OPERATIVI. Gestione della memoria. Gestione della memoria. Partizionamento Paginazione Segmentazione Memoria virtuale. 08.
SISTEMI OPERATIVI 08.a Gestione della memoria Gestione della memoria Partizionamento Paginazione Segmentazione Memoria virtuale 1 Obiettivi La gestione della memoria (effettuata dal SO usando gli accorgimenti
Struttura Logica del S.O:
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
Gestione Memoria. Gestione della memoria
Gestione Memoria Gestione della memoria Il sistema operativo ha il compito di: Assegnare ad ogni processo la memoria di cui ha bisogno per la sua esecuzione Isolare i processi facendo in modo che i processi
I processi: concetti di base, context switch e scheduling
Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi I processi: concetti di base, context switch e scheduling Processo: definizione Processo (o Job): Entità attiva
Sistema operativo (SO)
Diagramma a cipolla Sistema operativo (SO) Il calcolatore elabora informazioni codificate in sequenza di bit I dispositivi si interfacciano con il calcolatore tramite complessi protocolli di comunicazione
L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:
Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti
Sistema Operativo. (hardware e software) della della macchina
Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software
Processi e thread. Concetto di processo
Processi e thread Concetto di processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione l di un processo è sequenziale (le istruzioni vengono
2. Nucleo del sistema operativo (la gestione dei processi)
Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle
I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.
I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo
Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
Lezione 2 Chiamate di procedura e risposta alle interruzioni
Modulo 1 U.D. 1 Lez. 2 Lezione 2 Chiamate di procedura e risposta alle interruzioni Sistemi Operativi I Modulo 1 - Architettura del Calcolatore Unità didattica 1 - Architettura e funzionamento dei sistemi
La gestione della memoria
La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci
Componenti principali
Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria
La gerarchia delle memorie
La gerarchia delle memorie Gestione della memoria Ogni processo, per avanzare necessità che il relativo programma risieda nella memoria centrale, Tale programma è costituito da memoria e dati. Lo spazio
interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
Modulo 3. Software. Corso di Sistemi di elaborazione delle informazioni -Autore: Ing. Maurizio Patanè
Modulo 3 Software Cosa è il software E l insieme di programmi che consente al computer di funzionare e di svolgere le funzioni richieste dall utente. Esistono fondamentalmente due tipologie di software:
Il Processore. Informatica di Base -- R.Gaeta 27
Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
LA GESTIONE DELLA I/O
LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono
