Sei sulla pagina 1di 35

1) Cosa sintende per interrupt masking, da chi e come viene

attivato e perch viene usato?


Quando nuovi interrupt vengono disabilitati mentre un altro interrupt
processato per prevenire la perdita di interrupt; ogni altro interrupt non
verr quindi immediatamente servito ma sar messo in coda. Per
segnalare linterrupt masking viene posto ad 1 il bit di mascheramento
della CPU presente nel registro di stato.
2) Quali sono le possibili architetture di un SO e, in breve, che
cosa le caratterizza?
Larchitettura di un SO pu essere:
monolitica, quando esso composto da un unico modulo che serve le
richieste dei programmi utente uno alla volta;
a macchina virtuale, se esso offre a ciascun programma utente visibilit
di un particolare hardware;
client-server, se esso prevede un nucleo minimo di funzioni, detto
microkernel, comuni a tutte le stazioni di un sistema distribuito, a cui
alcune stazioni aggiungono funzioni specifiche per offrire servizi ad altre
stazioni;
a livelli, se esso articolato in diversi moduli, ciascuno dei quali svolge
specifiche funzioni, ed ogni modulo pu servire le richiese di pi
programmi utente.
3) Spiegare il significato del tempo di seek, della latenza
rotazionale e della larghezza di banda di un hard-disk
Il tempo di seek il tempo che impiega il braccio del disco a muovere le
testine fino al cilindro contenente il settore desiderato; la latenza
rotazionale il tempo speso in attesa che il disco faccia ruotare il settore
desiderato fino alla testina; la larghezza di banda data dal numero
totale di byte trasferiti diviso il tempo che intercorre tra la richiesta di
servizio ed il completamento dellultimo trasferimento.
4) Quali sono le operazioni assicurate dalla parte alta del Gestore
della CPU e dei processi?
Creazione, distruzione e comunicazione tra i processi.
5) Si descriva la differenza tra interrupt e trap e le differenti
modalit con cui ciascuno viene trattato.
Un interrupt, o interruzione esterna, ha carattere asincrono in quanto
legata al verificarsi di un evento, viene segnalata alla cpu che gestisce
linterrupt facendo riferimento a varie routine memorizzate in locazioni di
memoria i cui indirizzi sono salvati in un interrupt vector.
Una trap, o interruzione interna, quella generata dal software ed
causata da un errore o dalla richiesta di un servizio del SO, ha carattere
sincrono in quanto il processo che lancia la trap va nello stato di wait
provocando una chiamata al supervisore SVC che viene servita facendo
riferimento ad un interrupt vector proprio delle SVC.
6) Qual lutilit della linked list nellorganizzazione dei file a
struttura concatenata e qual il suo costo?
Oltre ad evitare il problema della frammentazione, avendo la linked list

direttamente conservata in memoria si dovr accedere al disco una volta


sola, dopo che per sia stato ritrovato lindirizzo del blocco desiderato in
maniera sequenziale allinterno della lista collegata. Il costo in termini
di memoria, perch tutta la linked list presente in RAM.
7) Si pu asserire che si determinata una situazione di stallo se
output store non trova record liberi nello SPOOL file?
Solamente se nessuno dei processi termina la stampa.
8) Spiegare la differenza tra job scheduler e process scheduler.
Il job scheduler, o macroschedulatore, seleziona i processi da eseguire e
li carica in memoria centrale in attesa che le tutte le risorse richieste dai
processi siano disponibili. Quando sono tutte disponibili, tranne la cpu, il
compito viene passato al process scheduler, o microschedulatore, il quale
seleziona i processi pronti per lesecuzione allocandone uno alla volta
nella cpu in base ai vari algoritmi. Il process scheduler viene eseguito
almeno una volta ogni 100 millisecondi mentre il job scheduler viene
eseguito molto meno frequentemente, e tra una richiesta e laltra
possono intercorrere dei minuti.
9) Illustrare il significato di job, job-step e task.
Un job costituito da uno o pi job-step da eseguire in sequenza; un jobstep, o programma, costituito da uno o pi task che operano
contemporaneamente contendendo fra loro le risorse; un task, o
processo, unattivit elementare indipendente con associate le proprie
risorse.
10) Illustrare la funzione dello strato del device manager
nellarchitettura a livelli del SO.
La funzione del device manager quella di gestire i dispositivi di I/O
nascondendone le caratteristiche al resto del SO. composto da una
componente per la gestione della memoria (buffer, cache e processo di
stampa); da uninterfaccia generale del driver e da un driver per i
dispositivi hardware specifici.
11) Qual la funzione di una device queue e quale il suo
contenuto?
Poich possibile inviare molte richieste allo stesso dispositivo, il SO
mantiene una device queue per ogni dispositivo che terr conto del tipo
di operazione richiesta, del file da utilizzare, indirizzo, lunghezza e
puntatore a prossima richiesta.
12) Specificare quali transizioni di stato governa il Process
Scheduler.
Quando un processo passa dallo stato di RUN a quello di WAIT per una
richiesta di I/O.
Quando un processo passa dallo stato di RUN a quello di READY, se per
esempio si verifica un interrupt.
Quando un processo passa dallo stato di WAIT a quello di READY, al
termine di un I/O.
Quando un processo passa dallo stato di RUN a quello di COMPLETE al

termine della sua esecuzione.


13) Illustrare lutilit di una cache; quando e come viene usata;
quali sono le sue caratteristiche importanti.
La cache una regione di memoria veloce che conserva copie dei dati;
laccesso alla copia nella cache pi efficiente dellaccesso ai dati
originali. utilizzata per trasferire dati tra dispositivi operanti a velocit
di lavoro diverse. Il suo funzionamento si basa sulla memorizzazione di
istruzioni e di dati usati pi frequentemente dalla cpu producendo cos
accessi pi veloci. Le dimensioni devono essere pi piccole della capacit
del dispositivo a cui si riferisce e lordine di grandezza del tempo di
accesso del nanosecondo.
14) Spiegare qual la funzione di un context switch e come
avviene.
Il context switch consiste nel far passare la cpu da un processo ad un
altro; richiede il salvataggio in memoria del contesto computazionale del
vecchio processo e il caricamento del contesto computazionale del nuovo
processo nei registri della cpu. Il tempo tipico necessario per il context
switch inferiore ai 10 millisecondi.
15) Indicare le tre principali funzioni di cui responsabile il SO
nella gestione della memoria secondaria.
Allocazione file, gestione spazio libero, scheduling richieste disco.
16) Cosa caratterizza lallocazione indicizzata di un file o
indirezione e qual il suo costo?
Lallocazione indicizzata caratterizzata dal riservare un blocco a
contenere non dati ma indirizzi a tutti gli altri blocchi dati del file (index
block), in modo tale da favorire laccesso diretto. Il suo costo che per i
piccoli file riservare un intero blocco a soli puntatori pu essere sinonimo
di spreco di spazio utile in quanto essendo costituiti da pochi blocchi dati
avranno conseguentemente pochi puntatori ai blocchi dati.
17) Come possibile richiedere lesecuzione di una operazione di
I/O?
La cpu carica i registri appropriati allinterno del controller del dispositivo
che a sua volta esamina il contenuto dei registri per determinare quale
azione intraprendere.
18) Illustrare quali attivit vengono svolte durante il bootstrap.
Il bootstrap program inizializza tutte le funzioni del sistema, individua il
kernel, lo carica in memoria centrale e ne inizia lesecuzione.
19) Qual la funzione di un Process Control Block (PCB) e quale
il suo contenuto?
Il process control block contiene il contesto computazionale del processo.
costituito da varie informazioni: puntatore al prossimo processo della
coda del programma; stato in cui si trova il processo; algoritmo di
scheduling utilizzato; id del processo assegnatogli dal SO; inidirizzo alla
prossima istruzione da eseguire (PC); copia dei registri della cpu

contenente i risultati ottenuti dalle elaborazioni; occupazione di memoria;


lista dei file aperti ed utilizzati dal processo.
21) Illustrare cosa avviene quando la CPU riceve un interrupt.
Al momento della segnalazione dellinterrupt viene salvato in memoria il
contesto computazionale del processo corrente e si esegue linterrupt
handler, una routine che passa lesecuzione allindirizzo specificato
nellinterrupt vector, costituito da tanti puntatori ad indirizzi di memoria
dove vengono conservate le varie routine di gestione dei vari interrupt
(ora viene usato direttamente linterrupt vector senza pi ricorrere
allinterrupt handler).
22) Qual la differenza tra comandi interni ed esterni e quali
vantaggi comporta la presenza di comandi esterni?
I comandi interni sono generati dalla shell e risiedono quindi sempre in
memoria, sono generalmente formati da meno righe di codice rispetto i
comandi esterni. Questi sono salvati su disco e non occupano quindi
spazio in memoria.
23) Illustrare il significato di dispatch latency, spiegando da cosa
deriva.
La latenza del dispatcher il tempo necessario al dispatcher per fermare
un processo e cominciarne un altro.
24) Se dovessi progettare le operazioni di gestione dei file di un
SO, quali sarebbero le sei operazioni essenziali?
Creare e cancellare file e directory, supportare le primitive relative alla
manipolazione di file e directory, copiare i file su unit di memorizzazione
secondarie, salvare i file su supporti di memorizzazione permanenti.
25) Qual la differenza tra interrupt mascherabili e non
mascherabili?
Un interrupt mascherabile pu essere disabilitato dalla cpu prima
dellesecuzione di istruzioni critiche che non devono essere interrotte, un
interrupt non mascherabile riservato ad eventi come errori di memoria
non recuperabili.
27) Che relazione pu esistere tra gli address space di un
processo padre e di un processo figlio?
Il processo figlio pu essere un duplicato del processo padre ed avere lo
stesso programma e gli stessi dati; oppure il processo figlio ha un nuovo
programma caricato nel proprio spazio di indirizzamento.
28) In cosa consiste la frammentazione di una memoria
secondaria e perch tutti i file system ne sono affetti?
Lallocazione di un file verr fatta sovrastimando la dimensione del file in
base alla dimensione del blocco fisico, essendo questa lunit minima di
allocazione, per cui parte dello spazio allocato rester inutilizzato. Inoltre
leliminazione di alcuni file da disco rilascia spazi in memoria che possono
talvolta essere insufficienti per contenere nuovi file pi grossi e si incorre
nel rischio che tali spazi rimangano inutilizzati poich rara la possibilit

che vengano rimpiazzati da un file di dimensione uguale a quello


eliminato (ma quest'ultimo esempio accade solo con un'allocazione
continua).
29) Qual lo scopo di adottare livelli di priorit degli interrupt?
Per far i modo che eventi pi importanti vengano gestiti prima di altri
secondari.
30) Qual la funzione della wait queue e quale il suo contenuto?
La wait queue contiene quei processi la cui esecuzione in cpu stata
interrotta da una richiesta di I/O.
31) Quali sono i pi comuni attributi di un file di cui il SO
mantiene traccia?
Protezione/accesso, password, creatore, proprietario, flag per la sola
lettura, flag per file nascosto, flag di sistema, flag di archivio, flag per file
ASCII/binario, flag per laccesso casuale, flag temporaneo, flag di blocco,
lunghezza in byte del record, data di creazione, data dellultimo accesso,
data dellultima modifica, dimensione corrente, dimensione massima.
33) In quale caso necessario un DMA controller e qual la sua
funzione?
Il DMA necessario per i dispositivi di I/O ad alta velocit che generano
molti interrupt occupando molto frequentemente la cpu. Il DMA gestisce i
trasferimenti dalle periferiche rubando cicli alla cpu, la quale nel
frattempo libera di svolgere altri task.
34) Indicare da cosa dipende il tempo di esecuzione di un
processo (turnaround time)
Consiste nella somma del tempo speso in attesa del caricamento in
memoria, di quello speso in attesa nella coda dei processi pronti, di
quello speso in esecuzione sulla cpu e di quello per lI/O; quindi dipende
dallalgoritmo di scheduling, dalla velocit della memoria, dal processore
e dai dispositivi di I/O.
35) Qual leffetto determinato dalla velocit angolare costante
di un hard-disk sulla densit di registrazione?
La velocit di rotazione del disco rimane costante e la densit di bit
diminuisce dalle tracce interne verso quelle esterne per mantenere il
flusso di dati costante.
36) Spiegare qual la modalit di gestione della coda di ready
nel caso di adozione, rispettivamente, dellalgoritmo di roundrobin e dellalgoritmo di round-robin modificato.
Nellalgoritmo round-robin la coda di ready una coda FIFO, i processi
vengono eseguiti in ordine nella coda e restano nello stato di run per un
tempo uguale per tutti (time slice) assegnatogli dalla cpu; scaduto il time
slice viene segnalato un interrupt alla cpu che riporta il processo nella
coda ready.
Nellalgoritmo round-robin modificato viene attribuito ad ogni processo
una priorit inversamente proporzionale al time slice effettivamente

utilizzato durante lesecuzione. La coda di ready ordinata in base a


questa priorit.
37) Illustrare la differenza tra I/O sincrono e asincrono.
Se il processo di I/O viene iniziato ed il controllo viene restituito al
processo utente solo dopo il suo completamento si parla di I/O sincrono; il
controllo viene restituito al programma utente senza aspettare il
completamento si parla di I/O asincrono.
38) Qual la funzione della ready queue e quale il suo
contenuto?
La ready queue contiene i processi da eseguire che hanno tutte le risorse
richieste disponibili tranne la cpu ed attendono il rilascio della stessa; la
quale li servir nellordine in cui appaiono nella coda.
39) Quali sono le diverse modalit di allocazione concatenata di
un file?
Si pu avere una concatenazione fisica, in cui tutti i blocchi dati sono
collegati tra di loro tramite un puntatore che punta al prossimo blocco
dati del file; oppure una concatenazione logica, in cui ad ogni indirizzo
fisico del disco associato un indirizzo logico, e la linked list
semplicemente un vettore con tanti elementi quanti sono i blocchi fisici
del disco ed ognuno di questi blocchi contiene lindirizzo logico (relativo
alleffettivo blocco fisico del file) del blocco successivo della linked list per
quel file.
40) Quali sono gli obiettivi dellalgoritmo di scheduling della CPU
che va sotto il nome di dynamic priority (process merit).
Lobiettivo quello di regolare il time slice assegnato ai processi dalla
cpu in modo tale da avere le migliori prestazioni della cpu e dei
dispositivi di I/O evitando di avere un accumulo di processi I/O bound o
cpu bound.
Le uniche due domande della prova scritta del 2 maggio 2007 a cui
siamo in grado di rispondere:
3) Quali meccanismi concorrenti effettuano la traduzione degli
indirizzi da logici a fisici? E quali le rispettive caratteristiche?
Il Logical File System si occupa di determinare il record logico al quale si
sta facendo riferimento e ricavare il record fisico al quale si deve
accedere; questa informazione viene passata al Physical File System che
pu dunque procedere allindividuazione delle coordinate del record fisico
su disco ed avviare la successiva operazione di lettura.
34) Quali sono le diverse modalit di allocazione concatenata di
un file e quali i rispettivi vantaggi e svantaggi?
Si pu avere una concatenazione fisica, in cui tutti i blocchi dati sono
collegati tra di loro tramite un puntatore che punta al prossimo blocco
dati del file; in questo caso lo svantaggio che parte del blocco dati sar
occupato dal puntatore; il vantaggio principale che il file pu
espandersi.

Oppure si pu avere una concatenazione logica, in cui ad ogni indirizzo


fisico del disco associato un indirizzo logico, e la linked list
semplicemente un vettore con tanti elementi quanti sono i blocchi fisici
del disco ed ognuno di questi blocchi contiene lindirizzo logico (relativo
alleffettivo blocco fisico del file) del blocco successivo della linked list per
quel file; in questo caso lo svantaggio che tutta la linked list risiede in
memoria; il vantaggio che avendo la linked list in memoria necessario
un solo accesso al disco.
Qual il vantaggio e quale lo svantaggio della politica di
allocazione dello spazio di un file che fa uso del concatenamento
attraverso la linked list?
Il file pu espandersi senza frammentazione esterna del disco e avendo
la Linked List in memoria accedo una volta al disco, ma avendo
comunque una lista collegata dovr scorrere tutti i blocchi in memoria
per trovare quello desiderato e accedervi.
Quali sono le operazioni assicurate dalla parte alta del Gestore
della CPU e dei processi?
Creazione, distruzione e comunicazione fra processi.
Qual la situazione di stallo che si pu determinare nello SPOOL
tra output store ed output fetch?
Se nel pool non vi sono pi record disponibili e nessun programma
termina lesecuzione.
Quali sono i vincoli che un sistema in tempo reale deve
soddisfare?
Il processo deve essere completato entro i vincoli imposti, in caso
contrario il sistema fallir. Un sistema in tempo reale funziona
correttamente solo se produce il risultato corretto nel limite di tempo
stabilito.
Qual la caratteristica di un processo CPU-bound?
Ha unintensa attivit computazionale con lunghi picchi della CPU. Non
richiede operazioni di I/O.
Qual lordine di grandezza del tempo di accesso ad un Disco
ottico (CD-ROM)?
Millisecondo
Quale dei livelli del kernel del SO quello che garantisce la
sincronizzazione dei processi?
CPU e process manager lower part
A quanti, e quali, gruppi pu appartenere un utente durante una
sessione di lavoro?
Un utente pu essere titolare di un gruppo principale ed essere membro
di pi gruppi secondari.
Da quanti elementi costituito linterrupt vector? E cosa

contiene ciascun elemento?


costituito da tanti elementi quanti sono gli interrupt da dover gestire ed
ogni elemento contiene lindirizzo di memoria ove si trova la determinata
routine di gestione per quellinterrupt.
Un computer dotato di vari set di registri. Descrivere le
operazioni di un context switch se il nuovo contesto gi
presente in uno dei set di registri.
La CPU fa riferimento ad altri registri contenenti le informazioni relative al
contesto computazionale del processo che deve essere eseguito e che in
questo caso sono gi presenti nei registri della Control Unit.
Specificare il significato di larghezza di banda(disk bandwidth)
per un disco magnetico.
data dal numero totale di byte trasferiti diviso il tempo totale che
intercorre fra la richiesta di servizio ed il completamento dellultimo
trasferimento.
Quando viene effettuato il context switch della CPU?
Quando un interrupt segnala che il processo in esecuzione ha esaurito il
time slice; oppure quando un processo a priorit pi grande in attesa
nella coda di ready; quando termina un processo; quando un processo in
esecuzione richiede unoperazione di I/O. Ogniqualvolta cio la CPU passa
da un processo ad un altro.
Qual lordine di grandezza della latenza rotazionale di un hard
disk?
Millisecondo.
Qual la funzione del driver di un dispositivo?
- Comunicare al controller in quale locazione del dispositivo agire e quali
azioni intraprendere
- Nascondere le differenze tra i controller delle periferiche al sottosistema
di I/O del kernel
A cosa serve e quale compito svolge il gestore delle interruzioni
(interrupt handler)?
Determinare la natura dellinterrupt, ci che lo ha causato, gestirlo
attraverso le routine presenti in memoria e raggiungibili tramite
linterrupt vector ed infine restituire alla CPU lo stato precedente al
ricevimento dellinterrupt.
Che differenza c tra un processo eseguito in background ed
uno in foreground?
Un processo in foreground un processo in primo piano (interattivo) che
pu avere priorit sui processi in background, ovvero quelli sullo sfondo
(batch).
Qual la funzione dellutilit di sistema Deframmentazione di
WINDOWS?
Riportare ad uno schema di allocazione contiguo i file su disco evitando

la frammentazione interna del file nei vari blocchi fisici. Nel caso di
allocazione contigua, shifta i blocchi dati luno accanto allaltro nel caso
di buchi nel disco dovuti alla cancellazione di file che possono essere
insufficienti ad accogliere completamente un nuovo file.
Qual la funzione dellindex-block di un i-node in UNIX?
Contenere tutti i puntatori a tutti i blocchi del disco che costituiscono il
file senza risentire del problema della frammentazione esterna e
permettendo laccesso diretto.
Quali sono le principali chiamate al file system (File System
Calls)?
Create, write, read, seek, delete, rename, get attributes, set attributes,
open(), close().
Quali sono le operazioni svolte dal programma iniziale (bootstrap
program) memorizzato nella ROM?
Inizializzare tutte le funzioni del sistema, individuare il kernel, caricarlo in
memoria centrale ed iniziare lesecuizone del Sistema Operativo.
Quali sono le principali chiamate al file system (File System
Calls) per operazioni riguardanti le directory?
Create, delete, opendir, closedir, readdir, rename, link, unlink.
Qual la funzione del Physical File System del modello generale
dellarchitettura di un File System?
Individua le coordinate del record fisico su disco e avvia la successiva
operazione di lettura.
Qual lordine di grandezza del tempo per accedere ad un
registro e ad un disco magnetico?
Tregistro Nanosecondo
Thardisk Millisecondo
Qual la funzione del Direct Memory Access (DMA) e quale il
vantaggio che ne deriva?
Dirige il controller della periferica I/O rubando cicli alla CPU ed inviando
un interrupt ogni volta che viene trasferito 1 byte; in questo modo
mentre il DMA lavora la CPU libera di svolgere altri task.
Cosa un task (o processo) e quali sono le principali
informazioni che lo caratterizzano?
Un task unattivit elementare indipendente con associate le proprie
risorse. caratterizzato dal varie informazioni contenute nel TCB quali:
un puntatore al prossimo task della coda del programma; lo stato in cui si
trova il processo; il numero ID assegnatogli dal SO; lindirizzo della
prossima istruzione da eseguire; i risultati ottenuti dalle varie
elaborazioni della CPU; lo spazio in memoria occupato; la lista dei file
aperti ed utilizzati dal task; informazioni sul tipo di schedulazione.
Citare almeno un caso concreto di sistema in cui potrebbe

risultare vantaggiosa la gestione sincrona dellI/O.


Quando il programma che ha richiesto loperazione di I/O ha bisogno di
quei determinati dati per eseguire le prossime operazioni.
Quali sono i metodi generali per passare i parametri al SO da
parte di un programma in esecuzione?
- Passaggio dei parametri nei registri
- Immagazzinarli in un blocco in memoria e passare lindirizzo come
parametro ad un registro
- Porli in uno stack dove il SO pu prelevarli
Indicare brevemente la sequenza di operazioni che si susseguono
allavvio di un calcolatore e le componenti che intervengono.
Viene avviato il programma di boot strap che, dopo aver inizializzato
tutte le funzioni del sistema (cpu, periferiche, ram) recupera il kernel del
sistema dal disco, lo carica in ram e comincia lesecuzione del SO.
Se si attua un trasferimento dati da un dispositivo veloce ad uno
lento qual la condizione imprescindibile affinch non si abbia
perdita di informazioni. Spiegare la risposta.
Il doppio buffering. La differenza di velocit di due dispositivi potrebbe
causare problemi di trasferimento; si utilizzano due buffer in modo tale
che il dispositivo pi veloce scriva nel primo buffer e lo riempia per poi
passare a scrivere nel secondo. Il dispositivo pi lento legge dal primo
buffer e una volta terminata la lettura, il primo dispositivo avr riempito il
secondo buffer e potr scrivere sul primo mentre il dispositivo pi lento
legge dal secondo; e cos via.
Completare la gerarchia degli storage device:
Registri della cpu
Cache
Ram
Dischi elettronici
Dischi magnetici
Dischi ottici
Nastri magnetici
Qual lutilit della linked list associata alla File Allocation Table
(FAT)?
Conoscendo lindirizzo logico di un record nellHard Disk posso ricavare
semplicemente il suo indirizzo fisico (CTS) agendo solo su una lista di
indirizzi, la linked list, che si trova in RAM.
Qual il contenuto delli-esimo elemento dellinterrupt vector?
Contiene lindirizzo in memoria dove memorizzata la routine di gestione
per quel determinato interrupt.
Qual la funzione della Device Status Table (DST) e quali sono le
principali informazioni in essa contenute?
Viene utilizzata per tenere traccia delle molte richieste contemporanee di
I/O. Per ogni dispositivo contiene il tipo, lindirizzo e la condizione

(attesa/occupato).
Cosa contiene una distribuzione di LINUX?
Contiene il kernel pi un insieme di applicativi relativi al SO messi a
disposizione.
Quali sono i tipi di comandi che possono essere eseguiti da una
Shell di LINUX?
Built-in o interni, esterni, script di shell.
Qual la differenza fra Shell e X-Window?
La shell uninterfaccia puramente testuale, un interprete dei comandi
che da solo sufficiente per usare il SO. X-Window uninterfaccia
grafica esterna non inglobata nel SO.
Descrivere le operazioni richieste per eseguire il context
switching.
Il kernel salva il contesto del vecchio processo nel PCB corrispondente in
RAM e carica il contesto salvato del processo appena schedulato per
lesecuzione.
Cos una community? Perch importante? Che ruolo gioca
nellevoluzione di un Sistema Operativo come LINUX? Motivare
brevemente le risposte.
un insieme di sviluppatori che lavora in maniera totalmente gratuita
per scopi di pura diffusione dellinformazione. Essendo gratuito e
diffondendone il sorgente, LINUX ha potuto essere studiato da varie
community ed evolvere nelle tantissime distribuzioni oggi presenti.
Qual la funzione del job scheduler?
Seleziona i processi da eseguire e li carica in memoria centrale in attesa
che tutte le risorse necessarie alla loro esecuzione siano disponibili per
passare il lavoro al process scheduler.
Con quale chiamata di sistema pu un processo figlio
assumere un address space diverso da quello del processo
padre?
EXEC
Spiegare per sommi capi la differenza tra interrupt e trap.
Una trap generata dal software e causata da un errore o dalla richiesta
di un servizio del SO, ha carattere sincrono. Un interrupt ha carattere
asincrono, segnalato dalla CUP al verificarsi di un evento hardware.
Cos un microkernel? Quali sono le componenti che
generalmente lo caratterizzano?
un metodo che struttura il SO rimuovendo tutte le componenti non
indispensabili dal kernel implementandole come programmi di sistema e
programmi utente. Le componenti che lo caratterizzano sono il gestore
dei processi e il gestore della memoria. Possiamo citare anche il gestore
dei dispositivi per quel che riguarda tastiera e mouse di un singolo client,

ma generalmente il gestore dei dispositivi non caratterizza il microkernel.


Nellambito del sistema grafico X-Window, qual la funzione e
lutilit del componente Window Manager? Si giustifichi la
risposta.
Consente la possibilit di usare un unico hardware grafico in maniera
indistinta; adatta tutti i tipi di hardware grafici ai vari Desktop Manager
incaricandosi dellaspetto delle finestre e delle loro macrofunzionalit.
Spiegare quando e perch viene impiegato il DMA
Le operazioni di I/O asincrone lasciano generalmente la CPU in attesa per
molto tempo gestendo interrupt segnalati poco spesso alla CPU: il DMA
viene usato per gestire il trasferimento dei dati dalle periferiche di I/O
rubando cicli alla CPU, la quale nel frattempo libera di svolgere altri
task.
Qual la struttura delladdress space di un processo?
stack.heap.dati.codice
Qual il significato di predicibilit in un sistema con
caratteristiche di hard real-time?
La capacit di determinare in anticipo se i processi di calcolo potranno
essere completati entro i vincoli temporali desiderati.
Qual lordine di grandezza del tempo di accesso ad una cache
memory?
Nanosecondo.
Quando viene aggiornata la wait list?
Quando un processo in esecuzione richiede unoperazione di I/O o
quando un processo in wait termina loperazione di I/O.
Quale tipo di allocazione fisica dei file viene usata in MS-DOS?
Allocazione collegata.
Qual la funzione del dispatcher del CPU scheduler?
D il controllo della CPU al processo selezionato dallo schedulatore.
Qual la funzione dellindex-block di un i-node in UNIX?
Contiene i puntatori a tutti i record di quel file.
Qual lordine di grandezza della frequenza con cui invocato il
macroschedulatore?
Minuto.
Qual la funzione delli-node in UNIX?
Serve a contenere tutti gli attributi di un determinato file (tranne il nome)
e lindex block ove sono memorizzati gli indirizzi dei dati.
Si spieghi brevemente il meccanismo del caricamento di LINUX a
run-level chiarendone lutilit.

Il caricamento del SO viene effettuato livello per livello in fase di


Bootstrap. Lutilit che posso fermare il caricamento del SO ad un
livello intermedio e se ci sono errori posso ricaricare il singolo run level in
cui c stato errore e non tutto il sistema.
Qual lutilit della linked list?
Se carico tutta la lista in memoria non leggo ogni volta dal disco per
accedere ad un blocco ma accedo una volta sola; inoltre non si incorre in
problemi di frammentazione esterna.
Spiegare brevemente vantaggi e svantaggi del sistema grafico XWindow.
X-Window molto pi complesso rispetto ad una normale interfaccia ma
molto pi flessibile; essendo a tutti gli effetti un processo pi facile da
gestire in situazioni di errori senza spegnere lintero sistema ma possono
esserci penalizzazioni di prestazioni.
Spiegare brevemente quale la procedura da seguire per
adoperare LINUX e Windows su di uno stesso PC adoperando una
Virtual Machine.
Lutilizzo di una VM come VMWARE permette di emulare unarchitettura
indipendente da quella fisica ove poter fittiziamente installare un SO
(LINUX su WINDOWS). unapplicazione.
Quando viene aggiornata la ready list dal CPU Scheduler?
Quando un processo termina il time slice (nel caso dellalgoritmo di
scheduling Round Robin) d passa da run a ready; quando un processo
termina le operazioni di I/O e passa da wait a ready; quando un nuovo
processo ha tutte le risorse disponibili tranne la cpu.
Qual il processo con PID = 1? A cosa serve tale processo?
Scrivere il comando per elencare tutti i process ID dei processi
che girano sulla macchina.
INIT, processo di inizializzazione, esamina lo stato delle periferiche e
dellhardware interno e carica i vari run level.
Cosa sintende per indirezione in UNIX?
un puntatore ad un vettore di indirizzi utile per allaumentare la
dimensione dellindex block per file grandi.
Indicare brevemente i vantaggi e gli svantaggi derivanti
dallutilizzo di una distribuzione live di LINUX possibilmente
citando degli esempi riferiti a situazioni concrete di utilizzo.
Vantaggi non si occupa spazio su disco; non devo aspettare tempi di
installazione per lutilizzo.
Svantaggi CD/DVD sono generalmente pi lenti dellhard disk; non posso
aggiornarlo perch lo swap solo da disco a RAM e non viceversa; non
posso salvare il lavoro fatto; la RAM pi piccola dellhard disk e si
riempir di routine molto pi velocemente.
Quali sono le componenti del tempo di accesso a disco? Quale di

questi tempi tende ad essere dominante? pi conveniente


effettuare pochi trasferimenti di blocchi di grosse dimensioni
oppure molti trasferimenti di blocchi di piccole dimensioni?
Motivare le risposte.
Il tempo di accesso composto dal tempo di ricerca e dalla latenza
rotazionale; il tempo di ricerca tende ad essere dominante perch
dipende dalla posizione della testina sul braccio. Con pochi trasferimenti
di blocchi di grandi dimensioni ci sono pochi accessi al disco, ma rischio
di sprecare pi spazio se i file sono pi piccoli dei blocchi trasferiti; con
molti trasferimenti di blocchi di piccole dimensioni ci sono pi accessi al
disco ma risparmio in termini di spazio, quindi questa la scelta pi
conveniente.
In un sistema multi-programmato pi programmi possono
risultare contemporaneamente in esecuzione. Tuttavia se il
sistema mono-processore uno solo di essi potr realmente
progredire nel suo ciclo di esecuzione. In tal caso la multiprogrammazione continua ad essere vantaggiosa oppure no?
Motivare la risposta. (I)
S perch la multiprogrammazione si basa sullesecuzione di alcuni job
presenti in memoria che attendono il rilascio della cpu e il SO gestisce
quale job processare in base allalgoritmo di schedulazione
implementato.
Qual la funzione del dispatcher del CPU scheduler? Quali
informazioni adopera per svolgere il proprio compito? E dove si
trovano tali informazioni?
il modulo che d il controllo della cpu al processo selezionato dal
process scheduler. Prevede il cambio di contesto, e quindi necessita
delcontesto computazionale del processo che si trova nel PCB del
processo interessato; il passaggio alla modalit utente e un salto alla
corretta locazione nel programma utente per ricominciarne lesecuzione.
Spiegare brevemente il fenomeno della frammentazione di un
hard disk evidenziandone le cause che lo generano e gli effetti
prodotti.
La frammentazione esterna dovuta alleliminazione di file nel caso di
file system con allocazione contigua, i quali lasciano buchi sul disco che
possono avere dimensioni insufficienti per ospitare perfettamente un
nuovo file; la frammentazione interna dovuta alla dispersione dei vari
blocchi che compongono i file allinterno del disco per cui molto spesso si
ricorre alloperazione di deframmentazione per riportare il disco ad uno
schema di allocamento contiguo; il quale per risente della
frammentazione esterna. Effetti prodotti sono un rallentamento del
sistema, rischio di corruzione del file, guasto dellhard disk poich il
processo di individuazione, recupero e consolidamento dei dati sparsi pu
causare lusura delle componenti meccaniche del disco.
Indicare il contenuto e la funzione di una Symbolic File Directory
del modello generale di File System.
un file costituito da record contenenti ciascuno il nome simbolico di un

file, un identificatore per file o directory, il record della BFD in cui sono
riportate le informazioni relative al file o directory. Provvede al controllo
dellesistenza in essa di un file avente il nome richiesto.
Cosa sintende per cilindro di un disco fisso?
Il cilindro linsieme delle tracce che si trovano sotto un braccio del
disco.
Qual il criterio alla base dello scheduling delle operazioni di I/O
da un hard-disk noto come SSTF?
Servire il cilindro che richiede il minor spostamento della testina; ovvero
quello pi vicino allultimo servito.
Qual lordine di grandezza della frequenza con cui entra in
azione il CPU-scheduler?
Ogni 100 millisecondi circa, quindi nellordine del millisecondo.
Quando in UNIX un processo padre pu terminare un processo
figlio attraverso la chiamata di sistema abort?
- Il figlio ha ecceduto nelluso di qualche risorsa che stata allocata
- Il compito assegnato al figlio non pi necessario
- Il padre sta terminando e il SO non permette a un figlio di proseguire se
suo padre termina.
Perch necessario garantire il cosiddetto interrupt masking?
Perch al momento del lancio di un nuovo interrupt, tutti gli altri saranno
mascherati alla cpu che potr servire quello a priorit pi alta.
Un blocco di un hard disk identificato tramite le coordinate
(cilindro, traccia, settore): specificare da quale di tali coordinate
dipendono il seek ed il search time rispettivamente.
Il seek time dipende dal cilindro in cui si trova posizionata la testina e
quello da servire. Il search time dipende dal settore ricercato e dal tempo
medio impiegato a passare sotto la testina.
Qual il criterio alla base dello scheduling delle operazioni di I/O
da un hard-disk noto come algoritmo dellascensore o SCAN?
Servire, in base al verso di movimento delle testine, i cilindri in ordine
crescente (o decrescente) a partire da quello dove posizionata la
testina per poi tornare indietro e servire quelle rimanenti in ordine
decrescente (o crescente).
In quali transizioni di stato agisce il process scheduler?
Run, ready, wait.
Qual in UNIX il file equivalente alla Basic File Directory del
modello generale di file system?
I-list.
A partire da quello pi esterno, elencare i livelli di un sistema
operativo e relativa funzione.

Interfaccia o shell pu essere testuale o grafica, linterprete dei


comandi.
File manager file system, supporto per la memorizzazione dei dati e dei
programmi.
Device manager gestione dei dispositivi.
Cpu manager high part creazione, cancellazione, comunicazione fra
processi.
Memory manager gestione della memoria principale.
Cpu manager low part sincronizzazione dei processi.
Quali sono le principali informazioni che costituiscono il contesto
computazionale di un processo?
rappresentato nel PCB e comprende il valore dei registri della cpu, lo
stato del processo e le informazioni per la gestione della memoria
centrale.
Come si realizza lallocazione concatenata di un file?
Ogni file una lista collegata di blocchi del disco che possono essere
sparpagliati ovunque. Lelemento in directory relativo al file conterr un
puntatore al primo e allultimo blocco ed ogni blocco conterr un
puntatore al blocco successivo.
Qual la politica di assegnazione della CPU che va sotto il nome
di priorit statica?
Ad ogni processo viene attribuita una priorit che conserva per tutta la
durata del ciclo di esecuzione.
Qual il modulo dello SPOOL che intercetta una richiesta di
stampa e la dirotta verso il disco?
Output.store
mi sono accorto che alcune risposte sono sbagliate. tipo la
frammentazione.
interna, dovuta al fatto che l'allocazione dei file viene fatta a blocchi di
dimensione predefinita e quindi succede che magari un file non riempir
tutti i blocchi.
esterna, dovuta alla cancellazione di un file che porta a buchi nel disco.
dovrebbe essere cos, a lezione lui fa una confusione pazzesca... ci sono
un sacco di cose che ha sbagliato!!!!
per maggiori chiarimenti leggere le definizioni a pagina 388 e 427 del
libro. sinceramente sul fatto che il file sia sparpagliato in vari blocchi
nell'HD, come nell'allocazione collegata o indicizzata ho qualche dubbio
che c'entri la frammentazione; ma piscitelli ha detto cos a lezione... se
qualcuno ne sa di + posti la soluzione!!
Come pu il file di log (Writeahed log) garantire latomicit di
una transazione anche nel caso di caduta (failure) del sistema

di calcolo?
Avendo salvato tutte le modifiche apportate dalle varie transazioni che
hanno lavorato sui dati, e anche i valori dei dati precedenti alla modifica,
possibile partendo dalle copie di backup risalire alla situazione perduta
tramite il file di log selezionando i valori dei dati in maniera appropriata a
seconda del risultato della transazione.
Perch non opportuno che un web server operi come processo
single-threaded?
Un web server deve accettare richieste simultanee da pi client; con un
sistema single-thread le richieste verrebbero accettate una per volta,
mentre con un sistema multi-thread linsieme delle operazioni viene
eseguito molto pi velocemente.
Quali sono le sostanziali differenze tra Remote Procedure Call
(RPC) e Remote Method Invocation (RMI)?
Nella RPC viene inviato un messaggio (che nello specifico unarea di
memoria) attraverso una procedura, mentre nella RMI non vengono
utilizzate procedure ma vengono invocati metodi su oggetti.
Unistruzione che risolva efficacemente il problema della sezione
critica
a) deve consistere di una sola istruzione di macchina
Quali sono gli algoritmi di page removal (page-out) adottati nella
paginazione virtuale?
Gli algoritmi utilizzati nella paginazione virtuale sono FIFO, LRU e LRU
approssimato.
Quali sono le possibili politiche di scheduling dei thread che si
possono adottare in un processo multithread?
Round Robin, priorit statica.
In quale maniera possibile stabilire ed utilizzare una
comunicazione client-server attraverso socket?
Tramite lindirizzo IP, che contraddistingue una macchina, seguito dal
numero di porta a cui si vuole accedere.
Quali sono le operazioni che devono svolgere rispettivamente
loperatore wait e loperatore signal di un semaforo binario
senza busy waiting?
Viene generata una coda contenente i processi che hanno richiesto
laccesso alla risorsa; un processo che chiede la wait richiede laccesso
alla risorsa solo quando il suo turno nella coda, mentre la signal rilascia
la risorsa che pronta per accogliere la wait del processo successivo in
coda.
Qual il vincolo che viene rimosso con la politica della
paginazione virtuale di memoria?
Mantenere in memoria tutto il processo al momento della sua
esecuzione.

Come si descrive lo stato di un sistema nel metodo di astensione


(avoidance) dal deadlock che va sotto il nome di algoritmo del
banchiere?
Stato non sicuro.
Quali sono le macroistruzioni con cui una transazione segnala il
completamento positivo o negativo delle sue operazioni?
Commit, transizione andata a buon fine. Abort, transizione fallita.
Quali sono le propriet acide di una Transazione?
Atomicit, la transizione ununit indivisibile desecuzione.
Consistenza, la transizione deve far passare i dati su cui opera da uno
stato consistente ad un altro stato consistente.
Isolamento, due o pi transazioni devono svolgere il loro compito
indipendentemente le une dalle altre.
Persistenza o durabilit, i risultati prodotti da una transizione andata a
buon fine non devono essere persi.
Quali sono le velocit di trasmissione e le topologie tipiche in
una rete LAN cablata?
Da 10 a 100 Mbps; le topologie sono a stella, a bus, ad anello, ad albero e
a mesh completa.
Quali sono gli algoritmi di page removal (page-out) non
approssimati adottati nellon-demand paging e quale dato
presuppongono di utilizzare?
FIFO ed LRU, utilizzano il clock del sistema per salvare listante di tempo
in cui la pagina viene caricata e referenziata in memoria.
Qual il contenuto di una riga della segment table nel caso di
uno schema di gestione della memoria virtuale a
segmenti?
Contiene lindirizzo fisico del blocco in memoria da cui inizia il segmento
e la dimensione del segmento stesso.
Quali sono i dati necessari per descrivere lo stato di un sistema
nel metodo di astensione (avoidance) dal deadlock
denominato algoritmo del banchiere?
Il numero di risorse, il numero di processi che richiedono le risorse, il
numero totale di elementi per ogni risorsa, il numero massimo di
elementi per ogni risorsa che possono essere allocati ai singoli processi, il
numero di elementi per ogni risorsa effettivamente allocati ai singoli
processi, gli elementi ancora disponibili per ogni risorsa. Si ricava anche il
numero di elementi, per ogni risorsa, che ogni singolo processo pu
ancora richiedere.
Cos un Resource-Allocation Graph? E qual la sua utilit?
un grafo orientato atto a descrivere lo stato di un sistema durante
lesecuzione di pi processi che richiedono laccesso a risorse condivise.
utile in quanto molto semplice accorgersi di una situazione di

deadlock: se c un ciclo allinterno del grafo il sistema non in deadlock;


se c un ciclo pu esserlo o meno, lo sicuramente se per ogni risorsa
abbiamo un solo esemplare.
Quali sono le possibili organizzazioni che si possono dare ad un
processo multithread?
Organizzazione dispatcher/worker, organizzazione a team, organizzazione
a pipeline.
Qual il contenuto di una riga della Memory Block Table nel caso
di uno schema di gestione della memoria virtuale a pagine?
Contiene il blocco di memoria a cui fa riferimento, lID del task, la pagina
del task, bit di riferimento e cambiamento, status bit.
Qual lo scopo di un processo multithread?
Avere un elevato guadagno di tempo perch si evitano i continui cambi di
contesto computazionale.
Quali sono i metodi con cui si garantisce latomicit di una
transazione e quale il loro modo di operare?
Creazione di un workspace privato, ovvero lavorare su di una copia dei
dati su cui la transizione va ad operare e, in caso di commit, sostituire
questa copia ai dati originali, altrimenti cancellare la copia.
Modifica dei dati originali dalla transizione con lintroduzione di un file di
log, in cui vengono salvati alcuni dati che permettono di riportare la
situazione del database a quella precedente la transizione in caso di
fallimento.
Qual la parte di un processo cooperante che viene detta
sezione critica?
quella serie di istruzioni che operano su di una risorsa condivisa.
Qual lo scopo del dynamic linking e quale la sua modalit di
funzionamento?
Si basa sul fatto che le procedure di un programma vengano fuse fra loro
e che la loro fusione non avvenga nellatto della creazione dello spazio
degli indirizzi ma, in esso, venga inserito uno stub che contiene lindirizzo
su disco di una libreria (dll) in cui c la procedura ed il suo nome.
Cosa il marshalling dei parametri in una chiamata a procedura
remota? E perch viene effettuato?
Il marshalling lintroduzione di tag nei dati che ne specifica ogni volta la
natura, viene effettuato nel caso i vari calcolatori abbiano diverse
caratteristiche quali notazioni di codifica (ASCII, BCD), ecc
Qual la funzione di un file di log e qual il contenuto di un suo
generico record?
Il file di log tiene traccia di tutte le modifiche apportate ad una risorsa
durante una transazione ed il contenuto di un suo generico record :
codice della transizione, codice del campo modificato, vecchio valore del
campo, nuovo valore del campo.

Qual il ruolo delle procedure pubbliche nel meccanismo di


sincronizzazione noto come monitor?
Le procedure pubbliche permettono ai vari processi utenti di accedere
alla risorsa condivisa; sono scritte dai programmatori che conoscono la
struttura della risorsa in modo tale da poter servire i processi utenti,
diventando esse stesse delle risorse condivise.
Qual il significato e come viene gestito il bit di riferimento
nellalgoritmo di sostituzione (page removal)
noto come LRU approssimato (second chance page replacement)
della memoria virtuale paginata?
Ad intervalli regolari di tempo il bit di riferimento viene posto uguale a
zero ed ogni volta che la pagina a cui fa riferimento viene referenziata
viene posto a 1; un meccanismo di questo tipo utile per determinare
quali pagine sono state referenziate pi recentemente (o anche meno
recentemente).
Qual la funzione del client-stub nel meccanismo di Remote
Procedure Call?
Il client-stub trasforma i dati ricevuti in maniera compatibile
allarchitettura del server. Tali dati sono stati precedentemente modificati
dal server-stub in fase di trasmissione a seconda del particolare
protocollo vigente per loperazione di marshalling.
Qual lo scopo del dynamic loading e quale la sua modalit di
funzionamento?
Caricare dinamicamente in memoria una routine solo se necessario,
quindi lo spazio degli indirizzi caricato solo per le parti che servono pi
frequentemente.
Indicare la differenza tra memoria fisica, memoria virtuale e
memoria logica.
La memoria fisica la memoria centrale ove vengono immagazzinate le
informazioni da processare; la memoria logica uno in tipo di
indirizzamento basato su indirizzi che corrispondono a degli effettivi
indirizzi in memoria ma che sono organizzati in maniera logicamente pi
semplice e sulla base della loro funzionalit; la memoria virtuale una
parte di memoria di massa utilizzata per estendere virtualmente la
memoria centrale in modo da non avere tutto il programma in memoria
al momento della sua esecuzione ma paginarlo e caricarlo a pezzi, solo
quando determinate routine sono richieste.
Indicare, eventualmente anche graficamente, le caratteristiche
di funzionamento della comunicazione tra pari
nellarchitettura di una rete di computer.
I vari livelli di unarchitettura di rete di computer comunicano allo stesso
livello logico tra di loro utilizzando determinati protocolli e passando le
informazioni al livello sottostante che aggiunger altri protocolli i quali
permetteranno la lettura del messaggio ai livelli dellarchitettura del
computer ricevente, che per ogni livello conoscer i vari protocolli e sar

in grado di interpretare il messaggio quasi come se la comunicazione


avvenisse direttamente tra un livello N di un computer ed il livello N di un
altro computer senza passare per gli altri livelli sottostanti N-1, N-2, ecc
Specificare in breve qual la differenza tra prevenzione del
deadlock ed astensione dal deadlock.
Prevenire il deadlock significa evitare il proporsi di una condizione di
Coffman o allocare a priori le risorse ai processi; lastensione dal
deadlock significa non permettere al sistema di passare in uno stato non
sicuro, nel quale rientra la situazione di stallo.
Illustrare la differenza tra x.wait/x.signal di un monitor e
wait/signal di un semaforo.
x.wait e x.signal di un monitor si riferiscono allattendere ed al verificarsi
di una condizione per il completamento delle operazioni svolte dalle varie
procedure pubbliche; wait e signal di un semaforo si riferiscono
direttamente allallocazione e al rilascio della risorsa condivisa
Perch in un sistema transazionale si preferisce non usare la
tecnica del private workspace per garantire latomicit delle
transazioni?
Lutilizzo di un private workspace, sebbene sia di pi facile realizzazione,
prevede lutilizzo di una grande quantit di memoria.
Qual la struttura delladdress space di un processo?
Programma, dati, stack.
Qual la caratteristica di una trasmissione connection oriented e
quella di una connection-less?
La trasmissione connection oriented composta da tre fasi: connessione
con il ricevente, trasmissione del messaggio e rilascio della connessione;
ovvero si crea un canale di connessione vero e proprio tra mittente e
destinatario.
La trasmissione connection less avviene senza alcun coordinamento e
quindi ogni messaggio deve contenere lindirizzo completo del
destinatario.
Qual il contenuto del Segment-table base register (STBR) e del
Segment-table length register (STLR) nel caso di uno schema di
gestione della memoria a segmenti?
STBR un registro che punta alla segment table del programma in
esecuzione; STLR un registro che indica il numero di segmenti del
programma.
Perch un thread viene anche chiamato processo a peso
leggero?
Perch non richiedono lintervento del process manager per il cambio di
contesto computazionale.
Quali sono le condizioni perch una transazione possa effettuare
unoperazione di scrittura in un sistema con controllo della

concorrenza tramite time-stamping? Indicare il significato delle


variabili usate nelle condizioni.
Il TS (timestamping, istante tempo in cui inizia la transizione) della
transizione che richiede loperazione di scrittura devessere pi grande
del WTM (timestamping della transizione che per ultima ha scritto sulla
risorsa) e dellRTM (timestamping della transizione che per ultima ha
letto la risorsa) per andare a buon fine e poter scrivere sulla risorsa
(modificando il WTM=TS); altrimenti la transizione viene uccisa.
Si illustri la modalit di funzionamento di un processo multithread con organizzazione a pipeline e si indichi lobiettivo di
tale modalit di funzionamento.
Un lavoro viene eseguito in modo sequenziale da pi thread ognuno
specializzato nellesecuzione di una frazione di tale lavoro; in tal modo
possibile soddisfare pi richieste desecuzione di uno stesso lavoro in
parallelo.
Quali sono le operazioni di sincronizzazione usate dalle
procedure pubbliche nel meccanismo di sincronizzazione noto
come monitor?
x.wait e x.signal, si riferiscono rispettivamente allattendere ed al
verificarsi di una condizione per il completamento delle operazioni svolte
dalle varie procedure pubbliche
Qual la funzione di un socket e da cosa rappresentato un
socket?
Un socket lestremo di un canale di comunicazioni che invia o riceve i
messaggi; identificato da un numero di IP concatenato a un numero di
porta.
Specificare qual la parte di dispatch latency risparmiata da un
processo n-threaded rispetto a quella di n processi singlethreaded cooperanti.
Nel passaggio di un thread allaltro in un processo multithread non
interviene il SO ma si simula il context switch associando i valori dei
registri della CPU ai vari thread in modo che il cambio di thread si riduca
ad un semplice cambio del valore del registro.
Qual la funzione degli stub nella Remote Procedure Call?
Gli stub costruiscono i messaggi da inviare in base al protocollo vigente e
attuano loperazione di marshalling.
Descrivere la funzione della MMU.
La Memory Management Unit serve a tradurre lindirizzo logico di
unistruzione del programma nel rispettivo indirizzo fisico ove
memorizzata in RAM. Lindirizzo costituito dal registro base pi uno
spiazzamento. La MMU prende il valore del registro base e preleva dal
registro di lavoro che ha il numero contenuto nel registro base lindirizzo
assoluto che si trova al suo interno e lo somma allo spiazzamento,
ottenendo lindirizzo assoluto della prima istruzione del programma.

Quando la primitiva send di una comunicazione tra processi


bloccante?
Quando il processo che chiama la send si blocca in attesa di una risposta.
Indicare e illustrare i 3 requisiti che devono essere soddisfatti da
una soluzione al problema della sezione critica.
Mutua esclusione, laccesso alla risorsa condivisa pu avvenire solo se la
stessa non gi utilizzata da un altro processo.
Progresso, se non c nessun processo in esecuzione della sua sezione
critica e se c solo un processo che chiede di eseguirla, allora la
selezione di questo processo non pu essere postposta indefinitamente.
Attesa limitata, un qualunque processo che richieda di eseguire la sua
sezione critica deve avere un limitato tempo di attesa in wait, sorvolando
la priorit del processo ed evitando la starvation.
Descrivere sinteticamente le tecniche per controllare la
concorrenza di 2 o pi transazioni.
Locking a due fasi, tutte le richieste di locking precedano la prima
operazione di unlock.
Timestamping, viene associato ad ogni transizione il tempo di avvio, il
quale deve risultare superiore al timestamping delle altre transazioni che
hanno avuto accesso ad una risorsa nel momento in cui la transizione ne
richiede lettura o scrittura.
Quali sono i metodi con cui si garantisce lindipendenza o
isolamento delle transazioni e quale il loro rispettivo
svantaggio?
Locking a due fasi e timestamping. Lo svantaggio principale quello del
rischio di deadlock.
Indicare la differenza tra swapping e rolling come criterio di
gestione della memoria.
Lo swapping copia il processo nellhard disk e successivamente lo ricopia
in RAM in una posizione tale che esso sia adiacente ad un altro. Il rolling
invece, viene applicato in relazione alla priorit di un processo e mira a
mandare in esecuzione solo quelli a priorit pi alta.
Quali sono gli elementi che consentono realizzare un semaforo?
Un semaforo costituito da una variabile semaforica (che pu anche
essere un insieme di bit se non una variabile binaria) e da due
operatori, uno per il rilascio della risorsa (signal) ed uno per la richiesta e
lallocazione della risorsa.
Cosa sintende, nellambito del packet switching, per payload di
un pacchetto?
la parte contenente i dati utili, ovvero le effettive informazioni da
inviare.
Qual , nella tecnica di isolamento delle transazioni nota come
time-stamping, la condizione perch una transazione possa
scrivere su una risorsa?

La transizione che vuole scrivere sulla risorsa deve essere pi giovane di


quelle che hanno scritto o letto la risorsa lultima volta.
Quali sono i metodi di trattamento del deadlock?
Prevenzione, astensione, detect and recover (rivelare e recuperare),
ignorare il deadlock.
Qual la condizione che due o pi transazioni devono verificare
perch possano essere eseguite in concorrenza?
Le due transazioni devono condurre i dati allo stesso stato in cui si
sarebbe giunti se la transazioni fossero state eseguite singolarmente.
Da cosa costituito il translation look-aside buffer? E quale il suo
vantaggio?
Il TLB una piccola cache hardware che memorizza una parte delle
pagine residenti in memoria con associato direttamente il blocco fisico
corrispondente, in maniera tale da avere una traduzione immediata ed
accedere alla memoria centrale senza accedere alla page table; si
risparmia quindi un accesso alla memoria.
Quale delle propriet acide garantita dalla serializzabilit di
due o pi transazioni? E perch le transazioni devono possedere
tale propriet?
La propriet di isolamento garantita dalla serializzabilit delle
transazioni; essa necessaria affinch due o pi transazioni possano
essere eseguite concorrentemente senza danneggiare i dati.
Qual lobiettivo delle tecniche denominate locking a due fasi e
timestamping? E quale la caratteristica
positiva del timestamping?
Lobiettivo quello di permettere a due o pi transazioni di essere
eseguite concorrentemente. Il vantaggio del timestamping rispetto alle
tecniche di locking che non si incorre in deadlock.
Spiegare quale influenza ha la dimensione della pagina in un
sistema con paginazione della memoria, prospettando se esiste
una soluzione ottimale.
Maggiore la dimensione delle pagine, meno pagine comporranno un
processo; lultima pagina rischia per di essere non completamente
riempita e quindi in parte sprecata (internal breakage), suggerendo
dunque lutilizzo di pagine di piccole dimensioni. Inoltre ogni elemento
della tabella delle pagine occupa uno spazio di memoria che si riduce
percentualmente rispetto allo spazio occupato dalla pagina con
laumento delle dimensioni della pagina stessa. Tuttavia, gli accessi I/O al
disco sono pi efficienti quando il numero dei dati da trasferire
notevole. La soluzione ottimale quella di aumentare le dimensioni delle
pagine nel tempo con laumento dei processi, dei dati e della memoria
centrale.
Quale evento viene generato quando, nella paginazione
virtuale, linvalid bit della Tabella delle pagine (PMT) assume

valore nullo? Ed a cosa finalizzato tale evento?


Viene generato un interrupt di page fault che muover una pagina dal
disco alla memoria; uninterruzione hardware erch al fine di trovare il
file su disco sar lMMU stesso che invier linterrupt al File Manager.
Descrivere brevemente il funzionamento della MMU supponendo
di riferirsi ad un sistema con paginazione della memoria.
Lindirizzo logico generato dalla CPU sar formato da un numero di
pagina e uno spiazzamento nella pagina; la MMU tradurr lindirizzo
logico prelevando le informazioni relative alla pagina fisica
corrispondente dalla tabella delle pagine, moltiplicher tale indirizzo per
la dimensione di una pagina e sommer lo spazzamento.
Qual la funzione del punto di checkpoint-restart di un log-file?
Quella di riportare il valore dei dati modificati dalla transazione che
stata abortita alla situazione precedente lavvio della transazione.
Enunciare il teorema di Coffman.
Condizioni necessarie affinch si verifichi un deadlock che siano
verificate:
mutua esclusione; un processo che detiene una risorsa ne chiede unaltra
senza rilasciare la propria; non ci sia possibilit di requisire una risorsa;
formazione di attesa circolare. Se per ogni risorsa presente un solo
esemplare, la condizione diventa anche sufficiente.
Dato lo stato di un sistema, quando, secondo lalgoritmo del
banchiere, esso pu considerarsi sicuro?
Quando possibile trovare una coda di terminazione dei processi, ovvero
quando tutti i processi sono serviti in un ordine allocando per ciascuno
tutte le risorse richieste.
Spiegare brevemente, per un sistema transazionale, il
meccanismo della commit a due fasi.
Quando una transazione composta da vari processi a loro volta
transattivi, la transazione principale non pu eseguire la commit fino a
che tutti gli altri processi chiamati non hanno eseguito a loro volta la
commit.
Spiegare brevemente, per un sistema transazionale, il
meccanismo del locking e le sue fasi.
Consiste nellassociare a ciascuna risorsa condivisa una variabile
semaforica accessibile in modo atomico da tutte la transazioni
cooperanti; tutte le richieste di locking devono necessariamente
precedere la prima operazione di unlock dividendo la transazione in una
fase di espansione ed una fase di contrazione.
Quali sono gli approcci che prevengono linsorgere di un blocco
critico?
Le risorse possono essere allocate a priori nel sistema, quando un
processo passa dallo stato di hold allo stato di ready gli vengono
assegnate tutte le risorse di cui ha bisogno; rendere una delle quattro

condizioni di coffman non verificabile.


Qual la differenza tra paginazione e segmentazione dello
spazio di indirizzamento di un programma?
Nella paginazione, i vari processi vengono divisi in parti uguali
corrispondenti a aree di memoria che possono ospitarli. Nella
segmentazione, i processi vengono suddivisi in base alle varie parti
logiche (routine) che lo compongono (procedure, funzioni, ecc), e quindi
un dato segmento pu essere utilizzato e condiviso da pi processi
Private Workspace e Writeahed Log sono i metodi per garantire
quale delle propriet acide di una transazione?
La propriet di atomicit, ovvero quella che fa risultare la transazione
come ununica operazione indivisibile in quanto la modifica sui dati viene
resta valida solo al fine della transazione.
Qual limplicazione pratica dei principi di localit spaziale e
temporale?
Portando in memoria solo un certo numero di istruzioni contigue di un
programma molto probabile che tali istruzioni possano soddisfare le
richieste di esecuzione per un buon margine di tempo senza dover
referenziare altre istruzioni; qualora il programma abbia bisogno di
istruzioni che non sono presenti in memoria esse saranno caricate in ram,
ma tale spreco di tempo ammortizzato dal fatto che ci sar un notevole
risparmio di memoria. In sostanza, possibile cos tenere in esecuzione
programmi molto pi grandi della RAM stessa.
Quando le 4 condizioni del teorema di Coffman risultano anche
sufficienti perch si determini un deadlock (blocco critico)?
Quando per ogni risorsa condivisa esiste un solo esemplare.
Descrivere brevemente il meccanismo di funzionamento di un
semaforo contatore e spiegarne lutilit.
Un semaforo contatore costituito da un numero un numero di bit che
indicano quanti esemplari per quella risorsa sono disponibili in un
determinato istante di tempo (il valore 0 indica che nessun esemplare
disponibile), introducendo una coda associata ad ogni risorsa. Tutti i
processi che fanno il test della variabile semaforica e la trovano minore o
al pi uguale a 0 vanno in coda, al posto di testarla con un loop infinito;
la signal invece incrementa il contatore al momento del rilascio di un
esemplare; se nella coda presente almeno un processo esso potr
entrare nella sua sezione critica utilizzando la risorsa.
Sapendo che un server ha instaurato una comunicazione
mediante il socket 158.24.5.20:21, si dica qual il suo
indirizzo IP e che tipo di servizio esso sta offrendo.
IP 158.24.5.20, porta 21: controllo sui dati in trasferimento con protocollo
FTP.
Perch gli operatori wait e signal di un semaforo devono essere
in interrompibili?

Quando un thread, o un processo, modifica il valore di un semaforo,


nessun altro thread o processo pu simultaneamente modificare il valore
del medesimo semaforo.
Quando, nella paginazione virtuale della memoria, si rende
necessario una operazione di page-out o page-replacement? E
quali sono i relativi algoritmi?
Quando si verifica un page fault e non ci sono aree libere in memoria. Gli
algoritmi utilizzabili sono FIFO, LRU e LRU approssimato.
Qual lutilit della tecnica nota come lock a due fasi?
Permette lesecuzione concorrente di due o pi transazioni
mantenendone la propriet di isolamento; garantisce che le risorse
condivise utilizzate in scrittura da una transazione non possano essere
utilizzate da altre transazioni concorrenti.
In base a quale comportamento il timestamping assicura
lisolamento in un sistema transazionale?
Impedire ad una transazione di accedere ad una risorsa che stata
utilizzata da una transazione pi giovane.
Qual il maggiore inconveniente del Detect and Recover come
metodo di trattamento del deadlock?
La fase di rilevazione del deadlock pi ostica; necessario assicurarsi
che, nel caso il sistema sia fermo, si sia verificato effettivamente uno
stallo (controllando tutte le risorse necessarie di tutti i processi e quelle
allocate, ecc). Non sempre unoperazione possibile.
Cosa sintende per stato non sicuro nellalgoritmo di
astensione dal deadlock detto algoritmo del banchiere?
Quando non si riesce a trovare una coda di terminazione dei processi e
quindi ci si trova in uno stato in cui possibile che il sistema giunga in
una situazione di deadlock, ma non detto che lo sia.
In cosa consiste la commutazione di pacchetto adottata in una
rete di trasmissione dei dati?
Consiste nel suddividere il messaggio in varie parti, denominate
pacchetti, le quali seguiranno allinterno della rete percorsi diversi per
arrivare al destinatario.
Quali sono gli elementi specifici associati ad ognuno dei thread
di un processo multithread?
Un identificatore, un program counter, un insieme di registri, uno stack.
Qual il vincolo che viene rimosso con la politica della
paginazione virtuale di memoria?
Avere in memoria tutto il programma al momento della sua esecuzione.
Quali sono le primitive (o procedure) per far comunicare due
processi?
Send e receive.

Perch si rende necessario prevedere, oltre al semaforo, il


monitor come meccanismo di sincronizzazione?
Per gestire gli accessi ad una risorsa pi complessa di un semplice buffer
(database ad esempio) che non pu assolutamente essere messa a
disposizione di un processo scritto da un programmatore se egli non ne
conosce il funzionamento in quanto al fine di manipolare la risorsa
necessario conoscerne la struttura interna; laccesso viene reso possibile
allutente attraverso delle procedure pubbliche scritte da chi conosce la
struttura della risorsa.
Qual il contenuto di una riga della job table (o process table)
nel caso di uno schema di gestione della memoria a segmenti?
Contiene lID del task, un riferimento alla segment table e lo status bit.
Qual , oltre a quello di essere pi veloce, il vantaggio del
translation look-aside buffer?
Con lutilizzo del TLB si dovr far accesso solo una volta alla memoria in
quanto lindirizzo logico gi tradotto allinterno del TLB in indirizzo fisico
e non sar dunque necessario accedere alla tabella delle pagine.
Quale meccanismo parallelo al Dynamic Address Translator (DAT)
viene usato per la traduzione degli indirizzi da logici a fisici? E a
quale inconveniente del DAT pone riparo?
Luso di un TLB, riduce di uno laccesso alla memoria: la traduzione da
indirizzo logico ad indirizzo fisico diretta in quanto lindirizzo fisico gi
presente nel TLB e si evita laccesso alla page table che risiede in
memoria; luso del TLB pi veloce rispetto alla lettura in memoria e si
riduce dunque il tempo di accesso.
Quale modulo di un SO a memoria virtuale chiama quello di Page
Removal? E quando lo chiama?
La memory manager chiama il page removal quando la ram piena ed
necessario sostituire una o pi pagine presenti in memoria e referenziate
meno recentemente rispetto alle altre per dare la possibilit di allocare la
o le nuove pagine richieste per lesecuzione del programma.

Quale il significato dellacronimo LDP? A cosa fa riferimento?


Linux Documentation Project (LDP) un progetto su base volontaria per
la redazione della documentazione riguardante i sistemi Linux-based.
Spiegare schematicamente le caratteristiche di una distribuzione
live di LINUX.
Una distribuzione live permette di eseguire LINUX da cd senza installare
fisicamente il SO sulla macchina. Questo lavora facendo swap out a
partire dal supporto di memorizzazione verso la memoria centrale.
In cosa differisce un software freeware da uno open source? In
quale delle due categorie rientra LINUX?

Il termine freeware indica un software che viene distribuito in modo


gratuito; mentre un open source un software i cui autori ne favoriscono
il libero studio e l'apporto di modifiche da parte di altri programmatori
indipendenti. LINUX freeware open source: non detto che sia gratuito;
i sorgenti sono liberamente modificabili; non esistono limitazioni ai diritti
di distribuzione.
Che cosa un boot loader? Dove collocato? Quale la sua
funzione?
Nei primi 512 byte del dispositivo di boot c' un piccolo programma, il
Boot Loader, il cui compito quello di caricare il kernel del sistema
operativo in memoria ed eseguirlo, cedendogli quindi il controllo.
Si enuncino almeno due metodi per risalire ai rapporti di
dipendenza padre/figlio tra i processi di una stessa macchina.
Utilizzare i comandi pstree o il comando ps con il flag f.
Elencare almeno tre svantaggi nellutilizzo di una distribuzione
live rispetto ad una distribuzione installata.
Il cd/dvd pi lento dellhard disk e dunque la distribuzione live sar
penalizzata in prestazioni; lavorando su supporti di memoria di massa in
sola lettura non potr salvare il lavoro fatto e in caso di guasti vari
perder tutto; non pu essere aggiornato.
Si spieghi il significato corretto del permesso di esecuzione in
riferimento a:
una directory
Accesso alla directory: leggere, modificare o eseguire tutti i file in essa
contenuti.
un socket
Nessuno.
un link fisico
Accesso allinode a cui fa riferimento (o nessuno??).
Si spieghi brevemente la differenza tra i file shadow e passwd
passandone in rassegna il contenuto, laccessibilit e spiegando
ove sono collocati allinterno di un indirizzario di una macchina.
I file shadow e passwd sono collocati nella cartella /etc. Shadow contiene
nome utente e password ed accessibile solo da root. Passwd contiene la
lista degli utenti con relative informazioni (quali id utente, nome del
gruppo di appartenenza, id del gruppo, shell di riferimento dellutente,
directory home dellutente, ecc) ed liberamente visionabile da tutti gli
utenti.
Si spieghi brevemente il meccanismo del caricamento di LINUX a
run-level chiarendone lutilit.
Il caricamento del SO viene effettuato un livello per volta (run level). In
fase di bootstrap vengono caricati i 7 run level e lutilit quella di poter
interrompere il caricamento ad un livello intermedio o non dover riavviare
lintero caricamento del sistema nel caso di errori su un determinato run
level ma ricaricare solo quel run level.

Spiegare brevemente il concetto di ambiente (environment) in


una SHELL UNIX esplicitando in dettaglio come sia possibile
configurarne uno.
Un ambiente un insieme di variabile dambiente associate ad una shell.
Una variabile dambiente ha un nome fisso che la identifica e un valore
modificabile che contiene informazioni usate da una o pi applicazioni.
possibile esportare una variabile di shell come variabile dambiente
utilizzando il comando export.
Si spieghi brevemente la funzione architetturale del Window
Manager allinterno del sistema grafico XWindow.
un pacchetto complementare rispetto a X Window; gestisce le
funzionalit avanzate della Graphical User Interface configurando
laspetto della barra del titolo di una finestra, laspetto dei pulsanti, delle
icone e dei men, dei tasti del mouse e le combinazioni di tasti per le
scelte rapide.
Quale il significato dellacronimo ACL? A cosa serve lACL in un
sistema UNIX-like?
LAccess Control List una stringa di dieci caratteri logicamente ordinati
che definisce i permessi di accesso al file ed il tipo di file stesso.
Come vengono di norma trattati i dispositivi nei sistemi UNIXlike? Come possibile trovarne traccia allinterno di un sistema?
Che genere di dispositivo null?
I dispositivi vengono trattati come file speciali caratterizzati da una c
come primo carattere dellACL. Null funge sia da generatore di zero,
che da pozzo senza fondo, poich se vi si scrive qualcosa, questa verr
irrimediabilmente persa.
Si spieghi brevemente e tecnicamente (senza lausilio di esempi,
ma descrivendo il principio teorico di base) il funzionamento del
meccanismo della ridirezione dellinput e/o delloutput.
Ciascun programma elabora i dati attraverso i canali di comunicazione di
ingresso e di uscita (e attraverso il canale di errore). Gli scopi primari
della ridirezione sono quelli di prendere ingressi da file, scrivere uscite su
file e scrivere errori su file diversi da quelli destinati alluscita; ovvero
ridirezionare il flusso di I/O verso un altro canale di I/O differente da
quello standard.
Enunciare almeno due metodi per garantire la coesistenza di un
O.S. Linux con un O.S. Microsoft Windows spiegando vantaggi e
svantaggi di ciascuno.
Utilizzare una distribuzione live, risparmia lonere dellinstallazione e
della presenza fisica del SO su disco, ma molto penalizzato a livello di
prestazioni.
Installare i due SO su due partizioni diverse, con installazione fisica di
entrambi i SO ma dimezzando lo spazio dellHard Disk dividendolo tra i
due.

Cos una variabile dambiente? Come se ne visualizza il


contenuto?
Una variabile dambiente ha un nome fisso che la identifica e un valore
modificabile che contiene informazioni usate da una o pi applicazioni;
per visualizzarne il contenuto si pu usare il comando echo $VAR,
facendo precedere il carattere $ prima della variabile dambiente (in
generale per lutilizzo della stessa).
Spiegare brevemente le caratteristiche essenziali della licenza
GPL.
LINUX coperto da una General Public License, essa stabilisce le norme
per la diffusione e la modifica.
LINUX freeware open source, non detto che sia gratuito, i sorgenti
sono liberamente modificabili e non esistono limitazioni ai diritti di
distribuzione. Un software free non di pubblico dominio, cio rimane la
propriet degli autori i quali sono protetti dalle leggi sul copyright. LINUX
freeware ma non shareware, non quindi previsto invio di denaro per la
diffusione e si dispone da subito di una versione full. La licenza GPL si
estende ai sorgenti modificati e pone ampi margini di scelta alle aziende
venditrici. Impone inoltre la diffusione dei sorgenti. Obiettivi della GPL
sono quelli di incrementare la qualit del software senza trarne profitto.
Cos MINIX e qual il suo rapporto con levoluzione di LINUX?
Giustificare brevemente la risposta.
MINX era il tema danno di A. Tanenbaum, in realt neanche troppo
promettente, creato con lo scopo di estendere le funzionalit di UNIX alle
macchine desktop; LINUX ispirato a MINX.
Spiegare brevemente cos LILO, a quale categoria di applicativi
appartiene e qual la sua funzione.
Lilo (Linux Loader) uno dei due boot loader di LINUX; caratterizzato dal
fatto che la ricerca nelle partizioni del boot loader e la successiva fase di
caricamento sono svolte come se fossero ununica fase in quanto esso
non installato sul dispositivo di boot ma contenuto totalmente
nell'Master Boot Record.
Cos una community? Perch importante? Che ruolo gioca
nellevoluzione di un Sistema Operativo come LINUX? Motivare
brevemente le risposte.
un insieme di sviluppatori (hacker del kernel) che lavorano in maniera
totalmente gratuita per scopi di diffusione della conoscenza in maniera
totalmente gratuita. Lessere open source ha reso LINUX visionabile e
modificabile da molti sviluppatori che hanno contribuito allevoluzione e
alla diffusione del sistema operativo.
Cos KDE? Qual la sua funzione architetturale? E quali sono le
sue caratteristiche di progetto?
KDE un desktop manager, ovvero lambiente grafico vero e proprio, il
lato client del sistema grafico di LINUX basato su librerie e componenti
specifici. KDE usa la libreria QT ed molto simile allinterfaccia di
Windows; il desktop manager pi diffuso.

Indicare che cosa la SHELL e quali sono le sue funzionalit pi


importanti.
La shell l'interprete dei comandi di un sistema operativo, un
programma, cio, che permette ad un utente di interagire con un sistema
operativo leggendo ed interpretando i comandi che vengono inseriti
dall'utente. Le funzionalit pi importanti sono: mostra linvito
allinserimento dei comandi (prompt); interpreta la riga di comand data
dallutente; esegue dele sostituzioni, in base ai caratteri jolly e alle
variabili dambiente; mette a disposizione alcuni comandi interni;
permette lesecuzione di programmi; gestisce la ridirezione dellinput e
delloutput; in grado di interpretare ed eseguire dei file script in
linguaggio di shell; fornisce la cronologia dei comandi immessi; dispone
della funzione di completamento automatico; permette il controllo dei
processi.
Spiegare brevemente la differenza esistente tra comandi interni
ed esterni della SHELL.
I comandi interni sono integrati nella shell, mentre i comandi esterni Sono
file contenenti programmi in formato eseguibile. La differenza sostanziale
sta nella dimensione, dal numero di righe di codice dei vari comandi, in
quanto i comandi interni sono sempre in memoria.
Qual la caratteristica comune dei comandi interni della SHELL?
Sono composti da poche righe di codice e generati direttamente dalla
Shell tramite una fork. Risiedono sempre in memoria.
Indicare alcune funzionalit di base di un sistema operativo
LINUX.
Scheduling dei processi, gestione della memoria virtuale, gestione dei
file, gestione dellI/O.
Qual la differenza tra un elaboratore di testo e un programma
di videoscrittura?
In un elaboratore di testo si introduce il testo in un linguaggio di
formattazione che ne descrive laspetto, mentre un programma di
videoscrittura un editing di espressioni complesse con una propria
interfaccia visuale per disegnare figure e schemi.
Si spieghi il concetto di "sezione" in relazione al comando man di
un O.S. Unix-like. In che sezione sono documentate le system
call?
La sezione una parte di pagina del manuale che riguarda un singolo
argomento, utile di fronte a comandi molto corposi dei quali si vuole
visualizzare solo la parte interessata del manuale. Le system call sono
documentate nella sezione 2 dei manuali.
Cos un tool WYSIWYG? Che differenza rispetto ad un tool TeX?
WYSIWYG un programma di videoscrittura, un editing di espressioni
complesse con una propria interfaccia visuale per disegnare figure e
schemi; mentre un tool TeX un elaboratore di testo ove si introduce il

testo in un linguaggio di formattazione che ne descrive laspetto.


Si descriva cosa un runlevel. A cosa corrispondono il runlevel 0
e 6 rispettivamente?
Un runlevel rappresenta lo stato di attivit di una macchina,
relativamente ai programmi in esecuzione e ai servizi offerti.
Runlevel 0: avvia la sequenza di arresto del sistema.
Runlevel 1: rappresenta la modalit singolo utente, nessun altro utente
pu collegarsi, il servizio di rete disabilitato.
Runlevel 2: rappresenta lo stato multiutente, il servizio rete attivo ma
disabilitato il file sharing.
Runlevel 3: in genere quello predefinito quando si opera in modalit
testuale, tutti i servizi sono attivi.
Runlevel 4: inutilizzato; pu essere dedicato ad usi personali.
Runlevel 5: il runlevel predefinito quando si vuole avviare Linux in
modalit grafica.
Runlevel 6: quello di reboot.
Cosa indica il numero di versione di LINUX?
I numeri di versione di LINUX sono due e si riferiscono alla distribuzione e
al kernel utilizzato.
Si specifichi, motivando la risposta, se in un sistema UNIX-like
una variazione nella configurazione di uno dei tool per la
gestione della grafica implica il dover eseguire il reboot.
No, poich il caricamento del SO viene svolto a run level; dunque sar
sufficiente ricaricare il solo run level grafico al posto di riavviare lintero
sistema.
Il demone A localizzato su un PC Linux con un indirizzo IP
pubblico mentre il processo B localizzato su una macchina non
meglio precisata anchessa caratterizzata da un IP visibile. I due
calcolatori sono collegati via FTP. Si dica motivando la risposta se
i due processi possono comunicare tra loro.
Si, la comunicazione client-server verr gestita via socket conoscendo gli
indirizzi IP delle due macchine e conoscendo la porta 20 che quella
dellFTP.
Allinterno di una piccola rete locale di tipo domestico posso
condividere i dati di una macchina Windows con un PC Linux?
Vale il viceversa? Perch?
Una macchina Windows pu condividere i dati con un PC Linux in quanto
EXT, il file system di LINUX, supporta i file di NTFS, il file system di
Windows; mentre NTFS non supporta tale funzionalit, quindi il viceversa
non vale.
Quali sono ed a chi si riferiscono i diritti di accesso ad un file nei
sistemi operativi UNIX-like?
I diritti di accesso (lettura, scrittura, esecuzione) si riferiscono al
proprietario del file, al gruppo a cui appartiene il proprietario e a tutti gli
altri utenti del sistema.

Che cos uno script in Unix?


Uno script, o comando batch, un "programma" in linguaggio di shell.
Che cos un file speciale in Unix?
c) Un driver di un dispositivo
A quanti, e quali, gruppi pu appartenere un utente durante una
sessione di lavoro?
Un utente pu essere titolare di un gruppo principale ed essere membro
di pi gruppi secondari.
Cosa contiene una distribuzione di LINUX?
Contiene il kernel pi un insieme di applicativi relativi al SO messi a
disposizione.
Quali sono i tipi di comandi che possono essere eseguiti da una
Shell di LINUX?
Built-in o interni, esterni, script di shell.
Qual la differenza fra Shell e X-Window?
La shell uninterfaccia puramente testuale, un interprete dei comandi
che da solo sufficiente per usare il SO. X-Window uninterfaccia
grafica esterna non inglobata nel SO.
Si spieghi brevemente il meccanismo del caricamento di LINUX a
run-level chiarendone lutilit.
Il caricamento del SO viene effettuato livello per livello in fase di
Bootstrap. Lutilit che posso fermare il caricamento del SO ad un
livello intermedio e se ci sono errori posso ricaricare il singolo run level in
cui c stato errore e non tutto il sistema.
Si spieghi brevemente il meccanismo del caricamento di LINUX a
run-level chiarendone lutilit.
Il caricamento del SO viene effettuato livello per livello in fase di
Bootstrap. Lutilit che posso fermare il caricamento del SO ad un
livello intermedio e se ci sono errori posso ricaricare il singolo run level in
cui c stato errore e non tutto il sistema.
Indicare brevemente i vantaggi e gli svantaggi derivanti
dallutilizzo di una distribuzione live di LINUX possibilmente
citando degli esempi riferiti a situazioni concrete di utilizzo.
Vantaggi non si occupa spazio su disco; non devo aspettare tempi di
installazione per lutilizzo.
Svantaggi CD/DVD sono generalmente pi lenti dellhard disk; non posso
aggiornarlo perch lo swap solo da disco a RAM e non viceversa; non
posso salvare il lavoro fatto; la RAM pi piccola dellhard disk e si
riempir di routine molto pi velocemente.
Si supponga di essere gli amministratori di un server UNIX
aziendale. Un gruppo di dipendenti ha su alcuni documenti diritti

contrastanti rispetto a quelli di un altro gruppo. Se alcuni di essi


appartengono contemporaneamente ad entrambi i gruppi, qual
la situazione che si verifica nellutilizzo dei file? Spiegare la
risposta.
Se un utente il padrone del file e contemporaneamente appartiene al
gruppo proprietario di quel file, i permessi saranno quelli del proprietario
del file; se lutente non il proprietario e i suoi due gruppi di
appartenenza non sono il gruppo proprietario del file allora lutente avr
solo i diritti dei resto del mondo; se appartiene invece al gruppo
proprietario avr i relativi diritti.
Supponete di essere gli amministratori di un server UNIX
aziendale. Un gruppo di dipendenti ha la necessit di lavorare
con dei documenti sensibili posti in una directory che pu essere
visitata solo dai dirigenti. Quali provvedimenti prendereste per
consentire lutilizzo dei contenuti e al tempo stesso garantire la
loro integrit? Spiegare le scelte.
Aggiungere questi utenti al gruppo dirigenti, in modo tale da darne
lopportunit di lavorare su questi documenti sensibili.
Quali sono le informazioni necessarie da specificare in fase di
creazione di un utente da parte del superuser e quali quelle
accessorie?
necessario specificare gruppo iniziale, gruppi supplementari di cui
lutente membro, home directory dellutente e shell di riferimento. La
password non necessaria in quanto la si pu successivamente
impostare con il comando passwd una volta loggati come user.
Indicare come avviene la procedura di login in un SO Linux? Dove
vengono memorizzate le password degli utenti? E possibile
avere pi utenti con lo stesso login name? Motivare la risposta.
Durante la procedura di login di un utente, username e password
immesse vengono confrontate con quelle contenute nel file shadow
presente nella cartella /etc. Se lutente accreditato esso viene loggato.
Ovviamente, lusername devessere diverso utente per utente, mentre la
password pu anche essere uguale: questo logico, basta pensare che la
password una stringa segreta e che quindi una segnalazione di errore
da parte del sistema del tipo la password immessa gi esistente
rivelerebbe la password di un utente registrato ad un nuovo utente!
Se doveste eseguire linstallazione di un sistema operativo su di
una centralina per la rilevazione dei dati igrometrici e il controllo
degli irrigatori di un campo di calcio, a che tipo di sistema
pensereste. Specificarne in modo generale architettura e
caratteristiche e illustrare le motivazioni della scelta.
Sceglierei un sistema real time embedeed in quanto tali operazioni
dovrebbero far parte di un unico processo che deve essere
continuamente eseguito senza il bisogno del contributo umano di un
utente per svolgere questi compiti.

Potrebbero piacerti anche