1.1 Implementazione del file system Una possibile visualizzazione del file system di un sistema Unix.

Slides:



Advertisements
Presentazioni simili
1 Introduzione ai calcolatori Parte II Software di base.
Advertisements

Modulo 1 – Ambiente di lavoro Windows 7
Linux la gestione dei dischi. Agenda I nomi delle unità fisiche in ambiente Linux Partizioni e associazione tra file system e unità Amministrare le unità
POSIX Access Control Lists Seminario di Sistemi Operativi mod.B Giacomo Basso 566/538.
Corsi per il personale Bicocca-Insubria
File System Cos’è un File System File e Directory
Introduzione a Linux Dr. Giovanni Stracquadnio
1 System Call per Comunicazione tra Processi Pipe.
Sicurezza e Policy in Active Directory
Amministrazione di una rete con Active Directory
Amministrazione di una rete con Active Directory.
Amministrazione di una rete con Active Directory
Giuseppe Fabio Fortugno.
Realizzazione del file system
Interfaccia del file system
Interfaccia del file system
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
File.
Corso Linux Base 2. Uso del Sistema. © Corso Linux Base - Uso del Sistema Logging In (1) Una volta partito il sistema lutente esegue la procedura.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Guida Linux Molto rapida…. Due parole sullambiente grafico Potete usare: KDE o GNOME Si sceglie prima di mettere la password. Questione di gusti…
Laboratorio 1: Usare Linux. File system Il file system è la componente del sistema operativo che si occupa della gestione di file e cartelle Con laccount.
File System NTFS 5.0 Disco: unità fisica di memorizzazione
Uso di Linux.
AICA AICA © EUCIP IT Administrator Prendere confidenza con il sistema operativo Giacomo Rizzo - MG Engineering S.r.L.
TCP_Wrapper Le richieste per un determinato servizio (ad. es. telnet, ftp, rsh, etc.) vengono soddisfatte soltanto se lindirizzo IP del richiedente rientra.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
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.
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
introduzione a Windows
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX Giorgio Di Natale Stefano Di Carlo 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 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.
Dip. Automatica e Informatica
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX/LINUX 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.
Modulo 13: System call relative al File System
GESTIONE DEI FILE Per poter mantenere disponibili i dati tra le diverse esecuzioni di un programma (persi-stenza dei dati) è necessario poterli archi-viare.
Steganografia Un esempio pratico. Il formato TAR Possiamo pensare ad un archivio TAR come ad un contenitore di file. Per ogni file nellarchivio viene.
Sistemi Operativi – La shell Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
Corso Linux Base 2. Uso del Sistema. © Corso Linux Base - Uso del Sistema Logging In (1) Una volta partito il sistema lutente esegue la procedura.
2000 Prentice Hall, Inc. All rights reserved. Capitolo 10 (Deitel) Strutture, unioni ed enumerazioni Sommario Introduzione Definire le strutture.
Altri comandi avanzati Salvatore Campagna Politecnico di Torino Dipartimento di Automatica.
Shell dei comandi – ! Bash &/o Tcsh !
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Il Sistema Operativo: il File System
1 Amministrazione del sistema Creazione degli account al sistema. Comandi per la gestione degli utenti File per la gestione degli utenti, password shadow.
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
USO DEL COMPUTER E GESTIONE DEI FILE
a cura di Francesco Lattari
Corso di SISTEMI OPERATIVI Dipartimento di Informatica e Scienze dell’Informazione L’hard disk L’amministrazione dei dischi puo’ essere riassunta nelle.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Realizzazione Sito Web
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
Unix (Linux-Mac OS) Alcuni comandi. cd change working directory cd [DIRECTORY] cd entra nella directory specificata. Se non è fornita alcuna directory.
I FILE I File sono l’ unità base di informazione nell’interazione tra utente e sistema operativo I File sono l’ unità base di informazione nell’interazione.
Basi di Unix: introduzione Kernel il fulcro del sistema. Comunica con l’hardware (processore, memoria, disco fisso) Shell interfaccia tra l’utente e il.
1 File System ed Input/Output UNIX Caratteristiche del FS Unix Implementazione Il file system di Linux Organizzazione dell’ I/O.
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
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.
Esempi di Sistemi Operativi: DOS Nel file system di DOS i path names hanno la seguente forma C:\TEMP\DirA\DirB\elab.pdf Si utilizzano due nomi speciali.
1 File system Casi di studio. 2 Esempi di File System Il file system di un CD-ROM Rappresentazione di un elemento di una directory nel file system ISO.
Transcript della presentazione:

1.1 Implementazione del file system Una possibile visualizzazione del file system di un sistema Unix.

1.2 Implementazione dei files Allocazione di un file come lista concatenata di blocchi di memoria. Non è il metodo usato in un sistema UNIX

1.3 Index Node (inode) A ciascun file di qualunque tipo, memorizzato in una partizione del disco, viene associato un numero (detto il suo inumber) che è di fatto lindice di un elemento di un array memorizzato sul disco. Ciascun elemento dellarray è un inode che memorizza le informazioni di tipo amministrativo riguardanti un singolo file (come ad esempio, nel momento in cui il file viene creato, chi è lautore e dove sono memorizzati i blocchi di dati di questo file sulla partizione del disco). Queste informazioni possono essere visualizzate usando il comando stat: $ stat file1 File: `file1' Size: 123 Blocks: 8 IO Block: 4096 Regular File Device: 306h/774d Inode: Links: 2 Access:(0644/-rw-r--r--)Uid:(501/lferrari)Gid:(501/docenti) Access: :58: Modify: :58: Change: :05:

1.4 Implementazione dei files Un esempio di inode: contiene soltanto i primi n indirizzi dei blocchi del file.

1.5 Un inode UNIX

1.6 Implementazione delle directories È in realtà linode di un file che viene memorizzato in una directory accanto al nome del file. Quindi, essenzialmente, le directories sono semplici tabelle che associano i nomi dei files con gli inode. Ogni coppia costituita da file name e inode in una directory viene chiamata un link. games mail news work inode

1.7 Collegamenti ai files Un link è un puntatore a un altro file. Si ricordi che una directory non è altro che una lista di nomi e inode di files. Un elemento di una directory può essere un hard link, nel quale linode punta direttamente a un altro file. Quando viene creato un hard link, questo acquista lo stesso inumber del file linkato. Lutility ln crea un link tra files. $ cat > file Hello ! ^D $ ls -l file -rw-rw-r-- 1 lferrari lferrari 8 apr 7 14:22 file $ ln file fileln $ ls -li file* rw-rw-r-- 2 lferrari lferrari 8 apr 7 14:22 file rw-rw-r-- 2 lferrari lferrari 8 apr 7 14:22 fileln $ rm file $ ls -l fileln -rw-rw-r-- 1 lferrari lferrari 8 apr 7 14:22 fileln

1.8 Collegamenti ai files Se lultimo argomento è il nome di una directory, allora lhard link viene creato nella directory a tutti i filenames specificati. $ mkdir ~/didattica/corsi $ ln file* ~/didattica/corsi $ ls -l -rw-rw-r-- 2 lferrari lferrari 8 apr 7 14:22 fileln $ cd $ rm fileln $ ls -l ~/didattica/corsi/ -rw-rw-r-- 1 lferrari lferrari 8 apr 7 14:22 fileln Non si può creare un hard link da un file su un file system ad un file su un altro (diverso) file system. Per aggirare questo problema, si può invece creare un link simbolico.

1.9 Collegamenti ai files Di default, ln crea hard links; usando lopzione -s, crea invece links simbolici (o soft). $ ln -s /usr/include/stdio.h stdio.h $ ls -l stdio.h lrwxrwxrwx 1 lferrari lferrari 20 apr 7 14:46 stdio.h -> /usr/include/stdio.h $ ln -s ~/didattica/corsi/fileln file $ ls -l file lrwxrwxrwx 1 lferrari lferrari 37 apr 7 14:50 file -> /home/lferrari/didattica/corsi/fileln $ rm ~/didattica/corsi/fileln $ ls –l file lrwxrwxrwx 1 lferrari lferrari 37 apr 7 14:50 file -> /home/lferrari/didattica/corsi/fileln $ cat file cat: file: No such file or directory

1.10 Attributi di un file I timestamp: a ciascun file sono associate tre date: La data di creazione La data dellultima modifica La data dellultimo accesso Il proprietario: ogni file è di proprietà di un utente del sistema. Il gruppo: a ogni file è anche associato un gruppo di utenti. Il gruppo di utenti più comune si chiama users, ed è spesso condiviso da tutti gli utenti del sistema. I permessi: a ogni file sono associati dei permessi, che stabiliscono chi può accedere a quel file, o cambiarlo, o, nel caso di programmi, eseguirlo. Ciascuno di questi permessi può essere assegnato separatamente al proprietario, al gruppo e a tutti gli altri utenti.

1.11 Attributi di un file Le informazioni riguardanti un file possono essere ottenute utilizzando il comando ls –l. $ ls -l totale 28 drwxrwxr-x 4 lferrari lferrari 4096 mar 27 16:52 Desktop/ drwxrwxr-x 2 lferrari lferrari 4096 mar 21 17:35 didattica/ drwxr-xr-x 2 lferrari lferrari 4096 mar 14 19:21 Documents/ -rwx lferrari lferrari 1999 mar 31 13:25 file* -rw-r--r-- 1 lferrari lferrari 123 mar 31 12:58 file1 drwxrwxr-x 2 lferrari lferrari 4096 mar 21 17:35 ricerca/ drwx lferrari lferrari 4096 mar 14 18:50 tmp/ In aggiunta al nome di ciascun file, mostra il tipo di file, i permessi, il numero di hard links, il nome del proprietario, il nome del gruppo, la dimensione in bytes, e un timestamp, di solito la data dellultima modifica.

1.12 Permessi Tutto in UNIX è gestito tramite files, perfino laccesso alle periferiche (tramite i files in '/dev') quali stampanti, modem, schede audio ecc. Se non si hanno i permessi relativi a un file che rappresenta una periferica, non si può utilizzare quella periferica. Il primo concetto riguardante i permessi è quello di possesso. Il comando chown imposta il proprietario di files e directories (che, di default, è colui che ha creato il file o la directories). Di solito, quando si possiede un file, si può fare ciò che si desidera con quel file. Spesso più di un account necessita di accedere a un file o a una periferica. Cambiare il possesso di tale file ogni volta che qualcunaltro ha bisogno di accedervi sarebbe perlomeno molto spiacevole. Questo è il motivo per cui il possesso è fornito non solo per singoli accounts ma anche per gruppi. I gruppi sono definiti in /etc/group, un elemento di questo file si presenta così: group_name:x:group_ID:group_member

1.13 Permessi Per vedere la lista dei gruppi dei quali il proprio account corrente è membro, si usa il comando $ groups Quindi, se si è membri di un gruppo e quel gruppo possiede dei permessi riguardanti un file, si può lavorare su quel file, anche se non se ne è proprietari. In media un sistema UNIX ha qualcosa come files, e spesso di più. La maggioranza di essi deve poter essere accessibile a tutti gli utenti del sistema, in un modo o nellaltro. Un modo per ottenere ciò potrebbe essere quello di creare un gruppo 'catch-all' che contenga tutti gli accounts del sistema e assegni tutti i file da condividere a questo gruppo. Pertanto, possiamo dividere i permessi sui files in 3 categorie: Permessi del proprietario Permessi di gruppo Permessi per tutti gli altri

1.14 Permessi Loutput del comando ls -l mostra i permessi per un file/directory $ ls -l drwxrwxr-x 4 lferrari lferrari 4096 mar 27 16:52 Desktop/ drwxr-xr-x 2 lferrari lferrari 4096 mar 14 19:21 Documents/ -rwx lferrari lferrari 1999 mar 31 13:25 file* -rw-r--r-- 1 lferrari lferrari 123 mar 31 12:58 file1 drwxrwxr-x 2 lferrari lferrari 4096 mar 21 17:35 ricerca/ drwx lferrari lferrari 4096 mar 14 18:50 tmp/ dove letichetta 'r' sta per lettura, 'w' per scrittura e 'x' per esecuzione. Il primo campo ha tre opzioni, d, l o -, ove d indica una directory, l un link simbolico, e - un file. Gli altri nove campi indicano i permessi per il proprietario, i permessi di gruppo e i permessi per tutti gli altri. Owner | Group | Others = rw- | r-- | r-- ( file1)

1.15 Permessi per le directories I permessi per le directories sono diversi dai permessi per i files. Nelle righe seguenti: drwxrwxr-x 4 lferrari lferrari 4096 mar 27 16:52 Desktop/ drwxr-xr-x 2 lferrari lferrari 4096 mar 14 19:21 Documents/ drwx lferrari lferrari 4096 mar 14 18:50 tmp/ r indica che il contenuto della directory può essere elencato w indica che il contenuto della directory può essere cambiato (copiare, spostare, creare nuovi files) x indica che gli utenti possono eseguire il comando " cd " relativamente a quella directory, nonchè leggere, scrivere, eseguire programmi e fare ricerche nella directory.

1.16 Cambiare le impostazioni dei permessi Il comando chmod permette di cambiare le impostazioni dei permessi di un file/directory. Occorre specificare 3 cifre col comando chmod. Tali cifre stabiliscono su quali permessi si andrà ad agire. La prima cifra determina i permessi per il proprietario, la seconda cifra determina i permessi per il gruppo, e la terza per gli altri. Per cambiare i permessi relativi al file file1 digitare: chmod XYZ file1 ove XYZ rappresenta una terna di cifre, ad es. 666 Ciascuna cifra è la somma di 4 per il permesso di lettura, 2 per il permesso di scrittura e 1 per il permesso di esecuzione. user group others chmod 640 file1 rw- r chmod 754 file1 rwx r-x r-- chmod 664 file1 rw- rw- r--

1.17 Cambiare le impostazioni dei permessi chmod a+rw hello.c chmod o-w hello.c chmod og+rx prog* chmod g=rw rep* chmod +w * Lopzione -R cambia uno dopo laltro i permessi di una directory e dei suoi contenuti. ChiAzionePermesso u = utente pr.+ = aggiung.r = lettura g = gruppo- = cancellarew = scrittura o = altri= = assegn.x = esecuz. a = tutti

1.18 Cambiare i gruppi Se si è membri di parecchi gruppi e si crea un file, qual è il gruppo di appartenenza del file? Sebbene si possa essere membri di più gruppi, soltanto uno di essi è il proprio gruppo effettivo in ogni ben preciso istante. Quando un processo crea un file, tale file viene immediatamente assegnato al proprio gruppo effettivo. Lamministratore del sistema sceglie quale dei gruppi di ciascuno verrà usato come gruppo effettivo della propria shell di login. In ogni caso, ognuno può creare una shell con un gruppo effettivo diverso usando lutility newgrp. $ date > ~/test1 … crea test1 da una shell del gruppo lferrari $ newgrp informatica $ date > ~/test2 … crea test2 da una shell del gruppo informatica ^D $ ls –lg test* -rw-r--r-- 1 lferrari 30 mar 27 16:52 test1 -rw-r--r-- 1 informatica 30 mar 27 16:52 test2

1.19 Il file system proc di Linux Il file system proc non memorizza dati, piuttosto esso crea una directory per ogni processo. Il nome della directory è il PID del processo. $ cd /proc ; ls 1/1023/1089/1111/… 1839/ … 2289/ … $ ps PID TTYTIMECMD 1839pst/ bash 2289pst/ ps Una directory di proc raggruppa le informazioni appropriate riguardanti quel processo (command line, environ strings, status, …). $ cd 1839 ; ls cmdline cwd environ exe fd maps mem mounts stat statm status Pertanto, le directory di proc contengono molte informazioni sulla CPU, sulle partizioni del disco, sulle periferiche,... In molti casi, i file di proc sono utilizzati nei programmi. pstree: mostra le dipendenze fra tutti i processi attivi. kill: termina un processo.

1.20 Mounting Il sistema operativo attacca un file system fisico al proprio file system virtuale tramite il comando mount. Questa operazione è detta mounting e la sintassi del comando relativo è: $ mount –t type device mount-point Esempi: $ mount –t ext2 /dev/hda6 / La partizione di tipo ext2 viene chiamata hda6. ( hd per hard drive, a per il primo di questi, e 6 per la sesta partizione). La documentazione delle periferiche è in /usr/src/linux/Documentation/devices.txt. $ mount –t vfat /dev/hda1 /mnt/windows $ mount –t msdos /dev/fd0 /mnt/floppy $ mount –t iso9660 /dev/hdc /mnt/cdrom Il comando mount è usato dal superutente (root). Il sistema operativo esegue mount –a durante il boot. Questo comando monta i file systems elencati in /etc/fstab. Si può smontare un file system usando umount. umount /mnt/floppy

1.21 Comprimere i files I tipi di file compresso in Linux sono: file.Z – compressi con compress : $ compress file1 $ uncompress file1.Z file.z, file.gz – compressi col programma zip di GNU: zip, gzip. $ gzip huge_file $ gunzip huge_file.gz file.bz2 – compressi con bzip2 $ bzip2 huge_file $ bunzip2 huge_file.bz2 Si può visionare un file in un archivio compresso senza estrarlo, tramite zcat o bzcat. $ zcat huge_file.gz $ bzcat huge_file.bz2

1.22 Archiviare i files Si può usare tar per immagazzinare i files in un archivio, per estrarli da un archivio e per fare altre manipolazioni. La sintassi di tar è: $ tar options tarfilename filelists Alcune opzioni sono: -c creare un archivio -x estrarre da un archivio -t elencare i contenuti di un archivio -v visualizza informazioni aggiuntive -u aggiunge i files nuovi o modificati a un archivio esistente -f usa tarfilename come filename dellarchivio (il nome di tarfilename è /dev/rmt0 di default) Esempio: tar -cvf logfile.tar logs.* tar -tvf logfile.tar tar -xvf logfile.tar tar -cvzf logfile.tar.gz logs.*