sono forniti di un sistema operativo più o meno complesso; i programmi d utente (o programmi del sistema, ma lo fanno attraverso il sistema

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "sono forniti di un sistema operativo più o meno complesso; i programmi d utente (o programmi del sistema, ma lo fanno attraverso il sistema"

Transcript

1 Principi di architetture dei calcolatori: elementi di sistemi operativi Mariagiovanna Sami

2 Il sistema operativo Sistema Operativo (OS, Operating System): ) è il software che controlla l esecuzione dei programmi e gestisce le risorse del processore. Per l esecuzione efficiente di molte sue funzioni è opportuno che sia presente un supporto hardware. Oggi praticamente tutti i sistemi di elaborazione sono forniti di un sistema operativo più o meno complesso; i programmi d utente (o programmi applicativi ) i ) non gestiscono direttamente t le risorse del sistema, ma lo fanno attraverso il sistema operativo. 2

3 Il sistema operativo Sistema Operativo: costituisce la parte essenziale del cosiddetto software di sistema (o di base ). Non svolge funzioni applicative, ma costituisce un supporto per i programmi applicativi; i Scopo sostanziale: rendere più conveniente l uso del calcolatore e garantire l utilizzo efficiente delle sue risorse. Fra i suoi compiti principali: la gestione della memoria e la schedulazione (scheduling) dei processi, cioè la determinazione di quale processo debba essere eseguito in un determinato istante. 3

4 Il sistema operativo Si schematizza l insieme di hardware e software di un calcolatore secondo una gerarchia: Utente finale Programmatore Programmi applicativi i Utility Progettista del sistema operativo Sistema operativo Hardware 4

5 Il sistema operativo L utente finale in genere vede il sistema di elaborazione come una applicazione, sviluppata da un programmatore in un opportuno linguaggio gg di programmazione; Programmi di utility : implementano funzioni usate frequentemente nella creazione di programmi (es., gestione di files, controllo dei dispositivi di I/O...) un programmatore può nella stesura del suo programma invocare le utilities per realizzare tale funzioni; Il sistema operativo maschera al programmatore i dettagli dello hardware e gli fornisce un interfaccia per utilizzare il sistema di elaborazione. 5

6 Il sistema operativo Il sistema operativo fornisce servizi: Nella creazione di programmi es., consentendo l uso di editor, debugger, etc. cioè di utilities messe a disposizione dal S.O. Nella esecuzione dei programmi, supportando il caricamento di istruzioni e dati in RAM, l inizializzazione di dispositivi di I/O e di files, etc.; Nell accesso ai dispositivi di I/O: a ognuno di tali dispositivi sono associati segnali di controllo e insiemi di istruzioni: mediante opportuni programmi (driver) il sistema operativo se ne fa carico, in modo che il programmatore acceda ai dispositivi con semplici istruzioni di lettura e scrittura (che in realtà invocheranno l intervento t del sistema operativo); 6

7 Il sistema operativo Il sistema operativo fornisce servizi inoltre: Nell accesso controllato ai files: il sistema operativo si fa carico dei dettagli relativi al formato, ai meccanismi di protezione, etc.; Nell accesso al sistema di elaborazione: nei sistemi attuali, in genere il sistema di elaborazione è condiviso i fra più applicazioni l utente lancia più programmi applicativi ed ha l impressione di una esecuzione parallela delle applicazioni stesse, che in realtà si condividono le risorse del sistema. Il S.O. deve garantire la corretta esecuzione e condivisione delle risorse e dei dati; 7

8 Il sistema operativo Il sistema operativo fornisce servizi inoltre: Per il rilevamento e la gestione degli errori: durante il funzionamento del sistema possono presentarsi errori siano essi provocati da guasti o malfunzionamenti dello hardware oppure errori che si presentano nell esecuzione di un programma (es., il tentativo di dividere un numero per zero). Il sistema operativo deve gestire opportunamente tali casi;... e anche per contabilità (accounting) generando statistiche sull uso delle risorse etc. 8

9 Il sistema operativo Di fatto, anche il sistema operativo non è altro che un programma eseguito dal sistema di elaborazione: di norma ha però il potere di accedere alle risorse del sistema in una modalità privilegiata ( modo di sistema ) che consente l uso di particolari istruzioni privilegiate (tipicamente, ma non solo, le istruzioni di I/O). 9

10 Programmazione di sistema e chiamate di sistema Con programmazione di sistema si intendono le tecniche utilizzate nella scrittura di programmi utente che interagiscono strettamente con il sistema operativo e che utilizzano i servizi messi a disposizione da quest ultimo ultimo richiamandoli mediante chiamate di sistema (system call). Le chiamate di sistema sono divise nelle seguenti principali categorie: gestione dei processi; segnalazioni; i gestione di file; gestione di direttori e di file system; protezione; gestione di ora e data. 10

11 Aspetti generali relativi ai processi Processo è un programma in esecuzione, dotato di: Uno spazio di indirizzamento virtuale (*) () ove mantenere l insieme di programmi, dati, pila e attributi che lo definiscono; in particolare, un processo è dotato di un contesto costituito dai dati di controllo, dai registri i e dalle altre informazioni i i che lo caratterizzano. Uno stato di esecuzione un processo può essere attivo (running) ma anche pronto e in attesa di esecuzione, etc. (si veda più avanti); * Il concetto di spazio virtuale verrà approfondito più avanti; per il momento, lo si veda come uno spazio proprio del singolo processo come se questo fosse compilato e caricato in modo del tutto indipendente dagli altri. 11

12 Aspetti generali relativi ai processi Ogni processo è identificato in modo univoco da un suo identificatore detto PID (Process IDentifier) Tutti i processi sono creati da altri processi e quindi hanno un processo padre (unica eccezione: il processo "init", primo processo creato all'avviamento del SO, che non ha un processo padre) 12

13 Aspetti generali relativi ai processi Dal punto di vista del programmatore di sistema, la memoria di lavoro associata ad un processo può essere vista come costituita da tre segmenti: segmento codice (text segment): contiene il codice eseguibile del programma segmento dati (user data segment): contiene tutte le variabili del programma (globali o statiche, locali allocate su stack, create dinamicamente dal programma tramite malloc()) segmento di sistema (system data segment): contiene i dati non gestiti esplicitamente dal programma in esecuzione, ma dal S.O (ad esempio, la "tabella dei file aperti") 13

14 Operazioni sui processi Le principali system call per la gestione dei processi consentono di: generare un processo figlio (child o anche slave) copia del processo padre (parent o anche master) in esecuzione; terminare un processo figlio (restituendo un codice al processo padre); attendere la terminazione di un processo figlio; sostituire il codice di un processo in esecuzione,, cioè sostituire il programma eseguito da un processo. 14

15 Operazioni sui processi Un processo figlio F può a sua volta generare un ulteriore processo figlio N. Si stabilisce così una gerarchia di processi. Padre P Figlio F1 Figlio F2 Figlio N11 Figlio N12 Figlio N2 P è padre di F1 e F2 F1 è padre di N11 e N12 F2 è padre di N2 15

16 Il sistema operativo Nelle architetture basate essenzialmente sullo schema di Von Neumann, il programma eseguibile è rigorosamente sequenziale (si esegue un istruzione per volta e si determina in modo univoco quale istruzione seguirà quella appena eseguita); Nel modello di esecuzione sequenziale, l'esecuzione di N programmi deve avvenire anch essa rigorosamente in sequenza: una volta eseguita la prima istruzione del programma iesimo, si devono eseguire tutte le istruzioni successive dello stesso programma, fino alla fine, prima di passare all esecuzione del programma successivo. 16

17 Il sistema operativo Questo garantisce che non possano esistere interferenze nell'esecuzione dei vari programmi ciò facilita il compito al programmatore, ma Modello di esecuzione sequenziale: poco adatto alle esigenze della maggior parte dei sistemi di calcolo moderni: ad esempio: Un server (es., server WEB) deve rispondere a molti utenti contemporaneamente non si può accettare che un utente debba attendere che tutti gli altri che lo hanno preceduto si siano già scollegati prima di essere servito! 17

18 Il sistema operativo I calcolatori potenti sono di norma calcolatori multiutente compaiono le stesse esigenze appena citate; Anche sul calcolatore con un singolo utente vengono aperte più applicazioni i i contemporaneamente t più programmi sono simultaneamente in esecuzione (su un PC, ma anche su uno smart phone!); Un sistema embedded deve rispondere a eventi generati da più dispositivi di ingresso/uscita (ad es., sensori...) totalmente asincroni l uno rispetto all altro: di fatto, deve gestire più programmi diversi contemporaneamente. Concludendo: 18

19 Il sistema operativo Nella maggior parte dei sistemi di calcolo moderni si presenta la necessità di esecuzione parallela di più programmi anche là dove è presente un solo processore Conseguenza: occorre: Fornire parallelismo l esecuzione di un programma può avvenire senza attendere che tutti gli altri programmi in esecuzione siano terminati, ti ma al tempo stesso Garantire che ogni programma in esecuzione venga eseguito esattamente come se i programmi venissero eseguiti in sequenza (fornendo cioè gli stessi risultati). 19

20 Il S.O. come creatore di parallelismo Modello di esecuzione parallela Garanzia di soddisfacimento di due obiettivi contrastanti parallelismo virtualizzazione del sistema di calcolo (esecuzione senza interferenze) gli obiettivi vengono soddisfatti tramite la creazione dinamica di tanti ESECUTORI quanti sono i programmi da eseguire in parallelo Gli esecutori creati dinamicamente sono i processi Un processo è un esecutore completo Il Sistema Operativo è in grado di creare processi indipendenti e rende disponibili al programmatore delle System Calls che permettono di creare ed eliminare i processi. 20

21 Virtualizzazione delle risorse di calcolo Il sistema operativo gestisce eventuali conflitti di accesso contemporaneo alle risorse reali condivise, creando delle risorse virtuali e accodando i processi richiedenti Accesso a periferiche condivise da più processi il codice eseguibile di un programma non può contenere istruzioni che accedano direttamente a periferica ma deve utilizzare delle system call che attivano opportuni servizi di sistema (v. implementazione delle librerie di Ingresso/Uscita del C) 21

22 Il sistema operativo Funzioni del sistema operativo: mettere a disposizione di ogni applicazione attiva una macchina virtuale capace di eseguire i comandi forniti dall'utente, utilizzando senza interferenze per tutte le applicazioni attive una sola macchina reale di livello di astrazione inferiore; mettere a disposizione del software applicativo (e quindi del programmatore) un insieme di servizi di sistema, invocabili tramite chiamate di sistema (system call) controllare le risorse fisiche del sistema e creare parallelismo 22

23 I processi dal punto di vista del programmatore Programma 1 Programma 2 Programma 3 Istruzioni Istruzioni Istruzioni Processo 1 Processo 2 Processo 3 (esecutore) (esecutore) (esecutore) Creazione dei processi HARDWARE + SO 23

24 Virtualizzazione delle risorse di calcolo Nello schema precedente: Diversi processi eseguono diversi programmi in modo parallelo I diversi processi sono reciprocamente indipendenti (come se fossero eseguiti su calcolatori diversi) quindi non c è interferenza. I processi possono essere visti come macchine virtuali, realizzate dal software (il S.O.) e non esistenti come hardware ovviamente il S.O. viene eseguito da hardware reale! 24

25 Virtualizzazione delle risorse di calcolo Come realizzare diversi processi che procedono in parallelo se lo hardware del calcolatore è unico, e sequenziale? La risposta è fornita appunto mediante la particolare struttura tt del sistema operativo. 25

26 Struttura del sistema operativo Modo shell Programmi utente utente Interfaccia delle chiamate di sistema File system Device driver HARDWARE Gestione processi Gestione memoria Modo kernel Struttura a strati di LINUX 26

27 Il nucleo deve: Funzionalità del nucleo Mantenere in memoria il S.O. e i diversi programmi in spazi fisici di indirizzamento separati. Durante l esecuzione di un programma, si può accedere solo allo spazio di indirizzamento consentito. Permettere il passaggio dall esecuzione di un programma a quella del S.O. e viceversa. Gestire le operazioni di I/O solo da S.O., e quindi tramite chiamate di sistema. Gestire i meccanismi di gestione dell interrupt. Gestire la verifica del quanto di tempo associato ai processi. 27

28 Che cosa è un processo per il S.O. Rappresenta una istanza del programma in esecuzione con tutte le informazioni necessarie: codice eseguibile dati del programma spazio di indirizzamento i che contiene il codice eseguibile, i dati e lo stack informazioni relative al suo funzionamento (stato) 28

29 Meccanismobase di funzionamento del nucleo Il S.O. alloca una zona di memoria ad ogni processo che viene creato e lo carica in tale zona (spazio di indirizzamento del processo) Esecuzione di un processo: il nucleo del S.O. sceglie, secondo politiche di scheduling opportune, un processo da mandare in esecuzione (da portare cioè in stato di esecuzione) quando un processo in esecuzione richiede un servizio di sistema tramite una SVC (SuperVisor Call v. più avanti): viene attivata la funzione relativa e il S.O. esegue il servizio nel contesto del processo stesso i servizi forniti dal S.O. operativo sono quindi parametrici in quanto vengono svolti per conto del processo che li ha attivati 29

30 Meccanismobase di funzionamento del nucleo Un processo in stato di esecuzione abbandona tale stato: per sospensione volontaria. Se il servizio di sistema richiesto deve attendere il verificarsi i di un evento per completare il servizio stesso, il processo passa da stato di esecuzione a stato di attesa. per la scadenza del quanto di tempo (preemption). Quando il S.O. verifica che il quanto di tempo è scaduto, pone il processo in esecuzione in stato di pronto Quando un processo in esecuzione è passato in stato di attesa o di pronto, lo scheduler del S.O. seleziona un processo tra quelli pronti e lo porta in stato di esecuzione (commutazione di contesto). 30

31 Diagramma degli stati di un processo e relative transizioni di stato Processo in Esecuzione Richiesta operazione di I/O (sospensione volontaria) selezione primo processo pronto e sua esecuzione termine quanto di tempo (preemption) p Processo in Attesa Completamento operazione di I/O (evento esterno) Processo Pronto 31

32 Stati di un processo In esecuzione: è il processo che sta utilizzando il processore (istante per istante esiste un solo processo in esecuzione). Pronto: un processo è in stato di pronto se attende solo la disponibilità della risorsa processore per poter proseguire nell elaborazione (possono esistere più processi in stato di pronto). Attesa: un processo è in stato di attesa se attende una risorsa non disponibile (che non sia il processore), o un evento, o il completamento di una operazione di I/O (possono esistere più processi in attesa su eventi diversi). 32

33 Transizioni di stato di un processo ESECUZIONE PRONTO Al termine del quanto di tempo il SO deve salvare tutte le informazioni necessarie (contesto) per poter riprendere l esecuzione del processo dal punto in cui è stata interrotta. ESECUZIONE ATTESA Si verifica quando il processo richiede delle risorse che non sono disponibili o attende un evento; il SO salva tutte le informazioni necessarie (contesto) a riprendere l esecuzione e l informazione relativa all evento atteso. 33

34 Transizioni di stato di un processo ATTESA PRONTO Quando l evento atteso da un processo si verifica, il SO sposta tutti i processi in attesa di quell evento evento o di quella risorsa nella coda dei processi pronti. PRONTO ESECUZIONE Il SO stabilisce sce quale dei processi accodati nello stato di PRONTO debba essere mandato in esecuzione (caricamento del contesto). La scelta è effettuata dall algoritmo di scheduling dei processi. 34

35 Modalità di funzionamento del processore Modo utente (User o non privilegiato ): è quello tipico di esecuzione dei processi applicativi Modo Kernel (Supervisor o privilegiato o sistema ): è quello tipico del Sistema Operativo Durante l esecuzione di un processo in modalità user, il processore può accedere al codice e dati del processo ma non ai dati e al codice del sistema operativo. Durante l esecuzione in modalità kernel, il processore può accedere sia allo spazio di indirizzamento del sistema operativo sia a quello utente Il modo di funzionamento del processore è memorizzato in uno dei bit del registro di stato (PSW) 35

36 Modalità di funzionamento del processore In modo U il processore può eseguire una parte delle istruzioni appartenenti all ISA In modo S il processore può eseguire tutte le istruzioni macchina Le istruzioni eseguibili bl solo in modo S si chiamano istruzioni i i privilegiate. In particolare, le istruzioni di accesso alle periferiche (IN e OUT) sono istruzioni privilegiate. Tutte le operazioni di ingresso e uscita sono gestite dal Sistema Operativo. Un processo eseguito in modo U non può accedere direttamente alle periferiche ma deve invocare i servizi del Sistema Operativo Se si tenta di eseguire le istruzioni privilegiate in modalità user, si genera un errore che provoca un eccezione. Un programma in esecuzione in modo U può passare in funzionamento in modo S tramite una chiamata di sistema (system call) che invoca il servizio relativo 36

37 Modalità di funzionamento del processore Istruzione non privilegiata SVC (SuperVisor Call): consente a un processo in esecuzione in modo U di invocare un servizio del SO L istruzione SVC esegue un salto ad una particolare funzione del SO (gestore di SVC) che invoca il servizio richiesto La SVC non specifica l indirizzo della funzione richiesta: tale indirizzo è specificato al processore tramite il vettore di interrupt. L indirizzo d inizio della funzione richiesta verrà quindi forzato nel Program Counter La SVC è un istruzione non privilegiata, ma dopo la sua esecuzione, il processore passa in modo S, cioè privilegiato. Quindi la SVC modifica il modo del processore (bit della PSW) Poiché la SVC realizza una chiamata di funzione, deve essere previsto il ritorno al programma che l ha invocata. E necessario salvare l indirizzo di ritorno del programma che ha invocato la SVC. Il ritorno avviene tramite l istruzione IRET che è un istruzione privilegiata 37

38 Diagramma degli stati di un processo (approfondimento) Esecuzione in modo U Interrupt o SVC (1) IRET (2) Esecuzione in modo S Interrupt di secondo livello e relative IRET (3) Richiesta di attesa (Sleep_on) (4) Attesa Ripresa Esecuzione (Change Change) (6) Sospensione (Preempt) (5) Pronto Risveglio (Wakeup Wakeup) (7) 38

39 Transizioni di stato La transizione (1) di stato da esecuzione in modo user a modo kernel avviene in due casi: chiamata di sistema (SVC) interrupt La transizione (2) di stato da esecuzione in modalità kernel a modalità user avviene per una IRET quando: termina l esecuzione della routine di risposta all interrupt (se non ci sono interrupt annidati) si rientra da SVC 39

40 Transizioni di stato L abbandono dello stato di esecuzione in modo S può avvenire solo per uno dei seguenti due motivi: 1. Il processo P si sospende quando un servizio di sistema richiede un evento e invoca la funzione sleepon (transizione 4) con relativo salvataggio di contesto del processo P in esecuzione 2. Il processo P si sospende durante un servizio di sistema o un interrupt di primo livello (transizione 1) se si verifica che è scaduto il quanto di tempo e invoca la funzione preempt (transizione 5) con relativo salvataggio di contesto Si noti: un processo P può passare in stato di attesa o in stato di pronto solo quando è in esecuzione in modo S. 40

41 Transizioni di stato La ripresa dell esecuzione esecuzione di un processo P (transizione 6) avviene solo se il processo P è pronto e se è quello con maggiore priorità di esecuzione tra tutti i processi pronti (algoritmo di scheduling dei processi). La funzione change esegue la commutazione del contesto. Si noti che il momento in cui avviene la transizione 6 per un processo P non dipende dal processo P stesso, ma da un altro processo che era in esecuzione (che starà eseguendo la transizione 4 oppure 5) e dall algoritmo algoritmo di scheduling. 41

42 Transizioni di stato Il risveglio di un processo P tramite la funzione wakeup (transizione 7) avviene quando, nel contesto di un altro processo, si verifica un interrupt relativo all evento E atteso dal processo P. Ovviamente, in un qualsiasi istante di tempo, un solo processo P può essere in esecuzione (in modalità U oppure S), ma diversi i processi possono essere pronti o in attesa di eventi. 42

43 La gestione del quanto di tempo Il quanto di tempo è gestito da un particolare interrupt generato dall orologio di sistema ad una frequenza definita, il dispositivo che realizza l orologio di sistema genera un interrupt. t La relativa routine di risposta incrementa una opportuna variabile che contiene il tempo di esecuzione del processo corrente se il quanto di tempo non è scaduto la routine termina e, se non ci sono interrupt annidati, il processo prosegue nell esecuzione se invece il quanto di tempo è scaduto, e l interrupt da realtime clock non è annidato viene invocata la funzione (preempt) che cambia lo stato del processo da esecuzione a pronto, salva il contesto del processo e lo scheduler manda in esecuzione un processo pronto e viene invocata la funzione (change) che esegue una commutazione di contesto 43

44 Strutture fondamentali del nucleo Il SO dispone di una tabella dei processi (Proctable) che contiene un elemento per ogni processo che è stato creato. Gli elementi della tabella possono essere visti come record (di tipo ProcRec): il record contiene i campi indispensabili a caratterizzare il processo relativamente alla gestione dei processi, gestione della memoria e gestione dei file. Una variabile CurProc contiene l indice del record relativo al processo attualmente in esecuzione. 44

45 Strutture fondamentali del nucleo Ogni processo ha un suo stack utente (che appartiene al suo spazio di indirizzamento) e un suo stack di sistema Lo stack di sistema può essere visto come una tabella di stack di sistema: esiste quindi uno stack di sistema per ogni processo che è stato creato. Il registro ssp punta di volta in volta allo stack di sistema del processo correntemente in esecuzione. Il registro usp punta di volta in volta allo stack utente del processo correntemente in esecuzione. Il modo di esecuzione corrente (U/S) determina quale stack utilizzare (usp/ssp). 45

46 Funzioni del nucleo per la gestione dei processi Tali funzioni del nucleo gestiscono il cambiamento di stato dei processi e la commutazione di contesto. Possono scrivere nella tabella dei processi (ProcTable) per aggiornare le informazioni relative allo stato dei processi e al salvataggio di contesto Si noti che normalmente i vari servizi di sistema e le routine di interrupt possono accedere alla tabella dei processi solo per leggerne il contenuto ma non per modificarlo. 46

47 Funzioni del nucleo per la gestione dei processi Sleep_on: pone il processo corrente in stato di attesa, con salvataggio del contesto. Change: esegue una commutazione di contesto. Wake_up: risveglia un processo passando il suo stato da stato di attesa a stato di pronto. Preempt: sospende il processo in esecuzione per scadenza del quanto di tempo, con salvataggio del contesto. Per quanto riguarda il contesto: se il processo è in esecuzione parte del contesto si trova nei registri i della CPU se il processo non è in esecuzione il contesto è tutto salvato in memoria 47

48 Come stabilire quale processo attivare? Questo è compito di una parte del sistema operativo detta scheduler che Sceglie fra i processi in memoria che sono pronti per essere eseguiti Alloca la CPU a uno di tali processi. Tre tipi di scheduling: A lungo termine A medio termine A breve termine. 48

49 I tipi di scheduling A lungo termine: Determina quali programmi vengono ammessi al sistema per essere elaborati Controlla il grado di multiprogrammazione Se il numero di processi aumenta, diminuisce la percentuale di tempo dedicata a ogni processo. A medio termine: Si fa carico di parte della funzione di swapping fra disco e memoria di lavoro Basato sulla necessità di gestire il grado di multiprogrammazione. 49

50 I tipi di scheduling A breve termine: Noto anche come dispatcher È quello eseguito più frequentemente t Viene invocato ogni volta che si presenta un evento (interruzione da ingresso/uscita o generata dal clock, chiamate a sistema operativo, segnali interni). 50

51 Come stabilire quale processo attivare? Le decisioni di scheduling della CPU possono verificarsi quando un processo: Passa da stato in esecuzione (running) a stato in attesa (waiting) Passa da stato in esecuzione a stato pronto (ready) Passa da stato in attesa a stato pronto Termina Lo scheduling sulle basi precedenti è non preemptive. Altre forme di scheduling sono preemptive. 51

52 Come stabilire quale processo attivare? Il dispatcher dà il controllo della CPU al processo scelto: ciò comporta: Commutare il contesto Commutare da modo supervisore a modo utente Passare all opportuno indirizzo i del programma di utente per riprendere l esecuzione di quel programma. Si dice latenza di dispatch il tempo necessario perché il dispatcher fermi un processo e ne faccia partire un altro. 52

53 I criteri per lo scheduling Utilizzo della CPU si vuole mantenere la CPU il più possibile occupata Throughput h il numero di processi che vengono completati nell unità di tempo; Tempo di turnaround richiesto per eseguire un particolare processo; Tempo di attesa durante il quale il processo è stato tenuto in coda. 53

54 Scheduling: un esempio 54

55 Gestione di sistema e periferia Nel caso di sistemi di elaborazione molto semplici (tipicamente, basati su microcontrollori con parola di 8 o 16 bit) il programmatore applicativo può anche accedere direttamente a tutte le funzionalità; Nella grande maggioranza dei sistemi, come già indicato, le istruzioni relative ad I/O sono privilegiate e il programmatore deve chiamare opportune routine del sistema operativo. È ora possibile considerare più in dettaglio la gestione delle interruzioni. 55

56 INTERRUZIONE Modifica del modo di funzionamento Quando si verifica un interruzione generalmente esiste un processo in esecuzione e si possono avere 3 casi: l interrupt può interrompere un processo in esecuzione in modalità U (utente); l interrupt può interrompere un servizio di sistema invocato dal processo in esecuzione (è in esecuzione il SO modalità S) l interrupt può interrompere una routine di interrupt (è in esecuzione il SO modalità S) è il caso di interrupt annidato o di secondo livello 56

57 Modifica del modo di funzionamento In tutti i casi la routine di interrupt (che fa parte del S.O.) svolge il proprio compito in modo trasparente rispetto al processo in esecuzione non viene mai svolta una commutazione di contesto durante la gestione di un interrupt Se la routine di interrupt è associata al verificarsi di un certo evento E sul quale erano in attesa dei processi, allora la routine porta i processi dallo stato di attesa allo stato di pronto. Si osservi che una routine di interrupt t è associata ad un evento E atteso da un processo P, ma si svolge nel contesto di un altro processo Q 57

58 Interrupt Modifica del modo di funzionamento Le routine di risposta all interrupt fanno parte del Sistema Operativo e quindi vengono eseguite in modo S Quando si verifica un interruzione il processore passa ad eseguire la routine di risposta relativa all evento Il modo del processore passa ad S (modifica di PSW), indipendentemente dal modo di esecuzione al momento dell accettazione dell interrupt stesso (U se processo applicativo in esecuzione, S se altra routine di risposta, o SO in esecuzione) 58

59 Modifica del modo di funzionamento Sia nel caso di SVC che nel caso di interrupt il modo di partenza del processore deve essere salvato sullo stack (insieme all indirizzo di ritorno) per consentire un ritorno corretto al termine dell esecuzione esecuzione del servizio relativo alla SVC o della routine di interrupt. Questo equivale a salvare sullo stack il valore del registro PSW (che nel caso degli interrupt contiene anche il livello ll di priorità ità del programma interrotto) 59

60 Modifica del modo di funzionamento Al termine di una routine di risposta all interrupt o dell esecuzione di un servizio di SO è prevista l istruzione IRET che esegue il ritorno al programma interrotto, o al programma che ha eseguito la SVC L esecuzione dell istruzione IRET implica che vengano prelevate dallo stack le informazioni i i per il caricamento dell indirizzo di ritorno nel registro PC il ripristino i del modo di funzionamento al momento dell interrupt o della SVC (modo di ritorno) 60

61 Modifica del modo di funzionamento Il SO, prima di eseguire una IRET che rientra in modo U, invoca la funzione preempt (ciò vale in particolare per tutte le routine di interrupt e il gestore dei servizi di sistema) Viene cioè verificato se il quanto di tempo del processo corrente è scaduto e, in caso positivo, dopo il salvataggio del contesto si esegue la commutazione di contesto invocando la change In pratica, per imporre la preemption, il SO deve attuarla prima di ritornare al modo U, perché un processo in modo U non possiede nessun controllo relativo al superamento del quanto di tempo. 61

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

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

Dettagli

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

2. Nucleo del sistema operativo (la gestione dei processi) Architettura del sistema operativo Struttura interna del sistema operativo Linux shell Programmi utente Modo utente 2. Nucleo del sistema operativo (la gestione dei processi) - 31 marzo 2008 - Interfaccia

Dettagli

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Informatica Generale 07 - Sistemi Operativi:Gestione dei processi Cosa vedremo: Esecuzione di un programma Concetto di processo Interruzioni Sistemi monotasking e multitasking Time-sharing Tabella dei

Dettagli

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 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

Dettagli

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

Dettagli

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

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à,

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

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

Dettagli

Sistemi Operativi. La gestione delle risorse

Sistemi Operativi. La gestione delle risorse Sistemi Operativi La gestione delle risorse Introduzione Il sistema operativo ha il compito di fornire la gestione dell hardware ai programmi dell utente. Utente utilizza i programmi applicativi Programmi

Dettagli

Il Sistema Operativo

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

Dettagli

eseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore,

eseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore, La programmazione di sistema Introduzione ai sistemi operativi multiprocesso Primitive per la gestione dei processi http://home.dei.polimi.it/silvano/acso.htm Il sistema ste operativo Il Sistema Operativo

Dettagli

Il supporto al sistema operativo

Il supporto al sistema operativo Politecnico di Milano Il supporto al sistema operativo Prof. Mariagiovanna Sami sami@elet.polimi.it 2007- Obiettivi e Funzioni Perché introdurre il sistema operativo? Convenienza Rende più facile usare

Dettagli

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

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche Device driver - gestori delle periferiche Struttura interna del sistema operativo Linux Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici Interagiscono con

Dettagli

Sistemi Operativi. Lezione 3 Processi e Thread

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

Dettagli

Componenti di un sistema operativo

Componenti di un sistema operativo Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria

Dettagli

Struttura interna del sistema operativo Linux

Struttura interna del sistema operativo Linux Struttura interna del sistema operativo Linux 5. I device driver A cura di: Anna Antola Giuseppe Pozzi DEI, Politecnico di Milano anna.antola/giuseppe.pozzi@polimi.it -versione del 30 marzo 2004-1-04.-04

Dettagli

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

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,

Dettagli

I Processi. Il Concetto di Processo

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

Dettagli

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

Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 DIPARTIMENTO DI INFORMATICA Alberto Ceselli (alberto.ceselli@unimi.it) Informatica II Sistemi Operativi DIGIP - a.a. 2015/16 Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università

Dettagli

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

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.

Dettagli

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri

Dettagli

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

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

ACSO Programmazione di Sistema e Concorrente

ACSO Programmazione di Sistema e Concorrente ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività

Dettagli

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. 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

Dettagli

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Dettagli

Organizzazione di un SO monolitico

Organizzazione di un SO monolitico 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

Dettagli

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

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

Dettagli

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Dettagli

Capitolo 2: Strutture dei sistemi di calcolo

Capitolo 2: Strutture dei sistemi di calcolo Capitolo 2: Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di protezione Struttura delle reti di calcolatori

Dettagli

Sistemi Operativi: Concetti Introduttivi

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

Dettagli

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. 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

Dettagli

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

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Il Concetto di Processo

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 l di un processo è sequenziale (le istruzioni vengono eseguite

Dettagli

I THREAD O PROCESSI LEGGERI

I THREAD O PROCESSI LEGGERI I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine

Dettagli

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi Informatica Generale 06 - Introduzione ai Sistemi Operativi Cosa vedremo: Funzionalità dei sistemi operativi Bootstrap Stato utente e stato supervisore Componenti di un Sistema Operativo Cos è un sistema

Dettagli

Struttura Logica del S.O:

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 è

Dettagli

CAP9. Device drivers

CAP9. Device drivers Struttura interna del sistema operativo Linux CAP9. Device drivers Device drivers Gestori di periferiche Sono moduli software che realizzano l interfacciamento e la gestione dei dispositivi periferici

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

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

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

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Il concetto di processo Schedulazione dei processi Operazioni sui processi

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads

Sommario. Processi e Programmi. Che cosa e un Processo? Lezione 5 Processi e Threads Sommario Lezione 5 Processi e Threads Processi e Programmi Implementazione dei Processi Casi di Studio relativi a Processi Thread Casi di Studio relativi a Thread 5.2 Processi e Programmi Che cosa e un

Dettagli

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo. Informatica Sistema Operativo 1 Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto

Dettagli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Il sistema delle interruzioni nel processore MC68000 (cenni) Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

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 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

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

il tipo di parallelismo dipende dal grado di cooperazione

il tipo di parallelismo dipende dal grado di cooperazione Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

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

Dettagli

Sistema operativo & file system 1

Sistema operativo & file system 1 Il software (sw) Software di sistema e file system Lezione 1b L esecuzione di programmi è lo scopo di un elaboratore I programmi sono algoritmi codificati in un particolare linguaggio di programmazione

Dettagli

Componenti principali

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

Dettagli

1. Caratteristiche dello hardware

1. Caratteristiche dello hardware Struttura interna del sistema Operativo Linux 1. Caratteristiche dello hardware 4 aprile 2008 Funzionalità del Sistema Operativo Realizzazione di macchine virtuali (processi) che eseguono i programmi in

Dettagli

Sistema operativo: Gestione dei processi

Sistema operativo: Gestione dei processi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2009/2010 Sistema operativo: Gestione dei processi La presente dispensa e da

Dettagli

Sistema Operativo (Software di base)

Sistema Operativo (Software di base) Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia

Dettagli

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Dettagli

il Nucleo e la gestione dei processi

il Nucleo e la gestione dei processi il Nucleo e la gestione dei processi 1. Programmi, processi e risorse Differenza fra programmi e processi Il Programma rappresenta la descrizione del procedimento logico (algoritmo) che deve essere eseguito

Dettagli

Sistema Operativo. (hardware e software) della della macchina

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

Dettagli

Introduzione al Multithreading

Introduzione al Multithreading Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui

Dettagli

LA GESTIONE DELLA I/O

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

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

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

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

Dettagli

Sistemi operativi e reti A.A Lezione 2

Sistemi operativi e reti A.A Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 2 Giovedì 8-10-2014 1 Sistemi a partizione di tempo (time-sharing) I

Dettagli

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Cos'è un sistema operativo?(software di base) Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia

Dettagli

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di Lezione 3 Sistemi Operativi e misure di performance Parleremo di Ambienti di Elaborazione e Natura della computazione Classi di Sistemi Operativi Efficienza, Performance del Sistema, e Servizi Utente Sistemi

Dettagli

Multiprogrammazione (circa 1965) Interruzioni e S.O. (1) Interruzioni e S.O. (2)

Multiprogrammazione (circa 1965) Interruzioni e S.O. (1) Interruzioni e S.O. (2) Interruzioni e S.O. (1) - E' compito del S.O. gestire le interruzioni tramite le interrupt routines. - Nel semplice modello di S.O. visto, in cui un solo programma alla volta è presente in memoria principale,

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin IL CALCOLATORE visto fin qui MEMORIA CENTRALE BIOS (carica il programma da disco)

Dettagli

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

Il Sistema Operativo Ing. Agnese Pinto. Fondamenti di Informatica CDL in Ingegneria Meccanica- A.A Il Sistema Operativo Ing. Agnese Pinto CDL in Ingegneria Meccanica- A.A. 2011-12 Il sistema operativo(so) E uno strato software che opera direttamente sull hardware Isola gli utenti dai dettagli dell hardware

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 05/02/07 Nota Questi lucidi sono tratti

Dettagli

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. 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

Dettagli

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

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

Dettagli

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

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf. Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf. Il Sistema Operativo (O.S. Operating System) è un insieme di programmi che governa e controlla

Dettagli

Sistemi Operativi. Lez. 0: Introduzione ai sistemi operativi

Sistemi Operativi. Lez. 0: Introduzione ai sistemi operativi Sistemi Operativi Lez. 0: Introduzione ai sistemi operativi Cos è un firmware? firmware è un programma integrato direttamente in un componente elettronico. Il termine deriva dall'unione di "firm" (azienda)

Dettagli

2. Tipi di periferiche e classificazione dei gestori

2. Tipi di periferiche e classificazione dei gestori 9. I GESTORI DI PERIFERICHE 1. Introduzione I gestori di periferiche (device drivers) sono dei componenti il cui funzionamento, a differenza di quello del file system, è fortemente intrecciato con quello

Dettagli

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 Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione

Dettagli

Modelli di interazione tra processi

Modelli di interazione tra processi Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

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.

Dettagli

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

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

Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi Concetto di Processo Scheduling dei Processi Operazioni sui Processi Processi cooperanti Comunicazione tra processi 3.3 Silberschatz, Galvin and Gagne 2005 1 Un SO esegue diversi tipi di programmi Sistema

Dettagli

I processi: concetti di base, context switch e scheduling

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

Dettagli

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

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

Dettagli

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Processi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi

Processi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Processi Concetti di base Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Esecuzione sequenziale I sistemi di calcolo più semplici consentono unicamente l'esecuzione sequenziale

Dettagli

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (5 punti) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei

Dettagli

Il software: cenni sul sistema operativo

Il software: cenni sul sistema operativo Il software: cenni sul sistema operativo Carla Guerrini Calcolo Numerico e Programmazione 1 Il software Carla Guerrini Calcolo Numerico e Programmazione 2 IL sistema operativo (I) Il sistema operativo

Dettagli

Architettura di Von Neumann

Architettura di Von Neumann Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i

Dettagli

Processi e thread. Concetto di processo

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

Dettagli

Macchina di von Neumann/Turing

Macchina di von Neumann/Turing Macchina di von Neumann/Turing Concetto di programma memorizzato Memoria principale per dati e istruzioni ALU opera su dati in formato binario Unità di controllo che interpreta le istruzioni in memoria

Dettagli

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

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica Lezione 5: Software Firmware Sistema Operativo Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software 2 Architettura del Calcolatore

Dettagli

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 Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Dettagli

Modelli di interazione tra processi

Modelli di interazione tra processi Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

ESERCIZIO Cambio Di Contesto: System Call (1)

ESERCIZIO Cambio Di Contesto: System Call (1) ESERCIZIO Cambio Di Contesto: System Call (1) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei registri generali R1

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Eccezioni ed Interruzioni Anno Accademico 2013/2014 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella

Dettagli

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

Sistema operativo. Utente. Il S.O. mostra offre all utente un ambiente di lavoro che nascondendo la complessità della macchina fisica (hardware). S.O. Sistema operativo Il S.O. (sistema operativo) è un insieme di programmi che: gestisce le risorse hardware (CPU, RAM, memoria di massa, periferiche) e software (programmi applicativi) in modo ottimizzato

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

Architettura degli Elaboratori - 1

Architettura degli Elaboratori - 1 Architettura degli Elaboratori - 1 Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Obiettivi del Corso Descrizione dell architettura

Dettagli

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

Architettura dei calcolatori e sistemi operativi. M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente Architettura dei calcolatori e sistemi operativi M2 Organizzazione della memoria virtuale Struttura dello spazio virtuale kernel e utente 18.01.2015 Architettura Intel x64 Lo spazio di indirizzamento virtuale

Dettagli

Capitolo 1: Introduzione

Capitolo 1: Introduzione Capitolo 1: Introduzione Cos è un sistema operativo Sistemi mainframe Sistemi da scrivania Sistemi con più unità d elaborazione Sistemi distribuiti Batterie di sistemi (cluster) Sistemi d elaborazione

Dettagli

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 Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 10 Giovedì 7-11-2013 1 Gestione della memoria La memoria principale è

Dettagli