Laboratorio di Informatica II: Sistemi Operativi
Argomenti Svolti
Elenco degli argomenti svolti: controllare la data dell'ultimo aggiornamento in fondo alla pagina.
- Cenni riepilogativi sui puntatori e loro utilizzo per il passaggio dei parametri per indirizzo. Esempio: la funzione scanf.
- Passaggio dei paramentri da linea di comando a programma in C: le variabili argc ed argv.
- La system call open, utilizzo delle combinazioni di flag.
- Esempio: programma tabelline (scrive delle tabelline)
- Differenze tra system call e invocazione di funzioni
- La variabile errno e la gestione degli errori (cenni)
- La system call gettimeofday
- Roulo della cache del processore
- Esempio: programma gtod (cronometra una porzione di codice C attraverso la gettimeofday)
- Gestione della memoria attraverso malloc/free
- Efficienza delle operazioni di I/O al variare della dimensione dei dati da muovere:
- efficienza delle system call (open/read/write/close)
- efficienza della standard library (fopen/fread/fwrite/fclose)
- meccanismi di buffering della standard library
- il comando time
- Esempio: programmi copiaUnix e copiaStdlib (copiano un file)
- le funzioni lseek/fseek
- meccanismi di caching del filesystem
- Esempio: programma posizionaUnix (delle letture a distanze prestabilite su un file)
- misure di tempi tramite la lettura del Time Stamp Counter del processore
- organizzazione di un programma su piu' file
- ruolo del preprocessore
- ruolo del linker
- Esempio:
- funzione realcc in cycle_counter (legge il Time Stamp Counter)
- programma ccOpen (misura il tempo di esecuzione di una open/close tramite Time Stamp Counter : richiede cycle_counter)
- La system call mount
- Il comando /bin/mount ed il file /etc/fstab: file system montabili dall'utente
- La system call execv e suo utilizzo tramite fork/execv/wait (cenni)
- La system call times
- Esempio: programma timeMount (misura il tempo di esecuzione del comando /bin/mount tramite la funzione times)
- Le system call fork/wait.
- Condivisione della memoria tra processi tramite IPC shared memory.
- Le system call shmget/shmat/shmdt/schmctl.
- La system call ftok.
- Esempi:
- programma esempioFork (crea un processo figlio e ne attende la fine)
- programma esempioShared (crea un blocco di shared memory e lo usa per scambiare dati tra un processo padre e un figlio
- programma shmServer_shmClient (scambio dati tra processi che non sono in relazione padre-figlio utilizzando la system call ftok per identificare i blocchi shared memory)
- Implementazione dell'algoritmo di Peterson a due processi.
- Esempio: programma peterson (una implementazione dell'algoritmo di Peterson)
--
AntonioValletta - 14 Nov 2001
This topic: Sistemioperativi1
> ArgomentiSvolti
Topic revision: r7 - 2001-12-14 - AntonioValletta