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 ?