40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente :"

Transcript

1 32. Il Sistema Operativo : definizione e struttura Il SO è un insieme di programmi le cui funzioni principali sono costituire un interfaccia tra la macchina e l utente e gestire in modo ottimale le risorse del sistema. Il SO ha una schematizzazione a strati o a cipolla, dove ogni strato può essere visto come un modulo software eseguito sfruttando quanto è messo a disposizione dello strato sottostante. Si dice anche che ogni strato è una macchina virtuale per gli strati superiori, cioè che a qualsiasi livello si collochi, gli strati sottostanti vengono visti come oggetto unico, come se fosse una macchina fisica che fornisce le primitive attraverso le quali è possibile interagire con esso, che opera su particolari tipi di oggetti e accetta specifici comandi. La struttura di un S.O. è gerarchica : questo significa che i programmi che lo compongono si collocano a livelli diversi, si servono di programmi che stanno ai livelli sottostanti e servono i programmi dei livelli superiori. 33. Elaborazione batch Con questo termine si fa riferimento ai primi sistemi operativi (batch monoprogrammati) che avevano lo scopo di svincolare il sistema dalle attese improduttive, eliminando gli intervalli tra la fine dell esecuzione di un programma e l inizio del successivo. Il sistema operativo doveva essere dotato di un programma speciale, sempre residente in memoria centrale, che raccoglieva i lavori (job) presentati dagli utenti e li eseguiva in successione. Nell elaborazione batch l utente non interagiva con il calcolatore durante l esecuzione dei programmi. Al contrario, occorreva preparare prima di tutto il lavoro da svolgere, e al termine si otteneva il risultato. Il lavoro batch può quindi essere considerato l opposto di interattività. Il termine elaborazione batch o a lotti è ancora in uso oggi e significa che i dati necessari all elaborazione sono accumulati in una memoria ausiliaria durante un certo periodo di tempo : a una scadenza prefissata vengono elaborati tutti insieme ( in un unico lotto) dai programmi applicativi. (Es. procedura stampa cedolini paga). 34. Time sharing Il time sharing, o condivisione di tempo, è un modello di sistema operativo che si basa su una politica di gestione della CPU che prevede l assegnazione del processore a turno ai vari programmi utente per un limitato periodo di tempo, chiamato time-slice o quanto. Se le commutazioni tra utenti sono abbastanza frequenti, ognuno ha la sensazione di lavorare su una macchina dedicata. La velocità della CPU costituisce un parametro critico di un sistema dove essa viene gestita in time-sharing. Per evitare i sovraccarichi occorre eseguire in ogni time slice un numero sufficiente di operazioni di CPU, che deve essere comunque molto più grande del numero di istruzioni eseguite per effettuare i riassegnamenti. Il time slice deve essere piccolo per garantire che in un tempo impercettibile da una persona, per esempio un secondo, si trovi un numero elevato di time slice, per poter offrire il servizio a tutti gli utenti almeno una volta. Riducendo il numero di time slice, il numero delle commutazioni tra utenti cresce troppo e di conseguenza il tempo dedicato alle routine di sistema diviene eccessivo ( system overhead o più precisamente system overload). In questa modalità di lavoro assumono grande importanza 2 parametri : la velocità della CPU e la dimensione della MC. Nei sistemi operativi monoutente, la tecnica di time-sharing è meglio nota con il termine multitasking 35. La multiprogrammazione, la monoprogrammazione e la multiutenza, la monoutenza Multiprogrammazione significa che più processi sono caricati in MC ed avanzano in parallelo;l obiettivo è di non lasciare inattiva la CPU.. Quando un processo richiede ad esempio un operazione di I/O, viene messo in attesa per eseguire un altro processo, migliorando il rendimento del processore. La tecnica della multiprogrammazione ha permesso lo sviluppo dei sistemi operativi multiutente e del time-sharing; non implica la multiutenza (basta pensare al multitasking). Monoprogrammazione significa che in MC è caricato un solo processo; implica la monoutenza. La monoutenza, cioè quando vi è un solo utente, non implica però la monoprogrammazione, mentre la multiutenza implica la multiprogrammazione. 36. Il gestore dei processori La componente principale dell elaboratore è la CPU. Tutti i programmi hanno bisogno della CPU per essere eseguiti, ma questa è unica e quindi viene contesa dai vari processi in esecuzione. Riveste allora particolare importanza quella parte del S.O. che si occupa dell assegnazione della CPU ai singoli lavori che ne chiedono l uso ovvero il gestore dei processori. Le funzioni che deve svolgere sono : 1. mantenere aggiornato lo stato del processore (Libero/occupato) 2. decidere a quale processo assegnare il processore quando se ne presenti la necessità 3. assegnare il processore al processo (quello scelto) 4. riprendere il controllo del processore quando il processo è terminato o sospeso. I moduli più importanti sono: - lo scheduler dei lavori (job scheduler o long term scheduling); - lo schedulatore dei processi (process scheduler o short term scheduling); - il controllore del traffico (traffic controller o dispatcher). I due moduli di scheduling utilizzano particolari politiche di scelta basati su criteri quali massimizzare l utilizzo della CPU; massimizzare il numero dei programmi eseguiti nell unità di tempo; -minimizzare il tempo di turn-around e di risposta; garantire a tutti gli utenti un servizio omogeneo in termini di tempo d attesa.

2 37. Job scheduler e process scheduler Il job scheduler sceglie, fra quelli proposti, i lavori da eseguire e li carica da MdM in MC creando i relativi processi. Si occupa quindi della transazione da stato hold a stato ready di un processo. I descrittori di tutti i lavori sono organizzati in una lista che il job scheduler scandisce al fine di determinare quale lavoro portare in MC per l esecuzione. Tra tutti i lavori che hanno queste caratteristiche bisognerà effettuare una scelta e a questo scopo sono state definite diverse politiche : FIFO : i lavori sono ordinati in una lista in ordine di arrivo. Il primo lavoro inserito nella lista sarà il primo a passare dallo stato Hold allo stato Ready. E una politica molto semplice da gestire ma non permette una reale ottimizzazione delle risorse PRIORITA STATICA : a ogni lavoro è assegnato un valore ( priorità) che indica il livello di importanza del lavoro. La priorità è memorizzata nel JCB di ciascun lavoro e può essere assegnata dal responsabile del centro. Il job scheduler sceglierà allora il lavoro che ha la priorità maggiore: tra quelli con pari priorità potrà essere la politica Fifo PRIORITA DINAMICA : affinchè non ci siano lavori che permangono troppo tempo in coda perché ce ne sono altri con priorità maggiore, il S.O. aumenta il valore della priorità in funzione del tempo di permanenza del lavoro in coda. Per poter attuare questa politica è necessario inserire nel JCB un informazione che indichi il momento di inserimento del descrittore nella lista, cioè il tempo in cui è stata richiesta l esecuzione del programma. Il process scheduler invece opera sulla lista dei processi in stato ready e sceglie, in base ad una particolare politica di scheduling, quale processo portare in stato run. Esso è in grado di compiere questa funzione secondo una delle seguenti politiche : round robin : il processore viene assegnato a turno, per un intervallo di tempo stabiito, ai processi nell ordine in cui questi ne hanno fatto richiesta. La coda è gestita con il metodo FIFO e quindi tutti gli inserimenti provenienti dalla coda ready o dalla cosa di wait avvengono al fondo. Round robin a percentuale di tempo : con la tecnica precedente i processi che richiedono molte operazioni di I/O sono penalizzati rispetto a quelli che ne richiedono meno perché il rientro dallo stato di wait significa l inserimento del processo al fondo della coda. La tecnica a percentuale di tempo è una variante del round robin : il processo non verrà inserito necessariamente al fondo, ma la posizione di rientro nella coda dipende dalla percentuale di tempo di CPU utilizzata. Questo significa che se un processo lascia il processore perché richiede un I/O, e quindi non ha ancora esaurito il proprio time-slice, il suo rientro nella coda non sarà più al fondo ma tanto più avanti quanto minore è la percentuale di tempo di CPU utilizzata prima dell interruzione. Round robin limitato : è ancora una variante del round robin. E prefissato un numero di time slice che un processo può utilizzare : terminati questi time slice che sono gestiti con la tecnica del round robin tradizionale, il processo è inserito in una nuova coda che sarà presa in considerazione solo quando la coda del round robin è esaurita 38. Il concetto di processo e di stati Il concetto di Processo è fondamentale in sistemi caratterizzati da più attività che possono essere svolte logicamente in parallelo. Esso descrive, in termine di operazione eseguite dalla CPU, il comportamento di un programma in esecuzione. Un programma è un entità statica (passiva) che descrive le azioni da compiere, mentre un processo è un entità dinamica (attiva) che rappresenta l esecuzione di tali azioni. Ogni volta che si lancia un istanza di programma si avvia un processo che è dunque un entità astratta e dinamica. Ogni processo ha un insieme di dati ad esso riferiti: è un area dati contenente informazioni relative all identità del processo ed alla sua eventuale priorità e altro. Viene chiamato Descrittore del Processo Gli stati del processo sono: - run, il processo è in esecuzione ovvero gli è stata assegnata la CPU; - wait, il processo non può avanzare in quanto non ha tutte le risorse a disposizione (ad esempio è in attesa di I/O); - ready, il processo ha a disposizione tute le risorse necessarie ma non il processore (CPU); -terminate, il processo è terminato; - hold, il. il programma si trova ancora su MdM.

3 39. Il concetto di risorsa e la classificazione Perché un processo posso evolvere nel tempo, occorre che possa disporre di tutti gli oggetti necessari per l esecuzione di quanto descritto nel programma ovvero delle risorse che possono essere definite, quindi, come gli elementi hardware e/o software che condizionano l avanzamento di un processo. Le risorse possono essere classificate in vari modi : Hardware o Software Permanenti(può essere utilizzata ripetutamente) o Consumabili (viene creata da un processo e utilizzata da un altro) Seriali (un solo processo alla volta) o Parallele (più processi in parallelo) SUL LIBRO SI PARLA DI MOLTEPLICITA Interrompibili ( è seriale ma è possibile che passi ciclicamente da un processo ad un altro) 40. Le transizioni fra stati Lo schema di transizione fra stati può essere rappresentato graficamente nel modo seguente : RUN HOLD READY TERMINA TE WAIT Il significato delle varie transizioni è il seguente : da Hold a Ready : il processo viene caricato da Memoria di Massa in Memoria centrale. (job scheduler in collaborazione con il gestore della memoria) da Ready a Run : al processo viene assegnata la CPU e viene quindi mandato in esecuzione (process scheduler) da Run a Terminate : il processo termina e rilascia tutte le risorse da Run a Wait : il processo ha richiesto un operazione di I/O o ha bisogno di risorse diverse dalla CPU da Run a Ready : il processo ha terminato il time slice a sua disposizione da Wait a Ready : l operazione di I/O o la risorsa richiesta e attesa dal processo è stata concessa e il processo ritorna in stato ready 44. Il gestore della memoria E il modulo del sistema operativo che si occupa di gestire in modo ottimale la risorsa memoria centrale. Un programma, prima di essere eseguito, deve essere caricato nella memoria centrale : gli deve essere cioè assegnata una certa quantità di byte in memoria centrale in grado di contenere la sua zona dati ( le variabili) e la sua zona istruzioni ( scritte in LM). Il gestore della memoria (memory management) è formato dai moduli del S.O. che si occupano di: tenere aggiornato lo stato di ogni locazione di memoria ( libera o occupata) assegnare la memoria centrale ai processi che ne fanno richiesta gestire il recupero della memoria centrale quando un processo termina. Il Gestore della Memoria affronta un duplice problema legato alla mappa della memoria a) rilocare il codice b) allocare ai processi la quantità di memoria necessaria

4 45. La rilocazione La rilocazione è la funzione che trasforma da spazio fisico a spazio logico. In multiprogrammazione la memoria disponibile viene ogni momento suddivisa tra i vari processi. Il programmatore, al momento della stesura del software non può sapere in quale zona della memoria sarà allocato per l esecuzione quindi non può scrivere il programma in termini di indirizzi assoluti di memoria ma solo di indirizzi relativi che fanno riferimento ad un indirizzo base ipotetico. E basilare quindi che il SO sia in grado di rilocare cioè tradurre gli indirizzi relativi in indirizzi assoluti. Esistono tre metodi di rilocazione: assoluta, statica e dinamica che si differenziano per il momento in cui esse avvengono. La rilocazione assoluta avviene nella fase di compilazione o linker ed è quindi utilizzabile solo in monoprogrammazione. La rilocazione statica avviene al momento del caricamento del processo in memoria centrale. La rilocazione dinamica avviene nel momento dell esecuzione di ogni singola istruzione : è il metodo più sofisticato, consente di poter spostare un processo in memoria centrale durante la sua esecuzione e richiede un hardware adeguato. 46. L allocazione a partizioni statiche Le partizioni vengono prestabilite e non vengono più cambiate né in numero né in dimensioni. La scelta iniziale è fatta da una stima del carico tipico raccogliendo informazioni. Il sistema può periodicamente ri-caricare il sistema con nuove partizioni. Quando un processo passa in stato ready verrà scelta la partizione libera adatta per quel processo. In ogni partizione può essere allocato un solo processo. Esistono 2 tipi di algoritmi di scelta : FIRST FIT nel quale viene scelta la prima partizione libera di dimensione sufficiente viene occupata dal processo; BEST FIT nel quale viene scelta la migliore ( nel senso quella che lascia meno spazio non occupato) partizione libera. La rilocazione utilizzata con questo metodo di allocazione è quella statica. Il metodo provoca il fenomeno della frammentazione interna e inoltre esistono alcuni problemi quali il fatto che un processo potrebbe non andare in esecuzione perché nessuna partizione libera è sufficiente a contenerlo nonostante la somma delle aree libere sarebbe sufficiente e l impossibilità per un processo di andare in esecuzione se nessuna partizione è grande a sufficienza. 47. L allocazione a partizione dinamica Inizialmente c è una zona di memoria libera. Ogni volta che un processo chiede il caricamento in memoria si cerca una zona libera che possa contenerlo e si ritaglia la partizione ad hoc. In generale si avranno più zone libere (holes). All arrivo di un processo si cercherà una zona sufficiente a contenerlo. Al termine del processo la zona occupata dovrà essere considerata libera immergendola con eventuali zone libere adiacenti. Le strategie di scelta sono : FIRST FIT : la prima area libera di dimensione sufficiente viene occupata dal processo; BEST FIT : la migliore ( nel senso quella che lascia meno spazio non occupato) area libera; WORST FIT : la peggiore ( nel senso quella che lascia più spazio libero) area libera. La rilocazione utilizzata con questo metodo di allocazione è quella statica. Il metodo provoca il fenomeno della frammentazione esterna e i problemi individuati nella tecnica di allocazione a partizione statiche non vengono risolti. 48. La paginazione La paginazione è una tecnica per sfruttare la memoria anche per zone non contigue. Essa richiede un hardware dedicato che consente la rilocazione dinamica. La memoria fisica è divisa in frame (pagine) tutti della stessa dimensione (2K o multipli). Il processo viene suddiviso in pagine logiche della stessa dimensione delle pagine fisiche. Un processo richiede un certo numero di pagine tutte piene tranne l ultima (frammentazione interna). Vi è una lista di page frames disponibili da cui si prelevano i frame necessari. Il loro numero è via via inserito nelle page table del processo che garantisce la corrispondenza fra pagine fisiche e pagine logiche. Gli indirizzi logici sono divisi in page number (parte alta) e page offset (parte bassa). I vantaggi sono che è possibile allocare processi in aree di memoria non contigue sfruttando tutta la memoria disponibile, è stata eliminata la frammentazione esterna ed è stata diminuita la frammentazione interna. 49. La segmentazione La tecnica della segmentazione presuppone una suddivisione logica, effettuata a priori, del programma che andrà in esecuzione. Tale suddivisione prevede l individuazione di unità di dimensioni diverse chiamate segmenti, sulla base di criteri logici stabiliti anche da parte del programmatore. Un programma può essere suddiviso in un segmento contenente il codice relativo alle procedure di uso più frequente. Per riferirci ad un oggetto all interno del programma occorre conoscere il numero di segmento in cui è contenuto e l indirizzo all interno del segmento detto offset. A ogni segmento logico corrisponde un segmento fisico allocato in celle contigue di MC. La segmentazione appare una generalizzazione della tecnica di allocazione a partizioni variabili in cui si consente al programmatore di suddividere il programma in segmenti ognuno dei quali è allocato in una partizione. 50. La memoria virtuale segmentata e paginata E la tecnica più flessibile e sofisticata. Consiste nel suddividere logicamente il programma in segmenti e i segmenti in pagine logiche.

5 51. La memoria virtuale Si parla di memoria virtuale quando un programma si comporta come se avesse a disposizione una memoria molto più grande della MC effettivamente disponibile. Il meccanismo di memoria virtuale provoca un rallentamento nell esecuzione del programma a causa dei continui trasferimenti di dati tra memoria centrale e memoria di massa. E nata per far fronte al problema di processi troppo grandi per la memoria disponibile, attraverso il caricamento in memoria centrale solo di una parte del processo e rimandando il caricamento di altre parti ad una richiesta del processo stesso. 52. Gli algoritmi di scelta di una partizione Gli algoritmi di scelta per una partizione sono: - first fit, la prima partizione libera di dimensione sufficiente viene occupata dal processo; - best fit (la migliore partizione libera), lascia meno spazio non occupato; - worst fit, lapeggiore area libera nel senso quella che lascia più spazio libero. Le prime due sono usate sia dalla tecnica di allocazione a partizioni statiche che da quella a partizioni dinamiche, mentre la terza ha senso solo per la tecnica a partizioni variabili. 53. Gli algoritmi di scheduling di un processo Gli algoritmi di scheduling di un processo sono: - round robin, il processore viene assegnato, a turno, ad ogni processo per un certo periodo di tempo e, se alla fine del periodo l esecuzione non è terminata, il processo viene riportato nella coda dei ready; - tecnica a rientro per percentuale di tempo usato, il processore viene assegnato a turno ad ogni processo ma, se il quanto di tempo viene usato solo in parte, quando il processo rientra nella coda dei ready la sua posizione verrà determinata in rapporto alla percentuale di tempo usata; - round robin a più livelli, inizialmente tutti i processi vengono posti nella coda1 e a ciascuno di essi a turno viene assegnato un quanto di tempo del processore, se alla fine del tempo concesso il processo non è terminato viene posto nella coda successiva che è a più basso livello di priorità (le code vengono scandite in ordine di priorità). 54. Gli algoritmi di scheduling di un lavoro Gli algoritmi di scheduling di un lavoro sono: - FIFO, i lavori vengono eseguiti nell ordine in cui giungono; - priorità statica, si assegna ad ogni lavoro un parametro che condiziona le decisioni dello schedulatore; - priorità dinamica, il SO incrementa la priorità del lavoro al crescere dei tempi d attesa. 55. Il problema del frame allocation Il problema del frame allocation consiste nel numero di pagine da caricare all inizio per un processo, esso infatti non è definito. Esistono teorie diverse al riguardo e si può dimostrare che nessuna scelta garantisce l ottimizzazione. Infatti caricando tutte le pagine si arriva presto ad una saturazione della MC e caricando solo la prima pagina si avrà un forte numero di page fault. 56. Il problema della page replacement Il problema della page replacement è quello di sapere quale frame sostituire quando, a causa di un page fault, il sistema deve caricare una nuova pagina in MC e non ci sono più frame disponibili... Alcuni algoritmi possibili sono: - FIFO, ad ogni pagina si associa il tempo del suo caricamento in memoria (quando occorre sostituire una pagina essa viene sostituita con la pagina in memoria da più tempo, l algoritmo quindi fornisce sempre una sequenza di esecuzione corretta ma potrebbe essere inefficiente); - LFU (least frequently used), scelgo la pagina usata meno frequentemente; - LRU (least recently used), sostituisco la pagina che non è stata usata da più lungo tempo. 57. Il gestore delle periferie Un importantissima attività del SO riguarda la gestione dei dispositivi periferici o genericamente periferiche con cui intendiamo unità al servizio del computer che non sono dotate di un autonomo sistema di calcolo e governo. Possono essere: - dispositivi di input, ovvero quei dispositivi che trasformano e qualificano l informazione esterna in dati in formato digitale utilizzabili dalla CPU; - dispositivi di output ovvero quei dispositivi che trasformano e decodificano i dati digitali in dati in forma utilizzabili dall utente. 58. Lo spool Lo spool è nato per risolvere il problema dell occupazione del buffer in MC che può assumere dimensioni considerevoli non determinabili a priori in quanto dipendono dalle richieste dei singoli processi. L organizzazione a spooling sostituisce il buffer di MC con più file in MDM detti file di immagine. In questo modo la crescita non prevedibile dalle dimensioni del buffer non è più un problema perché la MDM si considera di capacità più che sufficiente anche se a discapito della velocità delle operazioni di scrittura su disco dei dati da stampare. Questa era di MDM è detta area di spooling.

6 59. Il file system Il file system è la componente del sistema operativo che permette all utente di riferirsi ed utilizzare i files senza preoccuparsi di come effettivamente siano memorizzati sul supporto di MDM. Esso deve consentire una: - una facile identificazione dei file; - una visione astratta delle operazioni logiche di uso più comune; - la condivisione e l acesso ai files; - un sistema di protezione dei files. L obbiettivo del file system è trasformare le operazioni logiche sui file in operazioni fisiche sul supporto su cui sono memorizzati. 60. Il calcolo degli indirizzi Per trasformare da spazio logico a spazio fisico il calcolo dipende dal tipo di allocazione : - Nella allocazione a partizioni statiche o dinamiche il calcolo è dato semplicemente dalla somma dell indirizzo relativo con l indirizzo base di caricamento - Nella paginazione occorre avere l indirizzo suddivido in due parti : il numero di pagina e l offset all interno della pagina - Nella tecnica della memoria segmentata e paginata occorre avere l indirizzo suddiviso in 3 parti : il numero di segmento, il numero di pagina all interno del segmento e l offset all interno della pagina 61. La frammentazione FRAMMENTAZIONE INTERNA : un processo richiede m parole di memoria e viene caricato in una partizione di dimensione n ( con n>m). Si dice allora che n-m è la frammentazione interna. FRAMMENTAZIONE ESTERNA : se invece una partizione è vuota ed è troppo piccola per i processi in coda si parla di frammentazione esterna. 62. ALLOCAZIONE A PARTIZIONI RILOCABILI Questa tecnica, detta anche della COMPATTAZIONE, elimina la frammentazione esterna rendendo consecutivi tutti i buchi e spostando le aree occupate ; questo sistema per essere possibile ha bisogno della rilocazione dinamica. Gli algoritmi di compattazione sono in genere costosi e raffinati. 63. L evoluzione dei SO Dalla nascita dei primi calcolatori ( inizio anni Quaranta) fino all inizio degli anni Cinquanta gli utenti dovevano gestire l hardware della macchina perché non c era il sistema operativo. Questi utenti, oltre a dover scrivere i loro programmi in linguaggio macchina dovevano conoscere perfettamente le caratteristiche dell hardware impiegato. Si comprese ben presto che occorrevano strumenti opportuni per ridurre il tasso di errore e per accrescere la produttività dell elaboratore. A determinare la nascita dei primi rudimentali sistemi operativi, avvenuta agli inizi degli anni Cinquanta, è stata la necessità di ridurre i tempi in cui venivano svolti gli interventi manuali : era ormai evidente il divario esistente tra il tempo necessario agli operatori in rapporto al tempo di elaborazione vero e proprio. Nascono i primi sistemi operativi (batch monoprogrammati) che tendono a svincolare il sistema dalle attese improduttive, eliminando gli intervalli tra la fine dell esecuzione di un programma e l inizio del successivo. Il sistema operativo deve essere dotato di un programma speciale, sempre residente in memoria centrale, che raccoglie i lavori (job) presentati dagli utenti e li esegue in successione. Nonostante si siano ridotti i tempi di inattività della CPU, essa era ancora poco utilizzata perché rimaneva inattiva durante le operazioni di I/O. Negli anni Sessanta si sviluppano notevolmente le funzioni del sistema operativo che diventa il vero gestore delle risorse software e hardware della macchina. Per sfruttare al massimo la capacità produttiva della CPU è introdotta la multiprogrammazione : mentre un job sta eseguendo un operazione di I/O, la CPU esegue le istruzioni di un altro programma già caricato in memoria centrale. Con l introduzione dei videoterminali e quindi di sistemi interattivi che danno la possibilità di colloquiare con il programma durante la sua esecuzione, si sviluppano le procedure che facilitano l accesso di molti utenti a una stessa unità centrale ( sistemi in time-sharing). Tra gli anni Sessanta e Settanta si sviluppano anche sistemi operativi in real time, capaci di rispondere istantaneamente agli stimoli esterni ( sono ancor oggi usati per il controllo di processi industriali particolarmente delicati dove un ritardo nella risposta può provocare ingenti danni). Dagli Anni Settanta in poi i sistemi operativi si sono evoluti diventando in grado di supportare tecniche sempre più sofisticate per la gestione dei database e dei collegamenti in rete dei calcol

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Un sistema operativo è un insieme di programmi che consentono ad un utente di INTRODUZIONE AI SISTEMI OPERATIVI 1 Alcune definizioni 1 Sistema dedicato: 1 Sistema batch o a lotti: 2 Sistemi time sharing: 2 Sistema multiprogrammato: 3 Processo e programma 3 Risorse: 3 Spazio degli

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 3-Schedulazione 1 Prerequisiti Concetto di media Concetto di varianza 2 1 Introduzione Come sappiamo, l assegnazione della CPU ai processi viene gestita dal nucleo, attraverso

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Sistema operativo: Gestione della memoria

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

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU Il sistema operativo Sistema operativo Gestione della CPU Primi elaboratori: Monoprogrammati: un solo programma in memoria centrale Privi di sistema operativo Gestione dell hardware da parte degli utenti

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Secondo biennio Articolazione Informatica TPSIT Prova Quarta Sistema operativo: gestione memoria centrale La Memoria Virtuale consente di superare i limiti della Memoria Centrale : A. no B. a volte C. si, ma non sempre e' adeguata D. si, attraverso tecniche di gestione

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Gestione della Memoria

Gestione della Memoria Gestione della Memoria Idealmente la memoria dovrebbe essere grande veloce non volatile Gerarchia di memorie Disco: capiente, lento, non volatile ed economico Memoria principale: volatile, mediamente grande,

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Scheduling della CPU:

Scheduling della CPU: Coda dei processi pronti (ready( queue): Scheduling della CPU primo ultimo PCB i PCB j PCB k contiene i descrittori ( process control block, PCB) dei processi pronti. la strategia di gestione della ready

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Sistemi Operativi Kernel

Sistemi Operativi Kernel Approfondimento Sistemi Operativi Kernel Kernel del Sistema Operativo Kernel (nocciolo, nucleo) Contiene i programmi per la gestione delle funzioni base del calcolatore Kernel suddiviso in moduli. Ogni

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Lo scheduling. Tipici schedulatori

Lo scheduling. Tipici schedulatori Lo scheduling Un processo durante la sua evoluzione è o running o in attesa di un evento. Nel secondo caso trattasi della disponibilità di una risorsa (CPU, I/O, struttura dati, ecc.) di cui il processo

Dettagli

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base

Scheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Lo schedulatore del kernel

Lo schedulatore del kernel Lo schedulatore del kernel Lo schedulatore Lo schedulatore è un programma del kernel che si occupa di scegliere un processo/lavoro che ha richiesto una risorsa. Lo schedulatore a lungo termine LTS è quello

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1 GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

TEORIA DEI SISTEMI OPERATIVI

TEORIA DEI SISTEMI OPERATIVI TEORIA DEI SISTEMI OPERATIVI Classificazione dei sistemi operativi (Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente) CLASSIFICAZIONE DEI SISTEMI OPERATIVI Le tre principali configurazioni

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 4-Panoramica delle generazioni 1 Prerequisiti Monoprogrammazione e multiprogrammazione Multielaborazione Linguaggio macchina Linguaggi di programmazione e compilatori Struttura

Dettagli

Varie tipologie di memoria

Varie tipologie di memoria Varie tipologie di memoria velocita` capacita` registri CPU memoria cache memoria secondaria (Hard Disk) Gestione della memoria Una parte della viene riservata per il SO I programmi per poter essere eseguiti

Dettagli

Scheduling. Lo scheduler è la parte del SO che si occupa di

Scheduling. Lo scheduler è la parte del SO che si occupa di Scheduling Lo scheduler è la parte del SO che si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L algoritmo di scheduling (la politica utilizzata dallo scheduler) ha impatto

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

SCHEDULATORI DI PROCESSO

SCHEDULATORI DI PROCESSO Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Algoritmi di scheduling

Algoritmi di scheduling Capitolo 3 Algoritmi di scheduling Come caso particolare di studio, di seguito è discussa in dettaglio la politica di scheduling del sistema operativo LINUX (kernel precedente alla versione 2.6). Sono

Dettagli

Scheduling della CPU

Scheduling della CPU Scheduling della CPU Scheduling della CPU Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: attivita` di allocazione della risorsa CPU ai processi. Scheduler

Dettagli

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1 SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time

Dettagli

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi. Concetti fondamentali Scheduling della CU Introduzione allo scheduling Uno degli obbiettivi della multiprogrammazione è quello di massimizzare l utilizzo delle risorse e in particolare della CU er raggiungere

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS 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

La gestione della memoria

La gestione della memoria La gestione della memoria Nella gestione della memoria il sistema operativo deve perseguire l'obiettivo di allocare il maggior numero di processi in memoria centrale per aumentare la probabilità che ci

Dettagli

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU Simulazione in linguaggio Java Scheduling della CPU Simulazione in linguaggio Java Realizzato da: Amelio Francesco 556/001699 Di Matteo Antonio 556/000067 Viola Antonio 556/000387 Progetto di Sistemi Operativi Docente Giancarlo Nota

Dettagli

GESTIONE DELLA MEMORIA CENTRALE

GESTIONE DELLA MEMORIA CENTRALE GESTIONE DELLA MEMORIA CENTRALE E MEMORIA VIRTUALE 7.1 Gestione della memoria Segmentazione Segmentazione con paginazione Memoria Virtuale Paginazione su richiesta Sostituzione delle pagine Trashing Esempi:

Dettagli

Sistemi Operativi SCHEDULING DELLA CPU

Sistemi Operativi SCHEDULING DELLA CPU Sistemi Operativi SCHEDULING DELLA CPU Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling

Dettagli

J. Assfalg Appunti di Sistemi Operativi

J. Assfalg Appunti di Sistemi Operativi Lo scheduler di Linux (kernel 2.4) La politica di scheduling di Linux si propone il raggiungimento dei seguenti obiettivi (molti dei quali sono in contrasto): timesharing gestione di priorità dinamiche

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano scheduling Riedizione modifi cata delle slide della Prof. DI Stefano 1 Scheduling Alternanza di CPU burst e periodi di I/O wait a) processo CPU-bound b) processo I/O bound 2 CPU Scheduler Seleziona uno

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU Scheduling della CPU Concetti fondamentali Criteri di scheduling Algoritmi di scheduling Concetti fondamentali L obiettivo della multiprogrammazione è di avere processi sempre in esecuzione al fine di

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione Introduzione Fondamenti di Informatica: Sistemi Operativi 1 Elaboratori necessitano di SOFTWARE SOFTWARE DI SISTEMA (SISTEMI OPERATIVI): fanno funzionare le varie componenti del computer e permettono all

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Processo - generalità

Processo - generalità I processi Processo - generalità Astrazione di un attività; Entità attiva che ha un suo percorso evolutivo; Attività = azione dedicata al raggiungimento di uno scopo Il processo esegue istruzioni per svolgere

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli

Scheduling. Scheduling 14/12/2003 1/7

Scheduling. Scheduling 14/12/2003 1/7 Scheduling In un computer multiprogrammato più processi competono per l'uso della CPU. La parte di sistema operativo che decide quale processo mandare in esecuzione è lo scheduler. Batch OS: scheduling

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

CdL in Medicina Veterinaria - STPA AA 2007-08

CdL in Medicina Veterinaria - STPA AA 2007-08 CdL in Medicina Veterinaria - STPA AA 2007-08 Il Sistema Operativo Architettura del Software Software = insieme (complesso) di programmi. Organizzazione a strati, ciascuno con funzionalità di livello più

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 3 Martedì 15-10-2013 1 Struttura ed organizzazione software dei sistemi

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale Funzioni principali del sistema operativo Il software la parte contro cui si può solo imprecare Avvio dell elaboratore Gestione del processore e dei processi in Gestione della memoria principale Gestione

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Il supporto al Sistema Operativo

Il supporto al Sistema Operativo Il supporto al Sistema Operativo Obiettivi e funzioni del S.O. Il Sistema Operativo è il software che controlla l esecuzione dei programmi e amministra le risorse del sistema. Ha due obiettivi principali:

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

La Memoria Virtuale Ottimizzazione della memoria centrale

La Memoria Virtuale Ottimizzazione della memoria centrale La Memoria Virtuale Ottimizzazione della memoria centrale 1) Introduzione- Gerarchia della memoria Da un punto di vista funzionale, ogni dispositivo di memorizzazione elettronica di informazioni presenta

Dettagli

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera CPU Memoria principale Il Sistema Operativo Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010 ALU Unità di controllo Registri A indirizzi

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Sistemi operativi e reti A.A. 2013-14. Lezione 2

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

Dettagli

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Gestione della memoria centrale 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

TITLE Sistemi Operativi 1

TITLE Sistemi Operativi 1 TITLE Sistemi Operativi 1 Cos'è un sistema operativo Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati.

SISTEMI OPERATIVI. E il S.O. in funzione sul computer che consente all utente di poter avviare i programmi applicativi desiderati. SISTEMI OPERATIVI SOFTWARE DI BASE Il software di base comprende tutti quei programmi indispensabili ai fini del funzionamento dell elaboratore, per questo viene detto di base. I S.O. rientrano nella categoria

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!!

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! Buona lezione a tutti!! La dispensa è disponibile per tutti sul sito personale del Prof Simone al link: www.ascuoladi.135.it nella pagina programmazione, sezione 5Dx Indice degli argomenti del s.o. Software

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Informatica: il sistema operativo

Informatica: il sistema operativo pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 6 ottobre 2006 Il software Il software è l insieme dei programmi che operano sul calcolatore Software

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli