• Non ci sono risultati.

Obiettivi del Corso

N/A
N/A
Protected

Academic year: 2021

Condividi "Obiettivi del Corso"

Copied!
9
0
0

Testo completo

(1)

Università di Bologna Corso di Laurea Specialistica in

Ingegneria dell'Automazione e Ingegneria Elettronica

A.A. 2007-2008

Sistemi Operativi L-A

Prof. Anna Ciampolini

http://lia.deis.unibo.it/Courses/sola0708-auto/

Sistemi Operativi L-A 2

Obiettivi del Corso

Parte teorica:

Fornire alcuni concetti fondamentali relativi alla teoria dei Sistemi Operativi.

Illustrare le caratteristiche di un sistema operativo reale (Linux), e gli strumenti a disposizione di utenti e programmatori per il suo utilizzo

Parte pratica

Sperimentare i concetti trattati nella parte teorica

mediante lo sviluppo di programmi e script in ambiente

Linux, utilizzando il linguaggio comandi di Unix/Linux, il

C ed il Java.

(2)

Sistemi Operativi L-A 3

Capaci

Capacità tà richieste in ingresso: richieste in ingresso:

conoscenza del linguaggio C (Fond.Info LA)

conoscenza del linguaggio Java (Fond.Info LB)

fondamenti di architettura degli elaboratori (Calc. Elettr. LA)

Capacit

Capacità à ottenute in uscita: ottenute in uscita:

conoscenza dei concetti alla base dei sistemi operativi moderni

capacità di sviluppare applicazioni di sistema nell’ambiente UNIX/Linux

sviluppo di applicazioni multithreaded in Java e in ambiente Linux (pthread)

Argomenti trattati

Introduzione ai sistemi operativi.

Processi e threads

Sincronizzazione tra processi

Gestione della memoria

Gestione dei dispositivi di I/O

(3)

Sistemi Operativi L-A 5

Panoramica sul Corso

Introduzione:

Introduzione:

• Che cos’è un sistema operativo: ruolo, funzionalità e struttura

• Evoluzione storica dei sistemi operativi

• Architettura di un S.O.: sistemi monolitici e modulari; sistemi stratificati; macchine virtuali, microkernel

• Organizzazione e funzionalita` del sistema operativo Unix.

Sistemi Operativi L-A 6

Panoramica sul Corso

Processi e

Processi e Thread Thread

• Il concetto di processo.

• Ruolo del Sistema Operativo nella gestione dei processi.

• Processi e threads: rappresentazione, gestione e interazione.

• Scheduling della CPU.

• La gestione dei processi in Unix: stati, rappresentazione, gestione, operazioni e comandi relativi ai processi.

• La gestione dei thread in Linux e Java.

(4)

Sistemi Operativi L-A 7

Panoramica sul Corso

Sincronizzazione tra processi Sincronizzazione tra processi

• Applicazioni concorrenti e loro

rappresentazione: grafi di precedenza.

Processi e risorse. Deadlock.

• Modello a memoria comune:

Il problema della mutua esclusione.

Il semaforo e sua realizzazione in ambiente mono e multiprocessore.

Costrutti linguistici di alto livello per la sincronizzazione: il monitor.

Realizzazione del costrutto monitor.

Sincronizzazione tra thread nel sistema Linux e nel linguaggio Java.

Panoramica sul Corso

Sincronizzazione tra processi [continua]:

Sincronizzazione tra processi [continua]:

• Modello a scambio di messaggi:

Comunicazione mediante scambio di messaggi:

classificazione

Send asincrone e sincrone; sincronizzazione estesa.

Sincronizzazione mediante segnali.

Interazione tra processi Linux:

comunicazione mediante pipe e fifo; segnali.

(5)

Sistemi Operativi L-A 9

Panoramica sul Corso

Gestione della Memoria Gestione della Memoria

• Ruolo del gestore della memoria.

• Allocazione della memoria contigua e non contigua. Paginazione e segmentazione

• Memoria virtuale.

• Gestione della memoria in Unix e Linux.

Sistemi Operativi L-A 10

Percorso didattico

• Argomenti teorici

• Esemplificazioni: i sistemi operativi Unix e GNU/Linux; il linguaggio Java

• Esercitazioni Pratiche:

Attività in laboratorio Attività in laboratorio

(6)

Sistemi Operativi L-A 11

Attività in laboratorio

• Non è obbligatoria, ma è parte parte integrante dell

integrante dell’ ’attività didattica attività didattica! !

• Settimanalmente, verranno distribuite schede di esercitazioni da svolgere in laboratorio

• L’attività si svolgera` nel Lab2

Attività in laboratorio

• Programma:

• La shell di Linux: comandi per la gestione del file system, dei processi e sincronizzazione; comandi di sistema. Cenni di amministrazione di sistema.

• Programmazione shell.

• Le system call di Unix/Linux: gestione dei processi, sincronizzazione, file system, comunicazione.

• La libreria pthread: suo utilizzo nel sistema operativo Linux per lo sviluppo di applicazioni concorrenti.

• Programmazione concorrente in Java: gestione dei

thread e sincronizzazione.

(7)

Sistemi Operativi L-A 13

Accesso al Laboratorio

L’attività si svolgerà in lab 2

( http://lab2.deis.unibo.it/) su sistemi Linux

Orario: mercoledi mercoledi ore ore 9:00-11: 9:00-11:00 00

Account: sono già attivi per tutti gli studenti

• Username determinato in base a matricola e cognome

• Password: è il pin associato al vostro badge

Sistemi Operativi L-A 14

• Una prova scritta:

programmazione concorrente

programmazione linux

• Una prova orale obbligatoria. orale obbligatoria.

Esame

(8)

Sistemi Operativi L-A 15

Materiale Didattico

• • Copia delle diapositive mostrate a lezione Copia

(scaricabili dalla pagina Web del corso)

• • Libro adottato: Libro adottato:

• P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari: Sistemi Operativi, McGraw-Hill, Seconda Edizione, 2008.

Libri Consigliati: Libri Consigliati

• Teoria

A. Silbershatz, P. Galvin: Sistemi Operativi (6^

edizione), Addison Wesley.

• P.Ancilotti, M.Boari: Programmazione Concorrente e Disytribuita, McGraw-Hill, 2006.

• A.S. Tanenbaum, I Moderni Sistemi Operativi, Jackson Libri.

• Programmazione di sistema UNIX/Linux

W.R. Stevens: Advanced Programming in the UNIX Environment, Addison Wesley

Ricevimento Studenti

Martedì ore 10-12

c/o Nuovi studi – Edificio aule nuove (di fianco aula 5.7) - piano 1.

E-mail: aciampolini@deis.unibo.it

(9)

Sistemi Operativi L-A 17

Interazione docente-studenti

• Ricevimento (martedi` 10-12)

• E-mail: aciampolini@deis.unibo.it

• Lista di distribuzione del corso: è un servizio del portale di ateneo che consente di inviare, via e-mail, comunicazioni, messaggi e materiali di approfondimento agli studenti

Accesso mediante lo stesso account della “mia e-mail”

alla pagina :

http://www.unibo.it/Portale/Servizi+online/

Liste+distribuzione/default.htm

• nome della lista: " SO-AUTOELE"

Sistemi Operativi L-A 18

Orario delle Lezioni

• Mercoledi 9-11 aula 5.7,solo le prime due settimane, poi sostituite dal laboratorio.

• Gio 14-17, aula 1.3.

• Venerdi 9-12, aula 0.1.

Eventuali variazioni verranno

comunicate via lista di distribuzione

Riferimenti

Documenti correlati

Le opzioni dei comandi sono di solito prece- dute da - (meno) e da una o due lettere nella forma breve, oppure da – (meno meno) e una descrizione nella forma lunga (esempi: ls -a e

● Oggi tutti i produttori di macchine server hanno una loro sistema operativo simile a Unix, che deriva da uno dei due ceppi principali:.. – Sun

permette ai moduli di informare il resto del kernel che un nuovo driver è disponibile il kernel mantiene un tabella dinamica dei moduli e fornisce metodi per aggiungere o rimuovere

• A priorità uguale viene scelto il task in attesa da più tempo – Tempo reale con politica RR a priorità. • Prerilascio per quanti con ritorno in fondo alla coda – Divisione

– Codice, dati, stack, tabella delle pagine (altrimenti in lista pagine libere).. Mappa delle pagine

• Ciascuna voce nella tabella di processo punta a una voce nella tabella globale che specifica diritti e posizione di R/W corrente nel file. – La stessa voce  file condiviso

● compilare i programmi partendo dal codice sorgente. ● installare i programmi usando le

● Redirigere stdout e stderr su file in modalita' append.. Panoramica