SO
Mail Prof: daniele.radicioni@unito.it
12 Crediti
Informazioni corso
- Scritto
- Orale facoltativo - per la Lode
Teoria
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 distrubuibile gratuitamente
- Linux e' il kernel
OS
strato che mette in comunicazione utente e hardware
-
Kernel
strato piu' 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
-
crezioni 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
- * carattere 0 o piu'
- 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
-
-
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
- in prima posizione indica il tipo di file
Cambio Permessi > chmod o+wr myfile //symbolic mode aggiunge write e execute permission a others > chmod 754 myfile //absolute mode
- 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
- la sequenza e':
-
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