Il nucleo del Sistema Operativo

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

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.
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
La struttura fisica e logica di un elaboratore
Gestione Input Output A. Ferrari.
Gestione dei processi A. Ferrari.
STRUTTURA DEL PERSONAL COMPUTER
Il Sistema Operativo.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
Gestione del processore
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
Time Sharing Il termine “Time Sharing” proviene dall'inglese e significa letteralmente “partizione di tempo”. Questa è una tecnica sviluppatasi negli.
I COMPONENTI DEL Computer
Il sistema operativo.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Processi Concetto di processo Scheduling dei processi
INTRODUZIONE AI SISTEMI OPERATIVI
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
1 Gestione del processore Il modello a processi sequenziali.
Sistemi Operativi GESTIONE DEI PROCESSI.
Introduzione Cosa è un Sistema Operativo ?
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Informatica per medici
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Requisiti precedenti Contenuti Verifiche Bibliografia Maura Zini.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il Calcolatore Elettronico
MODULO 01 Il computer.
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Il sistema operativo.
Architettura degli elaboratori
La schedulazione dei processi
Architettura del calcolatore
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Il Sistema Operativo (1)
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
1.1 Sistemi di elaborazione
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
INFORMATICA TECNOLOGIE INFORMATICHE INFORmazione autoMATICA
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Informatica Lezione 8 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Esercizi.
Informatica Generale Marzia Buscemi
Concetti di base Computer, HW e SW
IL NUCLEO Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione dei processi con.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
Concetti informatici di base. Concetti informatici di base Il computer o elaboratore è una apparecchiatura costituita da un insieme di dispositivi di.
IL NUCLEO Le funzioni del nucleo sono: Avvio e terminazione dei processi Assegnazione della CPU ai diversi processi Sincronizzazione tra i processi Sincronizzazione.
Il Sistema Operativo Processi e Risorse
Transcript della presentazione:

Il nucleo del Sistema Operativo Kernel HW

La Contesa della CPU La CPU è la componente più costosa e più importante di un computer Tutti i programmi necessitano della CPU per essere eseguiti ma la CPU è in genere unica Esiste un meccanismo di “contesa” della CPU È quindi molto importante quel modulo del S.O. che organizza la modalità con cui la CPU viene assegnata ai programmi

Compiti del Kernel Decidere a chi assegnare la CPU Assegnare la CPU Le funzioni del “nucleo” di un S.O. sono: Aggiornare lo “Stato” della CPU. Decidere a chi assegnare la CPU Assegnare la CPU Rilasciare la CPU SDAR

Configurazione hardware Sui PC la configurazione HW più frequente è: Sistema multiprogrammabile. Cpu Unica Più processori dedicati di i/o (controller usb, hdmi, lan, wifi….) Più periferiche standard (mouse, printer, video…) Più memorie di massa (hdd, dvd…)

Processo Algoritmo = istruzioni organizzate e scritte che l’elaboratore deve eseguire secondo un certo ordine. Processo = fase di esecuzione dell’algoritmo a cui sono assegnate le risorse che egli chiede (cpu, ram, video, tastiera, mouse…)

Stati di un processo

Diagramma degli stati

Liste Nel Kernel esistono delle “liste” per ogni possibile stato di un processo In ogni lista ci sono indicati tutti i processi che si trovano nella specifica condizione Per esempio questa è la lista dei “ready”: 3156 1021 1022 3150 2040 2041 2045 1007

Kernel La gestione dei processi è affidata ad una serie di programmi che: Costituiscono il kernel Sono sempre caricati e residenti in memoria centrale.

Programmi del Kernel Job scheduler: si occupa di selezionare un lavoro dalle liste. Process scheduler : sceglie il processo che potrà usare la cpu Traffic controller: sposta i processi e aggiorna le liste Interrupt manager: segnala alla cpu lo scambio di processi Sincronizzazione : permette la comunicazione tra processi.

Job scheduler Quando un lavoro viene richiesto dall’utente, viene messo nello stato HOLD (in un file speciale sul hdd) Lo Schedulatore accede alla lista degli hold in cui ogni lavoro (job) è identificato da un numero (JCB job control block) Ammissione: al momento opportuno lo Schedulatore dei lavori lo selezionerà tra gli altri per portarlo in memoria centrale passando allo stato READY. Lista ready job Hdd Lista hold

Job scheduler (JS) Lo JS preleva un lavoro dalla lista hold su disco fisso e lo manda in memoria nella lista dei ready.

JCB = job control block Identificativo del programma Il jcb contiene informazioni su: Identificativo del programma Occupazione in memoria (KB) Indirizzo sulla memoria di massa Identificativo periferica Puntatore allo JCB successivo

Traffic controller Il Controllore del traffico elimina il JCB dalla lista degli hold e crea un PCB (process control block) nella lista dei ready. 3156 1021 1022 3150 2040 2041 2045 1007 1009

PCB = process control block Informazioni nel PCB PID, numero progressivo che identifica un processo ID del padre (il PCB che puntava ed esso) Il puntatore ai figli Lo stato del processo (ready, run…) Registro di salvataggio Indirizzo in memoria centrale Identificatore periferica File aperti

From ready to run (dispatching) Quando la cpu è libera il Process Scheduler (PS) sceglie un processo ready da mandare alla cpu il Traffic Controller (TC) modifica il campo “stato” in “run” A B C H L

Uscita dallo stato run HDD (ready) Ci sono 3 eventi che portano a liberare la CPU da un processo e sono: Il processo chiede i/o processo Lista dei running Il processo ha terminato È scaduto il Time slice

Stato end Il passaggio allo stato end è detto “terminazione”. Viene cancellato il suo PCB Viene liberata la memoria PCB 07 PCB 84 LISTA DEI READY (IN RAM)

Ritorno allo stato di ready o wait Se viene esaurito il time slice il processo viene rimesso in coda alla cpu nello stato ready Se invece il processo chiede un i/o allora viene messo in attesa del device (wait), dopo aver utilizzato la risorsa i/o viene riportato in coda ready.