



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Tratto dal materiale didattico di un corso di laurea magistrale in giurisprudenza presso l'università della calabria, tenuto da francesco parisi nell'anno accademico 2011/2012. Esso fornisce una introduzione all'informatica, con un focus sul sistema operativo e il relativo laboratorio. Il testo copre argomenti come l'organizzazione del calcolatore in hardware e software, il concetto di macchina virtuale, il software di base e applicativo, il firmware, il sistema operativo e le sue funzionalità, i vantaggi di utilizzare un sistema operativo, e infine una classificazione dei sistemi operativi. Utile per chi vuole acquisire una base solida nell'ambito dell'informatica e del sistema operativo.
Tipologia: Slide
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




Università della Calabria Corso di Laurea Magistrale in Giurisprudenza 2011/ Francesco Parisi [email protected]
Sistema operativo Software applicativo Funzioni e componenti del sistema operativo Sistemi multiprogrammati
una prima decomposizione di un calcolatore è relativa alle componenti Hardware: la struttura fisica del calcolatore, costituita da componenti elettronici ed elettromeccanici Software: l’insieme dei programmi che consentono all’hardware di svolgere dei compiti utili
L’hardware è la macchina reale Le operazioni (istruzioni) che l’hardware sa eseguire direttamente costituiscono il linguaggio macchina del calcolatore Le istruzioni del linguaggio macchina sono molto semplici, ma il calcolatore può eseguirle in modo molto efficiente Il software ha lo scopo di mostrare ai suoi utenti il calcolatore come una macchina virtuale (non esistente fisicamente) più semplice da usare rispetto all’hardware sottostante
Semplificano la comunicazione fra uomo e hardware Le diverse macchine e i relativi insiemi di operazioni sono via via più astratti più vicini alla logica dell’utente e più lontani dalla logica del calcolatore come dispositivo elettronico Alla fine, comunque, l’unico responsabile dell’esecuzione del software è l’hardware disponibile
Il software di base permette una più semplice interazione con le componenti hardware (memorie, periferiche, …) Il software applicativo mostra all’utente il calcolatore come una macchina virtuale utilizzabile per la risoluzione di problemi
gestisce direttamente le risorse hardware e offre delle funzionalità standard di accesso risiede su un chip di memoria permanente ROM, EPROM gestisce la procedura di avviamento del calcolatore, consistente delle seguenti fasi diagnostica inizializzazione delle risorse hardware (setup) caricamento (da disco rigido in RAM) ed esecuzione della routine di bootstrap provvede quindi a caricare il sistema operativo
Strato di programmi che opera al di sopra di hardware e firmware e gestisce l’elaboratore Gestore delle Risorse controlla e gestisce tutte le funzioni del calcolatore in modo efficiente accetta e soddisfa le richieste dell’utente funziona come mediatore tra risorse in conflitto tiene traccia di chi utilizza le risorse
Macchina virtuale costituisce una base sulla quale è possibile scrivere programmi applicativi rappresenta all’utente una macchina estesa più facile da programmare
Esecuzione di applicazioni Caricamento dei programmi (istruzioni e dati) nella memoria centrale Accesso ai dispositivi di I/O Gestione dei segnali per il trasferimento dei dati Operazioni astratte di lettura/scrittura Archiviazione di dati e di programmi Organizzazione logica dei dati (directory, file)
Controllo di accesso Condivisione di risorse da più utenti o applicazioni Meccanismi di protezione Contabilizzazione Monitoraggio dell’uso delle risorse da parte di utenti e/o applicazioni (ottimizzazione/fatturazione) Gestione dei malfunzionamenti rilevare e risolvere guasti hardware e operazioni scorrette del software
Ogni macchina virtuale è un insieme di programmi che realizza delle funzionalità che utilizzano i servizi forniti a livello inferiore Ogni macchina virtuale ha il compito di gestire risorse specifiche di sistema regolandone l’uso e mascherandone i limiti I meccanismi che garantiscono la correttezza logica sono separati dalle politiche di gestione (maggiore flessibilità) Ogni strato risolve un problema specifico
Programmi applicativi hanno accesso a un insieme ridotto di risorse possono utilizzare solo un sottoinsieme delle istruzioni del processore (esecuzione in modalità utente) non possono decidere autonomamente quando e come avere accesso alle risorse del sistema (richiedono al sistema operativo l’esecuzione di alcuni servizi)
Sistema operativo ha accesso a tutte le risorse può utilizzare tutte le istruzioni del processore (esecuzione in modalità supervisore) stabilisce in che ordine e come le richieste che riceve devono essere soddisfatte
Programma entità statica composta dal codice eseguibile dal processore. Processo entità dinamica che corrisponde al programma in esecuzione, composto da: codice (il programma); dati (quelli che servono per l’esecuzione del programma); stato (a che punto dell’esecuzione ci si trova, cosa c’è nei registri, …).
In base al numero di utenti: mono-utente (mono-user) un solo utente alla volta può utilizzare il sistema multi-utente (multi-user) più utenti in contemporanea interagiscono con la macchina il S.O. fornisce a ciascuno l'astrazione di un sistema “dedicato”
In base al numero di processi: Mono-programmato (mono-task) si può eseguire un solo programma per volta Multi-programmato (multi-task) il SO permette di eseguire più programmi in contemporanea il SO gestisce la suddivisione del tempo della CPU fra i vari processi (time- sharing)
Il tempo di lavoro della CPU è diviso tra i vari programmi Ad ogni istante vi è un solo programma attivo Il processore alterna l’esecuzione dei vari programmi Se l'alternanza tra i programmi è frequente (es.10/100 ms), si ha l'impressione di un'esecuzione simultanea
a livello macroscopico si ha l'impressione della contemporaneità a livello microscopico si ha una semplice alternanza sequenziale molto veloce Il tempo totale di esecuzione di un singolo programma aumenta rispetto al caso mono- tasking a causa dell’alternanza con gli altri programmi Miglior sfruttamento del processore