Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemi Operativi, Cloud Computing, Politica VS Meccanismo - Coggle Diagram
Sistemi Operativi
-
Memoria
File System
-
Gestione Hardware
Raid
Difetti:
- necessita dischi identici
- possibilità di striping ma prestazioni inferiori
Raid 5
4 dischi con un disco di informazioni di parità (funzione controllo)
dischi in sequenza quindi velocità maggiore, ma se disco rotto abbiamo comunque un backup
Gestione Software
Tipi di file
-
Directory
-
Implementazione directory in i-node
Una directory ha il nome dei file che contiene e anche parte dei suoi attributi, compreso il suo numero di i-node
-
-
-
-
Layout
varia molto tra gli os,
elementi principali:
MBR
master boot record, eseguito dal bios all'avvio
-
Super blocco:
strutturazione filesys, letto all'avvio o al primo uso
I-node: array di strutture dati, una per file che raccolgono tutto riguardo il file, tranne il nome (contenuto in directory)
Per limitare la frammentazione interna gli inode sono di piccole dimensioni e a più strati, occupando i primi strati con i file più piccoli in quanto sono quelli più accessi
Directory Principale: root, cima dell'albero
-
-
Varianti
Filesys basati su log strutturati
Con sinc si obbliga l'aggiornamento del buffer cache sul disco, è presente una zona libera che permette il log e diminuisce il fallimento in caso di problemi e garantisce prestazioni adeguate
Virtual File System
Negli os vengono utilizzati tipi di filesys mischiati, quindi c'è un virtual filesys che standardizza le chiamate per permettere a diverse porzioni del SO di comunicare.
Journaled File System
Per preservare l'integrità dei file. Divide le azioni in idempotenti in modo che dopo la rottura può riprendere dall'ultimo checkpoint e riprendere l'azione
Data Blocks
-
Gestione blocchi liberi
Free List
Elenco nuemri datablock disponibili, presente in memoria.
Letta solo metà alla volta per limitare IO.
Bitmap
Diversa da bitmap memoria. n bit per n blocchi, se i blocchi liberi sono consecutivi il sistema tiene traccia di sequenze di blocchi.
Analisi consistenza
Quando effettuamo una modifica e avviene un crash troviamo inconsistenze nel sistema. Il fsck o scandisk per windows controlla al riavvio la consistenza di blocchi e file
dei file (e directory)
tabella con contatore per ogni file. Controllo dalla directory principale in ordine di i-node (quante volte presente in tutte le directory)
-
collegamenti in directory > i-node: catella può usare un i-node non corretto e referenziare il file sbagliato
-
Disk Caching
Data block viene portato in memoria per convenienza e prestazioni. Poi con sinc viene aggiornato la copia nel disco.
-
-
-
Processi
Dead Lock
-
-
Risorse non-prelazionabili
Tirandola via dal processo provoco fallimento (più frequenti nei deadlock)
Esempio: 5 filosofi
Per mangiare ogni filosofo deve prendere una forchetta, ma se tutti prendono quelli alla propria destra c'è un attesa infinita che una forchetta si liberi
Affronto di un deadlock
Ignorare
Algoritmo dello struzzo, non vedo il problema quindi non c'è
-
Risolvere
Prelazione delle risorse
prelevare una risorsa dal proprietario e assegnarla ad un altro processo. Problemi: non tutte le risorse sono prelazionate e non so come scegliere
Rollback
Genero CHECKPOINT dei processi, ovvero scrivere stato e stato risorse assegnate. Quando avviene un deadlock ripristino l'ultimo checkpoint
Eliminazione processi
il processo rilascia tutte risorse acquisite, non sappiamo ancora quale processo eliminare (ovviamente il meno dannoso).
Evitare
Stati sicuri
Le richieste di allocazione passano da un controllore che non le accetta se provocano l'entrata in una zona non sicura.
Algoritmo del banchiere
Matrice risorse assegnate e una delle risorse necessarie al compimento. (Algoritmo include previsione del futuro, impossibile)
Nella matrice risorse necessarie trovo quella in cui sono tutti minori o uguali al vettore delle risorse disponibili. Se riga non viene individuata allora sistema va in deadlock
Se viene trovata vengono assegnate risorse necessarie a terminarre. La riga viene marcata come completa e vengono rilasciate le risorse utilizzate (aggiornata matrice)
-
-
-
Introduzione
Livelli
Hardware
BUS
-
Come funzionano
Burst
I dati vanno inseriti in memoria, quindi contesa con la cpu, che appena finisce di usare, può non lavorare per qualche millisecondo
Cycle stealing
Controlal il bus e se non è in utilizzo lo usa. Non trasferisce tutto ma così non interrompo la CPU
I.O.
Controller dei dispositivi
Converte informazioni per renderle compatibili con il dispositivo. Ha a disposizione:
Driver dei dispositivi
Consentono alla CPU di parlare indirettamente con la periferica (attraverso controller)
-
-
-
-
-
-
-
Per aumentare prestazioni, implemento bus dedicato tra memoria e CPU, così non saturo bus dove siede io e gli altri due
-
Mappato in memoria
Direct Memory Access
Contiene molti registri e possono essere scritti e letti direttamente dalla CPU.
-
Step-by-step
-
DMA aggrega richieste, invia a bus una richiesta doi lettura del controller. Inserisce sul bus degli indirizzi, l'indirizzo di memoria su cui scrivere
Disco esegue e inserisce dati richiesti nel suo buffer. Al termine usa bus e scrive dati nella memoria centrale
Controller manda segnale di conferma al DMA. DMA incrementa indirizzo di memoria da usare e diminuisce conteggio di byte, così ripete istruizioni 3 e 4 finchè non ci sono più azioni da fare
-
-
-
I/O programmato
Dati sono copiati in buffer (nel kernel), poi spostati nella periferica entrando in un ciclo per copiare un carattere per volta. Le periferiche a caratteri come la stampante sono più lente di quelle orientate a buffer. In questo la CPU interroga continuamente il dispositivo (buisy waiting)
I/O gestito da interrupt
Se CPU viene interrotta, posso concentrarmi sun un altro processo con priorità più alta
-
Gestione interrupt
-
-
Creo un contesto in cui posso eseguire codice della interrupt service routine, impostare TBL, MMU e page table
-
-
-
-
-
-
-
-
-
-
-
Cloud Computing
Utility computing
Cloud è una risorsa, non un infrastruttura, non pago l'affito ma pago a consumo, come la bolletta
-
-
-
-
-
-
-
-
Livelli di un cloud
Saas: Software as a service
Virtualizzazione del software, altamente scalabile, portatile e backup facili. Estrema fiducia nel provider
Paas: Platform as a service
Virtualizzazione piattaforme, venduto di solito a sviluppatore. Riduce i tempi di manutenzione e fornisce elevata quantità di personalizzazione. Tempo di migrazione non è breve
Iaas: Infrastructure as a service
Calcolatore virtuale insieme di calcolatori fisici. Backup comodo, sicurezza non elevata e possibilità di takedown
Lato Oscuro
-
-
No standard, bisogna studiare ogni provider a cui si va
Soluzioni
Housing
Compro calcolatore e lo faccio ospirare a qualcun'altro, pagando l'affitto. Elettricità e raffreddamento sono problemi dell'azienda (obsoleto)
Hosting
Prendo in affitto un calcolatore di qualche azienda dove sia l'hardware e la manutenzione sono un problema dell'azienda. Diminuisce costi e migrazione più facile
Cloud
Pool condiviso di risorse configurabili, grandi sforzi o carichi piccoli ma costanti
Politica VS Meccanismo
-
Meccanismo
Funzioni che permettono di attuare le politiche (es il flag per controllare la presenza della pagina)