sono forniti di un sistema operativo più o meno complesso; i programmi d utente (o programmi del sistema, ma lo fanno attraverso il sistema
|
|
- Veronica Amato
- 6 anni fa
- Visualizzazioni
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)
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
Dettagli2. 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
DettagliInformatica 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
DettagliUniversità 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
DettagliCAP. 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
Dettagliinteroperabilità 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à,
DettagliSISTEMI 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
DettagliSistemi 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
DettagliIl 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
Dettaglieseguire 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
DettagliIl 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
Dettagli5. 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
DettagliSistemi 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
DettagliComponenti 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
DettagliStruttura 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
DettagliIl 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,
DettagliI 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
DettagliInformatica 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à
Dettagli1. 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.
DettagliIl 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
DettagliSistemi 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
DettagliACSO 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à
DettagliI 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
DettagliLivelli 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
DettagliOrganizzazione 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
DettagliTECN.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
DettagliCapitolo 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
DettagliCapitolo 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
DettagliSistemi 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
DettagliI 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
DettagliBootstrap. 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
DettagliIl 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
DettagliI 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
DettagliInformatica 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
DettagliStruttura 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 è
DettagliCAP9. 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
DettagliUniversità 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
DettagliSistemi 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
DettagliSistemi 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
DettagliModi 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
DettagliSommario. 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
DettagliIl 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
DettagliIl 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
DettagliSistemi 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
DettagliLezione 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
Dettagliil 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
DettagliComponenti 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
DettagliSistema 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
DettagliComponenti 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
Dettagli1. 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
DettagliSistema 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
DettagliSistema 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:
DettagliOperazioni 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
DettagliSystem 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:
Dettagliil 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
DettagliSistema 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
DettagliIntroduzione 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
DettagliLA 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
DettagliComponenti 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
DettagliSistemi 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
DettagliSistemi 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
DettagliCapitolo 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
DettagliLezione 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
DettagliMultiprogrammazione (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,
DettagliIl 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)
DettagliIl 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
DettagliLaboratorio 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
DettagliProcessi. 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
DettagliL 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
DettagliSistemi 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
DettagliSistemi 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)
Dettagli2. 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
DettagliUniversità 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
DettagliModelli 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
DettagliCLASSIFICAZIONE 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.
DettagliPeriferiche 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
DettagliIl 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
DettagliConcetto 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
DettagliI 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
DettagliTEORIA 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
DettagliCon 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
DettagliProcessi 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
DettagliSistemi 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
DettagliIl 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
DettagliArchitettura 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
DettagliProcessi 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
DettagliMacchina 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
DettagliLezione 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
DettagliUniversità 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
DettagliModelli 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
DettagliCAP. 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
DettagliESERCIZIO 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
DettagliIl 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
DettagliUniversità 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
DettagliSistema 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
DettagliAXO. 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
DettagliArchitettura 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
DettagliArchitettura 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
DettagliCapitolo 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
DettagliUniversità 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