• Non ci sono risultati.

Corso di Sistemi Operativi

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Sistemi Operativi"

Copied!
12
0
0

Testo completo

(1)

Alma Graduate School - Universita' di Bologna

Master in Tecnologia del Software Libero e Open Source

A.A. 2005-2006

Corso di Sistemi Operativi

Prof. Anna Ciampolini <aciampolini@deis.unibo.it>

Dott. Stefano Zacchiroli <zack@bononia.it>

(2)

Mi presento

nome: Stefano Zacchiroli

● email: zack@cs.unibo.it

● web: http://www.bononia.it/zack

● studente di dottorato

– Università di Bologna, Dip. di Scienze dell'Informazione

– interessi di ricerca:

Mathematical Knowledge Management

Formalizzazione di matematica

Linguaggi di programmazione funzionali

● sviluppatore Debian GNU/Linux

linguaggio OCaml

editor VIM

(3)

Obiettivi del corso

● Fornire i concetti fondamentali della teoria dei Sistemi teoria dei Sistemi Operativi

Operativi

● Illustrare le caratteristiche di sistemi operativi free software operativi free software and open source (F/OS)

and open source (F/OS),

● Sperimentare in laboratorio i concetti visti in aula e gli laboratorio

strumenti per utenti, programmatori e sistemisti di sistemi

operativi F/OS F/OS

(4)

Capacita' ottenute al termine del corso

● conoscenza dei concetti alle base dei sistemi operativi moderni conoscenza dei concetti alle base dei sistemi operativi moderni

● conoscenza delle soluzioni adottate in alcuni sistemi operativi F/OS

● capacità di amministrare sistemi operativi F/OS, (con particolare riferimento a GNU/Linux )

● capacità di sviluppare applicazioni di sistema nell’ambiente

GNU/Linux

(5)

Organizzazione del corso

● Corso nettamente distinto in due parti complementari

– Laboratorio di Sistemi operativi (LabSO)

I parte temporale (15 ore)

Lezioni in laboratorio

relatore Dott. Stefano Zacchiroli

– Sistemi Operativi (SO)

II parte temporale (15 ore)

Lezioni in aula

relatore Prof. Anna Ciampolini

(6)

Prerequisiti

● SO

– fondamenti di architettura degli elaboratori

● LabSO

– conoscenza del linguaggio C

– utilizzo di base di un sistema *nix

● gestione del filesystem (ls, cp, du, cat, mkdir, ...)

● utenti, gruppi e permessi (su, chmod, chown, ...)

● utilizzo di un editor di testo (vi, emacs, pico, ...)

● archiviazione e (ri)compilazione (tar & make)

riferimenti: appunti, cap. 5 (teoria) & 7 (esercizi pratici)

(7)

Argomenti Trattati (SO)

● Cos’e` un sistema operativo: ruolo, funzionalita` e componenti.

Standard.

● [Richiami sull'architettura dei calcolatori. ]

● Struttura dei SO: Sistemi Monolitici, Modulari e Microkernel.

● Introduzione ai sistemi operativi F/OS.

● Il concetto di processo: processi pesanti e thread.

● Interazione tra processi: IPC e sincronizzazione.

● Gestione della Memoria nei sistemi multiprogrammati.

● File system e I/O.

● Studio comparato dei principali SO liberi/OS: GNU/Linux,

GNU/Hurd, L4, *bsd, etc.

(8)

Argomenti Trattati (LabSO)

● amministrazione di base sistemi GNU/Linux amministrazione di base sistemi GNU/Linux

– kernel, filesystem, utenza, sysvinit, pianificazione, pacchetti kernel, filesystem, utenza, sysvinit, pianificazione, pacchetti

– non tratteremo amministrazione di rete, avrete un altro laboratorio non tratteremo amministrazione di rete, avrete un altro laboratorio sull'argomento

sull'argomento

● shell scripting (bash) shell scripting (bash)

● introduzione al linguaggio di programmazione Perl introduzione al linguaggio di programmazione Perl

● programmazione della API POSIX (linguaggio C) programmazione della API POSIX (linguaggio C)

● programmazione di thread in ambiente Linux (linguaggio C) programmazione di thread in ambiente Linux (linguaggio C)

(9)

Riferimenti (SO)

● A. Silbershatz, P. Galvin: Sistemi Operativi (5^ edizione), Addison Wesley, 1998.

● A.S. Tanenbaum, I Moderni Sistemi Operativi, Jackson Libri, 1995.

● http://www.gnu.org

● http://www.linux.org

(10)

Riferimenti (LabSO)

Appunti di informatica libera, Daniele Giacomini, http://a2.pluto.it/ (GPL)

[ “appunti” ]

Unix Power Tools, Shelly Powers et al., O'Reilly

Programming Perl, Larry Wall et al., O'Reilly

Advanced Programming in the UNIX Environment, W.

Richard Stevens, Addison Wesley [

“APUE” ]

GaPiL (Guida alla Programmazione in Linux), Simone

Piccardi, http://gapil.firenze.linux.it/ (GFDL)

(11)

Verifica finale

● test scritto

– su entrambi le parti del corso

– ultima ora di lezione

● project work

– tempo a disposizione per la realizzazione dopo il term

– discussione a fine Maggio

(12)

Materiale didattico

● pagina web del corso (sia SO che LabSO)

– queste slide e altro materiale relativo al corso

http://www.cs.unibo.it/~zacchiro/courses/mfosset0506/

Riferimenti

Documenti correlati

● una frame table: con un elemento per ciascun frame in memoria fisica, contenente informazioni su: il suo stato (libero o no), il numero di processi che condividono la pagina,

• La gestione della coda di processi associata al semaforo può essere affidata alle routine Wait e Signal del kernel:. ● Wait inserisce nella coda del semaforo il processo che

Far in modo che un thread T1 invii un signal su un semaforo ogni volta che si preme RETURN sulla tastiera; sul semaforo si mette in attesa un thread T2 che, quando riceve il

il processo deve attendere il completamento delle attività di

© 2002 International Institute of Infonomics, University of Maastricht 21 Figure 13: Time Spent for the Development of Open Source / Free Software.. The development of

§ Sperimentare in laboratorio laboratorio i concetti visti in aula e gli strumenti per utenti, programmatori e sistemisti di sistemi operativi F/OS

Configurazione della memoria centrale in sistemi batch semplici..

● Cloud (o network) copyleft: è necessario condividere il sorgente anche se disponibile SaaS (Software as a Service) – Affero GPL (AGPL, come la GPL ma con una sezione aggiuntiva