← Indietro
EserciziDivisi per argomento

Sistemi operativi 3 Nucleo e commutazione tra processi

Divisi per argomento di Architettura dei Calcolatori e Sistemi Operativi per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Architettura dei Calcolatori e Sistemi OperativiDivisi per argomento

Informazioni sul documento

Cosa trovi in questo materiale

Divisi per argomento di Architettura dei Calcolatori e Sistemi Operativi per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

1 MODALITA’ VECCHIA 11.11.2011 - esercizio n. 2 – nucleo e commutazione tra processi Si considerino i seguenti frammenti di programma: / programma CODICE_X.c / main ( ) { ... pid1 = fork ( ); if (pid1 == 0) { / codice eseguito da Q figlio di P / fd = open (“/acso/file1”, O_RDWR); / 3 blocchi / pid2 = fork ( ); if (pid2 == 0) { / codice eseguito da R figlio di Q / write (stdout, c, 20); exit (2); } else { / codice eseguito da Q / sleep (1); write (fd, buffer, 1000); / 2 blocchi / exit (1); } / end if / } else { / codice eseguito da P / pid1 = wait (&status); exit (0); } / end if / } / CODICE_X / / programma CODICE_Y.c / main ( ) { ... sleep (3); execl (“/acso/CODICE_X”, CODICE_X, NULL); write (stdout, err_msg, 50); exit (3); } / CODICE_Y / Dati due processi P e S:  il processo P esegue il programma CODICE_X e crea il figlio Q  il processo Q crea il figlio R  il processo S esegue il programma CODICE_Y e richiede una mutazione di codice che fallisce 2 Ulteriori specifiche del sistema: 1. i processi utente hanno associata una priorità, il processo “idle” ha priorità minima e non esistono altri processi nel sistema 2. le priorità relative a tutti i processi attivi nel sistema sono indicate – quando necessario – nella tabella di commutazione dei processi da completare 3. il buffer del driver di standard output ha dimensione di 50 caratteri 4. per tutte le operazioni su file che implicano trasferimento di blocchi: a) la dimensione di un blocco di dati trasferito da o verso file tramite DMA, è di 512 byte b) l’interruzione di fine DMA è associata al trasferimento di un singolo blocco del file (eventi DMA_in e DMA_out per lettura e scrittura di un blocco rispettivamente) 5. le operazioni di lettura e scrittura su file accedono sempre a disco, cioè è…

Anteprima

Prima pagina del documento.

Prima pagina: Sistemi operativi 3 Nucleo e commutazione tra processi