1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.

Slides:



Advertisements
Presentazioni simili
1 Leggere e scrivere dati da file Giorgio Valentini e –mail: DSI – Dipartimento di Scienze dell Informazione Università degli Studi.
Advertisements

PROCESS MANAGEMENT: STRUTTURE DATI
I linguaggi di programmazione
Il Sistema Operativo.
Programmazione con socket
SC che operano su processi
File system Casi di studio (3).
FONDAMENTI DI INFORMATICA
1 System Call per Comunicazione tra Processi Pipe.
Mappare file in memoria
SC che operano su file (1)
Giuseppe Fabio Fortugno.
Interfaccia del file system
Strutture dei Sistemi Operativi
Posix Capabilities POSIX STANDARD SEZIONE IMPORTANTE.
Operating System Concepts
Introduzione agli stream e alle classi
Il linguaggio Fortran 90: 5. Formato di I/O e Files
Il modello cliente/servente per l’implementazione di applicazioni
Struttura dei sistemi operativi (panoramica)
CORSO DI INFORMATICA LAUREA TRIENNALE-COMUNICAZIONE & DAMS
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
2) Sistemi operativi Lab. Calc. AA2004/05 - cap.2.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione.
1 File System ed Input/Output UNIX Implementazione del File System Caratteristiche del File System Unix/Linux System Call relative al File System Linput/output.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Corso di Laurea in Ingegneria Gestionale
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Informazioni utili Per avere una distribuzione linux sul proprio pc: 1.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX La shell Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Shell: uso avanzato e script Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Modulo 13: System call relative al File System
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
File I record.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Specificare una unità con cui scambiare i dati input da tastiera output a video file esterno variabili di programma unità di I/O Istruzioni di INPUT/OUTPUT.
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
Costruzione di una semplice Agenda telefonica Elettronica Esercizio sull'uso delle principali system call Unix.
Sistema Operativo (Software di base)
T. MottaGenerazione e terminazione processi1 Creazione e terminazione dei processi Tommaso Motta
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
1 Esercitazione finale per il corso di Sistemi Operativi (A.A. 2001/2002)
Informatica Applicata al Suono Tutorial Matlab
Architettura dei Sistemi Operativi
1 SC che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Corso di Laurea in Ingegneria Informatica Ambienti di Programmazione per il Software di Base III anno, I periodo (a scelta per la magistrale) 6 crediti.
1.1 Corso di Laboratorio di Informatica: Sistemi Operativi Corso di Laurea in Informatica, Università di Firenze Anno accademico 2008/2009 Prof. Luca Ferrari.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Chiamate di sistema Introduzione Errori : perror() Chiamate che lavorano su file.
1 File System ed Input/Output UNIX Caratteristiche del FS Unix Implementazione Il file system di Linux Organizzazione dell’ I/O.
1 SC per IPC Pipe. 2 Pipe : file speciali utilizzati per connettere due processi con un canale di comunicazione Se B cerca di leggere da una pipe vuota.
ELEMENTI DI INFORMATICA
Corso di Laboratorio primo modulo Introduzione all'uso di un sistema operativo. Introduzione all'uso della shell (bash). Java – –Introduzione – –Tipi di.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Laboratorio di Introduzione alla Programmazione §II MODULO §3 crediti §Esame e voto unico (su 6 crediti totali)
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 System Call che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Informatica e Informatica di Base
1 System Call che operano su processi Getpid, fork, exec, wait, waitpid, exit, dup, dup2.
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Università di Ferrara Facoltà di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Rita Riccardo
File System ed Input/Output
Transcript della presentazione:

1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari telefono: Ricevimento: contattatemi e ci metteremo senz’altro d’accordo. I lucidi delle lezioni ed altro eventuale materiale didattico potranno essere reperiti alla pagina

1.2 Introduzione alla programmazione di sistema in ambiente Unix Per utilizzare servizi quali creazione di file, duplicazione di processi e comunicazione tra processi, i programmi utente devono dialogare col sistema operativo. A questo scopo viene utilizzata una collezione di routines, dette chiamate di sistema, che costituiscono di fatto l'interfaccia tra utilità di sistema e kernel di UNIX. Per utilizzare le chiamate di sistema è sufficiente richiamare la funzione C appropriata.

1.3 Introduzione alla programmazione di sistema in ambiente Unix Le chiamate di sistema in ambiente UNIX possono essere approssimativamente suddivise in tre categorie principali:  gestione dei files;  gestione dei processi;  gestione degli errori.

1.4 Introduzione alla programmazione di sistema in ambiente Unix Gerarchia delle system calls per la gestione dei files. Files open close read write lseek unlink chown dup2 special Directory chmod fcntl fstat ftruncate truncate stat sync dup link mknod ioctl pipe Sockets getdents Internet sockets accept bind connect listen socket gethostbyname gethostname htonl htons inet_addr inet_ntoa

1.5 Introduzione alla programmazione di sistema in ambiente Unix Gerarchia delle system calls per la gestione dei processi. Process management nice chdir wait fork exec exit Signals setgid setpgrp getpgrp getppid setuid getgid getrgid getuid getruid alarm signal kill pause

1.6 Introduzione alla programmazione di sistema in ambiente Unix Gerarchia delle system calls per la gestione degli errori. Error handling perror

1.7 Introduzione alla programmazione di sistema in ambiente Unix Gestione dei files ordinari:  come creare, aprire, chiudere, leggere e scrivere file regolari. Gestione dei processi:  come duplicare, differenziare, sospendere e terminare processi. Segnali:  modalità tramite la quale i processi si notificano la verifica di un evento (utilizzati sia a livello di gestione dei processi che nella comunicazione fra processi). IPC (InterProcess Communication):  comunicazione tra processi, sia tramite pipes (sia anonimi che con nome) che tramite sockets (compresi Internet sockets).

1.8 Programma del corso Uso interattivo della shell (1/6) 1. Avvio di un sistema Linux 2. Connessione e disconnessione dal sistema 3. Shell 4. Comandi 5. Filtri 6. Manuali: man, info 7. Comandi principali per la gestione di files e directories 8. Standard input, output, error e redirezionamento 9. Pipelines 10. Il comando find 11. Il comando grep 12. L’editor vi 13. Comandi per la stampa Il linguaggio C (1/2) 1. Direttive del preprocessore 2. Compilazione 3. Variabili e tipi di dato 4. Operatori ed espressioni 5. Strutture di controllo del flusso 6. Funzioni 7. I/O elementare 8. Puntatori, array e stringhe 9. Strutture e unioni 10. Allocazione e deallocazione di memoria 11. Operazioni sui files: apertura, chiusura, lettura, scrittura 12. Istruzioni del preprocessore 13. Suddivisione di un programma in più moduli, compilazione separata e linking 14. Gestione dei programmi Programmazione di sistema (1/3) 1. Gestione dei file: descrittore di file, system call open(), read(), write(), close(), Gestione degli errori: system call perror() 3. Hard e soft link, permessi 4. Operare sui descrittori di files 5. Gestione dei processi: system call fork(), exit(), wait(), exec() 6. Segnali e loro gestione 7. IPC: pipe (anonimi e con nome), socket (domini (AF_UNIX e AF_INET)

1.9 Modalità di esame L'esame consiste nella realizzazione di un progetto assegnato dal docente. L'esercizio deve essere svolto individualmente o a gruppi di due/tre persone. Il testo del progetto verrà pubblicato a tempo debito (poco prima della conclusione del corso). Prenotazione Esame Deve essere effettuata la prenotazione all'esame inviando una con soggetto Progetto Sistemi Operativi – Programmazione di Sistema all’indirizzo: La consegna prevede una relazione che illustri il progetto realizzato; sia la relazione che il progetto possono essere consegnati inviando una all'indirizzo: nel caso che il progetto non risulti sufficiente per qualunque ragione, il docente manderà un messaggio opportuno.