[ESAME - CON COMPITINI - Inizia con discreto]
Domanda 1 - ARCH)
Come scriveresti una procedura che scorre un vettore senza saperne l'indirizzo e cerca un elemento in un vettore (?)
- È in ARM e credo di aver capito che la domanda fosse "Scrivi una funzione che prende in input un Array e un numero e scorre l'Array alla ricerca di quell'elemento. Poi mi restituisce 1 se ho trovato l'elemento e 0 altrimenti"
Domanda 2 - ARCH)
Supponi di aver usato il set THUMB o un set ad istruzioni a 64bit.
Io ti faccio lo schema del single cycle e tu mi dici cosa avresti semplificato dell'architettura single cycle per permettere l'utilizzo di un set diverso da quello di istruzioni ARM a 32bit.
- In pratica puoi solo saltare, non puoi usare condizioni/controlli condizionali. Cosa modifichi?
(Gli dà un immagine del control Path da modificare)
Non puoi fare STREQ o MOVEQ, quanto modifichi dell'hardware?
Domanda 3 - OS)
Cosa fa l'algoritmo del banchiere?
(Algoritmo conservativo e costoso... Spiegazione algoritmo...)
Domanda 4 - OS)
(Qualcosa sulla traduzione degli indirizzi, difficile da tradurre il linguaggio)
Domanda 5 - OS)
Indicami un caso di quando posso usare convenientemente uno spinlock invece di un lock?
- Sei un progettista di compilatore, per cosa utilizzeresti lo spinlock.
Per quale meccanismo di concorrenza lo utilizzeresti?
(Parla poi di qualcosa su operazioni atomiche)
[ESAME - CON SCRITTO - Inizia Quasi Sufficiente]
Domanda 1 - ARCH)
Immagina di fare un addizionatore che ragiona con due numeri decimali invece che con interi.
Hai 4 bit che rappresentano (...(credo abbia detto "che rappresentano le cifre fino a 16. 2^4 bit = 16))
Prendo due insiemi da quattro bit e calcola la somma decimale. (In pratica è la somma in colonna che ti insegnano alle elementari, con riporto quando arrivi a dieci)
- Ha due coppie di quattro bit e deve fare la somma e il riporto che siano il valore decimale di somma e di riporto.
Hai 9 e 3, la somma è 2 e il riporto è 1.
(Credo sia perché 9+3=12 quindi 10 è il riporto, che è 1 e la somma quindi è 2)
===[Appunto mio]===
Devo confrontare la somma con dieci. Uso un confrontatore. Se è 10 butto fuori come riporto uno.(...)
=================
- Quanto ci mette questo circuito creato a calcolare? (6∆t. Ha un sommatore (2∆t), poi un comparatore e un altro sommatore, se non sbaglio che lavorano in parallelo (2∆t a testa, ma lavorano sullo stesso livello quindi = 2∆t) e infine un multiplexer 2∆t. Se non sbaglio)
- Questo è un sommatore a cifre singole. Se volessi fare il calcolo a due cifre che faccio? (Copi l'hardware di fianco e attacchi il riporto in uscita a quello in entrata)
Domanda 2 - OS)
Multilevel feedback queue. Come funziona?
- Perché multilevel? Perché feedback? (...)
- Di che grandezze stiamo parlando? (16 o 32 livelli)
- (Se non sbaglio chiede qualcosa sui quanti di tempo. Interruzione generica...)
- Cosa fa il sistema operativo?
- (Qualcosa sugli stati di attesa)
Domanda 3 - OS)
Come alloco e dealloco in una memoria in partizioni variabili (chi dealloca, chi alloca, quanto, quando)? (or some shit, non ho capito sta domanda, troppo basso il volume)
- (Prof accenna a qualcosa, tipo frammentazione esterna (No vabbè scusate, mi sto distraendo. Però la domanda base ce l'avete. (ADHD kicked in))
- Tipicamente di quante pagine hai bisogno per partire? (Di solito 2-3 pagine ce le avrai subito. Le carichi un po' per uno)
Domanda 4 - OS)
Come si fa la traduzione degli indirizzi in questo caso (di partizione variabile)?
Domanda 5 - ARCH)
Supponiamo che io ti dia un automa come questo (gli dà un automa con stati da S0 a S2. Ingressi e uscite.)
Mi converti questo automa in una rete sequenziale? È un automa di mealy o moore? (È automa di mealy)
- Disegnami una rete sequenziale di mealy base.
Domande Orali AESO - Danelutto - 20/06/2023
Torna a “Architetture e Sistemi Operativi”
Vai a
- Generale
- ↳ Discussioni
- ↳ Discussions (in english)
- ↳ I rappresentanti rispondono
- ↳ Parliamone
- ↳ Mercatino
- ↳ Tirocini
- ↳ Annunci
- ↳ Announcements (in english)
- ↳ Eventi
- I anno
- ↳ Algebra Lineare
- ↳ Analisi Matematica
- ↳ Fondamenti dell'Informatica
- ↳ Laboratorio I
- ↳ Programmazione e Algoritmica
- II anno
- ↳ Architetture e Sistemi Operativi
- ↳ Calcolo Numerico
- ↳ Calcolo Numerico - Vecchio Ordinamento
- ↳ Laboratorio II
- ↳ Paradigmi di Programmazione
- ↳ Ricerca Operativa
- ↳ Ricerca Operativa - Vecchio Ordinamento
- ↳ Statistica
- ↳ Statistica - Vecchio Ordinamento
- III anno
- ↳ Basi di Dati
- ↳ Basi di Dati - Vecchio Ordinamento
- ↳ Introduzione all'Intelligenza Artificiale
- ↳ Introduzione all'Intelligenza Artificiale - Vecchio Ordinamento
- ↳ Ingegneria del Software
- ↳ Ingegneria del Software - Vecchio Ordinamento
- ↳ Reti e Laboratorio III
- Complementari
- ↳ Algebra
- ↳ Cloud Computing
- ↳ Cloud e Green Computing
- ↳ Computer Grafica
- ↳ Crittografia
- ↳ Elementi di Calcolabilità e Complessità
- ↳ Elementi di Calcolabilità e Complessità - Vecchio Ordinamento
- ↳ Esperienze di programmazione
- ↳ Fisica
- ↳ Fisica - Vecchio Ordinamento
- ↳ Gestione di Reti
- ↳ Green Computing
- ↳ Interazione Uomo-Macchina
- ↳ Laboratorio di Basi di Dati
- ↳ Laboratorio di Web Scraping
- ↳ Sicurezza di Sistemi ICT
- ↳ Sviluppo di Applicazioni Mobili
- ↳ Sviluppo di Applicazioni Web
- ↳ Teoria dell'Informazione
- Vecchio Ordinamento
- ↳ I anno
- ↳ [ALL] Algoritmica e Laboratorio
- ↳ [AM] Analisi matematica
- ↳ [FIS] Fisica
- ↳ [LPP] Logica per la programmazione
- ↳ [MDAL] Matematica discreta e algebra lineare
- ↳ [PRL] Programmazione I e laboratorio
- ↳ II anno
- ↳ [AE] Architettura degli elaboratori
- ↳ [BD] Basi di dati
- ↳ [CPS] Calcolo delle probabilità e statistica
- ↳ [CN] Calcolo numerico
- ↳ [IS] Ingegneria del software
- ↳ [PR2] Programmazione II
- ↳ [RO] Ricerca Operativa
- ↳ [SOL] Sistemi operativi e laboratorio
- ↳ III anno
- ↳ [ECC] Elementi di calcolabili e complessità
- ↳ [PI] Programmazione di interfacce
- ↳ [IIA] Introduzione all'intelligenza artificiale
- ↳ [RCL] Reti di calcolatori e laboratorio
- ↳ Advanced databases
- ↳ Advanced programming
- ↳ Advanced software engineering
- ↳ Algorithm design
- ↳ Algorithm engineering
- ↳ Artificial intelligence fundamentals
- ↳ Bioinformatics
- ↳ Competitive programming and contests
- ↳ Computational mathematics for learning and data analysis
- ↳ Data mining
- ↳ Human language technologies
- ↳ ICT infrastructures
- ↳ ICT risk assessment
- ↳ Information Retrieval
- ↳ Intelligent Systems for pattern recognition
- ↳ Laboratory for innovative software
- ↳ Languages, compilers and interpreters
- ↳ Machine learning
- ↳ Mobile and cyber-physical systems
- ↳ Parallel and distributed systems: paradigms and models
- ↳ Peer to peer systems and blockchains
- ↳ Principles for software composition
- ↳ Smart applications
- ↳ Software validation and verification
- Links
- ↳ HomePage Dipartimento
- ↳ Portale Esami