08/01/2018
Casi di studio Sistemi operativi
Struttura win Fino a WIN 98 basato fortemente su MS-DOS scarsa multiprogrammazione Gestione poco evoluta della memoria Scarsa protezione della memoria Scarsa sicurezza dei dati
Struttura win - Da winNT e win 2000 è stato sviluppato un sistema operativo ad hoc Attualmente architetture a 64 bit Memoria principale basata su demand paging e memoria virtuale - File system NTFS una tabella contiene un record per ciascun file o directory. Nel record sono memorizzati gli attributi del file e i vari indirizzi dei blocchi che lo compongono First, NTFS will attempt to store the entire file in the MFT entry, if possible. This will generally happen only for rather small files. If the file is too large to fit in the MFT record, the data attribute is made non-resident. The entry for the data attribute in the MFT contains pointers to data runs (also called extents) which are blocks of data stored in contiguous sections of the volume, outside the MFT. The file may become so large that there isn't even room in the MFT record for the list of pointers in the data attribute. If this happens, the list of data attribute pointers is itself made non-resident. Such a file will have no data attribute in its main MFT record; instead, a pointer is placed in the main MFT record to a second MFT record that contains the data attribute's list of pointers to data runs. NTFS will continue to extend this flexible structure if very large files are created. It can create multiple non-resident MFT records if needed to store a great number of pointers to different data runs. Obviously, the larger the file, the more complex the file storage structure becomes.
Struttura win 2000 Struttura a livelli HAL HW abstraction level, adatta il sistema al particolare HW Kernel secondo livello di macchina virtuale, che gestisce Context switch, memoria, registri, demand paging, scheduling, ecc Servizi di sistema interfaccia le chiamate dai vari sottosistemi, verso i servizi DLL (Dynamic link library) gli applicativi dialogano con le librerie, ed è il sottosistema a generare le chiamate di sistema
Struttura win 2000 KERNEL Sottosistema Win 32 Applicativo utente Win 32 Processi da utility Sottosistema Win 32 Interfaccia di sistema (DLL) Servizi di sistema Gest. I/O Gest. Processi Gest. cache Gest. PnP Gest. memoria KERNEL HAL (Hardware Abstraction layer ) HARDWARE
Struttura win 2000 (1) Gestore di oggetti: qualsiasi elemento (processo, file, directory, timer,ecc).Sono degli oggetti per il SO. Questo particolare modulo cataloga, identifica e tiene traccia di tutti gli oggetti che, in qualsiasi modo, hanno a che fare con il sistema. Gestore di I/O: Ambiente di gestione di tutti gli Input/Output del sistema, si occupa di collegare ed utilizzare i driver corretti per i diversi dispositivi. Gestore dei processi: gestisce processi e scheduling Gestore della memoria: gestisce le pagine di memoria virtuale e le relazioni tra memoria virtuale e reale
Struttura win 2000 (2) Gestore della sicurezza: Elaborato sistema di autenticazione utenti, criptaggio Gestore di cache: mantiene in memoria blocchi di dati usati di recente e, a seconda della configurazione di Windows 2000, attua le politiche di chaching previste. Gestore di Plug and Play: gestisce la connessione di tutti i dispositivi PnP anche connessi a caldo. Gestore di alimentazione: gestisce lo spegnimento del video dopo un tempo prefissato di inutilizzo, lo spegnimento dei dischi, ecc. Nei Pc portatili gestisce anche il livello di carica batteria.
Struttura win 2000 (3) Gestore di configurazione: principalmente recupera le informazioni contenute nei registry richieste di volta in volta dai diversi dispositivi o processi Gestore di chiamate procedure locali: gestisce la comunicazione tra processi.
UNIX Sistema multi utente, multi programmato, di tipo time sharing Ogni utente ha login e password e una sua cartella di cui è proprietario (home) File system con variante dell’allocazione indexata Demand paging e swapping Sheduling con round robin, complicato da meccanismi di priorità Interfaccia a comandi molto più potete e sofisticata di MS-DOS Crea un processo shell per ogni utente collegato
UNIX File descriptor con tredici celle per gli indirizzi dei blocchi dei file. Le prime dieci sono usate per gli indirizzi dei primi dieci blocchi per i quali si ha l'allocazione indexata. Se il file supera i dieci blocchi, viene creato nello spazio disco per i file un blocco che può contenere gli indirizzi di altri 128 blocchi. L’indirizzo di questo blocco viene memorizzato nell'undicesima cella del file descriptor.
UNIX Per i blocchi tra l’undicesimo e il centotrentottesimo si ha quindi un accesso diretto a due passi: uno per accedere al blocco con gli indirizzi e uno per accedere al blocco del file. Se il file è costituito da più di 138 blocchi si utilizza anche la dodicesima cella del file descriptor. Infine, il tredicesimo blocco permette di indirizzare file ancora più grandi mediante un accesso a quattro passi.
UNIX Con questa tecnica si hanno file descriptor delle stesse dimensioni e quindi si evitano problemi di allocazione dello spazio nella device directory. Al tempo stesso si ha un accesso quasi diretto: diretto per i file piccoli, diretto a più passi nel caso di file di dimensioni maggiori. Il tempo di accesso cresce al crescere del file ma non si ha mai l'accesso sequenziale.
LINUX - licenza GNU GPL (Libertà) Citiamo rapidamente le quattro libertà base della licenza GNU GPL(General Public License) Libertà di eseguire il programma (libertà 0) Libertà di studiare come funziona e adattarlo alle proprie necessità (libertà 1) L’accesso al codice sorgente ne è il prerequisito Libertà di distribuire copie per aiutare il prossimo (libertà 2) Libertà di migliorare il programma e distribuirne i miglioramenti in modo tale che tutta la comunità ne tragga beneficio (libertà 3)
licenza GNU GPL (obblighi) Oltre alle libertà esistono anche degli obblighi e, fra questi, ricordiamo l’impegno di non commercializzare un programma modificato spacciandolo per nuovo e di citare sempre l’autore originario nelle pubblicazioni delle modifiche. Quanto detto non è da confondere con freeware che, pur essendo gratuito, non prevede la cessione di codice sorgente.
FHS (Filesystem Hierarchy Standard) /home–All’interno di questa cartella vengono poi generate le sottocartelle riservate ai singoli utenti /lib –Sono memorizzate le librerie condivise dai programmi /tmp – file temporanei /var – dati variabili, code di stampa /usr – Sotto questa cartella vengono organizzati quasi tutti i programmi esistenti nel sistema. Tale cartella è poi, a sua volta, suddivisa in numerose altre sottocartelle.
Compilatore GNU/GCC Tutto l’ambiente linux ruota intorno a moduli scritti in linguaggio C e C++. E’ ovvio che assume particolare importanza il compilatore compatibile con tale linguaggio. Linux ha scelto GCC (GNU COMPILER COLLECTION), una particolare suite di compilatori integrata nel S.O. GCC permette la compilazione di sorgenti C, C++, Objective C, Fortran, ADA, e Java direttamente da linea di comando Linux.
Avalle 2004
Mac OS X Ora basato su processori Intel basato su processori RISC Sistema operativo basato su UNIX Interfaccia grafica avanzata Configurazione gestita dal sistema operativo
SO per smartphone Window mobile API win32 Office in versione ridotta
SO per smartphone IOS (iphone operating system) OS X base Gestisce un processo alla volta
SO per smartphone Android Deriva da Linux Sviluppato in Java