Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione
INFORMAZIONI UTILI Docente: Docente: Gianluigi Folino tel. : 0984/ Sito web del corso: Sito web del corso: Oppure da cliccare sul Link corsi-> Lab. di Sist. Operativi
Orario del Corso Lunedì Lunedì dalle ore 17:30 alle 19:30, aula 32B1. dalle ore 17:30 alle 19:30, aula 32B1. Venerdì Venerdì dalle ore 10:30 alle 12:30, Laboratorio di Informatica VII piano. dalle ore 10:30 alle 12:30, Laboratorio di Informatica VII piano. Ricevimento Ricevimento Mercoledì 14:30-16:30 cubo 41/c (DEIS) I piano
OBIETTIVI DEL CORSO sperimentare e applicare le nozioni apprese durante il corso di Sistemi Operativi, utilizzando i diffusissimi sistemi Linux e Windows sperimentare e applicare le nozioni apprese durante il corso di Sistemi Operativi, utilizzando i diffusissimi sistemi Linux e Windows Al termine del corso conoscerete Linux e Windows 2000 nelle loro componenti architetturali e funzionali. Al termine del corso conoscerete Linux e Windows 2000 nelle loro componenti architetturali e funzionali.
Materiale Didattico Libri di Testo Libri di Testo Linux Documentation Project, Linux Documentation Project, Inside Windows 2000, Terza edizione, D. Solomon, Microsoft Press. Inside Windows 2000, Terza edizione, D. Solomon, Microsoft Press. "Guida completa Linux" - Peterson, MC Graw Hill. "Guida completa Linux" - Peterson, MC Graw Hill. Altro materiale didattico Lucidi delle lezioni Lucidi delle lezioni Dispense integrative Dispense integrative
PROGRAMMA DEL CORSO (1) Sistemi Unix e Linux Sistemi Unix e Linux Storia dei sistemi Unix e componenti principali. Unix. MINIX. Introduzione a Linux. Login e Logout. La shell. I comandi principali della shell. Programmare la shell. I Makefile. Programmi di utilità. Il kernel. Storia dei sistemi Unix e componenti principali. Unix. MINIX. Introduzione a Linux. Login e Logout. La shell. I comandi principali della shell. Programmare la shell. I Makefile. Programmi di utilità. Il kernel. Gestione dei processi e dei thread. Concetti di base. I processi in Linux e relative system call (fork, wait, exit, kill, ecc.). I thread in Linux e relative system call (create, exit, join, ecc..). Lo scheduling dei processi. Gestione dei processi e dei thread. Concetti di base. I processi in Linux e relative system call (fork, wait, exit, kill, ecc.). I thread in Linux e relative system call (create, exit, join, ecc..). Lo scheduling dei processi. Gestione della memoria. Text segment e data segment. Memory mapped file. System call (brk, mmap, unmap) relative alla memoria. Swapping. Paginazione. Gestione della memoria. Text segment e data segment. Memory mapped file. System call (brk, mmap, unmap) relative alla memoria. Swapping. Paginazione. File system. Input/output in Linux e relative System Call. I driver e gli Stream. Il file System di Linux e relative System Call. Il Network File System (NTFS) e il Parallel File System (PFS). File system. Input/output in Linux e relative System Call. I driver e gli Stream. Il file System di Linux e relative System Call. Il Network File System (NTFS) e il Parallel File System (PFS). Gestione della sicurezza. Concetti Fondamentali. System Call relative alla sicurezza. SSH. Gestione della sicurezza. Concetti Fondamentali. System Call relative alla sicurezza. SSH.
PROGRAMMA DEL CORSO (2) Windows 2000 Windows 2000 Storia di Windows e componenti principali. Ms-dos. Windows 95/98/ME. Windows NT. Windows Le Api Win32. Il registry. La struttura del sistema operativo: Kernel e Hardware Abstraction Layer. Gli Object. Storia di Windows e componenti principali. Ms-dos. Windows 95/98/ME. Windows NT. Windows Le Api Win32. Il registry. La struttura del sistema operativo: Kernel e Hardware Abstraction Layer. Gli Object. Gestione dei processi e dei thread. Concetti di base. Comunicazione fra processi. Scheduling dei processi. Gestione dei processi e dei thread. Concetti di base. Comunicazione fra processi. Scheduling dei processi. Gestione della memoria. Concetti di base. Le API relative alla gestione della memoria. Page Fault. Gestione della memoria fisica. La cache. Gestione della memoria. Concetti di base. Le API relative alla gestione della memoria. Page Fault. Gestione della memoria fisica. La cache. File system. Input/Output. Gestione dei driver. Fat16, Fat32 e NTFS. Le API relative al file System. File system. Input/Output. Gestione dei driver. Fat16, Fat32 e NTFS. Le API relative al file System. Gestione della sicurezza. Concetti fondamentali, API e implementazione. Gestione della sicurezza. Concetti fondamentali, API e implementazione.
ESERCITAZIONI Linux Comandi principali e programmazione shell Comandi principali e programmazione shell System call principali per le comunicazioni fra processi e per il file system System call principali per le comunicazioni fra processi e per il file systemWindows2000 Api di Windows 2000 Api di Windows 2000 Thread e programmazione concorrente Thread e programmazione concorrente
ESERCITAZIONI Per le esercitazioni formerete dei gruppi, massimo tre persone Per le esercitazioni formerete dei gruppi, massimo tre persone Il tutto tramite il sito Web, previa una semplice registrazione (basta scegliere una password e lasciare l ). Il tutto tramite il sito Web, previa una semplice registrazione (basta scegliere una password e lasciare l ). Quindi avrete un account per ogni gruppo su una macchina Linux in Laboratorio Quindi avrete un account per ogni gruppo su una macchina Linux in Laboratorio
ESERCITAZIONI Per connettervi alla macchina Linux in laboratorio aprite il programma putty- ssh, Per connettervi alla macchina Linux in laboratorio aprite il programma putty- ssh, Selezionate ssh come tipo di connessione e come indirizzo scrivete Selezionate ssh come tipo di connessione e come indirizzo scrivete
MODALITA DI ESAME E propedeutico il corso di Architettura dei Calcolatori E propedeutico il corso di Architettura dei Calcolatori E assolutamente necessario seguire in contemporanea il corso di Sistemi Operativi o averlo già seguito E assolutamente necessario seguire in contemporanea il corso di Sistemi Operativi o averlo già seguito Prova scritta Prova scritta Prova orale obbligatoria (o domande di teoria allo scritto) Prova orale obbligatoria (o domande di teoria allo scritto)
Laboratorio di Sistemi Operativi Proprietà dei sistemi operativi Da Win 3.1 a Windows 2000 Storia di Unix/Linux Come connettersi ad un server Linux Login Le shell Comandi principali della bash
Laboratorio di Sistemi Operativi Alcune differenze fra Windows 98 e Windows NT/2000
Laboratorio di Sistemi Operativi Dimensioni del codice di alcuni sistemi operativi (in linee di codice sorgente)
UNIX The layers of a UNIX system. User Interface
UNIX Utility Programs Alcuni dei comandi principali di Linux