SISTEMI OPERATIVI 2
Di cosa parla
- File System: Supporta memorizzazione e accesso a file e programmi. Un file è un insieme di informazioni con attributi (nome, ID, tipo, dimensione, permessi). Le operazioni includono creazione, scrittura, lettura, seek, cancellazione, ridenominazione. Le directory organizzano i file, con strutture logiche che vanno dal singolo livello a grafi generali (aciclici e ciclici). L'allocazione dei file può essere contigua, collegata o indicizzata. La gestione dello spazio libero si avvale di bitmap, liste collegate, raggruppamenti o conteggio. La protezione si basa su ACL o C-List e modelli di sicurezza.
- Dischi: Organizzati in cilindri, tracce e settori. L'indirizzo fisico è (cilindro, settore, traccia). Visti come array di blocchi logici. Il tempo di accesso è influenzato da seek e rotazione. Algoritmi di scheduling (FCFS, SSTF, SCAN, LOOK) ottimizzano le prestazioni. L'amministrazione include formattazione fisica e logica, gestione settori danneggiati, avvio (MBR) e SWAP. Le configurazioni RAID migliorano prestazioni e affidabilità tramite striping e mirroring.
- Memoria Virtuale: Simula uno spazio di memoria centrale maggiore di quello fisico, permettendo l'esecuzione di processi non completamente in RAM. Implementata tramite Paginazione (suddivisione in pagine e frame di dimensioni fisse, risolve frammentazione esterna) e Segmentazione (suddivisione in segmenti di dimensione variabile, per la logicità del programma). Gli indirizzi logici sono tradotti in fisici dalla MMU. I page fault avvengono per pagine non caricate, gestiti con algoritmi di sostituzione (FIFO, LRU, Second Chance, basati sul conteggio) per evitare il thrashing.
- Protezione: Garantisce la sicurezza delle risorse (HW e logiche) da accessi non autorizzati. Distingue politiche e meccanismi. I processi operano in domini di protezione con diritti d'accesso specifici. La matrice d'accesso definisce le autorizzazioni. Implementazioni includono Access Control List (ACL, per oggetto) e Capability List (C-List, per soggetto). I modelli di sicurezza includono Bell-LaPadula (segretezza, read down) e Biba (integrità, write down).
- Sottosistema di I/O: Gestisce le periferiche in modo efficiente tramite chiamate di sistema. Fornisce scheduling delle richieste, buffering (gestione differenze di velocità e blocchi, copia semantica), caching (memoria veloce per copie di dati), spooling (gestione device dedicati) e gestione degli errori. Le chiamate possono essere bloccanti o non bloccanti. L'implementazione è stratificata (HW, device driver, sottosistema I/O) per tradurre richieste logiche in operazioni hardware, mirando a ridurre i cambi di contesto, le copie di dati e gli interrupt per ottimizzare le prestazioni.