Organizzazione di un SO monolitico

Documenti analoghi
Perché il linguaggio C?

Sistemi di Elaborazioni delle Informazioni I

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Spazio di indirizzamento virtuale

Componenti di un sistema operativo

Sistemi Operativi: Concetti Introduttivi

Sistema Operativo (Software di base)

Compilazione separata

Il Sistema Operativo. Informatica Sistema Operativo 1

Sistema operativo & file system 1

ACSO Programmazione di Sistema e Concorrente

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Sistemi Operativi (modulo di Informatica II) I processi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

Il software di sistema

Il Sistema Operativo

Informatica Generale Andrea Corradini Gestione della memoria, File System e periferiche

Struttura interna del sistema operativo Linux

il tipo di parallelismo dipende dal grado di cooperazione

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

I sistemi operativi. Prof. Daniele Contarino

Dal sorgente all eseguibile I programmi Assembly. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente

Fondamenti di Informatica T. Il Software

CAP9. Device drivers

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Struttura Logica del S.O:

Lezione 16. Il Software di base

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

2. Nucleo del sistema operativo (la gestione dei processi)

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi operativi. Fondamenti di Informatica

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Sistemi Operativi. Lezione 3 Processi e Thread

Sistemi Operativi. Lezione 4 I processi: implementazioni

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Note sui sistemi operativi

Il software: Istruzioni per il computer

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Funzioni di un Calcolatore

Livelli del sottosistema di I/O

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Gestione della memoria

System call per la gestione di processi

Sistemi Operativi ed interazione con HW e CAD

Sistema Operativo. 06 novembre Sistema Operativo (SO): punto di vista funzionale

Introduzione ai Sistemi Operativi. A cura di Massimo Scolaro Mob :

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Prof. Rossella Cancelliere

Calcolatori Elettronici Lezione A4 Programmazione a Moduli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

ARCHITETTURA DEI CALCOLATORI

INFORMATICA. L informatica comprende:

Il Sistema Operativo

La Gestione della Memoria. Carla Binucci e Walter Didimo

System Calls per la Gestione dei Processi

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Interazione con il DOS e il BIOS

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

IL SOFTWARE DI SISTEMA

Programmazione II. Lezione 7. Daniele Sgandurra 9/11/2010.

Capitolo 6 Le infrastrutture SoftWare

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Sistemi Operativi. La gestione delle risorse

2. Nucleo del sistema operativo (la gestione dei processi)

Il software: cenni sul sistema operativo

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

I Processi. Il Concetto di Processo

Capitolo 2: Strutture dei sistemi di calcolo

Il Software. E il software che implementa le funzionalità di un sistema di elaborazione Due categorie fondamentali di Software (SW)

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri. Sottoprogrammi: richiami

Subroutine in linguaggio macchina: collegamento e passaggio dei parametri

Sistemi Operativi Il Sistema Operativo Windows (parte 2)

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Il Concetto di Processo

Architettura di Von Neumann

Sistemi Di Elaborazione Dell informazione

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O.

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi

Sistema Operativo Compilatore. Maurizio Palesi

Sistema operativo. Interazione con il SO

Come funzionano i computer

Capitolo 6 Le infrastrutture SoftWare

Il Sistema Operativo Ing. Agnese Pinto. Fondamenti di Informatica CDL in Ingegneria Meccanica- A.A

Cognome e nome: Matricola: Posto:

Programmazione Orientata agli Oggetti in Linguaggio Java

Macchina di Riferimento: argomenti

Sistema Operativo. (hardware e software) della della macchina

2) Sistemi operativi. Lab. Calc. AA 2006/07

Il software: cenni sul sistema operativo. Il software. IL sistema operativo (I) IL sistema operativo (II)

Gestione della Memoria

Sistemi operativi. Esempi di sistemi operativi

Il sistema operativo

Transcript:

Organizzazione di un SO monolitico Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del Gestore delle processore / Gestore della periferiche/ Scheduler(s) memoria dispositivi File system Hw 1 Processo (Def.) : Processi programma in esecuzione completo del suo stato (spazio di indirizzamento, contenuto dei registri, file aperti ) Il concetto di processo è centrale nella organizzazione di ogni SO Tipicamente ad ogni istante ci sono molti processi attivi contemporaneamente (tutto o parte dello spazio di indirizzamento dei processi attivi è residente in memoria centrale) 2 1

Modello (parziale) di riferimento di un S.O. Reside ente Dispatcher System calls Interrupt Handlers I/O drivers idente Non resi Processi utente Daemon Processo 1 Processo 2 Memoria centrale Processo n Periferiche Dal programma al processo Programma Passo 1 : compilazione e creazione del file eseguibile Compilatore Eseguibile È un file binario che * contiene tutte le informazioni necessarie all esecuzione del programma da parte del processore * ha un formato che dipende dal SO che deve curarne l esecuzione * è memorizzato su disco 4 2

Formato del file eseguibile Un esempio : il formato ELF di Linux File a.out Magic number Altre info Ampiezza BSS I- segment segment Numero che contraddistingue il file come eseguibile Ampiezza area di memoria occupata dalle variabili globali NON inizializzate Variabili globali inizializzate Codice del programma (assemblato) 5 Caricamento di un programma Eseguibile Passo 2 : creazione dello spazio di indirizzamento e caricamento di tale spazio in memoria centrale Loader Spazio di indirizzamento È l immagine della memoria visibile al programma durante la sua esecuzione 6 3

Spazio di indirizzamento Come è organizzata la memoria accessibile ad un programma in esecuzione? 2 32-1 Pila di FRAME, uno per ogni chiamata di funzione da cui non abbiamo ancora fatto ritorno Variabili globali Traduzione in l.m. delle funzioni che compongono il programma 7 Spazio di Indirizzamento (programma C) 8 4

Spazio di indirizzamento (2) Spazio di indirizzamento tipico (caso del linguaggio C) 2 32-1 Direzione di crescita dello stack Contenuti tipici di un FRAME : - variabili locali della funzione - indirizzo di ritorno (indirizzo dell istruzione successiva a quella che ha effettuato la chiamata alla funzione) - copia dei parametri di chiamata 9 Spazio di indirizzamento (3) Spazio di indirizzamento tipico (caso del linguaggio C) 2 32-1 All inizio dell esecuzione lo contiene solo il FRAME per la funzione main Successivamente : * ogni volta che viene chiamata una nuova funzione viene inserito un nuovo frame nello stack * ogni volta che una funzione termina viene eliminato il frame in cima dello stack e l esecuzione viene continuata a partire dall indirizzo di ritorno 1 5

Spazio di indirizzamento (4) Spazio di indirizzamento tipico (caso del linguaggio C) 2 32-1 heap Direzione di crescita dello heap Spazio di memoria dedicato ai dati globali a tutte le funzioni. Diviso in statico per i dati la cui dimensione è nota a tempo di compilazione e dinamico (heap) 11 Spazio di Indirizzamento (5) L eseguibile contiene tutte le informazioni per creare la configurazione iniziale dello spazio di indirizzamento (loading) File a.out FRAME per la funzione main 2 32-1 Magic number Altre info Ampiezza BSS I- segment BSS-segment I- segment segment 12 6

Esecuzione di un programma attivazione del programma, ovvero caricamento nel PC dell indirizzo della prima istruzione da eseguire nell area testo A questo punto il programma ha il controllo del processore Il Sistema Operativo potrà tornare in esecuzione solo se si verifica uno dei seguenti eventi : -- arrivo di una interruzione hw -- terminazione del programma -- invocazione esplicita di un servizio tramite una System Call 13 Il modello a processi sequenziali Nei computer attuali, ci sono molte attività attive contemporaneamente (sia di SO che di utente) es : stampa in corso + Word processor + cd player Il modello a processi sequenziali : è un modello concettuale che permette di esprimere in modo semplice più attività contemporanee ogni attività è incapsulata in un processo e viene programmata come se utilizzasse il calcolatore in modo esclusivo l interazione fra processi avviene solo con l invocazione di un numero (limitato e fissato) di meccanismi di cooperazione (di IPC) 14 7

Condivisione della RAM Tipicamente la RAM contiene lo spazio di indirizzamento di più processi : es. organizzazione tipica della memoria negli SO degli anni 7 (es IBM 36) AmpiezzaRAM - 1 Spazio processo 3 Una possibile organizzazione della RAM con più processi attivi contemporaneamente Spazio processo 2 Spazio processo 1 Sistema Operativo Area riservata, non accessibile in modalità utente 15 Condivisione della RAM (problemi) Problemi legati alla condivisione della RAM : (1) protezione dello spazio di indirizzamento di processi diversi Spazio processo 3 Spazio processo 2 Il processo 2 non deve poter accedere agli indirizzi di RAM al di fuori della sua area Spazio processo 1 Sistema Operativo 16 8

Condivisione della RAM (problemi) Problemi legati alla condivisione della RAM : (2) problema della rilocazione base2 Spazio processo 3 Spazio processo 2 Spazio processo 1 Il compilatore/linker assume che lo spazio di indirizzamento parta dall indirizzo Ma, P2 è caricato ad un indirizzo base2!= max Sistema Operativo 17 Condivisione della RAM (problemi) Necessità di un meccanismo di rilocazione : Indirizzi di istruzioni e dati devono essere incrementati (rilocazione) di base2 Spazio processo 3 max base2 Spazio processo 2 base2 + X X Spazio processo 1 Sistema Operativo 18 9

Condivisione della RAM (soluzione hw) Indirizzo iniziale del programma in RAM Risolve il problema della rilocazione base PC + + Addizionatore Indirizzo (alla memoria) limite Comparatore Fault (accesso oltre il limite) Ampiezza dello spazio di indirizzamento Risolve il problema della protezione 19 Creazione di un processo Come si crea un processo? Inizializzazione del sistema Richiesta da parte di un processo al SO per la creazione di un altro processo (attraverso chiamate di sistema) es : fork - exec in Unix es : CreateProcess in API Win32 L invocazione da parte di un utente di un comando o di un applicazione ( il doppio click su un icona, il lancio di un eseguibile ) L inizio di un job batch (ad esempio job che vengono attivati ad una particolare ora del giorno) 2 1