Administracja Sieciowymi systemami operacyjnymi.
Wykład 1
Przykładowa konfiguracja systemu komputerowego
Terminale
Serwer
----------
Jednostka centralna (PCU)
|######| Pamięć
|######| Dyski
----------
Sieć
Drukarki
Użytkownicy
Konsola
Administrator
System operacyjny: program zarządzający pracą komputera. Zadania użytkownika wykonywane są jako procesy obsługiwane przez system operacyjny. System przydziela procesom zasoby komputera: dostęp do jednostki centralnej, pamięć, dyski, i inne.
Administrator – osoba odpowiedzialna za sprawne działanie i bezpieczeństwo systemu.
Zakłada konta użytkowników systemu. Służy pomocą i radą.
UŻYTKOWNIK
powłoka
programy systemowe
programy użytkowe
(shell)
(polecenia)
Interfejs programów użytkowych – odwołania do systemu
(API – application program Interface)
Jądro (kemel)
zarządzanie procesami
zarządzanie pamięcią
zarządzanie systemem plików
sterowanie sprzętem (programy obsługi sprzętu)
SPRZĘT
1
Ken Thompson, Ruddy Canaday, Joe Ossana opracowali pierwszy system UNIX.
Założenia: mały, ogólnego przeznaczenia, pracujący z podziałem czasu system operacyjny na minikomputerze PDP.
Cel budowy systemu: system operacyjny opracowany przez programistów dla programistów.
Podstawowe założenie: użytkownik wie co robi.
1973
4-ta edycja systemu AT&T, jądro systemu i Shell napisane w języku C opracowanym przez Denisa Ritchi.
1975
Zainteresowanie systemem UNIX na uniwersytetach
Dlaczego UNIX stał się popularny?
mały, elastyczny, tani, dostępny na komputerach od micro do super komputerów
właściwości zazwyczaj dostępne tylko w dużych systemach operacyjnych
architektura wieloprocesowa, inicjowanie asynchronicznych procesów
hierarchiczny system plików
1975
Uniwersytet Kalifornijski
Początek prac nad systemem UNIX w Uniwersytecie Kalifornijskim w Berkeley Berekley Software Distribution (UNIX BSD)
lata 80-te
Różne komercyjne wersje Unixa
1985
System V Interface Definition
1986
4.3 BSD
Duże firmy komputerowe zaczęły tworzyć własne systemy, zgodne z systemem UNIX.
Systemy te łączyły w sobie cechy systemów AT&T oraz BSD.
Prace nad standardami – założenie Open System Fundation.
Nazwy systemu UNIX w różnych fimach
AT&T
UNIX
Apollo
DOMAIN/IX
IBM
AIX
Apple
A/UX
Microsoft
Xenix
Berkeley
BSD
SUN
SunOS, Solaris
DEC
Ultrix
Zilog
Zeus
HP
HP-UX
Sta Cruz
UNIX SCO
Próba standaryzacji – UNIX System V Interface Definition (SVID)
1985
AT&T opublikowało definicję opisu jądra systemu operacyjnego, interfejsu z terminalem, rozwiązań sieciowych i programów usługowych.
2
Cele standaryzacji
Budowa systemów tzw. ‘’otwartych’’, charakteryzujących się:
przenośnością aplikacji (portability)’
możliwością współpracy oprogramowania działającego na różnych maszynach (interoperability),
skalowalnością (scalability), tj. możliwością rozbudowy sprzętowej i aplikacji bez konieczności zmian systemu.
Istota standardu: określenie interfejsu, a nie implementacji.
Niektóre standardy i instytucje standaryzujące
SVID – standard firmy AT&T – pierwsza próba standardu interfejsu systemu operacyjnego.
POSIX – standard sponsorowany przez Instytut IEEE (Instytut of Electrical and Electronics Engineering). Prace nad tym standardem obejmują: interfejs systemu, programy shell, metody testowania zgodności danego systemu ze standardem, pracę w sieci, zagadnienia ochrony i inne.
OSF (Open System Fundation) stowarzyszenie wiodących firm; HP, IBM, DEC i innych, zajmujące się promocją systemów otwartych. Opracowany został standard OSF/Motif.
Aktualne prace obejmują między innymi: Distributed Computing Environment –
przetwarzanie w środowisku rozproszonym, Distributet Management Environment – centralne zarządzanie sieciami heterogenicznymi.
ISO – International Standard Organization – koordynuje tworzenie i stosowanie standardów w skali międzynarodowej. Wprowadziła siedmiowarstwowy model odniesienia OSI (Open System Interconection) dotyczący pracy w sieciach komputerowych.
System wielodostępny
wielu użytkowników pracujących z jednym
(ang. multiuser)
komputerem, każdy ma wrażenie samodzielnej
pracy
Praca interakcyjna
użytkownik wprowadza polecenie z terminala, UNIX
(ang. interactive)
wykonuje polecenie, wyświetla wyniki i czeka na nowe
polecenie
System wielozadaniowy
każdy użytkownik może uruchomić jednocześnie wiele
(ang. multitasking)
programów
Zapewnia bezpieczeństwo
każdy plik ma określone prawa dostępu; każdy
(ang. security, privacy)
użytkownik ma swój obszar na dysku
Niezależny od urządzeń
każde urządzenie stanowi plik systemu UNIX
System we/wy
(ang. device independet I/O)
3
Komunikacja między procesami aplikacje mogą wzajemnie się ze sobą komunikować (ang. interprocess communication)
System sieciowy
wbudowane oprogramowanie umożliwiające pracę w
(ang. networking)
sieci
Polecenie/Program użytkowy
polecenie jest programem użytkowym, można samemu
( commands/utilities)
je pisać
Interpretator poleceń
program użytkowy jak inne; można go zmienić
(ang. shell)
W skład systemu UNIX wchodzą tradycyjnie następujące części:
Jądro
Właściwy system operacyjny.
(ang. kernel)
Jądro zarządza zasobami systemu. Stanowi właściwy
system operacyjny.
System plików
Program odpowiedzialny za przechowywanie i
(ang. file system)
odszukiwanie plików.
Z punktu widzenia użytkownika system plików jest
Jednorodny, nie widać dysków i/lub partycji.
Interpretator poleceń
Program odpowiedzialny za czytanie, interpretowanie i
(ang. shell)
rozpoczynanie wykonywania poleceń wprowadzanych z
terminala.
W systemie jest zazwyczaj kilka shelli. Użytkownik
Decyduje, z którą z nich chce pracować.
Programy narzędziowe
Programy ułatwiają pracę w systemie.
(ang. utilitles)
Struktura systemu operacyjnego
System składa się z podsystemów wykonujących zadania:
Zarządzanie procesami: tworzenie, usuwanie, zawieszanie, odwieszanie procesów, mechanizmy synchronizacji procesów,
komunikacja między procesami.
Zarządzanie pamięcią: zarządzanie pamięcią główną, obszarem wymiany (swap), pojęcie pamięci wirtualnej.
Zarządzanie plikami: tworzenie, usuwanie plików i katalogów,
elementarne operacje z plikami i katalogami, operacje mapowania.
Zarządzanie przestrzenią dyskową: zarządzanie wolną przestrzenią dysków, 4
procesami zapisywania informacji na dysku,
szeregowanie zadań zapisu i odczytu.
Zarządzanie operacjami we/wy: obejmuje podsystem buforowania,
Interfejs: urządzenie-sterownik, sterowniki urządzeń.
System ochrony: ochrona procesów przed działaniem innych procesów, mechanizmy zapewniające, że pliki, segmenty pamięci, CPU, inne zasoby są
udostępnione tylko tym procesom, które mają autoryzacje systemu
operacyjnego. Ogólnie: mechanizmy kontroli dostępu programów,
procesów, użytkowników do zasobów systemu komputerowego.
Praca sieciowa:
ulgi umożliwiające komunikację w sieci, pojęcie systemów
Rozproszonych.
Konto użytkownika
Unix jest systemem wielodostępnym, w którym jednocześnie może pracować wielu użytkowników.
Każdy użytkownik ma swoje konto w systemie (ang. account). Konto zakłada administrator systemu. Z kontem związane są uprawnienia do korzystania z zasobów systemu.
Dostęp do konta jest kontrolowany przez hasło (ang. password).
Dwa podstawowe typy kontroli:
konto użytkownika (ang. user)
-
przydzielane przez administratora systemu każdemu, kto chce pracować w systemie;
-
użytkownik ma ograniczony zakres działań, które może wykonywać;
-
jest właścicielem swoich plików i uruchomionych programów;
-
w systemie istnieje dowolnie wiele kont użytkowników tworzonych w miarę napływu zgłoszeń;
konto uprzywilejowane (ang. superuser account, root account)
-
konto, którego właściciel ma dostęp do wszystkich działań, plików i uruchomionych programów;
-
używane jest do prowadzenia prac administracyjnych;
-
często określane jest mianem konto super użytkownika lub konto administratora.
Przed rozpoczęciem pracy przez użytkownika administrator sytemu musi mu założyć konto, czyli określić:
identyfikator użytkownika (ang. login id, login name, user name, account) hasło (ang. password)
katalog osobisty użytkownika (ang. home directory) shell (ang. login shell) lub inny program obsługujacy sesję użytkownika Dodatkowo administrator określa środowisko pracy użytkownika ( na przykład sposób sygnalizowania przez Unix gotowości przyjęcia kolejnego polecenia).
5
Otwieranie sesji (ang. logging in) Pracę można rozpocząć, gdy na ekranie widać zgłoszenie gotowości przyjęcia użytkownika (ang. login prompt);
login:
Należy wtedy wpisać identyfikator
login: unser1
Następnie, gdy pojawi się pytanie o hasło, wpisać je (hasło nie pojawi się na ekranie) Password:
Po poprawnym podaniu identyfikatora i hasła, system przedstawi się i pojawi się zgłoszenie gotowości shella obsługującego sesję ( shell prompt):
/users/user1 $
Można teraz wpisywać polecenia.
(Symbol zgłoszenia gotowości shella określany jest podczas definiowania środowiska pracy użytkownika).
Zamykanie sesji (ang. login out, logi off)
Zgłoszenie gotowości shella
Użytkownik pracuje pod nadzorem programu interpretatora poleceń, nazwanego shellem.
Program ten jest uruchamiany automatycznie w momencie rozpoczęcia sesji i pozostaje uruchomiony do momentu zakończenia sesji.
Każdy shell posiada swój stsndard zgłoszenia
$
shell Bourn’a, shell Korn’a
%
shell C
Zgłoszenie może być inne dla zwykłego użytkownika i inne dla administratora $
użytkownik (lub inne, właściwe dla shella)
#
administrator ( w każdym shellu)
Użytkownik może dostosować zgłoszenie shella do swoich potrzeb i nadać mu inną postać
$
standard w shellu Korn’a
/users/user1 $
wybrane przez użytkownika, w zgłoszeniu widać katalog bieżący
6
UNIX rozróżnia wielkie i małe litery poleceniu
Jest dostosowany do pracy z różnymi klawiaturami
Przykład:
stty erase H
stty erase <Backspace>
Najczęściej przyjmowane porządkowanie klawiszy
Klawisz
Nazwa Działanie
Backspace erase
usuń znak na lewo od kursora
Ctrl-\
quit
zakończ program, zachowaj obraz pamięci programu
Ctrl-d
eof
zakończ sesję; zakończ wprowadzanie danych
Ctrl-s
stop
zatrzymaj wyświetlanie
Ctrl-q
start
wznów wyświetlanie
Postać wiersza polecenia w UNIXie
polecenie [opcja...] [wyrażenie] [nazwa pliku]
polecenie i jego argumenty rozdzielane są odstępami (spacja lub tabulacja)
pierwsze słowo w wierszu jest nazwą polecenia
opcja – modyfikuje polecenie
wyrażenie – opisuje dodatkowe dane wymagane przez polecenie
nazwa pliku – gdy pomijana najczęściej oznacza ekran lub klawiaturę
Unix rozróżnia duże i małe litery
Przykład poleceń:
$ date
(w DOSie – date i time)
$ |s -| /users
(w DOSie – dir \users)
$ DATE
ksh: DATE: not found
(błędnie podane polecenie)
$ cp
Usage: cp [-f|i][-p] source_file target_file
(błędnie podane polecenie)
Polecenie z wieloma opcjami:
|s -| -a
|s -|a
Kilka pleceń w jednym wierszu:
polecenie1; polecenie2; polecenie3; polecenie4
7
date; |s -|
Polecenie nie mieszczące się w jednym wierszu:
automatycznie zawijane i wyświetlane w następnym wierszu
polecenie można pisać w kilku wierszach posługując się symbolem \: część polecenia\
kontynuacja polecenia
Przykład:
|s -| \
/users/user1
Zmiana hasła
Polecenie zmiany hasła:
Password
pojedynczy komputer z terminalami
Przykład:
$passwd
Changing password for janusz
Old password:
New password:
Re-enter new password:
$
O czym należy pamiętać:
Minimalna długość hasła zależy od implementacji UNIXa, zaleca się używanie dłuższych haseł.
Jedynie pierwszych 8 znaków hasła jest branych pod uwagę.
Program passwd może narzucać pewne specjalne wymagania, służące wzmocnieniu ochrony dostępu do systemu
Hasło jest przechowywane w postaci zaszyfrowanej.
W przypadku zapomnienia hasła trzeba poprosić administratora o wpisanie nowego hasła.
Komunikaty wyświetlane podczas zmiany hasła (zależą od wersji Unix’a): Sorry
Wprowadzono niepoprawne hasło.
Password is too short
Za krótkie hasło (HP-UX – musi mieć co
Najmniej 6 znaków)
Please use a longer password
Za krótkie hasło (Sun OS)
Password must contain at least two Wymagania na hasło w HP-UX
alphabetic characters and at least
one numeric or special character.
8
Zrezygnowałeś ze zmiany hasła
Naciskając CTRL+C (Sun OS)
Układ strony w podręcznku
Strona ma układ standardowy. Nie każdy element musi występować w opisie danego polecenia. W tabeli przedstawiono najczęściej używane elementy opisu.
NAME
Nazwa polecenia z krótkim opisem
Nazwa
SYNOPSIS
Składnia polecenia. Elementy wyróżnione drukiem pogrubionym należy wpisać Składnia
tak, jak podano w opisie.
Opcje lub argumenty w nawiasach [ ] są opcjonalne.
Pominięcie nawiasu przy argumencie oznacza, że jest on obowiązkowy.
Symbol ... oznacza, że poprzedni argument może być powtórzony
DESCRIPTION
Dokładny opis działania polecenia.
Opis
EXAMPLES
Tylko przy bardziej złożonych poleceniach.
Przykłady
FILES
Wykaz plików, których używa polecenie.
Pliki
DIAGNOSTICS
Opis komunikatów o błędach, mogących się pojawić po wydaniu polecenia.
Diagnostyka
WARNINGS
Opis warunków, mogących spowodować błędne działanie.
Ostrzeżenia
SEE ALSO
Odwołanie do innych stron podręcznika lub innego opracowania.
Patrz również
STANDARDS
Opis standardów, które spełnia polecenie.
CONFORMANCE
Zgodność ze
standardem
Podręcznik on – line
Składnia:
man [X] polecenie
dokładny opis polecenia
gdzie X oznacza część podręcznika
man –k słowo_kluczowe
krótki opis poleceń, w których opisie
występuje podane słowo kluczowe
Klawisze obsługujące polecenie man
Informacja wyświetlana na ekranie zostaje zatrzymana, gdy wypełni ekran.
Użyteczne klawisze:
Return
wyświetla następny wiersz
Spacja
wyświetla następny ekran
q lub Q
kończy wyświetlanie
Przykłady:
9
wyświetla strony z opisem date
(pierwsze znalezione)
man passwd
wyświetla pierwsze znalezione strony
man 1 passwd
wyświetla opis z części 1
man 4 passwd
wyświetla opis z części 4
man –k passwd
wyświetl wykaz wszystkich poleceń, w których w obszarze
NAME opisu występuje słowo passwd
Środowisko pracy
Identyfikacja sprzętu i systemu operacyjnego
uname –a.
Przykłady:
HP-UX pso_e25c B.10.01 B 9000/806 947377222 16-user licence typ licencji
numer identyfikacyjny
nazwa modelu
wersja systemu operacyjnego
nazwa węzła w sieci
nazwa systemu operacyjnego
SunOS ibs2 4.1.4 2 sun4m
nazwa modelu
nazwa systemu operacyjnego
nazwa węzła w sieci
wersja systemu operacyjnego
Identyfikacja katalogu osobistego i shella obsługującego sesję
grep nazwa _ użytkownika /etc/passwd
finger nazwa _ użytkownika
Przykład:
$ grep janusz /etc/passwd
janusz:VcyulbFzRySih:4001:101:Janusz Nowak, tel. 156:/users/anusz:/bin/ksh Tradycyjny podręcznik UNIXa
Składa się z 8 części zawierających:
10
User commands (Polecenia użytkownika)
Section 2
System calls (Funkcje systemowe języka C)
Section 3
Library fuctions (Podprogramy biblioteczne języka C)
Section 4, 5, 7
File Formats (Formaty plików), Miscellaneous Facilitles (Różne)
Device drivers (Program obsługi urządzeń)
Section 8 (lub 1m)
System administration commands (Polecenia dla administratora
systemu)
W obrębie każdej części polecenia są umieszczane alfabetycznie.
W dokumentacji odwołanie do polecenia jest podawane w postaci:
polecenie (n)
gdzie polecenie nazwą polecenia, zaś n jest numerem części podręcznika. Zatem date(1) oznacza odwołanie się do polecenia date w części pierwszej podręcznika.
Sprawdzanie informacji o użytkowniku
Polecenie id
$ id
uid=5214 (agata) gid=11(users)
Polecenie finger
$ finger agata
In real life: Agata Kowalska
Directory: /users/agata
Shell: /bin/ksh
Last login: Thu Jan 11 13:42 on console.
Polecenie who am I
$ who am I
agata
typ3 Mar 13 18:34
Kto pracuje w systemie – polecenie who
Składnia:
who [am I]
Informacja o użytkownikach prowadzących sesję
Przykład:
$
who amI
agata
typ3
Mar 13 18:34
$
who
agata
typ0
Mar 13 18:34
jacek
typ2
Mar 13 12:50
stach
typ3
Mar 13 17:25
11
Konto użytkowników
Każdy użytkownik systemu ma swój identyfikator ( login id), który musi podać, aby rozpocząć sesję.
Pełna informacja o użytkowniku obejmuje:
ania:gdg 4352oc:124:11:Ania Kowalska, tel.3322:/users/ania:/bin/ksh hasło
numer informacja
shell
grupy
dodatkowa
identyfikator
numer
katalog osobisty
użytkownika
użytkownika
home
login id
UID
Identyfikator użytkownika – nazwa używana przy rozpoczynaniu pracy Hasło – jest zakodowane
Numer użytkownika – liczbowy identyfikator użytkownika w systemie Numer grupy użytkownika – liczbowy identyfikator grupy, do której należy użytkownik w momencie rozpoczynania sesji
Informacja o osobie – dowolny tekst komentarza
Katalog osobisty – w tym katalogu użytkownik znajdzie się po rozpoczęciu sesji (pełna
ścieżka)
Shell – shell, który zostanie uruchomionyw momencie rozpoczynania sesji Polecenie mesg
Użytkownik może zabronić wypisywania na swoim terminalu komunikatów.
Składnia:
Mesg [y|n]
Zezwala/zabrania wypisywania komunkatów na ekranie
Przykład:
$ mesg
Sprawdzenie czy pojmujesz komunikaty.
y
$ mesg n
Zabronienie przyjmowania komunikatów.
$ mesg
Sprawdzenie czy przyjmujesz komunikaty.
12
$mesg y
Zezwolenie na przyjmowanie komunikatów.
Komunikacja administrator – użytkownik: polecenie wall
Składnia:
wall [nazwa_pliku]
Przesłanie komunikatu do wszystkich użytkowników, którzy aktualnie pracują w systemie Komunikat może być:
wpisany z klawiatury (pominięta nazwa pliku, tekst kończony jest przez CTRL-d)
przesłany z pliku
Gdy komunikat jest przesłany przez:
użytkownika – pojawi się tylko na tych terminalach, na których nie jest zabronione pisanie.
administratora – komunikat pojawi się na wszystkich terminalach.
Przesyłanie komunikatu do innego użytkownika – polecenie write
Składnia:
Write nazwa_użytkownika [ nazwa_terminala]
Przykład:
$ write ania
Nawiązanie łączności
Co nowego? <RETURN>
Gdy naciśniesz klawisz RETURN
To cały komunikat.<RETURN>
komunikat pojawi się na
<CTRL-d>
terminalu rozmówcy.
s
Zamknięcie łączności
Jeżeli użytkownik pracuje na dwóch terminalach, należy podać, na który ma być przesłana wiadomość; na przykład:
write ania ttyp4
Napisany tekst zostanie przesłany do rozmówcy po naciśnięciu klawisza Return.
Trzeba samemu ustalić protokół konwersacji, aby nie przerywać sobie nawzajem.
Każda z osób, która zaczęła konwersację musi ją zakończyć naciskając CTRL-d.
Użytkownik może zabronić wypisania na swoim terminalu komunikatów.
Nie można zabronić otrzymywania komunikatów od administratora systemu.
System plików – zbiór typów danych, struktur danych oraz funkcji systemowych (ang. system calls) używanych przez system operacyjny w celu przechowywania informacji w urządzeniach pamięci masowej (głównie na dyskach).
W systemach wielodostępnych systemy plików mają strukturę katalogową (hierarchiczną).
13
Pliki identyfikuje się za pomocą nazw. W systemie UNIX, w zależności od implementacji, pliki mogą mieć krótkie nazwy, do 14 znaków, lub długie nazwy, do 255 znaków.
Zestaw znaków dopuszczalnych obejmuje: małe lub duże litery, cyfry, znaki specjalne takie jak ,,+, -, _, .’’.
Przykład:
Dopuszczalne nazwy plików:
profile xyz.abcd abc AbC 123..456..78 –a
UWAGA: Tej ostatniej nazwy lepiej jednak nie używać.
UWAGA: W systemie UNIX pliki mogą być identyfikowane za pomocą wielu różnych nazw (dowiązań).
Podstawowe typy plików:
pliki zwykłe,
pliki specjalne,
katalogi,
dowiązania symboliczne,
potoki nazwane FIFO (ang. named pipe),
gniazda (ang. UNIX-domain sockets)
W plikach zwykłych przechowujemy programy, dane, teksty, grafikę, itp. W systemie UNIX
pliki zwykłe nie mają ustalonego formatu. Plik zwykły jest po prostu ciągiem bajtów o danej długości. Oczywiście aplikacje mogą tworzyć pliki o ściśle ustalonym formacie, na przykład plik assembler generuje plik, w którym wyróżniamy: nagłówek, kod wykonywalny, inicjalizowane dane.
Pliki specjalne, nazywane również plikami urządzeń zapewniają łączność z urządzeniami, na przykład z dyskami, terminalami, napędami taśmy, itp. W plikach specjalnych nie przewiduje się żadnych danych. Pliki te charakteryzują sposób działania urządzenia, wskazują miejsce podłączenia urządzeń do systemu oraz zapewniają dostęp do programów obsługi urządzeń (drajwerów).
Polecenie echo
Składnia:
echo [arg...]
Wyświetla argumenty na ekranie
Przykład:
$ echo hej hej
hej hej
Polecenie date
14
date
Wyświetla datę i czas
Przykład
date
Fri Jan 1 11:12 MET 1996
Polecenie clear
Składnia:
Clear
Czyści ekran
Każdemu plikowi przyporządkowany jest i – węzeł (ang. i-node), który jest rekordem przechowującym większość informacji o pliku.
Zawartość i –węzła:
typ pliku,
prawa dostępu do pliku,
identyfikator właściciela,
identyfikator grupy,
rozmiar pliku w bajtach,
czas ostatniej modyfikacji pliku,
czas ostatniego dostępu do pliku,
czas ostatniej zmiany informacji w i-węźle,
12 wskaźników zawierających adresy bloków z danymi pliku (bloki bezpośrednio adresowane),
wskaźnik zawierający adres bloku, w którym przechowywane są adresy bloków z danymi (adresowanie pośrednie jednostopniowe),
wskaźnik zawierający adresy bloków, w których przechowywane są adresy bloków z adresami bloków z danymi (adresowanie pośrednie dwustopniowe),
wskaźnik wykorzystywany w adresowaniu pośrednim trzystopniowym.
i – węzły są tworzone wtedy, gdy tworzony jest system plików.
Liczba i –węzłów w systemie plików zależy od jego rozmiaru oraz założonego średniego rozmiaru pliku (np. 2kB lub 6kB).
Każdy i – węzeł zajmuje 128 bajtów, i – węzły tworzą tablicę i – węzłów. Poszczególne i –
węzły identyfikowane są przez numery, określające ich położenie w tablicy i – węzłów.
Aby sprawdzić jaki i – węzeł został przyporządkowany danemu plikowi, należy w poleceniu is użyć opcji –i.
Katalogi służą do powiązania nazw plików z danymi znajdującymi się na dysku. W każdym katalogu może znajdować się pewna liczba plików i innych katalogów (podkatalogów).
Katalog jest przechowywany jak plik zwykły i (w uproszczeniu) ma postać tabeli o dwóch kolumnach. Każdy wiersz tej tabeli zawiera nazwę znajdującego się w katalogu pliku (lub 15
podkatalogu) oraz pewien numer , pozwalający na odszukanie atrybutów pliku i danych, które się w nim znajdują.
Dowiązania zwykle mogą być tworzone w obrębie tego samego systemu plików. Dowiązań symbolicznych używa się ponad granicami systemów plików oraz w odniesieniu do katalogów. Przechowywane są w nich ścieżki dostępu do plików lub katalogów, na które dowiązania te wskazują.
Potoki nazywane (FIFO) wykorzystywane są do komunikacji między procesami. Do tworzenia tych potoków wykorzystywane są odpowiednie procedury biblioteczne. Procesy mogą otwierać potoki nazwane do odczytu i zapisu, tak jak otwierają pliki zwykłe.
Gniazda wprowadzone zostały w systemie BSD UNIX. Są wykorzystywane również do komunikacji między procesami. Wykorzystują jednak inne mechanizmy niż potoki nazwane.
passwd
group
hosts
profile
/
a.out
Struktura (drzewo) katalogów typowa dla systemu UNIX.
Jeden z katalogów zawsze służy użytkownikowi pracującemu w systemie UNIX jako katalog bieżący.
Położenie pliku lub katalogu w drzewie katalogów określa ścieżka dostępu do pliku lub katalogu.
Bezwzględna ścieżka dostępu określa położenie pliku lub katalogu względem katalogu głównego (ang. root directory) / na przykład:
/etc/passwd
16
Względna ścieżka dostępu określa położenie pliku lub katalogu względem katalogu bieżącego, na przykład (jeśli katalogiem bieżącym jest /home):
adamb
adamb/a.out
../usr/lib
Operacje dotyczące katalogów:
zmiana katalogu bieżącego,
cd. [ścieżka dostępu do katalogu]
ustalenie nazwy katalogu bieżacego,
pwd
sprawdzanie zawartości katalogu,
is [-opcje] [ścieżka dostępu do katalogu]
tworzenie katalogów,
mkdir [-opcje] [ścieżka dostępu do katalogu]
usuwanie katalogów,
rmdir [-opcje] [ścieżka dostępu do katalogu]
utworzenie dowiązania do katalogu
in –s stara_nazwa nowa_nazwa
Operacje odnoszące się do plików:
wypisanie zawartości pliku tekstowego,
cat [ścieżka dostępu do pliku]
more [ścieżka dostępu do pliku]
drukowanie pliku,
ip [-opcje] [ścieżka dostępu do pliku]
wypisanie atrybutów pliku,
is [-opcje] [ścieżka dostępu do pliku]
kopiowanie pliku,
cp [-opcje] co_kopiujemy dokąd_kopiujemy
usuwanie pliku,
rm [-opcje] nazwa_pliku_lub_katalogu
Podział dysku na partycje
17
Dyski bywają dzielone na sekcje fizyczne. Taki podział ma szereg wad. Do najważniejszych należą:
nieefektywne wykorzystanie miejsca na dysku,
rozmiar sekcji (a w wyniku rozmiar systemu plików nie większy niż rozmiar dysku), nie można zmienić rozmiarów sekcji (systemu plików)
Niektóre implementacje systemu UNIX wykorzystują partycje logiczne.
Każda partycja (sekcja) jest traktowana jako niezależny wirtualny dysk. Jest reprezentowana przez plik specjalny (urządzenia), podobnie jak każdy dysk.
Systemy plików utworzone w poszczególnych partycjach muszą być dowiązane do głównego systemu plików.
Mount plik_specjalny_reprezentujący_partycję katalog
System plików
Przechowywana informacja umieszczana jest w pliku:
tekstowym
ciąg znaków oddzielanych znakiem nowej linii
(LF, newline)
binarnym
sekwencja bajtów
Typy plików w systemie UNIX:
zwykłe pliki dyskowe ( ordinary disk files)
służą do przechowywania danych użytkownika, programów aplikacyjnych lub systemowych; dla Unixa plik taki stanowi ciąg bajtów i jest często nazywany strumieniem ( stream)
katalogi ( directories)
służą do zorganizowania danych w hierarchiczne grupy plików; katalog przechowuje informacje o zawartych w nim plikach i podkatalogach
piki specjalne ( specjal files)
służą do zarządzania urządzeniami we/wy
18