Tags:
tag this topic
create new tag
view all tags
---+!! %MAKETEXT{"Sistemi Operativi (II Modulo)"}% ---++ %MAKETEXT{"Anno Accademico 2011-2012"}% * *Docente Prof. [[http://www.dsi.uniroma1.it/~gabriell/][Emanuele Gabrielli]]* * Sede: Via Salaria, 113 - 3° Piano ---++ Mailing list: [[https://lists.inroma.roma.it/mailman/listinfo/sistemioperativi][sistemioperativi@inroma.roma.it]] ---++ Orario di ricevimento * *Ricevimento di persona:* * al termine delle lezioni o nell’intervallo * per appuntamento previa richiesta via e-mail * *Ricevimento alternativo:* * via e-mail tramite la lista Sistemi Operativi ---++ Avvisi ---++ Indice <!-- * [[AvvisiLSO1][%RED% *Avvisi* %ENDCOLOR%]] --> * [[#ProdeDeut][Propedeuticità]] * [[#ObiettiviCorso][Obiettivi del Corso]] * [[#ProgrammaCorso][Programma del Corso]] * [[DidatticaLSO10809][ *Materiale Didattico* ]] * *Compiti d'Esame* * [[#LaboratorioCalcolo][Laboratorio di Calcolo]] * [[#ModalitaEsame][Modalità d'Esame]] * Date degli Appelli #ProdeDeut ---++ Propedeuticità Riferirsi alle regole esposte nella [[http://w3.uniroma1.it/dipinfo/corsi_di_studio/default.asp?iId=KKKDD][pagina omonima]] del sito dei [[http://w3.uniroma1.it/dipinfo/corsi_di_studio/default.asp?iId=LEFIF][ *Corsi di studio in Informatica* ]]. #ObiettiviCorso ---++ Obiettivi del Corso Il corso è strutturato per raggiungere i seguenti obiettivi: * fornire le nozioni necessarie per utilizzare un sistema GNU/Linux attraverso i principali comandi di base * descrivere le modalità di interazione con la shell e le sue funzionalità * insegnare le basi per la programmazione in linguaggio script (bash) * introdurre la programmazione avanzata in ambiente GNU/Linux mediante system call * insegnare a scrivere programmi che utilizzino correttamente le system call per l'allocazione di memoria, per l'accesso ai file, per il controllo dei processi e per lo scambio di segnali e messaggi tra processi Inoltre, mediante continui richiami a nozioni esposte in altri corsi, verranno chiariti ulteriormente alcuni concetti duali fondamentali, quali ad esempio: * applicazione utente / kernel * compilatore / interprete * memoria di processo statica / dinamica * libreria dinamica / statica * libreria C standard / system call #ProgrammaCorso ---++ Programma * *Introduzione al corso* * Obiettivi del corso * Libri e guide consigliati, manuali di riferimento * Sito Web del corso * Orari di ricevimento e contatti * Argomenti del corso * Prove d'esame * *Introduzione all'uso di Linux* * Login/logout * Interfacce verso l'utente: a comandi e grafica * Filesystem: * struttura gerarchica * file, directory, file speciali * attributi standard dei file * link hard e soft * comandi di navigazione del filesystem e manipolazione file * Processi: * attributi e priorità * lancio, sospensione, terminazione, interruzione * monitoraggio * *La shell* * Tipi di shell * Caratteristiche delle shell * Comandi built-in e programmi di sistema * Processi in foreground e background * Modifica dell'I/O dei processi: redirezione, pipe * Command substitution * Wildcards * Sequenze di comandi e raggruppamento di comandi * *Programmi eseguibili* * Ciclo di vita di un programma: dall'editing all'esecuzione * Struttura del file eseguibile * Mappa di memoria del processo * Il compilatore GNU C gcc e il linker ld * Formato ELF e binutils * Eseguibili, librerie statiche, shared objects * Il debugger gdb * Ausilio alla compilazione: make * *Programmazione di sistema* * *Introduzione alle system call* * *Funzioni per l'allocazione della memoria:* * malloc, free (standard library) * Memory leak, buffer overflow * *System call per la gestione dei file:* * open, read, write, lseek, close * manipolazione del file descriptor o di parametri di file o device: dup, fnctl, ioctl * sincronizzazione su file: select * estrazione di informazioni: stat * modifica di attributi e proprietà: chmod, chown * link hard e soft: link, unlink, rename, symlink * operazioni su directory: mkdir, rmdir, opendir, chdir * *System call per il controllo dei processi:* * attributi dei processi: getpid, getppid, get/setuid, get/setgid * creazione e terminazione di processi: fork, exit, abort * sincronizzazione tra processi padre-figlio: wait, waitpid * la famiglia di system call exec * ambiente di un processo, working directory e root directory * *Segnali e pipe:* * segnali * pipe * named-pipe (FIFO) ---+++ Testo di riferimento Trattandosi di un corso di laboratorio, non dovrebbe essere necessario il ricorso ad uno specifico libro di testo. In generale il materiale reperibile su questa pagine o direttamente su internet, unito alla documentazione ed alle _man pages_ del sistema operativo, sono sufficienti per lo svolgimento del progetto. Per una trattazione sistematica e approfondita dei concetti relativi ai sistemi operativi, si può fare riferimento ai libri di testo consigliati per l'esame di [[http://twiki.dsi.uniroma1.it/twiki/view/Sistemioperativi1/WebHome][ *Sistemi Operativi I* ]] ---+++ Altri testi consigliati ---++++ Linux * Ellen Siever, Aaron Weber, Stephen Figgins, %GREEN% _Linux in a Nutshell_ %FINE% , O'Reilly [[http://www.oreilly.com/catalog/linuxnut3/][O'Reilly Web Site]] * Machtelt Garrels, %GREEN% _Introduction to Linux, A Hands on Guide_ %FINE%, [[http://www.tldp.org/LDP/intro-linux/html/][HTML]] : [[http://www.tldp.org/LDP/intro-linux/intro-linux.pdf][PDF]] * L. Wirzenius, J. Oja, S. Stafford, A. Weeks, %GREEN% _The Linux System Administrator's Guide_ %FINE%, [[http://www.tldp.org/LDP/sag/html/][HTML]] : [[http://www.tldp.org/LDP/sag/sag.pdf][PDF]] * A. Lissot, K. Koehntopp, %GREEN% _Linux Partition HOWTO_ %FINE% [[http://www.tldp.org/HOWTO/Partition/][HTML]] : [[http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/Partition.pdf][PDF]] * E. S. Raymond, %GREEN% _The Linux Installation HOWTO_ %FINE% [[http://www.tldp.org/HOWTO/Installation-HOWTO/][HTML]] : [[http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/Installation-HOWTO.pdf][PDF]] ---++++ Editor Vi * %GREEN% _Vimbook-OPL_ %FINE% [[http://truth.sk/vim/vimbook-OPL.pdf][PDF]] * Bram Moolenaar, %GREEN% _VIM USER MANUAL_ %FINE% [[http://vimdoc.sourceforge.net/htmldoc/usr_toc.html][HTML]] ---++++ Bash scripting * Mike G, %GREEN% _Bash Programming Introduction HOW-TO_ %FINE%, [[http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html][HTML]] : [[http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/Bash-Prog-Intro-HOWTO.pdf][PDF]] * Machtelt Garrels, %GREEN% _Bash Guide for Beginners_ %FINE%, [[http://www.tldp.org/LDP/Bash-Beginners-Guide/html/][HTML]] : [[http://linux.com.hk/PenguinWeb/mirrors/LDP/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf][PDF]] * Mendel Cooper, %GREEN% _Advanced Bash-Scripting Guide_ %FINE%, [[http://www.tldp.org/LDP/abs/html/index.html][HTML]] : [[http://www.tldp.org/LDP/abs/abs-guide.pdf][PDF]] ---++++++ Tutorials * %GREEN% _Steve's Bourne / Bash shell scripting tutorial_ %FINE% [[http://steve-parker.org/sh/sh.shtml][HTML]] ---++++ Programmi eseguibili * David Wheeler, %GREEN% _Program Library HOWTO_ %FINE%, [[http://www.tldp.org/HOWTO/Program-Library-HOWTO/][HTML]] : [[http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/pdf/Program-Library-HOWTO.pdf][PDF]] * Hongjiu Lu, %GREEN% _ELF: from the Programmer's Perspective_ %FINE% [[http://linux4u.jinr.ru/usoft/WWW/www_debian.org/Documentation/elf/elf.html][HTML]] : [[ftp://tsx-11.mit.edu/pub/linux/packages/GCC/elf.ps.gz][PDF]] * M. L. Haungs, %GREEN% _Executable and Linking Format_ %FINE% [[http://www.cs.ucdavis.edu/~haungs/paper/node10.html][HTML]] : [[http://www.skyfree.org/linux/references/ELF_Format.pdf][PDF]] ---++++++ Tutorials * %GREEN% _Compiling "C" And "C++" Programs On Unix Systems - gcc/g++_ %FINE% [[http://users.actcom.co.il/~choo/lupg/tutorials/c-on-unix/c-on-unix.html][HTML]] * %GREEN% _Building And Using Static And Shared "C" Libraries_ %FINE% [[http://users.actcom.co.il/~choo/lupg/tutorials/libraries/unix-c-libraries.html][HMTL]] * %GREEN% _Debugging "C" And "C++" Programs Using "gdb"_ %FINE% [[http://users.actcom.co.il/~choo/lupg/tutorials/debugging/debugging-with-gdb.html][HMTL]] * %GREEN% _Automating Program Compilation - Writing Makefiles_ %FINE% [[http://users.actcom.co.il/~choo/lupg/tutorials/writing-makefiles/writing-makefiles.html][HTML]] ---++++ Programmazione di sistema * W. Richard Stevens, %GREEN% _Advanced Programming in the UNIX Environment_ %FINE%, Addison Wesley, ISBN 0-201-56317-7, [[http://www.kohala.com/start/apue.html][W. Richard Stevens' Home Page]] * Mark Mitchell, Jeffrey Oldham, and Alex Samuel, %GREEN% _Advanced Linux Programming_ %FINE%, New Riders Publishing, ISBN 0-7357-1043-0, [[http://www.advancedlinuxprogramming.com/alp-folder][PDF]] ---++++++ Tutorials * %GREEN% _User-Level Memory Management in Linux Programming_ %FINE% [[http://www.informit.com/articles/article.asp?p=173438&seqNum=1][HTML]] * %GREEN% _Manipulating Files And Directories In Unix_ %FINE% [[http://users.actcom.co.il/~choo/lupg/tutorials/handling-files/handling-files.html][HTML]] * %GREEN% _The Process Model of Linux Application Development_ %FINE% [[http://www.informit.com/articles/article.asp?p=397655&seqNum=1][HTML]] #LaboratorioCalcolo ---++ Laboratorio di Calcolo * Informazioni sulla possibilità di utilizzo dei laboratiori di calcolo possono essere ottenute chiedendo agli assistenti. #ModalitaEsame ---++ Modalità d'esame <b>Primo insieme di regole, valido per chi non ha mai verbalizzato né Sistemi Operativi 1 né Laboratorio di Sistemi Operativi 1 negli anni passati:</b><br/> <br/> regola 1.1) per poter fare l'orale sul II modulo, occorre aver consegnato un progetto sul II modulo (indicativamente, le date di consegna dei progetti sono fissate circa una settimana prima degli appelli) che sia stato valutato almeno sufficiente;<br/> <br/> regola 1.2) per fare l'orale sul I modulo, occorre aver superato l'orale sul II modulo;<br/> <br/> regola 1.3) chi supera l'orale sul II modulo è obbligato a sostenere l'orale sul I modulo nello stesso giorno;<br/> <br/> regola 1.4) l'orale sul I modulo è considerato automaticamente superato per coloro che abbiano avuto almeno la sufficienza all'esonero di febbraio 2012 (a discrezione della commissione, è tuttavia possibile richiedere comunque un orale);<br/> <br/> <b>Secondo insieme di regole, valido per chi abbia verbalizzato uno tra Sistemi Operativi 1 e Laboratorio di Sistemi Operativi 1 negli anni passati (queste regole valgono anche per gli studenti che aderiscono al progetto INCOS):</b><br/> <br/> regola 2.1) chi ha verbalizzato Laboratorio di Sistemi Operativi 1, deve fare l'orale sul I modulo (vedere regola 1.4)<br/> <br/> regola 2.2) a chi ha verbalizzato Sistemi Operativi 1, si applica la regola 1.1 (occorre quindi fare il progetto e discutere l'orale sul II modulo)<br/> <br/> <b>Regole generali sulle validità di singole parti di esame (da applicare nel caso non venissero superate alcune prove):</b><br/> <br/> regola 3.1) l'esonero sul I modulo superato a febbraio 2012 verrà ritenuto valido fino a febbraio 2013; <br/> <br/> regola 3.2) l'orale superato sul II modulo cui poi non faccia seguito il superamento dell'orale sul I modulo verrà considerato valido fino a febbraio 2013 (fino alla sessione estiva del 2013 per chi supera il II modulo a febbraio 2013).<br/> <br/> regola 3.3) un progetto sufficiente viene considerato valido per l'orale sul II modulo fino a febbraio 2013; <br/> <br/> <b>Regole generali sui progetti di gruppo:</b><br/> <br/> regola 4.1) il voto sul progetto ha validità sull'intero gruppo, mentre l'orale sul II modulo, pur avvenendo collettivamente, è individuale (quindi è possibile che il progetto sia sufficiente, e che poi solo alcuni componenti del gruppo superino l'orale sul II modulo)<br/> <br/> regola 4.2) è fortemente consigliato che tutti i componenti di un gruppo si presentino allo stesso appello per discutere l'orale sul II modulo. Sono tuttavia previste eccezioni in documentati casi particolari da comunicare con tempestività alla commissione d'esame.<br/> <br/>
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r14
<
r13
<
r12
<
r11
<
r10
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r14 - 2012-03-31
-
LuigiMancini
Log In
or
Register
Lab_so_1/AL Web
Create New Topic
Index
Search
Changes
Notifications
Statistics
Preferences
Prenotazioni esami
Laurea Triennale ...
Laurea Triennale
Algebra
Algoritmi
Introduzione agli algoritmi
Algoritmi 1
Algoritmi 2
Algoritmi per la
visualizzazione
Architetture
Prog. sist. digitali
Architetture 2
Basi di Dati
Basi di Dati 1 Inf.
Basi di Dati 1 T.I.
Basi di Dati (I modulo, A-L)
Basi di Dati (I modulo, M-Z)
Basi di Dati 2
Calcolo
Calcolo differenziale
Calcolo integrale
Calcolo delle Probabilitą
Metodi mat. per l'inf. (ex. Logica)
canale AD
canale PZ
Programmazione
Fond. di Programmazione
Metodologie di Programmazione
Prog. di sistemi multicore
Programmazione 2
AD
EO
PZ
Esercitazioni Prog. 2
Lab. Prog. AD
Lab. Prog. EO
Lab. Prog. 2
Prog. a Oggetti
Reti
Arch. di internet
Lab. di prog. di rete
Programmazione Web
Reti di elaboratori
Sistemi operativi
Sistemi Operativi (12 CFU)
Anni precedenti
Sistemi operativi 1
Sistemi operativi 2
Lab. SO 1
Lab. SO 2
Altri corsi
Automi, Calcolabilitą
e Complessitą
Apprendimento Automatico
Economia Aziendale
Elaborazione Immagini
Fisica 2
Grafica 3D
Informatica Giuridica
Laboratorio di Sistemi Interattivi
Linguaggi di Programmazione 3° anno Matematica
Linguaggi e Compilatori
Sistemi Informativi
Tecniche di Sicurezza dei Sistemi
ACSAI ...
ACSAI
Computer Architectures 1
Programming
Laurea Magistrale ...
Laurea Magistrale
Percorsi di studio
Corsi
Algoritmi Avanzati
Algoritmica
Algoritmi e Strutture Dati
Algoritmi per le reti
Architetture degli elaboratori 3
Architetture avanzate e parallele
Autonomous Networking
Big Data Computing
Business Intelligence
Calcolo Intensivo
Complessitą
Computer Systems and Programming
Concurrent Systems
Crittografia
Elaborazione del Linguaggio Naturale
Estrazione inf. dal web
Fisica 3
Gamification Lab
Information Systems
Ingegneria degli Algoritmi
Interazione Multi Modale
Metodi Formali per il Software
Methods in Computer Science Education: Analysis
Methods in Computer Science Education: Design
Prestazioni dei Sistemi di Rete
Prog. avanzata
Internet of Things
Sistemi Centrali
Reti Wireless
Sistemi Biometrici
Sistemi Distribuiti
Sistemi Informativi Geografici
Sistemi operativi 3
Tecniche di Sicurezza basate sui Linguaggi
Teoria della
Dimostrazione
Verifica del software
Visione artificiale
Attivitą complementari
Biologia Computazionale
Design and development of embedded systems for the Internet of Things
Lego Lab
Logic Programming
Pietre miliari della scienza
Prog. di processori multicore
Sistemi per l'interazione locale e remota
Laboratorio di Cyber-Security
Verifica e Validazione di Software Embedded
Altri Webs ...
Altri Webs
Dottorandi
Commissioni
Comm. Didattica
Comm. Didattica_r
Comm. Dottorato
Comm. Erasmus
Comm. Finanziamenti
Comm. Scientifica
Comm Scientifica_r
Corsi esterni
Sistemi Operativi (Matematica)
Perl e Bioperl
ECDL
Fondamenti 1
(NETTUNO)
Tecniche della Programmazione 1° modulo
(NETTUNO)
Seminars in Artificial Intelligence and Robotics: Natural Language Processing
Informatica generale
Primo canale
Secondo canale
II canale A.A. 10-11
Informatica
Informatica per Statistica
Laboratorio di Strumentazione Elettronica e Informatica
Progetti
Nemo
Quis
Remus
TWiki ...
TWiki
Tutto su TWiki
Users
Main
Sandbox
Home
Site map
AA web
AAP web
ACSAI web
AA2021 web
Programming web
AA2021 web
AN web
ASD web
Algebra web
AL web
AA1112 web
AA1213 web
AA1920 web
AA2021 web
MZ web
AA1112 web
AA1213 web
AA1112 web
AA1314 web
AA1415 web
AA1516 web
AA1617 web
AA1819 web
Old web
Algo_par_dis web
Algoreti web
More...
AL Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
Questo sito usa cookies, usandolo ne accettate la presenza. (
CookiePolicy
)
Torna al
Dipartimento di Informatica
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback