|
Appunti informatica |
|
Visite: 819 | Gradito: | [ Picolo appunti ] |
Leggi anche appunti:Le macchine da calcolo - tesinaLe macchine da calcolo Introduzione I primi strumenti costruiti dall'uomo Interfaccia utente per biblioteche digitali di ii° generazione - tesi ingegneria informaticaINTERFACCIA UTENTE PER BIBLIOTECHE DIGITALI DI II° GENERAZIONE Tesi Evoluzione del processoreEvoluzione del processore Nel |
Struttura a livelli del SO
Il SO offre all'utente dei servizi e questi ne ha visibilitą attraverso i comandi che consentono di richiamarli: i comandi espliciti sono gestiti dalla Shell, i comandi impliciti sono invece generati da un compilatore/assemblatore. Le principali funzioni offerte dal SO e viste dall'utente possono essere raggruppate in funzioni per la gestione dei lavori (qualificarsi nei confronti del sistema, richiedere l'allocazione di risorse, richiedere l'esecuzione di una o una successione di azioni), supporti per la programmazione (programmi per il trattamento testi, per la gestione delle librerie, per il supporto al testing e al debugging del codice dei programmi), meccanismi di I/O (mascheramento delle modalitą con cui le operazioni di I/O vengono eseguite, mascheramento dei conflitti nell'uso di periferiche condivise, gestione dei malfunzionamenti) e funzioni di gestione archivi (accesso tramite riferimenti logici, garanzia di sicurezza negli accessi e dell'integritą dei dati
Una tipica schematizzazione del SO a livelli consente di riconoscere 8 livelli, via via pił bassi quanto pił ci si avvicina alla macchina reale, via via pił alti quanto pił le macchine virtuali sono astratte e mettono a disposizione funzionalitą evolute:
Programma Utente
Shell Interprete dei comandi
Utility Supporto allo sviluppo (editor, testing, debugging) dei programmi, fogli elettronici e altre utilitą
File System Gestione (con controllo degli accessi) di blocchi di informazioni logicamente strutturati registrati su disco, ovvero i File
Periferiche Virtuali Simulazione di periferiche virtuali (implementazione primitive I/O e gestione malfunzionamenti)
Memoria Virtuale Allocazione memoria ai programmi che la richiedono usando se necessario la memoria secondaria (gestione corrispondenza indirizzi fisici / logici, caricamente / scaricamento / swapping, protezione dalle violazioni)
Nucleo Allocazione della CPU ai processi (Sheduling), primitive di gestione degli eventi asincroni e di sincronizzazione (richiamate tramite SVC)
Hardware Macchina Base o Reale
Ogni macchina virtuale di livello superiore utilizza i servizi offerti dalla macchina virtuale (eventualmente reale) di livello inferiore, che espone una apposita interfaccia; i livelli (2) e (3) sono da considerarsi paritari, ovvero non necessariamente dipendenti l'uno dall'altro; i livelli da (1) a (3) formano un macrolivello costituito da processi dedicati, mentre i restanti dal (4) al (7) costituiscono il Kernel del SO in senso esteso; al livello (8) c'č un'unica CPU, Memoria, Disco e un insieme discreto di periferiche; il livello (7) costituisce una macchina virtuale rispetto alla quale tutti i processi vedono ciascuno una propria CPU; il livello (6) costituisce una macchina virtuale rispetto alla quale tutti i processi vedono ciascuno una propria CPU e una propria memoria; il livello (5) costituisce una macchina virtuale rispetto alla quale tutti i processi vedono ciascuno una propria CPU, una propria memoria e un insieme non condiviso di periferiche ogni livello insomma astrae sempre di pił la macchina reale facendola apparire progressivamente, in ogni suo componente, dedicata al singolo processo attivo.
Appunti su: |
|