Chi gestisce l'hardware? - Unicas
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Chi gestisce l’hardware? Bus di sistema CPU Memoria Interfaccia Interfaccia Centrale Periferica Periferica 1 N • Il computer è formato da un insieme di dispositivi complessi, che interagiscono in maniera complessa Unità esterne • A chi è affidata la gestione? • Come può l’utente interagire efficacemente con il sistema? Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Ci serve il software • L’utente di un computer non può interagire direttamente con l’hardware perché: è troppo complesso da gestire offre dei servizi di livello estremamente basso richiede conoscenze estremamente specialistiche l’architettura hardware può essere estremamente diversa da computer a computer • Il Sistema Operativo (Operating System, OS) è un software apposito che offre all’utente gli strumenti per svolgere le operazioni necessarie e gestire le risorse a disposizione. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
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; Obiettivi • Convenienza Rende l’utilizzo del computer più semplice ed intuitivo • Efficienza Permette di impiegare le risorse del sistema in maniera più efficiente • Capacità di evoluzione Permette l’introduzione di nuove funzionalità e/o il miglioramento delle risorse hardware senza interferire con il servizio svolto Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Sistema Operativo • Il sistema operativo è oggigiorno un software indispensabile, è il primo ad essere eseguito all’accensione del computer e resta sempre in RAM • Esempi di S.O.: MS Windows 95, 98, NT, 2000, XP, 7, 8, 10 Mac OS Unix Linux Debian, Ubuntu, RedHat, CentOS, Suse, ecc. • I programmi sono realizzati per essere eseguiti su un certo sistema operativo Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Servizi del Sistema Operativo • Esecuzione dei programmi Gestione del multitasking • Accesso ai dispositivi di I/O e di memoria di massa • Accesso controllato ai file Organizzazione logica dei dischi • Accesso al sistema Criteri di protezione • Il sistema operativo fornisce tutti i suoi servizi solo attraverso le chiamate di sistema, un insieme di istruzioni che costituiscono l’interfaccia del sistema operativo verso l’esterno. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Struttura del Sistema Operativo • A causa della loro complessità, i sistemi operativi sono di solito strutturati come una serie di livelli (architettura a buccia di cipolla). • Ogni livello realizza un sottoinsieme di funzioni attraverso una macchina virtuale che nasconde i meccanismi implementativi e offre un insieme ben definito di funzionalità ai livelli superiori. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Struttura del Sistema Operativo Hardware Nucleo Gestione memoria Programmi utente Gestione periferiche File system Interprete comandi Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
La struttura della famiglia Unix Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
La struttura di Windows NT/2000 Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
L’interprete dei comandi • L’interprete dei comandi (o shell) è la parte più esterna del sistema operativo con la quale l’utente interagisce. • Attraverso l’interprete, l’utente richiede un servizio al sistema operativo (esecuzione di un programma, copia di un file, ecc.) – l’utente inserisce un comando in accordo ad una certa sintassi; – l’interprete riconosce il comando ed attiva una serie di funzioni dei livelli interni; – l’esecuzione di tali funzioni porta al compimento del comando richiesto. • L’interprete si presenta con un’interfaccia di tipo alfanumerico. con un’interfaccia di tipo grafico (Graphical User Interface, GUI). Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
L’interprete dei comandi comandi Interfaccia alfanumerica (finestra DOS) uscite Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
L’interprete dei comandi Interfaccia GUI Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Files e File system • Il File System offre una visione logica uniforme della memorizzazione permanente dei dati basata su un’unità di memoria logica, il file, definita indipendentemente dalle caratteristiche fisiche delle particolari unità. • Il file è un insieme di informazioni correlate e registrate nella memoria di massa ed è identificato da un nome, che può essere formato da più sottoparti. nome: si riferisce ai contenuti del file. estensione: si riferisce al tipo del file. • Dal punto di vista dell’utente, un file è la più piccola porzione (logica) di memoria secondaria: i dati, cioè, possono essere scritti nella memoria secondaria solo all’interno di un file. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Contenuto dei files • Le informazioni registrate all’interno di un file sono di due tipi: dati veri e propri programmi eseguibili testi immagini dati numerici … attributi di interesse per l’utente dimensione del file data di creazione e/o ultima modifica permessi di accesso Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Organizzazione logica dei files • L’insieme dei files presenti in memoria di massa è organizzato secondo una struttura gerarchica ad albero, in cui i nodi intermedi costituiscono le directories (che raggruppano altri files e directories secondo un criterio di omogeneità), mentre le foglie rappresentano i files. • All’interno di tale struttura, un particolare file è univocamente identificato dal path (o percorso) che localizza la directory in cui il file è memorizzato. • Files nella stessa directory non possono avere lo stesso nome. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Tree-Structured Directories Linux file system Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Dal file system alla memoria di massa Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Le memorie di massa • Le unità di memoria di massa forniscono il supporto fisico per la memorizzazione non volatile di grosse moli di dati e presentano caratteristiche estremamente diverse a seconda della casa costruttrice e del tipo di unità.. • Rispetto alla memoria principale ha una capacità molto maggiore; ha una minore velocità di accesso • La tecnologia utilizzata per la memorizzazione può essere di tipo magnetico, elettronico o ottico. • Il supporto è tipicamente un disco (magnetico, ottico) oppure una memoria allo stato solido (SSD) ma sono memorie di massa anche nastri, CD, DVD, memorie FLASH (Pendrive), ecc. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Hard disk tradizionale (HDD) Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Struttura di un Hard Disk braccio testine dischi attuatore • L’unità è in realtà costituita da diversi dischi. Entrambe le superfici di ogni disco sono rivestite di materiale magnetico sul quale vengono memorizzate le informazioni. • Le operazioni di lettura e scrittura sono realizzate da testine, poste su bracci e mosse da un attuatore. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Organizzazione di un hard disk • Tutte le informazioni memorizzate sul disco sono organizzate in tracce (corone circolari concentriche disposte sulla superficie del disco). • Le tracce sono numerate a partire da zero dal bordo del disco e procedendo verso l’interno. • Ogni traccia è divisa in più blocchi (da 512 byte) denominati settori, che sono le più piccole unità di memorizzazione sul disco. • Siccome l’unità è formata da più dischi, ad ogni traccia su un disco corrispondono tracce omologhe sugli altri dischi, che, nell’insieme, formano un cilindro. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Operazioni su un hard disk • Le informazioni memorizzate sul disco sono codificate sotto forma di stati di memorizzazione di zone del materiale magnetico disposto sulla superficie del disco. • Le operazioni di lettura/scrittura sono realizzate dalle testine tramite le seguenti fasi: 1. Posizionamento della testina sulla traccia (cilindro) di interesse; 2. Attesa del passaggio del settore di interesse; 3. Lettura o scrittura del dato. Accesso ai dati di tipo random • Date le alte velocità di rotazione, le testine non toccano la superficie del disco, ma “planano” su di essa, mantenendosi ad una distanza dell’ordine di 10-4 mm. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Solid State Drive (SSD) • Un’unità a stato solido è una tipologia di memoria di massa che utilizza una memoria flash a stato solido. • La memoria SSD è costituita unicamente da componenti elettronici. La totale assenza di parti meccaniche in movimento porta diversi vantaggi: Rumorosità assente Minore probabilità di rottura e quindi maggiore durata Minori consumi energetici Tempo di accesso ridotto (decimi di millisecondo) Maggiore resistenza agli urti Minore surriscaldamento Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Organizzazione fisica dei files • Un file è quindi composto da un insieme di settori distribuiti sul disco. • In una zona speciale risiedono i metadati del singolo file (nome, ecc.) insieme con l’elenco dei settori che lo formano. • Da un punto di vista fisico, la registrazione del file sul disco viene realizzata dal sistema operativo disponendo il contenuto del file su un insieme di cluster possibilmente contigui. • La registrazione dei dati è organizzata in maniera sequenziale, per cui le operazioni di lettura e scrittura possono avvenire solo a partire dall’inizio e procedendo verso la fine. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Organizzazione fisica dei files • Un cluster è la quantità minima di disco che può essere allocata per un file ed è formata da un certo numero di settori consecutivi. • La gestione e l’organizzazione dei cluster cambia a seconda del sistema operativo. • La successione dei blocchi nei quali sono memorizzati i bytes che lo compongono può essere strutturata come: Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Gestione delle periferiche • Le periferiche vengono gestite tramite meccanismi software chiamati driver cui è affidato il compito di comunicare dati da e verso le periferiche. • I driver garantiscono una visione di alto livello ai programmi che li usano e permettono l'accesso alla periferica in ogni istante ad un solo processo per volta. • In particolare, si distingue fra: Driver fisici (hardware): vengono attivati direttamente dal gestore delle interruzioni per eseguire trasferimento e manipolazione dei dati. Driver logici (software): fanno parte del sistema operativo e forniscono una gerarchia di operazioni con un’organizzazione a strati. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Gestione della memoria • La parte del sistema operativo che si occupa della gestione della memoria principale è il gestore della memoria (memory manager). • I suoi principali compiti sono: Sapere, in ogni istante, quali parti della memoria sono in uso e quali no. Allocare memoria ai programmi che devono essere eseguiti. Deallocare la memoria dei programmi che sono terminati. Implementare il meccanismo della memoria virtuale. Implementare un meccanismo di protezione sulla memoria allocata per impedire che un programma possa accedere ad uno spazio di memoria esterno a quello che gli è stato assegnato. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Gestione dei processi • Il compito principale del nucleo (kernel) o gestore dei processi è di ottimizzare il tempo macchina ovvero l'utilizzo della risorsa CPU. • Un processo è un programma in esecuzione caratterizzato da una coppia di elementi: il codice eseguibile e lo stato del processo (ovvero l’insieme dei valori contenuti nella memoria centrale, nell’insieme di registri del processore, i thread, i descrittori dei file, ecc.) • La macchina deve eseguire più processi “contemporaneamente” (multiprogrammazione) ma generalmente si ha a disposizione un’unica CPU che lavora in maniera sequenziale. • L’unico modo è quello di simulare il parallelismo attraverso lo scheduling e la parte del sistema operativo che si occupa della scheduling è lo scheduler. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Scheduling e interruzioni • Lo scheduler gestisce una particolare struttura dati chiamata tabella dei processi dove sono memorizzati tutti i dati relativi ai processi. • La transizione tra i processi è possibile tramite un meccanismo hardware chiamato interruzione (interrupt). • Quando arriva un’interruzione lo scheduler salva in maniera automatica tutti i dati relativi al processo e manda in esecuzione un altro processo. • La sospensione deve avvenire in modo che il processo possa ripristinare il contesto in cui si era interrotto in modo da non accorgersi dell’interruzione. • Le interruzioni possono essere: interne: viene generata internamente al processore in maniera sincrona (ad es. se un processo richiede l’esecuzione di un’operazione di I/O). esterne: è un evento asincrono in cui una periferica esterna comunica alla CPUche ha terminato l’operazione richiesta (ad es. il processo ha terminato l'operazione di I/O) oppure per segnalare errori software o guasti hardware. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Gli stati di un processo Fine esecuzione PROCESSO IN ESECUZIONE Inizio esecuzione 2 3 1 PROCESSO IN ATTESA PROCESSO PRONTO 4 1. Il processo viene scelto dalla tabella dei processi. 2. Interruzione interna (ad es. operazioni di Se non ci sono processi in esecuzione il I/O). sistema operativo esegue un processo 3. Fine quanto di tempo o interruzione esterna. chiamato IDLE, il quale ha il solo 4. Il processo in attesa ha terminato le compito di tenere impegnata la CPU. operazioni richieste ed è di nuovo pronto per essere eseguito. Università degli Studi di C. Marrocco Cassino e del Lazio Meridionale
Puoi anche leggere