Główne cechy systemu Unix:
wielozadaniowość - system z podziałem czasu, pozwala na uruchamianie wielu procesów jednocześnie
wielodostępowość - umożliwia pracę z wieloma użytkownikami
Budowa Unixa:
jądro (ang. kernel) - niskopoziomowe oprogramowanie obsługujące sprzęt, dostarczające określone usługi dla programów użytkowych (realizuje system plików, planuje przydziału pracy procesora, zarządza pamięcią i urządzeniami zewnętrznymi, inicjuje działanie systemu, zapewnia mechanizmy komunikacji, dostarcza zestawu wywołań systemowych)
powłoka (ang. shell) - interpreter poleceń, pozwala na komunikację użytkownika z urządzeniami i procesami, uruchamianie programów i nadzorowanie ich pracą - najpowszechniejsze powłoki to: sh, ksh, csh, tcsh, bash
biblioteki systemowe
oprogramowanie
Pliki w Unixie:
plik jest ciągiem bajtów
pliki są zorganizowane w postaci drzewa wyrastającego z korzenia /. Do każdego pliku możemy dostać się podając ścieżkę od korzenia (ścieżka bezwzględna) lub względem bieżącego katalogu (ścieżka względna)
katalogi też są plikami, zawierają informację o innych plikach (katalogach), które się w nich znajdują. Każdy katalog zawiera plik o nazwie . (kropka) będący odniesieniem do tego katalogu oraz plik o nazwie .. (dwie kropki) będący odnośnikiem do katalogu położonego wyżej
urządzenia zewnętrzne (drukarki, terminale, dyski itp.) oraz kanały komunikacji międzyprocesorowej reprezentowane są za pomocą plików ”specjalnych” umieszczonych w katalogu /dev)
działające procesy również dostępne są w postaci plików w katalogu /proc
nazwy plików są dowolne, nie dłuższe niż 255 znaków. Pliki których nazwy rozpoczynają się od kropki (np. .tcshrc) są plikami ukrytymi
każdy plik jest własnością określonego użytkownika oraz jest skojarzony z pewną grupą użytkowników. Dla każdego pliku istnieją jasno określone uprawnienia dostępu (odczytu, edycji i uruchamiania) dla każdego użytkownika.
wszystko w UNIXie jest plikiem
Struktura katalogów:
korzeń drzewa katalogów
katalog zawierający najważniejsze polecenia systemowe (np. /bin/ls, /bin/cp, etc.)
katalogi domowe użytkowników (np. /home/marek to katalog domowy użytkownika marek)
najważniejsze biblioteki (np. /lib/libc.so - biblioteka języka C, /lib/modules/ - moduły jądra, itp.)
katalog domowy administratora systemu
najczęściej używane miejsce do montowania nośników (systemów plików), np. dyskietek, dysków, płyt cdrom
globalne pliki konfiguracyjne (np. /etc/passwd - lista użytkowników (kont))
pliki urządzeń (np. /dev/lp1 - drukarka, /dev/hda1 - pierwsza partycja głównego dysku)
pseudosystem plików z informacjami o procesach (np. /proc/cpuinfo - inf. dotyczące procesora)
Ścieżka do pliku:
bezwzględna - od korzenia drzewa
przykład: /usr/share/local/
względna - poczynając od bieżącego katalogu
przykład: ../../usr/share/local/