Mail Prof: daniele.radicioni@unito.it 12 Crediti
Informazioni corso
- Scritto
- Orale facoltativo - per la Lode
- Sistemi Operativi
Unix
- The Linux Programming Interface
Introduzione
Anni ‘60
2 Kernel Originari
- AT&T
- BSD
Richard Stallman lancia lo GNU Project 1983
Free as in Freedom, il punto non e’ sulla gratuita’
- E’ ispezionabile
Per un uso didattico basta un sistema discendente da System5
Linus Torvalds, inizia a lavorare su Linux - Unix-like 1991
Progressive Licensing ~ software distribuibile gratuitamente
- Linux e’ il kernel
OS
strato che mette in comunicazione utente e hardware
-
Kernel strato più basso
- composto di funzioni autonome
- non utilizzate direttamente dall’utente
-
Permette l’accesso all’hardware
-
Device
-
Processi Sono programmi in esecuzione
-
un kernel facilita la creazione e la gestione dei processi
-
Fork System call
- crea una seconda linea di computazione
-
creazione di processi Processi possono creare altri processi
- Genitori
- Figli
-
biforcazione della linea di computazione
-
Comunicazione tra Processi per permetterne la collaborazione
-
-
Gestione della Memoria
-
Virtualizzazione della Memoria spostamento parti di processi in Memoria Secondaria
- poi ripresa attraverso
paging
- Swap spostamento di interi processi nella memoria secondaria
- poi ripresa attraverso
-
-
Operazioni sul Filesystem
-
Un kernel e’ construito per un hardware specifico
- composto di funzioni autonome
-
Shell
-
interprete di comandi
-
permette l’interazione utente - sistema
-
oggetto utilizzato per l’amministrazione della macchina $ cat /etc/shells
$ tar cvzf foo.tgz cps100 $ tar xvzf foo.tgz
-
-
Filesystem Visione astratta che visualizza il contenuto della memoria secondaria della macchina
- e’ un albero
- bin/ applicazioni condivise
- etc/ configurazione
- home/ directories degli utenti
- lib/ librerie necessarie agli utenti
- opt/ third party software
- tmp/ spazio temporaneo
- usr/ spazio programmi degli utenti
- permette all’utente di
- visualizzare
- organizzare
- interagire le directories della macchina
- e’ un albero
-
Applicazioni comandi, parti
- Comandi
- comando
- argomenti
- flag con o senza dash che li preceda
-
tar
-
man >man 1 command
- Possibile specificare la sezione con numero
-
grep global regular expression print
- cerca pattern
-
tail
-
head
-
less
-
more
-
mv
-
rm
-
cp
-
Metacharacter wildcards
- ? qualsiasi carattere 1 volta
- match tra uno dei caratteri specificati
-
Input Output Redirection redirigere l’output $ ls > out.org sovrascrive $ ls >> out.org preserva il contenuto precedente
cambiare l’input $ sort < terms > terms-alpha sort prende terms e scrive in terms-alpha
-
Pipes Operatore che combina input e output redirection
- l’output di un programma viene utilizzato come input ad un altro programma > echo $SHELL
- Comandi
-
Filosofia
-
Semplicita’ ciascun componente deve essere breve
-
Focus fare una cosa bene
- piu’ semplice da mantenere
-
Componenti Riutilizzabili
-
Filtri strumenti che trasformano l’input in un output
-
File in formati aperti UTF8 ~ UTF16
-
Flessibilita’ Evitare limiti arbitrari
-
-
Account Privilegi dei vari account
-
root completo controllo
- puo’ distruggere il sistema
- e’ dato per scontato che si abbia conoscenza dei pericoli
-
system
-
utente
- nomi
- si usavano al piu’ di 8 caratteri
- poco accesso
- nomi
-
Gruppi ogni file ha permessi per:
- owner
- gruppo
- altri Consentono il controllo di accessi su parti diverse della macchina in una macchina condivisa
-
Permessi il superutente o il proprietario di una risorsa puo’ cambiarne la proprieta’
> chown jane home/bin > ls -l //formato long -rwxrwx—
-
la sequenza e’:
- in prima posizione indica il tipo di file
- directory
- fifo
- poi si susseguono 3 blocchi da 3
- permessi utente
- permessi gruppo
- permessi altri Cambio Permessi > chmod o+wr myfile //symbolic mode aggiunge write e execute permission a others > chmod 754 myfile //absolute mode
- in prima posizione indica il tipo di file
-
absolute
- ogni numero indica il valore in binario dei permessi di ogni gruppo(owner|group|others)
- Tipi di permessi
- r
- w
- e
- utenti
- u
- g
- o
-
-
Integrazione C
Controllo dei processi
Segnali
Pipe e Fifo
Code di messaggi
Memoria Condivisa
Semafori
Bash
C
Esercitazioni
La sua discussione permette l’accesso allo Scritto (5 scritti all’anno)
- almeno 10 giorni di anticipo per la consegna, inviato ai professori dei turni corrispondenti ai partecipanti
- preferibilmente fuori dalla finestra esami
Progetto Individuale o di Gruppo (max 3)
Una volta completato chiedere con mail al professore del corso di Teoria di poter sostenere l’esame scritto, eventualmente l’orale
Novembre
Sorgenti
Breve Relazione
Nome Cognome - Matricola - Mail