Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Il problema della velocità
Uno dei fattori che determina la velocità è la frequenza di clock. Le fasi di salvataggio e acquisizione rallentano molto la velocità di esecuzione delle istruzioni; oggi le nuove architetture permettono di rendere il tutto più efficiente, anche se nonostante tutto rimangono ancora limitate dalla natura delle istruzioni in linguaggio macchina.
CISC & RISC
Sono 2 tipologie di architetture, vediamo di cosa si tratta:
RISC sta per Reduced Instruction Set Computer, indica i processori con un numero limitato di istruzioni, che normalmente svolgono operazioni elementari. Non richiede un'entità di controllo complessa, il che permette di lasciare spazio ai registri nella CPU - vantaggio per la velocità. Avendo meno istruzioni i programmi in linguaggio macchina risultano più lunghi e più difficili da scrivere e da eseguire.
CISC sta per Complex Instruction Set Computer, indica i processori con...
Capitolo 3
Il ruolo del Sistema Operativo
Un buon sistema informativo deve poter fornire servizi più complessi, qui entra in gioco il Sistema Operativo. Questo è un insieme di programmi che rendono il computer utilizzabile da parte dell'utente permette di poter scrivere programmi che continuano a funzionare anche cambiando caratteristiche importanti della macchina.
Architettura dei Sistemi Operativi
Macchina Virtuale: è una macchina non fisica che mostra un'interfaccia basata su determinate funzionalità. I sistemi operativi si ottengono assemblando più macchine virtuali.
Architettura generale:
- (Kernel): ha il compito di gestire l'esecuzione dei programmi realizzando l'esecuzione concorrente.
- della Memoria: ha il compito di distribuire la Memoria
Centrale ai diversi Gestoreprogrammi delle periferiche: gestisce i dispositivi collegati al pc.
GestoreSystem: componente software che crea e mostra a programmi e utenti l'organizzazione a cartelle dei dischi basati sul concetto di file.
dei Comandi: ha il compito di interpretare i comandi che gli utenti danno per richiedere operazioni specifiche.
Applicativo: programma che fornisce servizi specifici per l'utente.
Il NucleoRealizza funzionalità di bassissimo livello, che vengono utilizzate dalle altre componenti del Sistema Operativo, in quanto di fondamentale importanza.
Processo: è un programma in esecuzione, che viene definito con la coppia <c,s> dove c= codice programma e s= stato variabili di programma. Quando il sistema informatico è in grado di eseguire/elaborare più processi contemporaneamente, si dice multitasking. La presenza di un unico processore a disposizione, necessita la suddivisione.
del tempo tra i diversi processi. Questo avviene grazie alla tecnica del Time Sharing - i processi vengono eseguiti a piccolissimi scaglioni di tempo, in modo ciclico per garantire che ogni processo sia dedicato del tempo.
Diagramma degli Stati
Per gestire l'esecuzione di ogni processo, il nucleo necessita di sapere in quale stato questo si trova. Gli stati sono i seguenti:
- Esecuzione: la CPU sta eseguendo le istruzioni del processo.
- In: è pronto per essere eseguito, ma non è il suo turno.
- Pronto: il processo è pronto per essere eseguito.
- Attesa: si sta aspettando la risposta di una periferica (input o output) richiesta per il processo stesso.
Diagramma degli Stati di un Processo
- Richiesta d'esecuzione Programma: il nucleo crea un processo che viene posto in stato di "Pronto".
- Turno del Processo: quando giunge il turno del processo, questo viene messo in stato di "In Esecuzione".
- Processo finito o generazione di una Interruzione Esterna.
- Uso di una
Periferica→ nel caso in cui sia richiesta una periferica, viene richiesto al sistema operativo di interagirvi, viene generata dunque una Interruzione Interna. Intanto che si attende la risposta della periferica il processo viene messo in stato di “Attesa”.
5) Risposta della Periferica→ viene generata una Interruzione Esterna è il processo torna in stato di “Pronto”.
Il modo più semplice per far passare un processo dallo stato di “Pronto” allo stato di “In Esecuzione”, è il Round Robin→ consiste nella rotazione a turno.
Altro modo molto utilizzato (meccanismi più complessi) è quello delle Priorità. Ad ogni processo viene assegnata una priorità, in base a questa il nucleo sceglierà quale processo dovrà passare allo stato di “Pronto” allo stato di “In Esecuzione”.
Il Sistema Operativo fa in modo che ogni processo venga svolto in un ambiente protetto,
Questo vuol dire che non possono uscire dal proprio ambiente e altri non possono "invadere/infastidire". Però particolari processi devono poter lavorare anche al di fuori del loro ambiente. Per questo motivo vengono distinti in:
- Processi in Modo U (Utente) → tutti gli altri processi.
- Processi di Modo S (Supervisore) → usuali del sistema operativo.
I processi hanno assegnato una parte di memoria centrale che viene definita come: descrittore del processo.
Gestore della Memoria
Ha il compito di gestire l'allocazione della memoria centrale. Ogni processo ha bisogno di una parte di memoria per poter lavorare, quindi il gestore della memoria interviene per assegnare blocchi (diversi) di memoria tra i vari processi in modo efficiente. Questo richiede specifiche tecniche:
- Rilocazione: è la tecnica utilizzata per far sì che il codice dei programmi si adatti al cambiamento degli indirizzi e istruzioni, da un'esecuzione ad un'altra.
Sichiama così perché i blocchi di memoria contenenti i programmi e le variabili vengono rilocati, riposizionati nella memoria centrale. La rilocazione si divide in statica (il programma viene caricato in memoria e il processo viene avviato, modificando tutti i riferimenti) e in dinamica (il programma è scritto in modo che gli indirizzi vengano calcolati volta per volta, senza modificare il codice del programma).
Paginazione/Segmentazione: è la suddivisione della memoria centrale in blocchi di memoria tutti uguali (pagine). Ad un processo vengono assegnate pagine intere, non frammenti. È il meccanismo di gestione delle pagine più usato. Il meccanismo si basa sui concetti di Indirizzo Fisico, che corrisponde all'indirizzo assoluto di un Byte, e Indirizzo Logico, che ha la stessa organizzazione di quello fisico ma il numero di pagina non corrisponde al numero di pagina reale, ma a un valore che vi fa riferimento tramite la cosiddetta Tabella delle
Pagine.
3) Memoria Virtuale: suddivide la memoria in blocchi di diversa lunghezza dettisegmenti, che verranno assegnati in base alle necessità dei processi.
11Memoria Virtuale
Nel caso in cui un processo avesse bisogno di più memoria, il Gestore della Memorianon potrebbe rispondere positivamente in quanto questa sarebbe insufficiente. Questofarebbe terminare in modo erroneo l’esecuzione del processo. Qui entra in gioco ilconcetto di Memoria Virtuale: il gestore della memoria fa credere ai processi di averea disposizione più memoria di quella realmente disponibile.
Funzionamento:
- Tale meccanismo si basa sulla paginazione.
- La tabella delle pagine descrive la corrispondenza tra pagina logica e fisica.
- Se vengono richieste più pagine non disponibili (da parte di un processo), ilgestore della memoria sceglie delle pagine da spostare sul disco.
- Lo spostamento avviene scrivendo il contenuto di una pagina su un file detto diPaging
Le pagine liberate
Vengono associate a nuove pagine logiche, ed infine assegnate al processo che le ha richieste.
Il Gestore delle Periferiche
Posso collegare al calcolatore diversi dispositivi, ognuno di questi necessita di una gestione differente. Il gestore delle periferiche ha il compito di creare una macchina virtuale che fornisca una interfaccia semplice e unica per ogni dispositivo. Per fare ciò viene richiesto che venga fornito un componente software di livello molto basso che faccia da tramite tra il gestore delle periferiche è il dispositivo. Questa viene chiamata Driver. I Driver possono variare in base al tipo di sistema operativo, ma anche all’interno dello stesso a causa della diversa evoluzione.
I Dispositivi USB
Questa tecnologia fu definita nel 1995, ed è l’acronimo di Universal Serial Bus. Tali dispositivi presentano le seguenti caratteristiche: un’interfaccia Hardware standard, adottano inserimento e disinserimento a caldo, consentono
L'archiviazione di dati Driverless (senza necessariamente l'utilizzo di un driver) è una categoria di dispositivi collegati al computer, costituita dai cosiddetti Dispositivi di Memoria di Massa. Questi sono in grado di memorizzare grandi quantità di informazioni.
Inizialmente esempi di questi erano i CD, DVD e le memorie flash, ma a causa di diverse esigenze fu istituita una macchina virtuale più opportuna detta File System. Questa macchina si basa sul concetto di file, il quale è un contenitore ordinato da Byte con associato un nome.
- I file .dat contengono dati.
- I file .doc contengono documenti testuali Microsoft Word.
- I file .pdf contengono documenti Adobe Acrobat.
- I file .mp3 contengono musica digitalizzata.
Normalmente un file non può avere lo stesso nome di un altro, quindi qui entra in gioco il File System Gerarchico. Questo è così detto poiché è basato
sull'organizzazione gerarchica del catalogo (directory/cartella) dei file. Visto che le cartelle possono contenere a loro volta altre cartelle, diremo che non possono essere presenti file con stesso nome nella stessa directory. Questo è invece possibile se si prendono in considerazione file in cartelle diverse, questi appunto possono presentare nome uguale ma avendo percorsi (path) diversi, l'omonimia non genera problemi. Microsoft Windows Nella famiglia di sistemi operativi Microsoft Windows, ogni dispositivo di massa viene identificato da una lettera. I dispositivi A e B corrispondono ai floppy disk; C di default è il disco fisso principale, tutti gli altri dispositivi di memoria di massa sono identificati con le altre lettere crescenti dell'alfabeto. I percorsi sono composti con il carattere \ C