1 Wstęp

1.2 Budowa i własności systemu UNIX

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

  • /bin

    katalog zawierający najważniejsze polecenia systemowe (np. /bin/ls, /bin/cp, etc.)

  • /home

    katalogi domowe użytkowników (np. /home/marek to katalog domowy użytkownika marek)

  • /lib

    najważniejsze biblioteki (np. /lib/libc.so - biblioteka języka C, /lib/modules/ - moduły jądra, itp.)

  • /root

    katalog domowy administratora systemu

  • /mnt

    najczęściej używane miejsce do montowania nośników (systemów plików), np. dyskietek, dysków, płyt cdrom

  • /etc

    globalne pliki konfiguracyjne (np. /etc/passwd - lista użytkowników (kont))

  • /dev

    pliki urządzeń (np. /dev/lp1 - drukarka, /dev/hda1 - pierwsza partycja głównego dysku)

  • /proc

    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/