Presentazione del corso - A.A. 2003-2004
Prof. Marco Lapegna
• gruppo 1 - cognomi A
Co
• tel. 081 675623
• studio 155 DMA (VI liv.)
• http://www.docenti.unina.it/marco.lapegna
Avviso importante
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 2
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 1
Laboratorio di Sistemi Operativi – I parte
Fornire metodologie e strumenti per lo sviluppo
di applicazioni in ambiente UNIX, fornendo i
fondamenti delle interfacce di programmazione
standard e delle system call a UNIX
Rapporto teoria/pratica = 1:2
• riconosciuti 8 crediti
• borsa di studio finale 500 Euro
• iscriversi elettronicamente sul sito
http://www.unina.it e leggere bene il bando
• scadenza bando OGGI ALLE 17.00
Bibliografia
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 4
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 3
Obiettivi del corso
• corsi di base ICT universita’ – regione campania
Sistemista LINUX
• Kerninghan , Ritchie – Linguaggio C –
Jackson libri
• McGilton , Morgan – il sistema operativo
UNIX – McGraw Hill
• Stevens – Advanced programming in the
Unix environment – Addison Wesley
• Programmazione + lab. A e B
• Architettura degli elab. + lab. A e B
• conoscenza del linguaggio C
Ma soprattutto …
• seguire i corsi
Esame
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 6
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 5
Prerequisiti consigliati
Inviare una e-mail con
• subject: LSO: ISCRIZIONE
• testo: nome , cognome , matricola
All’indirizzo [email protected]
Orale congiunto con il corso di Sistemi Operativi
Voto:
– prova pratica LSO
– scritto SO
– orale SO + LSO
1 voto
9 crediti
RICHIESTE di cambio di gruppo
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 8
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 7
Iscrizione al corso
Prova di laboratorio
Inviare una e-mail entro il 23/3
• subject: LSO: CAMBIO GRUPPO
• testo: nome , cognome , matricola
dal gruppo x al gruppo y
All’indirizzo [email protected]
Se il saldo tra gli studenti uscenti e quelli
entranti e’ minore del 10% del numero di
iscritti, i cambi saranno accettati e
comunicati via e-mail
Chi ha mai usato un computer senza
sistema operativo?
Un sistema operativo e’ un software che
agisce da intermendiario tra utente e hardware
Compiti di un sistema operativo
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 10
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 9
Cosa e’ un sistema operativo
Software applicativo
Sistema operativo
hardware
Strumento indispensabile nella risoluzione
di problemi reali con il calcolatore
Cosa fa un sistema operativo
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 12
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 11
Ruolo del sistema operativo
• permettere l’esecuzione dei programmi
degli utenti
• rendere semplice l’uso del calcolatore
• permettere un uso efficiente dell’hardware
Tutti i sistemi operativi forniscono servizi
Esempi:
• Eseguire un programma,
• Aprire un file,
• Allocare la memoria
…
Shell
Dopo la fase di login si
interagisce con un
interprete dei comandi
(shell)
shell
Una shell è un interprete
che accetta l'input
dell'utente ed esegue i
comandi.
kernel
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 14
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 13
Fase di login
Classi di comandi di Unix
Tra le shell più utilizzate ci sono:
•La Bourne shell, /bin/sh
•La C shell, /bin/csh
•La Korn shell, /bin/ksh
•La Basic shell, /bin/bash
Ciascun utente ha una shell
che viene attivata di default.
Formato dei comandi
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 16
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 15
>> comando [ argomento ...]
!
Esempio
>> ls -l –F file1 file2 file3
Forme equivalenti:
>> ls -F -l file1 file2 file3
>> ls -lF file1 file2 file3
>> ls -Fl file1 file2 file3
Sezioni del manuale
" #$
&
'
%
(
%
man
)
*
)
+
!
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 18
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 17
Comando man
>> man [ opzione...] titolo...
Visualizza le pagine del manuale specificate
mediante i suoi parametri
-s permette di specificare la sezione
7
6
5
3
2
1
0
-
Contenuti
4
/
/
,
(
.
+
(
/
,
esempio
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 20
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 19
Il comando man
Sezione
%man
%manwho
who
....
....
%man
%man-s
-s22kill
kill
....
....
%man
%man-s
-s22intro
intro
Note:
• Se il numero di sezione non è specificato, viene
selezionata la prima occorrenza
• Ogni sezione o sottosezione inizia con una
pagina chiamata intro
man(1)
man(1)
NAME
NAME
man
man- -format
formatand
anddisplay
displaythe
theon-line
on-linemanual
manualpages
pages
manpath
manpath- -determine
determineuser's
user'ssearch
searchpath
pathfor
forman
manpages
pages
SYNOPSIS
SYNOPSIS
man
man [-acdfFhkKtwW]
[-acdfFhkKtwW] [-m
[-m system]
system] [-p
[-p string]
string] [-C
[-C conconfig_file]
fig_file][-M
[-Mpath]
path][-P
[-Ppager]
pager][-S
[-Ssection_list]
section_list][section]
[section]
name
name......
DESCRIPTION
DESCRIPTION
man
man formats
formats and
anddisplays
displaysthe
theon-line
on-linemanual
manualpages.
pages. This
This
version
versionknows
knowsabout
aboutthe
theMANPATH
MANPATHand
and(MAN)PAGER
(MAN)PAGERenvironment
environment
variables,
variables,so
soyou
youcan
canhave
haveyour
yourown
ownset(s)
set(s)of
ofpersonal
personalman
man
pages
pagesand
andchoose
choosewhatever
whateverprogram
programyou
youlike
liketo
todisplay
display the
the
formatted
formatted pages.
pages.
<omissis>
<omissis>
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 22
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 21
%
%man
manman
man
man(1)
man(1)
OPTIONS
OPTIONS
-C
-C config_file
config_file
Specify
Specify the
the man.conf
man.conf file
fileto
touse;
use;the
thedefault
defaultisis
/etc/man.config.
/etc/man.config. (See
(Seeman.conf(5).)
man.conf(5).)
<omissis>
<omissis>
OPERANDS
OPERANDS
The
Thefollowing
followingoperand
operandisissupported:
supported:
name
name
AAkeyword
keywordor
orthe
thename
nameof
ofaastandard
standardutility.
utility.
USAGE
USAGE
Manual
ManualPage
PageSections
Sections
Entries
Entriesin
inthe
thereference
referencemanuals
manuals are
are organized
organized into
into secsections.
tions. AA section
section name
name consists
consistsof
ofaamajor
majorsection
sectionname,
name,
typically
typicallyaasingle
singledigit,
digit,optionally
optionallyfollowed
followedby
by aa subsecsubsection
tion name,
name, typically
typically one
one or
or more
moreletters.
letters.
<omissis>
<omissis>
<omissis>
<omissis>
EXIT
EXITSTATUS
STATUS
The
Thefollowing
followingexit
exitvalues
valuesare
arereturned:
returned:
00
>0
>0
Successful
Successfulcompletion.
completion.
An
Anerror
erroroccurred.
occurred.
FILES
FILES
/usr/share/man
/usr/share/man
root
rootof
ofthe
thestandard
standardmanual
manual
page
pagedirectory
directorysubtree
subtree
<omissis>
<omissis>
SEE
SEEALSO
ALSO
apropos(1),
apropos(1), cat(1),
cat(1), col(1),
col(1), eqn(1),
eqn(1), more(1),
more(1), nroff(1),
nroff(1),
refer(1),
refer(1), tbl(1),
tbl(1), troff(1),
troff(1), vgrind(1),
vgrind(1), whatis(1),
whatis(1),
catman(1M),
catman(1M),attributes(5),
attributes(5),environ(5),
environ(5),eqnchar(5),
eqnchar(5),man(5)
man(5)
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 24
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 23
Gestione delle directory
ENVIRONMENT
ENVIRONMENT
See
Seeenviron(5)
environ(5)for
fordescriptions
descriptionsof
ofthe
thefollowing
followingenvironment
environment
8
pwd
cd
$
ls
du
8
mkdir
rmdir
ln
…
8
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 27
9
8
%pwd
%pwd
/usr
/usr
%cd
%cd
%pwd
%pwd
/usr/lapegna
/usr/lapegna
%
%
9
$
Esempio:
%
%pwd
pwd
lapegna
/usr/lapegna
/usr/lapegna
%
%
%cd
%cd/usr
/usr
lapegna
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 26
pwd
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 28
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 25
Il comando pwd
Il comando cd
esempio
cd [ directory]
9 $
9
9
8
$
)
8
)
%
Il comando ls
ls [ options][ directory...]
9
!
%
9
9
esempio
$
-s
!
:
-t
!
!
-1
.
-F
-R
;
$
:
-i
<
••••
Il comando du
(
99
:
-a 9
Esempio
%
%lsls-a
-a
...cshrc
.cshrc.mailrc
.mailrcdir1
dir1
.....login
.login.sh_history
.sh_historyfile1
file1
9!
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 32
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 31
I file nascosti
%
%
%
%lsls
dir1
dir1file1
file1
%
%lsls-s
-s
total
total4422 dir1
dir122file1
file1
%
%lsls-t-t
file1
file1dir1
dir1
%
%lsls-1
-1
dir1
dir1
file1
file1
%
%lsls-F
-F
dir1/
dir1/file1
file1
%
%lsls-R
-R
dir1
dir1file1
file1
./dir1:
./dir1:
file1
file1file2
file2file3
file3file4
file4
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 30
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 29
Opzioni del comando ls
du [ options][ name...]
9
8
9
$
!
name
-s
)
%
Il comando mkdir
mkdir directory...
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 34
%
%du
du
22./dir1
./dir1
22./dir2
./dir2
14
14..
%
%du
du-s
-s....
198812
198812....
%
%
9
8
9
.
%
% mkdir
mkdir dir1
dir1 dir2
dir2
%
%lsls
dir1
dir1dir2
dir2
%
%
Il comando ln
rmdir directory
ln name1 name2
9
9
.
Esempio:
.
%
%rmdir
rmdirdir
dir
rmdir:
rmdir:dir:
dir:Directory
Directorynot
notempty
empty
%
%ls
lsdir
dir
aa
%
%rm
rmdir/a
dir/a
%
%rmdir
rmdir dir
dir
%
%
.
Esempio
Il comando rmdir
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 36
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 35
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 33
esempio
9
89
! name1% $
Esempio
%
%ln
ln bb dd
%
%
8! name2
=
Numero di link
ln name1 name2
•
name2 )
%
name2/name1
Esempio
%
%ln
lnbbcc
%
%
)
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 38
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 37
Il comando ln (cont.)
%
% mkdir
mkdir dir
dir
%
%touch
touchfile
file
%
%lsls-l-l
total
total22
drwxr-sr-x
drwxr-sr-x22lapegna
lapegnastaff
staff 512
512Mar
Mar11
11 19:40
19:40 dir
dir
-rw-r--r--rw-r--r-- 11lapegna
lapegnastaff
staff 00Mar
Mar 11
1119:40
19:40file
file
%
%ln
lnfile
filenuovo
nuovo
%
%lsls-i-i
199742
199742dir
dir 51204
51204file
file51204
51204nuovo
nuovo
:
:
$
Esempio
?
8 ls -l
Esempio
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 40
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 39
esempio
>
%
%lsls-l-l
total
total22
drwxr-sr-x
drwxr-sr-x22 mariog
mariog staff
staff 512
512Mar
Mar11
11 19:40
19:40 dir
dir
-rw-r--r--rw-r--r-- 22 mariog
mariogstaff
staff 00Mar
Mar 11
1119:40
19:40 file
file
-rw-r--r--rw-r--r-- 22 mariog
mariogstaff
staff 00Mar
Mar 11
1119:40
19:40nuovo
nuovo
%
%ln
lnfile
filedir
dir
%
%lsls-l-ldir
dir
total
total00
-rw-r--r--rw-r--r-- 33 mariog
mariogstaff
staff 00Mar
Mar 11
1119:40
19:40file
file
%
%ln
lndir
dir nuovissimo
nuovissimo
ln:
ln:dir
dirisis aadirectory
directory
%
%
1
Link simbolici
@
8
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 42
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 41
Note
$
$
A
)
8
( 8
B
$
Link simbolici
%
%lslsdir
dir
file1
file1file2
file2
%
%ln
ln-s
-sdir
dirnuovadir
nuovadir
%
%lslsnuovadir
nuovadir
file1
file1file2
file2
Esempio
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 44
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 43
dir
dir
dir
dirnuovadir
nuovadir
?
8
8
$
C
name2 $
8
$
name1!
Link simbolici
%
%lsls
%
%lsls
ln -s name1 name2
%
%lsls-l-l
total
total44
drwxr-sr-x
drwxr-sr-x22 mariog
mariog staff
staff 512
512Mar
Mar11
11 19:24
19:24 dir
dir
lrwxrwxrwx
lrwxrwxrwx11 mariog
mariog staff
staff 33Mar
Mar11
11 19:24
19:24 nuovadir
nuovadir ->
->dir
dir
%
%
Esempio
1
m
cp
rm
:
touch
.
find
...
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 46
mv
Il comando mv
mv [ options] name...target
9
9
name
target
name
target
target
Il comando mv
Il comando mv
%
%lsls
%
%lsls
file1
file1file2
file2targetdir
targetdir
%
% mv
mv file1
file1file2
file2targetdir
targetdir
%
%lsls
targetdir
targetdir
%
%lslstargetdir
targetdir
file1
file1file2
file2
%
% mv
mv targetdir/file1
targetdir/file1targetdir/file2
targetdir/file2..
%
%lsls
file1
file1file2
file2targetdir
targetdir
Esempio
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 48
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 47
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 45
Gestione dei file
%
name
file1
file1file2
file2file3
file3targetfile
targetfile
%
% mv
mv file1
file1targetfile
targetfile
%
%lsls
file2
file2file3
file3targetfile
targetfile
%
% mv
mv file2
file2file3
file3targetfile
targetfile
mv:
mv:Target
Targettargetfile
targetfile must
mustbe
be aa directory
directory
Esempio
Usage:
Usage: mv
mv [-f]
[-f][-i]
[-i]f1
f1f2
f2
mv
mv [-f]
[-f][-i]
[-i]f1
f1...
...fn
fnd1
d1
mv
mv [-f]
[-f][-i]
[-i]d1
d1d2
d2
1
Il comando cp
%
%lsls
file1
file1file2
file2
%
% mv
mv file1
file1file2
file2target
target
mv:
mv:target
target not
notfound
found
%
% mv
mv file1
file1target
target
%
%cat
cattarget
target
Esempio
contenuto
contenutodi
difile1
file1
%
%
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 50
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 49
Il comando mv
9
)
%
D
E
F
-r
B
9
mv%
name
Esempio
touch [ options][ time] filename...
rm [-r] name
9
9
%
%lsls
file1
file1file2
file2targetdir
targetdir
%
%cp
cpfile1
file1file2
file2targetdir
targetdir
%
%lsls..targetdir
targetdir
.:.:
file1
file1file2
file2targetdir
targetdir
targetdir:
targetdir:
file1
file1file2
file2
%
%cd
cd targetdir
targetdir
%
%lsls
file1
file1file2
file2
%
%cp
cpfile1
file1targetfile
targetfile
%
%lsls
file1
file1 file2
file2 targetfile
targetfile
%
%
Il comando touch
%
G
$
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 52
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 51
Il comando rm
cp [ options][ name...] target
D
D
-am!
-a!
)
time
D
-m!
%
D
%
Esempio:
%
%touch
touch 01281738
01281738file1
file1
%
%lsls-l-l
total
total00
----r--r-----r--r--11 mariog
mariog staff
staff 00Jan
Jan28
28 17:38
17:38 file1
file1
1
Metacaratteri
$
$
%
%lsls
Esempio:
gianni
giannigiorgio
giorgio laura
laura mario
mario
%
%rm
rmg*
g*
%
%lsls
laura
laura mario
mario
%
%rm
rm**
%
%
Es. rm file?
Es. rm file*
B
$
[...]
!
!
[]
Es. rm file[123]
rm file[a-z]
(
)
N.B.
99
%
J
K
$
pathnameE!%
expression
,
%
%
%
%
%
.
%
%
=
I
%
8%
E!
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 56
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 55
I
B
Esempio
find pathname ... [ expression]
%
H
*
Il comando find
%
B
?
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 54
Marco Lapegna – Lab. di Sistemi Operativi I - Introduzione - 53
4
Metacaratteri
8
!
I
)
a.out
0
find . -name a.out -atime +7 -exec rm {} \;
.
-name a.out
0
-atime +7
-exec rm {} \;
rm
J*
!
1
Scarica

1 Laboratorio di Sistemi Operativi