Esame di Sistemi di Elaborazione 17/06/2004

Le risposte alle domande devono essere esaustive!

  1. Si scriva un programma in linguaggio assembler che riceva in input tre numeri N1, N2 ed N3. Calcoli quindi la somma N4=N1+N2 e la differenza N5=N4-N3. Si stampi in output la differenza N5. Se la differenza è positiva si stampi la costante "1", altrimenti si stampi la costante "0". Si illustri anche il contenuto dei registri IR, MAR, MDR, PC e A (accumulatore ALU) alla fine della esecuzione del programma quando siano dati in input i valori N1=5, N2=7 e N3=13.
    Lo studente supponga di avere già in memoria eventuali costanti necessarie al programma e di avere a disposizione le seguenti istruzioni:

    Arithmetic 1xx ADD
    2xx SUB
    Data Movement 3xx STORE
    5xx LOAD
    BR 6xx JUMP
    BRZ 7xx BRANC ON 0
    BRP 8xx BRANCH ON +
    Input/Output 901 INPUT
    902 OUTPUT
    Machine Control 000 HALT

  2. Si descriva dettagliatamente il funzionamento delle interruzioni (cosa sono, perchè si usano, le diverse modalità di gestione, cosa succede in presenza di piu' interruzioni, etc.).

  3. Si descriva dettagliatamente il funzionamento e le problematiche delle architetture di rete TokenRing ed Ethernet.

  4. Si descrivano dettagliatamente i metodi di accesso ai file e alcuni metodi di allocazione dei file in memoria secondaria.

  5. Si descrivano dettagliatamente gli stati (operativi) di un processo e si dicano in che modo avvengono i cambiamenti di stato.

  6. Si descrivano e confrontino dettagliatamente gli algoritmi per il rimpiazzamento delle pagine in memoria in un sistema a memoria virtuale con paginazione.