I SISTEMI OPERATIVI. 1. Introduzione ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY. informaticangioy.altervista.org. Prof. G.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I SISTEMI OPERATIVI. 1. Introduzione ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY. informaticangioy.altervista.org. Prof. G."

Transcript

1 ISTITUTO TECNICO E LICEO SCIENTIFICO TECNOLOGICO ANGIOY informaticangioy.altervista.org 1. Introduzione I SISTEMI OPERATIVI Prof. G. Ciaschetti Un Sistema Operativo (abbreviato in SO o OS a seconda che si usi l italiano o l inglese Operating System) è un insieme di programmi che gestiscono e rendono disponibile ad altri programmi le risorse del computer. Esso quindi costituisce il software di base del computer, al quale si appoggiano gli altri software, detti applicazioni, per accedere alle risorse hardware. La situazione è descritta nella seguente figura: Le applicazioni chiedono al Sistema Operativo l uso delle risorse hardware, ed esso consente tale uso nei modi e nei tempi che ritiene più opportuni. Quando, ad esempio, scriviamo un istruzione in un programma in linguaggio C (cioè un applicazione) che richieda di accedere alla memoria RAM, o che debba leggere dati da un file, o ancora che richieda l uso di dispositivi di input/output, o in tante altre situazioni, sarà il Sistema Operativo a occuparsi di soddisfare tale richiesta. La richiesta al Sistema Operativo non avviene in modo esplicito da parte del programmatore, ma avviene per mezzo del compilatore (ricordate? Un compilatore è quel software che permette di tradurre i nostri programmi scritti in C++ in linguaggio binario, per far sì che siano eseguibili), il quale sa come specificare l istruzione per quel particolare Sistema Operativo che stiamo usando. Per questo motivo, ogni diverso Sistema Operativo ha il suo particolare compilatore (ad esempio, esiste un compilatore Dev-C++ per Windows, uno per il MAC-OS, uno per Linux, ecc.). Per fare un altro esempio, supponiamo che stiamo usando un programma di videoscrittura (come Word) e invochiamo la stampa del documento: l applicazione (Word) richiederà la stampa al Sistema Operativo, il quale apre la cartella delle stampanti permettendo di selezionarne una, oltre alle varie opzioni di stampa, quindi invia il file da stampare alla stampante (l hardware). Un altro modo possibile di vedere il Sistema Operativo è dal punto di vista degli utenti: esso rappresenta l interfaccia tra l utente e il computer: una volta acceso il computer, il Sistema Operativo mette a disposizione un ambiente nel quale è possibile eseguire tutta una serie di

2 operazioni (esecuzione di programmi, visualizzazione dei file e delle cartelle, ecc.), cioè quello che noi chiamiamo usare il computer. Un Sistema Operativo è organizzato in moduli stratificati tra loro. Ogni modulo comunica con i moduli immediatamente adiacenti mediante delle funzioni dette primitive. Il principio è un po quello dell incapsulamento nella programmazione orientata agli oggetti: un modulo conosce cosa sa fare un modulo adiacente (conosce, cioè, la definizione delle primitive e come vanno usate), ma non come lo fa (cioè, come esse sono implementate). Le primitive del modulo più esterno, quelle usate dalle applicazioni, sono chiamate API (Application Programming Interface). Lo schema della figura precedente, allora, possiamo vederlo più in dettaglio come segue: Prima di iniziare a vedere in dettaglio come funziona un sistema operativo, torniamo un secondo alla prima definizione che abbiamo dato, il SO come gestore delle risorse del computer: ma quali sono le risorse che il SO gestisce? Possiamo racchiuderle in quattro grandi categorie: memoria RAM tempo di utilizzo della CPU dispositivi periferici (stampanti, mouse, tastiera, video, CD-ROM, ecc.) files Vedremo come i diversi moduli del SO si occupano di gestire ognuna di queste quattro categorie di risorse. 2. Storia I sistemi batch I primi computer riuscivano a eseguire una sola sequenza di istruzioni (da qui batch, letteralmente lotto di istruzioni) per volta. Di conseguenza, i primi sistemi operativi servivano solo per permettere l immissione nel computer (tramite schede perforate) dei dati e del programma da svolgere.

3 Nessuna interazione tra l uomo e la macchina era permessa durante l elaborazione. Inoltre, era possibile avere dei report sul risultato dell elaborazione e sullo stato della macchina. I sistemi multiprogrammati A partire dagli anni 60, si è cominciato a usare il computer in modo più massiccio, con conseguente aumento delle richieste di calcolo. Nasceva l esigenza di eseguire, con lo stesso computer, più programmi contemporaneamente. E in questo momento che è nato UNIX, il primo vero sistema operativo, capace di gestire la multiprogrammazione e tutte le problematiche ad essa connessa, effettuando lo scheduling di lungo termine (che prendono il nome di lavori, da cui il termine job scheduling), ossia la scelta di quali lavori caricare in memoria dal disco, e lo scheduling della CPU (cpu scheduling), o di breve termine ossia la scelta di come ripartire la CPU tra i vari lavori presenti in memoria. La logica di questi sistemi è sostanzialmente quella dei sistemi batch, con la sola differenza che stavolta possono essere mantenuti in memoria ed eseguiti più programmi per volta, ed è il SO che organizza la memoria RAM e il lavoro della CPU tra i diversi programmi. I sistemi multitasking Agli inizi degli anni 70, l uso del computer era ormai diventato molto diffuso, e iniziavano a nascere i primi computer dipartimentali collegati a più terminali, ognuno dei quali usato da un diverso operatore. Si tratta dei sistemi di tipo client-server (il terminale è il client, il computer centrale o mainframe è il server), in cui occorre gestire oltre che più programmi, anche più utenti contemporaneamente. Si tratta di una successiva evoluzione del sistema UNIX, in cui ogni lavoro di ogni utente è chiamato compito (o task in inglese, da cui il termine multitasking). Questo tipo di SO doveva provvedere a gestire un elevato e frequente numero di accessi alla memoria, introducendo anche dei meccanismi di protezione dei dati tra i diversi utenti. Inoltre, ogni utente doveva avere l impressione di avere a disposizione per sé le risorse di elaborazione, senza dover aspettare il completamento degli altri compiti degli altri utenti. Nasce così il concetto di time-sharing, cioè della divisione del tempo di CPU in slot temporali di durata piccolissima: viene assegnato a ogni slot un diverso compito dei vari utenti, i quali così non fanno in tempo a rendersi conto di aspettare tra uno slot e l altro. I sistemi user-friendly Nel 1977 nasce il primo personal computer: l Apple II. Esso segna l inizio di una nuova era per l informatica, poiché si passa dall uso lavorativo all uso domestico del computer, abbracciando una moltitudine di nuovi utilizzatori. Nasce così l esigenza di rendere agevole la macchina calcolatrice anche ai non esperti: i sistemi operativi che nascono in questo periodo si concentrano soprattutto nello sviluppo dell interfaccia uomo-macchina, utilizzando sistemi di comando per il SO più agevoli della semplice tastiera. E nel 1984 che, con l Apple McIntosh, Steve Jobs e Steve Wozniak inventano il primo sistema operativo con interfaccia WIMP (Windows, Icons, Mouse and Pointer). Successivamente, tale interfaccia sarà ripresa anche da altri sistemi operativi, come lo stesso UNIX, Windows, e la versione gratuita e open source di Unix, Linux). I sistemi distribuiti e multiprocessore Con la nascita negli anni 80 delle reti di computer di tipo peer-to-peer, in cui più computer di uguali caratteristiche sono collegati tra loro per condividere alcune risorse, quali stampanti e file, nasce la possibilità di utilizzare più processori contemporaneamente per eseguire uno stesso insieme di elaborazioni: uno stesso programma viene eseguito su più computer paralleli per sfruttare

4 maggiori risorse di calcolo, e quindi terminare prima (si pensi a programmi che richiedono giorni o mesi di elaborazione, come quelli per la cifratura di codici o per la soluzione di problemi complessi). I sistemi operativi si specializzano allora nella gestione di più processori contemporaneamente, inizialmente dislocati su diversi computer in rete, attualmente comunemente montati su uno stesso computer (si pensi al processore Intel Core Duo, ad esempio, due processori in uno). I sistemi mobili A partire dagli anni 90, con l avvento dei telefoni cellulari, sempre più ricchi di utility e di applicazioni per lo svago, e dei computer palmari (PDA, Personal Digital Assistant), nasce l esigenza per i SO di avere buone prestazioni a costi contenuti, e soprattutto di risparmiare energia. Nascono così sistemi operativi più leggeri che ottimizzano l uso delle risorse da un punto di vista energetico, come Windows Mobile, Symbian o Palm OS. 3. Il nucleo Il modulo più importante di un SO è quello che si occupa della gestione dei processi: il nucleo o kernel. Ricordiamo che un processo è un programma in esecuzione (un programma è un entità statica, mentre un processo è un entità dinamica). Per ogni processo in esecuzione, il nucleo del SO mantiene un insieme di informazioni relative al processo in un PCB (Process Control Block), che memorizza: il numero del processo (ogni processo viene contraddistinto da un numero progressivo dal SO) lo stato del processo il program counter (a che punto si trova la sua esecuzione, cioè qual è la prossima istruzione da eseguire) lo stato dei registri della CPU le informazioni relative allo scheduling del processo (priorità, ecc.) le informazioni relative alla memoria dedicata al processo (indirizzi, ecc.) la lista dei file aperti usati dal processo (in scrittura e in lettura). I processi possono essere single thread o multi thread, cioè avere un solo canale di esecuzione o più canali di esecuzione (un esempio di processo single thread è il Paint di Windows: è possibile fare un solo disegno per volta; un esempio di processo multi thread è Word, che permette di avere più documenti aperti nello stesso programma). Anche nel caso di processi multi thread, comunque, si ha un solo PCB e non uno per ogni thread. I processi tra loro possono essere concorrenti (che si contendono le risorse), cooperanti (che hanno un obiettivo comune, dunque non importa se le risorse vengono assegnate a uno oppure a un altro, va bene comunque), oppure indipendenti (assenza di conflitto di risorse). In ognuno di questi casi, il SO gestisce la ripartizione delle risorse tra i diversi processi. In particolare, nel caso di processi cooperanti, il SO mette a disposizione un meccanismo semaforico per la loro sincronizzazione e le primitive send e receive per lo scambio di messaggi. Inoltre, mediante la

5 primitiva RPC (Remote Procedure Call) un processo può richiedere al SO l esecuzione di un altro processo. Ciclo di vita di un processo Abbiamo visto che essendo le risorse di un computer scarse, cioè limitate, esse devono essere opportunamente ripartite tra i diversi processi in esecuzione. Di conseguenza, un processo può trovarsi in diversi stati, a seconda che esso sia stato o meno caricato in memoria RAM, che abbia o no disponibilità della CPU per l elaborazione, o che sia in attesa di qualche operazione di input/output. Nella seguente figura sono mostrati i possibili stati in cui un processo può trovarsi, e le transizioni da uno stato all altro. Nel momento in cui si fa doppio click su un file eseguibile (un programma), il processo è creato. Solo quando verrà caricato nella memoria dal Long Term Scheduler, (un software del nucleo che realizza lo scheduling di lungo termine), esso passa dallo stato creato allo stato pronto. Deve, però, competere con gli altri processi per la risorsa CPU, per poter essere eseguito. Questo conflitto è risolto dallo Short Term Scheduler (un altro software del nucleo), il quale ripartisce il tempo di CPU tra i diversi processi secondo determinate strategie di scheduling. Se selezionato, il processo passa dallo stato pronto allo stato in esecuzione, viene caricato il suo PCB, e quando invece deselezionato ritorna allo stato pronto. Il cambiamento del PCB del processo attualmente in esecuzione viene chiamato context-switch. Mentre il processo è in esecuzione, può accadere che esso richieda un operazione di input/output, che interessi cioè un dispositivo periferico (come abbiamo già accennato, è il SO a occuparsi anche di questo, ma con un altro modulo, non il nucleo), la quale richiede molto tempo rispetto alla velocità del processore, circa 1 milione di volte più lenta. Mentre aspetta che si compia l operazione, esso viene posto nello stato in attesa per poi essere nuovamente posto nello stato pronto quando il dispositivo periferico comunica al SO di aver terminato l operazione mandando un segnale di interrupt (interruzione: hey, io ho finito, fermati un attimo, prestami attenzione! ).

6 Il processo è posto nello stato in attesa anche in caso di chiamate al sistema (come l istruzione system( pause ), per intenderci) che generano una trap, ossia l esecuzione di speciali routine di priorità assoluta. Non appena terminata trap, il processo torna ad essere pronto per essere di nuovo schedulato. Gestione degli eventi (interrupt/trap) Allo scopo sapere da quale dispositivo periferico (mouse, tastiera, disco, video, ecc.) arriva la richiesta di interruzione, o IRQ (Interrupt ReQuest), o se si tratta di una chiamata di sistema, il nucleo del SO mantiene un vettore degli interrupt, un vettore di bit (1 = interruzione, 0 = nessuna interruzione) in cui ogni posizione corrisponde a un diverso dispositivo periferico. Alcune posizioni sono quindi riservate al sistema. Il vettore viene continuamente monitorato dal SO, che fa partire immediatamente la routine di gestione dell interruzione o la trap, avviando un context-switch. CPU scheduling Ogni diversa scelta dello scheduler dà luogo a diverse prestazioni del sistema. E opportuno allora che l algoritmo faccia le migliori scelte possibili. Ogni possibile soluzione può essere rappresentata su un diagramma di Gantt, in cui si riporta una linea per ogni processore, che rappresenta l asse dei tempi, e un rettangolo di altezza fissa e lunghezza pari alla durata del processo, ossia il tempo di CPU che esso richiede per la sua esecuzione, come nella figura che segue: Diversi indicatori di prestazione dell algoritmo di scheduling di breve termine possono essere usati: - percentuale di utilizzo della CPU: si schedulano i processi per massimizzare il tempo in cui la CPU o le CPU, se più di una, lavorano. Equivale a minimizzare il numero di context-switch. - troughput: si massimizza il numero di processi terminati nell unità di tempo. - C max : indicando con C i l istante di completamento dell i-esimo processo, e con C max il massimo di questi tempi, si minimizza quest ultimo, il che equivale a minimizzare l istante in cui si terminano tutti i processi. E anche un indicatore di bilanciamento dei lavori nei sistemi multiprocessore: infatti, minore è il tempo per completare tutti i lavori, più equa è la ripartizione di essi. - media dei tempi di completamento i C i /N: si miminizza il tempo medio di completamento dei diversi processi: questo indicatore è molto usato nei diversi benchmark dei processori.

7 Per raggiungere questi obiettivi, l algoritmo di scheduling può funzionare in modo FCFS (First Come First Served): i processi sono gestiti in coda, quindi in modo FIFO. SPT (Shortest Processing Time first): viene schedulato prima il processo che dura meno. Questo algoritmo minimizza il tempo medio di completamento dei processi. Priorità: può essere statica o dinamica. Nel primo caso, riguarda l importanza del processo, nel secondo può crescere all aumentare del tempo d attesa del processo. Round Robin: si assegna a rotazione la CPU ai diversi processi, suddividendo il tempo in slot temporali. 4. La gestione della memoria Un altro importante modulo del SO si occupa di gestire la memoria del computer. Soprattutto, parliamo di gestione della memoria di lavoro, la RAM, dove devono risiedere i programmi per essere eseguiti. Ricordiamo che è il Long Term Scheduler che assegna la memoria ai diversi processi. Questo può non essere un problema, (al giorno d oggi un normale PC ha una memoria RAM da 2 a 4 GigaByte, spesso sufficienti per i pochi programmi per volta che eseguiamo quotidianamente), ma diventa di fondamentale importanza quando il numero di processi simultanei tende a crescere. L operazione di caricamento/scaricamento dalla RAM di un processo, da parte dello scheduler di lungo termine, è chiamata swapping (scambio: un processo torna sul disco mentre uno viene caricato in memoria). Quando scriviamo un programma, in linguaggio C o in un altro linguaggio di programmazione, molte istruzioni fanno riferimento alla memoria: ad esempio, l istruzione N = N + 1; richiede di prelevare in memoria, all indirizzo della variabile N, il valore di tale variabile, quindi sommare 1, e successivamente di memorizzare nello stesso indirizzo il risultato. Il fatto è che al momento della scrittura del programma non è noto l indirizzo di N. E non sarà noto finché il programma non diventerà un processo, cioè creato (quando si fa doppio click) e posto in memoria (stato di pronto). Quello che accade in realtà è che al momento della compilazione di un programma, viene generato dal compilatore un codice rilocabile, fatto di indirizzi logici (a partire dall inizio del programma, ecc., ), che diventeranno indirizzi fisici veri e propri solo quando esso sarà effettivamente caricato in ram per la sua esecuzione. La traduzione degli indirizzi da logici a fisici viene fatta mediante un dispositivo hardware chiamato MMU (Memory Management Unit), sulla base di una tabella di corrispondenza mantenuta dal modulo di gestione della memoria del SO. Un meccanismo molto importante gestito da questo modulo è quello della memoria virtuale: quando la memoria RAM a disposizione non basta per caricare tutti i processi, viene usata una parte del disco rigido come fosse la RAM, pur sapendo che l operazione di trasferimento da/verso il disco è mille volte più lenta di quella della RAM (che è circa volte più lenta del processore). Questo evita di far si che si verifichino errori per riferimento a istruzioni non presenti in memoria. Il modulo di gestione della memoria del SO si occupa, oltre che dell allocazione della RAM per lo scheduling di lungo termine, anche della gestione della memoria Cache, che viene indirizzata allo stesso modo della memoria RAM.

8 Strategie di allocazione della RAM Gli obiettivi del Long Term Scheduler sono quelli dell ottimizzazione della memoria, cioè farci stare il maggior numero possibile di processi, e la protezione dei dati: è di fondamentale importanza fare in modo che un processo non possa modificare, magari accidentalmente, dati di un altro processo. Diverse strategie di allocazione sono state proposte: Partizionamento: in questo schema di allocazione la memoria risulta partizionata in più parti (che impropriamente in informatica vengono chiamate partizioni), e viene assegnata una diversa parte a ogni diverso processo. I processi che non trovano spazio restano sul disco (memoria virtuale). Il SO mantiene una tabella delle partizioni in cui è specificato, per ogni processo, l indirizzo iniziale della partizione, e la sua dimensione in byte. processo1 partizione1 dimensione1 processo2 partizione2 dimensione 2 Con il partizionamento della memoria, le possibili strategie di allocazione della RAM sono first fit (scegli la prima partizione libera sufficientemente grande), best fit (scegli la partizione più adatta per dimensioni), e worst fit (scegli la partizione meno adatta). Nel primo caso si produce il fenomeno della frammentazione della memoria: lo spazio di una partizione che avanza, non necessaria al processo corrispondente, non è ulteriormente utilizzabile. Nel secondo caso, il problema della frammentazione viene parzialmente risolto. Il terzo caso, sebbene sembri poco vantaggioso, ha una sua utilità quando insieme ai programmi occorre includere nella partizione anche i dati che essi utilizzano: lasciare parecchio spazio nella partizione può avere senso per evitare di accedere ai dati su disco ogni volta, o di dover suddividere opportunamente lo spazio dei dati (qualora essi siano memorizzati separatamente dai programi). Paginazione: in questo schema lo spazio degli indirizzi logici è suddiviso in aree della stessa dimensione chiamate pagine di circa 4Kbyte. Corrispondentemente, lo spazio degli indirizzi fisici risulta suddiviso in settori. A ogni processo vengono assegnate più pagine, non necessariamente contigue, e dunque più settori della RAM. In questo modo, si crea meno frammentazione della memoria. Gli indirizzi logici sono formati da un indirizzo base più un offset: il primo rappresenta il numero di pagina, il secondo il numero di byte all interno della pagina. Mediante una tabella di paginazione, il SO mantiene la corrispondenza tra pagine e settori, e mediante una tabella dei settori identifica l indirizzo fisico di ogni settore.

9 Il meccanismo della paginazione agevola, inoltre, il meccanismo della memoria virtuale: alcune pagine di un processo possono essere effettivamente caricate in RAM, mentre altre risiedere ancora sul disco. Se il processo richiede una pagina non presente in tabella (cioè, si trova sul disco), si ha un page fault e viene avviata una routine sistema di gestione del fault, che carica in tabella (e in RAM) la pagina necessaria a scapito di qualche altra pagina (swapping). Il problema principale della paginazione è legato alla gestione di processi cooperanti mediante buffer condiviso: un buffer suddiviso in più pagine risulta molto più difficile da gestire a livello di programmazione. Inoltre, resta il problema della frammentazione interna alle pagine, sebbene minore rispetto alla frammentazione causata dal partizionamento. Segmentazione: in questo schema, la memoria RAM risulta suddivisa in segmenti di lunghezza variabile, ognuno dei quali contiene un elemento ben definito del programma (ad esempio, una funzione, una variabile, una stringa, ecc.). Per ogni segmento, il SO mantiene in una tabella di segmentazione l indirizzo base e la dimensione del segmento. segmento 1 base1 dimensione1 segmento 2 base2 dimensione2 Di nuovo, la traduzione degli indirizzi da logici a fisici è fatta sommando l indirizzo base più l offset dell istruzione, come nel caso della paginazione. Il vantaggio principale di questo schema è quello di eliminare completamente il fenomeno della frammentazione. Attualmente, i moderni SO utilizzano una tecnica mista di allocazione della memoria fatta di pagine e segmenti. 5. Il File System Il terzo modulo del SO di cui ci occupiamo è quello relativo alla gestione dei file. Ricordiamo che un file è un insieme di informazioni binarie (quindi, bit) memorizzate in modo persistente. A ogni file il SO associa un insieme di attributi, che ne indicano: - il numero progressivo (nella lista dei file aperti); - il nome del file e l estensione (es. pippo.txt, prova.cpp, mioprogramma.exe). L estensione si usa solo nei sistemi Windows, mentre per i sistemi Unix-like (Linux, MAC OS) non è prevista: il SO riconosce il tipo di file in base a un codice (una stringa) posto all inizio del file; - la sua collocazione (il percorso nella struttura logica dei file); - la sua dimensione; - i privilegi (protezione): quale utente può fare quale operazione sul file (ad esempio, creazione, apertura, lettura/scrittura, eliminazione, esecuzione, ecc.); - la data di creazione e di ultima modifica (solo ultima modifica in Windows).

10 Il File System del SO mantiene in una tabella la lista di file aperti, in cui sono indicati il numero progressivo del file, un handler (puntatore) che ne specifica la posizione sul disco, l utente che ha aperto il file e l applicazione che ha eseguito l apertura. Se un nuovo utente apre un altro file, qualora autorizzato, viene creato un nuovo handler e inserito in tabella. id1 id2 handler1 user1 application1 handler2 user2 application2 Struttura del file system I percorsi logici dei file sono organizzati dal file system in una struttura ad albero. Un albero è un grafo connesso aciclico, in cui un nodo rappresenta la radice dell albero, e i nodi che non hanno successori sono chiamati foglie (si pensi a un albero genealogico). La radice dell albero corrisponde a un unità logica di un dispositivo di memorizzazione di massa, i nodi intermedi corrispondo alle directory (o cartelle), e le foglie corrispondono ai file. In Windows è possibile avere tante unità logiche (ad esempio, si può partizionare l hard disk in più unità C, D, ecc., e poi avere altre unità logiche come E per il CD-ROM, F per la pendrive, ecc.), a ognuna delle quali corrisponde un diverso albero. Il file di questo documento, ad esempio, si trova nel percorso d:\documents and settings\tchasqui\didattica\opsis.doc (a partire dalla radice, unità logica D, scendi nella cartella documents and settings, poi nella cartella tchasqui, poi ancora nella cartella didattica e lì si trova il file opsis.doc). Si noti come il simbolo \ rappresenta la discesa di un livello nella struttura. Nei sistemi Unix-like esiste invece un unica radice, cioè una sola struttura ad albero per tutti i dispositivi. Allorché si debba utilizzare un altro dispositivo di memorizzazione, come il floppy disk o la pendrive, occorre montare (mounting) nell unico albero la struttura del file system del dispositivo, come in figura seguente:

11 Mentre nei sistemi Windows le unità logiche si chiamano C:, D:, E: ecc., in Unix la sola unità logica alla radice è indicata con il simbolo /, che è anche il simbolo che si usa per scendere di livello. Ad esempio, il percorso del file prova.cpp che si trova nella directory bin è indicato con /bin/prova.cpp. In entrambi i tipi di sistemi, sia Windows che Unix, l operatore.. può essere usato per risalire la struttura di un livello nei percorsi relativi (a partire da un nodo intermedio). Ad ogni nodo dell albero (o degli alberi, in Windows), sia che si tratti di un nodo intermedio (directory) sia che si tratti di una foglia (file), il SO associa un Access Control List (ACL) che definisce i privilegi degli utenti per quel nodo. In Unix, l ACL è composto di una lettera per specificare se si tratta di un file o una directory, e poi da tre gruppi di tre lettere che indicano i privilegi di lettura/scrittura/esecuzione a livello utente, gruppo o generale. Ad esempio, d r w _ r r directory con privilegi di lettura e scrittura per l utente, solo lettura per il gruppo e per tutti gli altri _ r w x r w file con privilegi di lettura, scrittura ed esecuzione a livello utente, lettura e scrittura a livello gruppo, e nessuna operazione per tutti gli altri In Windows esistono due tipi di file system: FAT (File Allocation Table) e NTFS (New Technology File System). Il primo è il più vecchio dei due (usato solo fino a Win95), e non prevede informazioni ACL (infatti, tutti i SO di casa Microsoft fino a Win95 non prevedono la multiutenza). Questo è il motivo per cui se abbiamo nel nostro computer due sistemi operativi come Windows e Linux, riusciamo a vedere in Linux i file di Windows solo se abbiamo usato il sistema NTFS. Allocazione fisica dei file Finora abbiamo parlato di percorsi logici dei file: sono quelli che vedono gli utenti e i programmi che a questi file devono accedere. In realtà, la situazione a livello fisico è molto diversa: il disco rigido è formato da tanti dischi magnetici montati su un unico perno centrale, ognuno dei quali risulta suddiviso in tracce e settori. L intersezione tra una traccia e un settore si chiama blocco e ha di solito la dimensione di 64Kbyte; più blocchi allineati sui vari dischi danno luogo a un cilindro.

12 Ogni file è memorizzato su uno o più blocchi, ed è il SO che mantiene la corrispondenza tra i percorsi logici dei file, più agevoli per gli utenti, e i percorsi fisici veri e propri (quale disco, quale cilindro, quale blocco). Ma in che modo il SO assegna i blocchi ai diversi file? Esistono diverse strategie di allocazione del disco: 1) allocazione contigua: vengono assegnati al file blocchi adiacenti tra loro. Questa strategia minimizza i tempi di trasferimento dei file, in quanto rende minimo il movimento meccanico necessario per posizionarsi sui byte di interesse. I blocchi adiacenti possono trovarsi sullo stesso cilindro (nessun movimento), oppure sulla stessa traccia (movimento di rotazione del disco) oppure sullo stesso settore (spostamento delle testine). 2) allocazione collegata: i blocchi vengono collegati tra loro memorizzando su ogni blocco l indirizzo del blocco successivo, creando così una lista lineare del tipo in questo tipo di allocazione, qualunque blocco può essere utilizzato per ogni file, e non si verifica così il problema della frammentazione del disco che, invece, si ha nell allocazione contigua. Tuttavia, richiede parecchi movimenti (rotazione del disco e spostamento delle testine) per passare da un blocco a un altro, con conseguente perdita di velocità di trasferimento dei dati. 3) allocazione indicizzata: il primo blocco viene utilizzato come indice per memorizzare gli indirizzi fisici dei blocchi che costituiscono il file. E più facile da gestire rispetto all allocazione collegata, ma presenta gli stessi problemi di velocità di trasferimento.

13 I comandi per il file system Anche se i nostri moderni sistemi operativi, essendo user-friendly, ci mettono a disposizione l interfaccia WIMP per la gestione dei file (gestione risorse, doppio click su una cartella per vedere il suo contenuto, ecc.), esiste una serie di comandi che è possibile dare al SO per lavorare con il file system. In Windows, occorre aprire una finestra DOS per dare questi comandi (menu avvio esegui cmd oppure menu avvio programmi accessori prompt di MS DOS), mentre in Linux o MAC bisogna aprire una shell (finestra di comando: la più usata è bash). Riportiamo, a titolo di esempio, alcuni dei comandi di principali, per la sintassi e le modalità di utilizzo dei quali rimandiamo a manuali specifici. WINDOWS UNIX CD CD Change directory DIR LS Directory listing COPY CP File copy MOVE MV Move file/directory DEL/RMDIR RM Remove file/directory MKDIR MD Make directory HELP HELP Help commands TREE LS View subtree ATTRIB CHMOD View/change file attributes

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

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

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

CAPITOLO 1 I SISTEMI OPERATIVI

CAPITOLO 1 I SISTEMI OPERATIVI CAPITOLO 1 I SISTEMI OPERATIVI Introduzione ai sistemi operativi pag. 3 La shell pag. 3 Tipi di sistemi operativi pag. 4 I servizi del sistema operativo pag. 4 La gestione dei file e il file system Il

Dettagli

Sistemi informatici. Informatica. Il software. Il sw di sistema. Il sw applicativo. Il sw di sistema. Il sistema operativo. Hardware.

Sistemi informatici. Informatica. Il software. Il sw di sistema. Il sw applicativo. Il sw di sistema. Il sistema operativo. Hardware. http://159.149.98.238/lanzavecchia/docum enti/sscta.htm Sistemi informatici Hardware Microprocessore Memoria Periferiche di input e output Software Software di sistema Programmi applicativi 1 2 Il sw applicativo

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

Informatica di Base. Il software

Informatica di Base. Il software di Base 1 Sistemi informatici Hardware Microprocessore Memoria Periferiche di input e output Software Software di sistema Programmi applicativi 2 Il sw applicativo Il sw applicativo è costituito dall insieme

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

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

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

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

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Funzioni dei Sistemi Operativi!2 Le funzioni principali del SO Gestire le risorse dell elaboratore

Dettagli

Calcolo numerico e programmazione. Sistemi operativi

Calcolo numerico e programmazione. Sistemi operativi Calcolo numerico e programmazione Sistemi operativi Tullio Facchinetti 25 maggio 2012 13:47 http://robot.unipv.it/toolleeo Sistemi operativi insieme di programmi che rendono

Dettagli

boot loader partizioni boot sector

boot loader partizioni boot sector IL SISTEMA OPERATIVO Il sistema operativo (S.O.) è un software che fa da interfaccia tra l uomo e l hardware, mettendo a disposizione un ambiente per eseguire i programmi applicativi. Grazie al S.O. un

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

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

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

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

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 La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono:

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

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

Informatica. Il software (S.O.) e ancora sulle basi numeriche

Informatica. Il software (S.O.) e ancora sulle basi numeriche (S.O.) e ancora sulle basi numeriche http://159.149.98.238/lanzavecchia/docum enti/sscta.htm 1 Il sistema operativo Un insieme di programmi che gestiscono le risorse (cpu, memoria, dischi, periferiche)

Dettagli

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

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

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job. Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Il software Dipartimento di Ingegneria dell Informazione Universitàdegli Studi di Parma SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A.

Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Il Sistema Operativo Introduzione Gestione dei processi Gestione della memoria Memoria cache (cenni) Informatica B Prof. A. Morzenti Il sistema Operativo Il sistema operativo (SO) è uno strato software

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

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 4: SoftWare Facoltà di Lingue e Letterature Straniere Software È un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici (=

Dettagli

Classificazione del software

Classificazione del software Classificazione del software Classificazione dei software Sulla base del loro utilizzo, i programmi si distinguono in: SOFTWARE Sistema operativo Software applicativo Sistema operativo: una definizione

Dettagli

1. I dispositivi periferici

1. I dispositivi periferici La gestione dell I/O 1. I dispositivi periferici Un ulteriore aspetto fondamentale del SO è la gestione dei dispositivi periferici (periferiche) Dal punto di vista del sistema operativo per periferiche

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

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI

I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI I SISTEMI OPERATIVI CONCETTI INTRODUTTIVI Il Software Software di Base Sistema Operativo (Software di base essenziale) Software di base non essenziale Utility Driver Software applicativi (Applicazioni)

Dettagli

Introduzione all Informatica

Introduzione all Informatica Lezione 3 Davide Di Ruscio Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila Università degli Studi dell Aquila alfonso@di.univaq.it diruscio@di.univaq.it. Sommario 2 2»

Dettagli

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo

comuni ai moderni SO sui quali il corso è incentrato Definizione di sistema operativo Il Sistema Operativo (SO) è una parte essenziale di un sistema di calcolo In generale un SO è un insieme di programmi che agisce come intermediario tra utenti e hardware di un computer. Esiste un insieme

Dettagli

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

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI Buona lezione a tutti!! SISTEMI OPERATIVI Gli appunti sono disponibili per tutti gratis sul sito personale del Prof M. Simone al link: www.ascuoladi.135.it nella pagina web programmazione, sezione classi

Dettagli

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO.

Sistemi Operativi. Il Sistema Operativo. Gestione Risorse (3) Gestione Risorse (2) Cos'è un sistema operativo? Utenti di un SO. Sistemi Operativi Il Sistema Operativo Corso di Informatica Generale (Roberto BASILI) Cos'è un sistema operativo? Un sistema operativo e': La astrazione logica del livello macchina hardware e microprogrammata

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi Marco Lapegna Laboratorio di Programmazione Dalla precedente lezione 6. I sistemi operativi LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica I Sistemi Operativi Il linguaggi di programmazione

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

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

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

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Introduzione: 1. Principi di base dei sistemi operativi 2. Sistemi

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007 2007 SISTEMI OPERATIVI Gestione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 13/05/2007 Gestione dei processi 1. Qual è la differenza tra un programma e un processo? Un programma

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

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

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Sistemi Operativi ELEMENTI DI INFORMATICA CORSO DI. (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95

Sistemi Operativi ELEMENTI DI INFORMATICA CORSO DI. (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95 CORSO DI ELEMENTI DI INFORMATICA (Slide realizzate da Riccardo Lancellotti e Sara Casolari e integrate da Alberto Setti) 1 di 95 Sistemi Operativi 2 di 95 1 Modulo 0: Riprendiamo qualche concetto 3 di

Dettagli

Sistemi Operativi: avvio

Sistemi Operativi: avvio Sistemi Operativi: avvio All avvio del computer, terminate le verifiche del BIOS, il controllo passa al sistema operativo. Il Sistema Operativo opera come intermediario tra l hardware del sistema e uno

Dettagli

Calcolatori elettronici: Software di base

Calcolatori elettronici: Software di base Calcolatori elettronici: Software di base Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Sistema operativo (SO) E un infrastruttura

Dettagli

uomo Software (sistema operativo) hardware

uomo Software (sistema operativo) hardware uomo Software (sistema operativo) hardware 1 Sistema operativo Insieme di programmi che svolgono funzioni essenziali per l uso del sistema di elaborazione Questi programmi sono i primi ad essere eseguiti

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

Capitolo 1: Introduzione

Capitolo 1: Introduzione Capitolo 1: ntroduzione Che cos è un sistema operativo? Sistemi mainframe. Sistemi desktop. Sistemi multiprocessore. Sistemi distribuiti. Sistemi cluster. Sistemi in tempo reale. Sistemi palmari. Migrazione

Dettagli

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa)

Sistemi Operativi. Struttura astratta della memoria. Gerarchia dei dispositivi di. Memoria centrale. Memoria secondaria (di massa) Struttura astratta della memoria Memoria centrale il solo dispositivo di memoria al quale la CPU puo accedere direttamente Memoria secondaria (di massa) Estensione della memoria centrale che fornisce grande

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

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 e reti A.A. 2015-16. Lezione 2

Sistemi operativi e reti A.A. 2015-16. Lezione 2 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 2 Giovedì 8-10-2015 Sistemi batch multiprogrammati La causa principale

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

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

Dettagli

Cosa è un Sistema Operativo (S.O.)

Cosa è un Sistema Operativo (S.O.) Cosa è un Sistema Operativo (S.O.) Modulo software costituito da un insieme di programmi per: permettere all utente l uso dell elaboratore senza la conoscenza approfondita dell hardware S.O. supporto all

Dettagli

Il Concetto di Processo

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

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

SOFTWARE. SOFTWARE Sistema operativo. SOFTWARE Sistema operativo SOFTWARE. SOFTWARE Sistema operativo. SOFTWARE Sistema operativo

SOFTWARE. SOFTWARE Sistema operativo. SOFTWARE Sistema operativo SOFTWARE. SOFTWARE Sistema operativo. SOFTWARE Sistema operativo Franco Sartore ottobre 2006, febbraio 2010 v_03 Software di base: programmi di gestione dell Elaboratore: Programmi di Utilità Applicazioni: Programmi che svolgono attività specifiche di alto livello (Word

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Il Sistema Operativo Gerarchia del software

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Dettagli

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

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

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

Architettura del Personal Computer AUGUSTO GROSSI

Architettura del Personal Computer AUGUSTO GROSSI Il CASE o CABINET è il contenitore in cui vengono montati la scheda scheda madre, uno o più dischi rigidi, la scheda video, la scheda audio e tutti gli altri dispositivi hardware necessari per il funzionamento.

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

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl

Introduzione ai sistemi informatici 3/ed Donatella Sciuto, Giacomo Buonanno, Luca Mari. Copyright 2005 The McGraw-Hill Companies srl Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

Il software (su un computer)

Il software (su un computer) Il software (su un computer) L insieme dei programmi che un elaboratore può eseguire Scopo della lezione Descrivere il software di base e le sue funzionalità principali ovvero: la gestione della memoria

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

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

Modulo 3: Gestione delle Periferiche (Dispositivi di input/output)

Modulo 3: Gestione delle Periferiche (Dispositivi di input/output) Parte 3 Modulo 3: Gestione delle Periferiche (Dispositivi di input/output) Gestione Input/Output UTENTE SW APPLICAZIONI Sistema Operativo SCSI Keyboard Mouse Interfaccia utente Gestione file system Gestione

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

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

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

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

Dettagli

INTERFACCIA UTENTE----------------------------------------------------------------------------------------------------

INTERFACCIA UTENTE---------------------------------------------------------------------------------------------------- IL FILE SYSTEM PROF. ANTONIO TUFANO Indice 1 FILE SYSTEM ------------------------------------------------------------------------------------------------------------------ 3 1.1. CARATTERISTICHE E STORIA

Dettagli

Software che sovrintende al funzionamento del computer eseguendo compiti diversi:

Software che sovrintende al funzionamento del computer eseguendo compiti diversi: Sistema Operativo dispensa a cura di Alessandro Bellini Software che sovrintende al funzionamento del computer eseguendo compiti diversi: 1. Gestire interazione utente macchina 2. Fornire un interfaccia

Dettagli

Sistema Operativo e Applicativi

Sistema Operativo e Applicativi Sistema Operativo e Applicativi Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Software A.A. 2012-2013 1 / 36 Software Conosciamo due classi di software: Programmi

Dettagli

MACCHINA DI VON NEUMANN

MACCHINA DI VON NEUMANN I seguenti appunti non hanno la pretesa di essere esaustivi, ma hanno l unico scopo di illustrare in modo schematico i concetti necessari allo sviluppo del programma di Informatica della 1D del Liceo Scientifico

Dettagli

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

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Il software di base Software

Dettagli

Il Software. Scopo della lezione

Il Software. Scopo della lezione Il Software 1 Scopo della lezione Descrivere il software di base e le sue funzionalità principali la gestione della memoria centrale per l esecuzione di piu` programmi simultaneamente il file system come

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli