Systemy Operacyjne SOP121 1. Wst p; Unix/ perspektywa zwykáego u ytkownika 2. Budowa ogólnego systemu operacyjnego (ilustrowane przyk adami rozwi za z konkretnych s.o.) 3. Konkretne systemy operacyjne (administrowanie, programowanie, budowa j a) Unix System V b) Linux Plan wykáadu c) Windows NT/2000/XP dra itp)
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 3. Literatura pomocnicza c.d. wielu autorów, Linux Kernel j wersji 2.0) dro systemu (opis j Tanenbaum, Woodhull, Operating Systems: Design and Implementation (opis ciekawego s.o. MINIX) 4. Dost pne w Internecie : http://main2.amu.edu.pl/~mhanckow (* SOP121 *) Linux-HOWTO Linux-Mandrake Documentation The Linux System Administrators' Guide The Linux Programmer's Guide Literatura Linux Installation and Getting Started The Network Administrators' Guide dra Linux-a w
Definicje s.o.; podstawowe poj cia Co to jest system operacyjny? Â po rednik mi dzy programami u ytkowników a sprz tem...
Definicje s.o.; podstawowe poj cia Co to jest system operacyjny? Â po rednik mi dzy programami u ytkowników a sprz tem... programy nie odwo uj si bezpo rednio do sprz tu, a jedynie za po rednictwem tzw funkcji systemowych s.o. ukrywa szczegó y techniczne sprz programami tu przed s.o. tworzy tzw logiczna (lub wirtualn ) maszyn jest idealizacja maszyny fizycznej (=sprz tu), która
Definicje s.o.; podstawowe poj cia Co to jest system operacyjny? Â Â tworzy rodowisko w którym pracuji programy u ytkownikó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 poj cia Co to jest system operacyjny? Â jest programem sterujicym : 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 dziaáa bez korca ;-); 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 poj cia    Najwa niejsze cele s.o. wykonywanie programów u ytkowników komputer ma byü wygodny w u yciu komputer ma byü wydajnie wykorzystywany tzn ka dy zasób ma powinien by sensownie wykorzystywany mo liwie cz sto i 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 o wygod..., dzi je li s.o. nie marnuje czasu procesora to nasze programy wykonaj si szybciej chodzi te
Unix/ perspektywa u ytkownika (oprócz perspektywy u ytkownika (zwyk ego) jest te perspektywa administratora i programisty...) 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 widzimy terminal tekstowy lub... jest w czone rodowisko graficzne/okienkowe X Windows; wtedy mo na w czy program xterm = emulator terminala tekstowego Logowanie u ywamy us ugi telnet (lub ssh); klient telnetu pokazuje nam okienko terminala tekstowego w terminalu tekstowym mo na wydawa uruchamiania programów... komendy, które s u do
Unix/ perspektywa u ytkownika Logowanie maszyna (komputer) komputerowa sie telnet-u)
/ 0 1, ' -' # ( $ # $ Unix/ perspektywa u ytkownika Uruchamianie programów przy pomocy komend komendy wydaje si w pow oce (ang. shell), która komunikuje si u ytkownikiem poprzez terminal tekstowy... posta komendy: parametry program a b 10 c A B C plik.txt 123 q w e z Co zale y od j dra systemu a co od pow oki lub programu? nazwa komendy pow oki Unixowe: sh, ksh, csh, bash przyk ad sesji z pow ok ' % opcja opcja * # ) )* + # ' w terminalu: xterm-ie) pojedynczy parametr. ki) odpowiedniki programu command.com DOS-u
Unix/ perspektywa u ytkownika def pliku: plik to ci posiada nazw plik mo def katalogu: g bajtów (0..255) trwale zapisany np. na dysku magnetycznym e zawiera dane lub program katalog to tablica której elementami s pod-katalogów); katalog tak posiada nazw Pliki i katalogi e jest trwale zapisany nazwa pliku i katalogu powinna sugerowa nazwy plików i katalogów (tzw jego zawarto np. katalog o nazwie moje obrazki powinien zawiera pliki z grafik
Unix/ perspektywa u ytkownika Pliki i katalogi rysunek przedstawiaj cy przyk adow struktur (w tym wypadku - drzewo katalogów ) katalogów korze (katalog g ówny) usr home mhanckow jkowalski katalog bin prog bin prog prog A ls B plik D C
B>7/ A 7 3 7 / ; 9 8 3 -, # # $ # $ Unix/ perspektywa u ytkownika cie ki do plików lub katalogów: bezwzgl dne /home/mhanckow/bin/prog wzgl dne ka dy proces (=uruchomiony program) ma katalog bie cie cie ka która NIE zaczyna si ka wzgl pozycje. i.. w katalogu X. oznacza katalog X.. oznacza rodzica katalogu X od / jest wzgl dna dna jest obliczana od katalogu bie cego cy... przyk ad prawid owej cie ki u ywaj cej. i.. /home/mhanckow/../jkowalski/bin/../../mhanckow/bin/prog jkowalski/./././bin/../../mhanckow/bin/prog home) %$ (' * +, ) Pliki i katalogi 1 23 / 0. 7 + 465 # (' nazwa pliku (w katalogu macierzystym) 1 : 2 + 9 :?, >1 = : 96< @ 5, $ C>
Unix/ perspektywa u ytkownika pokazane s cie ki bezwzgl Pliki i katalogi dne do plików i katalogów... korze struktury katalogów / usr home /home mhanckow jkowalski katalog /home/mhanckow bin prog bin /home/jkowalski prog A ls B plik /home/mhanckow/prog /home/mhanckow/bin C /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 jkowalski /home/mhanckow bin prog bin /home/jkowalski prog A /home/jkowalski/bin ls B C
Unix - pliki i katalogi struktura katalogów uwzgl dniaj ca pozycje. i... usr / - home... /home mhanckow jkowalski... bin /home/mhanckow prog A
10/ 2 Struktura katalogów w Unixie usr home / mhanckow jkowalski /home /home/jkowalski bin prog qqq /home/mhanckow bin prog -$. - +$, * ( )( '% % $# /home/mhanckow/prog /home/jkowalski/prog /home/jkowalski/qqq/prog A
Montowanie systemu plików w Unixie  system plików VWUXNWXUDNDWDORJyZLSOLNyZUH]\GXMiFD na pojedynczym dysku  globalna struktura katalogów (GSK terminologia MH ) WRVWUXNWXUDNDWDORJyZSRSU]H]NWyUiViGRVW SQHZV]\VWNLH systemy plików naszej maszyny GSK jest pojedynczym systemem plików w którego boot- owania (uruchamiania systemu)  montowanie to umieszczenie jednego systemu plików w pewnym (pod)katalogu globalnej struktury katalogów (GSK)
Montowanie systemu plików w Unixie zmiana struktury katalogów po zamontowaniu nowego systemu plików... a3/c2/d1 Globalna struktura katalogów (GSK) system plików (na drugim dysku) c1 c2 GKS (po zamontowaniu sys. plików) a1 a2 a3 a1 a2 a3 b1 b2 b3 B montujemy A to te jest system plików (pierwotny) d1 d2 c1 c2 d1 A d2
-',? = > = G D L 0 = 9P 4 2 R8Q P 3 = 9 0 = 9P 4 N = 9 0 4 0 1 4 ; = 3 7Q = > = @ = O N ; <= P = 3Q N 1 7:S O = O 8 B4 = = 9 WB 7 3 Pliki specjalne w Unixie )+* $( ' $ #$% dev zapis do tego pliku powoduje zapis ;<: 4689 1 2 4657 123 / 0. /dev/tty01 na terminalu) EKJ # H $ $( $, G# GI $ H F #$ G #EF D * C? ;B 4 B;8 /dev/fd0 bajtów a nie jako struktura katalogów) 1A@ 3 1 2 4657 1 23 2 1 8R BAS 1 @ 3 ; 89 O;7N 4 @ M 7 12 4 57 1 23 /dev/hda1 2 1 8R BAS 1 @ 3 2 ; 8R 1 RS 9 ;O 4 @ T 7 12 4 57 1 23 /dev/hdb3 UV ;O N = 1 2 3 4657 1 23 /dev/cdrom zastosowania plików specjalnych: polecenie fsck (=file system check); naprawianie uszkodzonego systemu plików poprzez modyfikowanie pliku spec partycji dev/tty01 W BAS ;> 7Q N @Q W 2 4 2 ;<: 4 89 1 2 4657 1 23 >< 8 ;>B 3 7 ; 5 7 O 8 3 = 1 2 7P XB ;> 468 3@ 3= 4 2 < 2: 2 7 w XB ;> 7: 468 3@ ; 5 3 O 8 3 1 S Q < X9 O 8N < 4 @ 1 @ N@ Y; BAS OZ 4 1 8 < @ ;
Montowanie systemu plików w Unixie (c.d) Â PRQWXMHVL SU]\SRPRF\SROHFHQLD mount plik_specjalny_sys_plików katalog_montowania mount /dev/fd0 /xxx GSK a1 a2 xxx b1 b2 b3 montujemy system plików /dev/fd0 c1 c2 d1 d2 GSK po zamontowaniu a1 a2 xxx c1 c2 d1 d2
3 21 54 C H N W d Y T c\r ] c QRS P P przydzielenie czasu procesora... oraz innych zasobów Programy, procesy, polecenia w Unixie. program SOLN]DZLHUDMiF\m.in) kod programu kod programu $ /1 *# 0,./ -#,+ )*( $%' # mov mov BX, [2000] add AX, BX ;; AX:=AX + BX mov [3000], AX 5 @9A >? 5= <4 :9; 798 6 LM JK K GIH C D FE D B 9B B O proces = uruchomiony program uruchomienie programu oznacza: d V WQ V Z Vb \Q ^ Ra \ _`S V Z^ Z] \R[ ZRQ V W X WY VW U ST skopiowanie tam kodu programu
Uruchamianie programów w Unixie 3URJUDP\XUXFKDPLDVL SU]\SRPRF\komend wydawanych w SRZáRFH... 3U]\NáDG\NRPHQG program systemowy prog 1 2 3 ls l plik txt cd mój_katalog 3RZáRNLunixa (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
$ # * ( ' ) C L K 54 32?H A C 1 R H : :N 1 ;E 54 <> < 9 AR K <: WWW X 54?> ;E R :N 1 \ 7K <H ]]] Rola zmiennej PATH przy uruchamianiu programów ; i i programy ) % uruchomione przez nasz proces) bash, ksh)... + %. -, export PATH=.:/bin:/usr/bin., 0/ echo $PATH I 7 6? E? 68J I;=D F=G? ;=< E? ;=DC B 7 9? 7 @=A?> > ;=<: 9 687 (oddzielonych znakiem :) E ;I B 7 ;E V ;=<H @ F G B? 7R U TS ;? : 9 P AK? 7 AR Q? H P AP BON M 32 ; C? P 9 D G D I 7 6? E? 6 7 : AK? 7 AR ;? : Q? H P AP B N K 32 F <> > ;=< : 9 E A 7 E Y=A? BO[ YZG 6 N D J9 P K I 7 6? E? V G Y;=< 9 : AK? 7 AR./prog kontra pro g0h `f a e ^db c a `-ab _^ PATH=$PATH:.
2( ' % ' % ' % 1,. % E 7 7 Polecenia (=programy systemowe) Unixa ls, pwd, cd, cp, mv, rm, mkdir, cat, chmod, ln ps, kill, tty polecenie ls - +-., 0. ls -l plik1.txt -rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt data ostatniej modyfikacji +-/. +, * ) ( ) liczba + * ) ( ) 0 #$ prawa do pliku typ pliku (- d b c p l) E6D C 5 F5G C6D 5 @BA >6? 9 ;=< 869: 34657 pliku/katalogu na rysunku
( ' $# % ' 34 15 ; ; Polecenie ls l typ pliku: % ) ' % ) -, + % * ' = < < : 7 < 1 01 # / < $ :5 6 9 80 87 / 4 # 6 $ 12 01.,/
(% ' $% * + Polecenie ls l prawa do pliku: w zapis (katalogi: dodawanie, usuwanie pozycji; zmiana nazwy) x wykonanie programu (katalogi: przechodzenie przez katalog) # + -, + ) 3 / +, 21 + 0 / - /. ls -l plik1.txt -rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt uuugggooo + pliku i jego prawa uuu - user ggg - group ooo - other +, i jej prawa pliku
$ # # 0 0 $ % $ % % # $ #- 1 # # # % # # # #/ 0 # % 333 Prawa do plików w Unixie i ( ' % $ #, $ + * $ ) ) ls -l plik1.txt -rwxr-xr-x 5 aaa bbb 1000 May 20 7:35 plik1.txt uuugggooo + / + pliku plik # + / + ' pliku, $. + uuu $) ) $) + / + 0 ) #/ mam prawa + / + 0 $ * ) + / + 0 ) ggg w przeciwnym wypadku mam prawa ooo + / +. * 2 - )% $ $, UWAGA
u user g group o other a - all $' ( ) '( $% # + dodaj prawa - = Polecenie chmod prawa plik + - = u g o a chmod chmod u=rw plik.txt chmod u=rw,g-r,o-rw plik.txt chmod u+x,go-x moj_katalog
% $ Zastosowania praw do plików mamy 2 : mhanckow, jkowalski mhanckow, jkowalski users, gdzie users jest grup u ytkowników wszystkie pliki i katalogi maj grup w a cicieli users chcemy aby jkowalski mia jakie prawa trzeba nada / usr home /home mhanckow jkowalski prawo zapisu do (A)... plikom i katalogom? r-x r-x prawa dla (users) A /home/mhanckow bin plik.txt --- (--x) --- (-w-) stare nowe prawa bin # #% /home/jkowalski #% #'( ) % *,+ chmod g+x /home/mhanckow chmod g+w /home/mhanckow/plik.txt