Come funziona il buffering? | Il buffering è un processo in cui i dati vengono memorizzati in una memoria temporanea prima di essere trasferiti in un'altra posizione. Questo processo può essere utilizzato per migliorare le prestazioni di I/O, in quanto consente al sistema operativo di trasferire i dati in blocchi più grandi e di ridurre il numero di volte in cui il dispositivo I/O deve essere utilizzato. |
Quali sono i diversi tipi di dispositivi I/O? | I diversi tipi di dispositivi I/O includono dispositivi a blocchi, dispositivi a caratteri, dispositivi di rete e dispositivi di temporizzazione. |
Quali sono le differenze tra i dispositivi a blocchi e i dispositivi a caratteri? | Dispositivi a blocchi trasferisco dati in blocchi di dimensioni fisse
questo tipo di periferiche dovrebbero prevedere comandi come read() write() o seek() per l'accesso diretto.
gli accessi ai blocchi possono essere fatti : tramite IO grezzo, tramite mappaggio in memoria
Dispositivi a caratteri trasferisco dati byte per byte. |
Come funziona la schedulazione delle richieste di I/O? | La schedulazione delle richieste di I/O consente al sistema operativo di assegnare le richieste di I/O alle risorse hardware in modo efficiente. |
Come funziona il buffering? | Il buffering è un processo in cui i dati vengono memorizzati in una memoria temporanea prima di essere trasferiti in un'altra posizione. Questo processo può essere utilizzato per migliorare le prestazioni di I/O, in quanto consente al sistema operativo di trasferire i dati in blocchi più grandi e di ridurre il numero di volte in cui il dispositivo I/O deve essere utilizzato. |
Quali sono le differenze tra le chiamate di I/O bloccanti e non bloccanti? | Le chiamate di I/O bloccanti bloccano mettono il processo o applicazione correntemente attiva in stato di attesa e l'esecuzione viene ripresa una volta che la chiamata e' stata eseguita(es lettura o scrittura di file)
Le chiamate di I/O non bloccanti non bloccano il processo attualmente in esecuzione(es mouse, tastiera) |
in che cosa consiste la attesa attiva? | 1) Il controller indica il suo stato per mezzo del bit busy, che il computer continua a leggere finché non lo trova sul valore 0 (disponibile)
2) Il processore specifica il comando nel registro di controllo e setta il bit command-ready su 1, così che la periferica se ne accorga e lo esegua
3) Terminata l'esecuzione vengono azzerati entrambi i bit. |
come funziona il meccanismo degli interrupt? | in generale:
1) La CPU ha una connessione chiamata linea di richiesta di interrupt che viene verificata dopo l'esecuzione di ogni istruzione.
2) Quando il processore si accorge che un controller le ha mandato un segnale, salva il valore corrente del program counter e passa immediatamente alla procedura di gestione dell'interrupt memorizzata in un preciso indirizzo di memoria
3) Una volta eseguita, la CPU viene ritornata allo stato precedente. |
come funziona il DMA e per che periferiche viene usato? | - Alcune periferiche hanno bisogno per loro natura di trasferire un grosso numero di dati e non e' conveniente farli un byte alla volta, quindi si utilizza il controller DMA
- Un blocco di comandi DMA contiene un puntatore alla sorgente del trasferimento, uno alla destinazione e un contatore col numero dei byte da trasferire.
- Il controller DMA opera dunque direttamente sul bus di memoria senza alcun intervento della CPU, salvo poi lanciarle un interrupt a trasferimento compiuto. |
cosa sono le periferiche di rete? | risposta non ancora messa |
definizione di periferiche orologi e temporizzatori | vengono utilizzati orologi (clock) e temporizzatori (timer) per tener traccia dell'ora corrente, del tempo trascorso, o ancora - è il caso del timer programmabile - per impostare un certo intervallo prima di scatenare un interrupt.(un esempio e' l'algoritmo di schedulaizone round robin) |
a che cosa serve lo spooling e come viene realizzato? | - Lo spool è un buffer su memoria di massa che conserva l'output per una periferica che non può accettare flussi di dati da più processi contemporaneamente, come ad esempio le stampanti.
- Lo spooler è l'unico programma che ha accesso diretto alla periferica, e gestisce il buffer offrendo agli utenti alcune operazioni aggiuntive come la visualizzazione della coda di attesa dei processi o la cancellazione/sospensione di uno di essi. |
come vengono trasformate le chiamate IO in operazioni hardware? | a trasformazione delle chiamate I/O in operazioni hardware avviene in due fasi:
Traduzione della chiamata I/O in un'operazione del driver di dispositivo: Il sistema operativo traduce la chiamata I/O in un'operazione del driver di dispositivo appropriato. Questa traduzione può comportare la conversione dei parametri della chiamata I/O nel formato richiesto dal driver di dispositivo.
Esecuzione dell'operazione del driver di dispositivo: Il driver di dispositivo esegue l'operazione richiesta. Questa operazione può comportare l'accesso al dispositivo hardware, l'invio di comandi al dispositivo o la lettura dei dati dal dispositivo. |