Systemy Operacyjne SOP121

Transkrypt

Systemy Operacyjne SOP121
Systemy Operacyjne SOP121
Plan wykadu
1. Wstp; Unix/ perspektywa zwykego uytkownika
2. Budowa “ogólnego” systemu operacyjnego
(ilustrowane przyk adami rozwi za z konkretnych s.o.)
3. Konkretne systemy operacyjne
(administrowanie, programowanie, budowa j dra itp)
a) “Unix System V”
b) “Linux”
c) “Windows NT/2000/XP”
Systemy Operacyjne SOP121
Literatura
1. Literatura podstawowa:
Silberschatz, Galwin, "Podstawy systemów operacyjnych"
(wydanie 3)
2. Literatura pomocnicza:
Stallings, "Operating Systems: Internals and Design Principles"
Bach, "Budowa systemu operacyjnego Unix" (opis "Unix-a
System V")
Kaniewski, Wiermiejczyk, "Po prostu Unix"
Królikowski, Sajkowski, "System operacyjny Unix dla
pocz tkuj cych i zaawansowanych"
Systemy Operacyjne SOP121
Literatura
3. Literatura pomocnicza c.d.
wielu autorów, "Linux Kernel – j dro systemu" (opis j dra Linux-a w
wersji 2.0)
Tanenbaum, Woodhull, "Operating Systems: Design and
Implementation" (opis ciekawego s.o. MINIX)
4. Dostpne w Internecie :
http://main2.amu.edu.pl/~mhanckow (* SOP121 *)
Linux-HOWTO
Linux-Mandrake Documentation
The Linux System Administrators' Guide
The Linux Programmer's Guide
Linux Installation and Getting Started
The Network Administrators' Guide
Definicje s.o.; podstawowe pojcia
Co to jest system operacyjny?
porednik midzy programami uytkowników a
sprztem ...
Definicje s.o.; podstawowe pojcia
Co to jest system operacyjny?
porednik midzy programami uytkowników a
sprztem ...
s.o. ukrywa szczegó y techniczne sprz tu przed
programami
–
s.o. tworzy tzw logiczna (lub wirtualn ) maszyn , która
jest idealizacja maszyny fizycznej (=sprz tu)
–
programy nie odwo uj si bezpo rednio do sprz tu, a
jedynie za po rednictwem tzw funkcji systemowych
–
Definicje s.o.; podstawowe pojcia
Co to jest system operacyjny?
tworzy rodowisko w którym pracuj programy
uytkowników
jest dystrybutorem (lub alokatorem) zasobów
co to s zasoby? np. czas procesora, obszar w
pami ci operacyjnej lub dyskowej, urz dzenia we/wy
–
s.o. przydziela zasoby dzia aj cym programom;
mo e wtedy doj do konfliktu, np. przy przydzielaniu
czasu procesora gdy jest 1 procesor i >1 programów
dzia aj cych wspó bie nie ...
–
Definicje s.o.; podstawowe pojcia
Co to jest system operacyjny?
jest programem sterujcym :
nadzoruje dzia anie programów u ytkowników
(przeciwdzia a b dom, niew a ciwemu u yciu
komputera)
kontroluje i obs uguje urz dzenia we/wy
(np. nadzoruje przesy anie danych mi dzy dyskiem
magnetycznym a pami ci operacyjn )
co to s urz dzenia we/wy ? np. stacje CD, dyski
magnetyczne, drukarki, ekran monitora/ terminal,
mysz, klawiatura, ...
–
–
–
jest programem, który dziaa bez koca ;-);
dok adniej tzw j dro systemu dzia a bez ko ca
(s.o. sk ada si z j dra i z programów systemowych)
–
Definicje s.o.; podstawowe pojcia
Najwaniejsze cele s.o.
wykonywanie programów uytkowników
komputer ma by wygodny w uyciu
komputer ma by wydajnie wykorzystywany
tzn ka dy zasób ma powinien by mo liwie cz sto i
sensownie wykorzystywany
np. czas procesora nie powinien by marnowany
(kiedy jest marnowany? np. gdy procesor czeka na
zako czenie operacji we/wy)
dawniej chodzi o g ównie o wydajno , dzi chodzi te
o wygod ...
je li s.o. nie marnuje czasu procesora to nasze
programy wykonaj si szybciej !!!
–
–
–
–
Unix/ perspektywa uytkownika
Logowanie
(oprócz "perspektywy u ytkownika (zwyk ego)" jest te perspektywa
podczas logowania trzeba poda :
– identyfikator u ytkownika
– has o
– ... i zostaniemy wpuszczeni do systemu
maszyna na której pracujemy mo e by :
– lokalna (= siedzimy bezpo rednio przy niej)
zdalna
u ywamy us ugi "telnet" (lub ssh); klient telnetu pokazuje nam
okienko terminala tekstowego
w terminalu tekstowym mo na wydawa komendy, które s u
uruchamiania programów ...
–
widzimy terminal tekstowy lub ...
jest w czone rodowisko graficzne/okienkowe "X Windows"; wtedy
mo na w czy program xterm = emulator terminala tekstowego
administratora i programisty ...)
do
Unix/ perspektywa uytkownika
Logowanie
maszyna
(komputer)
telnet-u)
sie komputerowa
Unix/ perspektywa uytkownika
Uruchamianie programów przy pomocy komend
komendy „wydaje si ” w pow oce (ang. shell), która komunikuje si z
u ytkownikiem poprzez terminal tekstowy ...
posta komendy:
/
Co „zale y” od
j dra systemu a
co od pow oki lub
programu ?
1
0
parametry
program –a –b 10 –c "A B C" plik.txt 123 ’q w e’
opcja
!
'-
'
&
,
'
&
#
+
*
#
)&
*)
#
"
!
$
$
(
'& &
&%
!
#
"
!
nazwa komendy
pow oki Unixowe: sh, ksh, csh, bash
przyk ad "sesji" z pow ok w terminalu:
xterm-ie)
.
pojedynczy
parametr
opcja
ki)
odpowiedniki
programu
command.com
DOS-u
Unix/ perspektywa uytkownika
Pliki i katalogi
def pliku:
plik to ci g bajtów (0..255) trwale zapisany np. na dysku magnetycznym
posiada nazw
plik mo e zawiera dane lub program
–
–
–
def katalogu:
katalog to tablica której elementami s nazwy plików i katalogów (tzw
pod-katalogów);
katalog tak e jest trwale zapisany
posiada nazw
nazwa pliku i katalogu powinna sugerowa jego zawarto
–
–
–
!!!
np. katalog o nazwie "moje obrazki" powinien zawiera pliki z grafik
–
Unix/ perspektywa uytkownika
Pliki i katalogi
rysunek przedstawiaj cy przyk adow struktur katalogów
(w tym wypadku - drzewo katalogów !!!)
korze
(katalog
g ówny)
home
usr
mhanckow
bin
bin
prog
prog
jkowalski
prog
ls
A
D
katalog
C
B
plik
Unix/ perspektywa uytkownika
Pliki i katalogi
cie ki do plików lub katalogów:
nazwa pliku (w katalogu macierzystym)
bezwzgl dne
/home/mhanckow/bin/prog
–
wzgl dne
>C
A/
7>B
,5 @
7
23
+
:? 9
,
1>
:=
;/
7
6<9
:1
9
38
564
+7
23 1
.
0/
-
,
,+ *
–
ka dy proces (=uruchomiony program) ma katalog bie cy ...
cie ka która NIE zaczyna si od "/" jest wzgl dna
cie ka wzgl dna "jest obliczana" od katalogu bie cego
pozycje "." i ".." w katalogu X
przyk ad prawid owej cie ki u ywaj cej "." i ".."
/home/mhanckow/../jkowalski/bin/../../mhanckow/bin/prog
jkowalski/./././bin/../../mhanckow/bin/prog
home)
"
$ &
#
(
'
&
#
!
)
$
&
$
(
'
&
%$
#
–
#
–
–
"." oznacza katalog X
".." oznacza rodzica katalogu X
–
–
Unix/ perspektywa uytkownika
Pliki i katalogi
korze
struktury
katalogów
cie ki bezwzgl dne do plików i katalogów ...
pokazane s
/
usr
home
/home
mhanckow
/home/mhanckow
bin
prog
katalog
jkowalski
/home/jkowalski
bin
prog
ls
A
/home/mhanckow/prog
/home/mhanckow/bin
C
B
plik
/home/jkowalski/prog
/home/jkowalski/bin/ls
Unix - pliki i katalogi
katalogiem bie cym jest /home/jkowalski/bin
jak wygl da cie ka wzgl dna do pliku A ???
/
usr
home
/home
mhanckow
/home/mhanckow
bin
prog
jkowalski
/home/jkowalski
bin
prog
/home/jkowalski/bin
ls
A
C
B
Unix - pliki i katalogi
.
usr
.
.
..
..
/home
mhanckow
/home/mhanckow
bin
prog
A
/home
struktura katalogów uwzgl dniaj ca pozycje "." i ".."
jkowalski
jkowalski
A
/home/mhanckow/prog
/home/jkowalski/prog
/home/jkowalski/qqq/prog
2
/01
. $
!
-
, +
$
*
(
()
!
bin
&%'
/home/mhanckow
bin
prog
/home/jkowalski
prog
qqq
mhanckow
! %
home
# "
$
/home
usr
!
/
Struktura katalogów w Unixie
Montowanie systemu plików w Unixie
systemu)
–
GSK jest pojedynczym systemem plików w którego
–
system plików na pojedynczym dysku
globalna struktura katalogów (GSK – terminologia MH !)
systemy plików naszej maszyny
boot- owania (uruchamiania
montowanie to umieszczenie jednego systemu plików w
pewnym (pod)katalogu globalnej struktury katalogów (GSK)
Montowanie systemu plików w Unixie
c1
a2
system plików
(na drugim dysku)
Globalna
struktura
katalogów
(GSK)
a1
zmiana struktury katalogów po zamontowaniu nowego systemu
plików ...
a3/c2/d1
a1
c2
a3
d1
montujemy
GKS
(po zamontowaniu
sys. plików)
a2
a3
d2
c1
c2
A
b2
b3
d1
to te jest
system plików
(pierwotny)
!
b1
B
A
d2
;Y
W
B
B
O
7:
864
@3
3
BX
>;
5;
83 O
BX
@
>;
<!= >
NO
8
7B
3
7
5;
3
1
=O
8
2
7
4
>;
1
W
SAB
Q
@Q
N
23 1
23 1
23 1
!231
1
4
2
8R 1
=
P9
ASB
@3 1
2
8R ;
SR
9
2
8R 1
=
P9
4
ASB
@3 1
2
Q 8R
P
3
89 ;
N7 O
;
NO
;
VU
@4
@4
;
=
9
7M
NO
T
!21
57 4
9
=
7
!21
57 4
4
=
3
21
6574
23 1
?C
B;
"
$
G
#
dev/tty01
–
w
L
!KJ E
"
$H
($
G
#
!IG
D
FH
!$#
G
!F#E
D
,$
*
4
8 B;
@A3 1
21
7654
=
?
=>
:!<;
9684
21
7654
/dev/hda1 –
/dev/hdb3 –
/dev/cdrom –
S 1
P
7
7
2W
;
S:
Q7
24
=
=>
<!: ;
89 4
21
567 4
864
–
=3
>;
;
1
23 1
/dev/fd0 –
bajtów a nie jako struktura katalogów)
=O
Q<
8
9!4X
=
<
=
3
=<
@3
P
24
<
2:
=
Q3
N
2
0
0
0
/dev/tty01 –
na terminalu)
0
0
/
.
,
"
+*)
($
'-
&'
% !$#
"!
$
dev
N8 O
@4
=
9
7
@3 1
@N
Z!O
SAB
@4
<
81
–
;
7
Pliki specjalne w Unixie
zapis do tego pliku powoduje zapis
zastosowania plików specjalnych:
polecenie "fsck" (=file system check); naprawianie uszkodzonego
systemu plików poprzez modyfikowanie pliku spec partycji
Montowanie systemu plików
w Unixie (c.d)
mount plik_specjalny_sys_plików katalog_montowania
mount /dev/fd0 /xxx
system plików
/dev/fd0
GSK
a1
a2
GSK
po zamontowaniu
xxx
c1
a1
c2
c1
montujemy
d1
b1
b2
b3
a2 xxx
d2
c2
d1
d2
Programy, procesy, polecenia
w Unixie.
3
12
/1 $
*
#
0
#-
(
#
!
5
A9@
?>
5=
4<
;9:
6
897
mov
mov BX, [2000]
add AX, BX ;; AX:=AX + BX
mov [3000], AX
45
&/.,
+,
&*)
' &%$
"!
kod programu
–
program m.in) kod programu
proces = uruchomiony program
P
skopiowanie tam kodu programu
przydzielenie czasu procesora ... oraz innych zasobów
V
d
T d
W
Y
c
R\
QW
Z V
]
b&c V
Q
\
^
aR
S `&_
\
]
Z
[R\
QRZ
W V
WY X
W&V
^Z V
S
T
P
S QR
U
uruchomienie programu oznacza:
B ML
K
HIG
H
O
N
KJ
C
D
EF
B D
C
B9
–
!
komend
wydawanych w ...
program systemowy
"
"
prog 1 2 3
ls –l plik txt
cd mój_katalog
Uruchamianie programów w Unixie
unixa (od najstarszej):
sh, csh, ksh, bash
Parametry (argumenty) komend:
prog –a –b –par 123 plik.txt plik2.txt ABC
nazwa pliku z programem
lub komendy wbudowanej
opcje,
inne parametry
]
]
PATH=$PATH:.
a
`f
c
h0g
e
b ^d
a
b a-`
^_
K
\
7 I
? 6
? E
K7
H<
G V
Y
<=;
YZ
K
><
>
45
23
F
< ;
=
:
? ;
:
? Q
H
N:
P
PA
N B
9
>?
;
E
W
W
W
><
C?
P
9
D
9<
RA
G
D
K
;
E
45
23
;
7 I
A E
R
? 6
? E
7 6
:
:<
?
KA
7
RA
E
7
?
A Y
=
[ B
O
G
N 6
D
9J
X
1
9
P
U
@
;
E
R
E
;
I
7 B
V
< ;
=
H
H
G F
? B
R7
:
?
KA
7
RA
ST
? ;
:
? Q
H
N:
P
PA
N B
O
M
1
C
C
=
A @
=
< ;
8
J 6
I
=
D ;
=
G F
K
L
7 I
? 6
? E
?H
?
A
=
< ;
? E
=
D ;
7 B
7
>?
>
:
9?
C
9
8
7 6
45
23
.
,
/0
-
,
.
& )
+
&
&
%
&
'
*
)
!
%
&
(
$
#
!
"
i
]
P
9
:
?
KA
7
RA
1
Rola zmiennej PATH
przy uruchamianiu programów
;
i programy
uruchomione przez nasz proces)
bash, ksh) ...
export PATH=.:/bin:/usr/bin
echo $PATH
(oddzielonych znakiem ":")
./prog kontra pro
Polecenia (=programy systemowe) Unixa
ls, pwd, cd, cp, mv, rm, mkdir, cat, chmod, ln
ls -l plik1.txt
-rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt
C
5
F
pliku/katalogu na rysunku
6DE
+"
*"
/.+"E
G5
7
)"
,+
! '
%
)(
6DC
%
AB@
5
6?>
9
=<;
7
69:8
76534
.
1,
0"
%
&
liczba
$! # "
prawa
do pliku
typ pliku
(- d b c p l)
! '
%
)(
)"
*"
data ostatniej
modyfikacji
,
. +"-
(2
.
0'
polecenie "ls -
ps, kill, tty
–
#
6
08
78
4
<
: <
;
" 7
1 <
10
$ <
/
;"
5:
!
/
#"
$ 6
51
=
9
'
–
)
% +
-
,
%
*
%
)
'
'
!"
&%
'
#$
–
43
10
(
–
21
"
,
/ .
Polecenie "ls –l"
typ pliku:
–
–
Polecenie "ls –l"
prawa do pliku:
–
'
+
-
,
%(
&
"
"
!
&
*
+
)
%$
#
!
"x" wykonanie programu (katalogi: przechodzenie przez katalog)
"
–
"w" zapis (katalogi: dodawanie, usuwanie pozycji; zmiana nazwy)
–
–
+
ls -l plik1.txt
-rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt
uuugggooo
i jego prawa
pliku
+
,
i jej prawa
pliku
"uuu" - user
"ggg" - group
"ooo" - other
3
+
/
+
,
12 +
0
/
- /
.
–
3
3
3
!
%
)
0
#
+ + /
* 2
"
"
.
"
"
"
0
#
/
0
#
#
#
!
#
+ + /
$
&
!%
*
)
+ + /
)
0
#
/
&
)$
)
!
)$
1
#
#
+ + /
"
"
)
&
$
,
"!
!
%
!$
"
.
#
-
#
" '
"!
$
&
%
"
0
#
+ + /
$
&
%
"!
"
#
+ + /
0
$
&
(
" '
"!
#
%
"
!$
,
#
+
"!
$
*
$
)
)
i
-
$
&
%
"
&
$
UWAGA
,
–
–
+ !
Prawa do plików w Unixie
ls -l plik1.txt
-rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt
uuugggooo
pliku
plik
pliku
uuu"
"ggg"
– w przeciwnym wypadku mam prawa "ooo"
mam prawa
!
( $'
)
!
$%
"+" – dodaj prawa
"-" –
"=" –
&"
('
"u" – user
"g" – group
"o" – other
"a" - all
prawa plik
chmod u=rw plik.txt
chmod u=rw,g-r,o-rw plik.txt
chmod u+x,go-x moj_katalog
+
=
#"
u
g
o
a
chmod
Polecenie "chmod"
: mhanckow, jkowalski
mamy 2
Zastosowania praw do plików
mhanckow, jkowalski ∈ users, gdzie users jest grup u ytkowników
wszystkie pliki i katalogi maj grup w a cicieli users
chcemy aby jkowalski mia prawo zapisu do (A) ...
/home/jkowalski
/home/mhanckow
plik.txt
--- (-w-)
stare nowe
prawa
,
+ *
%
% )
"
(#
' #
% &
" $"
#
% bin
#
" !
--- (--x)
A
jkowalski
bin
mhanckow
chmod g+x /home/mhanckow
chmod g+w /home/mhanckow/plik.txt
(users)
r-x
/home
home
usr
prawa dla
/
r-x
jakie prawa trzeba nada plikom i katalogom ?

Podobne dokumenty