Co to jest Unix?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: Unix to system operacyjny powstały w Bell Labs, którego rozwiązania stały się podstawą całej rodziny systemów i wpłynęły na wiele innych. Zaprojektowano go do pracy wielu użytkowników i wykonywania wielu zadań jednocześnie. Linux jest systemem uniksopodobnym, a nie po prostu inną nazwą Uniksa; macOS ma uniksowe fundamenty, a jego określone wersje i konfiguracje uzyskały certyfikację UNIX.
Czym jest Unix i skąd się wziął?
System operacyjny to oprogramowanie, które zarządza sprzętem i umożliwia uruchamianie programów. Przydziela im pamięć i czas procesora, obsługuje pliki oraz kontroluje dostęp do zasobów. Unix pełni właśnie taką funkcję — nie jest językiem programowania ani pojedynczą aplikacją.
Jego początki sięgają końca lat 60. XX wieku i prac w Bell Labs. Do najważniejszych twórców należeli Ken Thompson i Dennis Ritchie. Przepisanie znacznej części systemu w języku C ułatwiło przenoszenie go na różne komputery, zamiast budowania każdej wersji niemal od podstaw dla konkretnego sprzętu.
Z czasem powstały różne odmiany Uniksa. Dlatego dziś słowo „Unix” może oznaczać historyczny system, rodzinę systemów lub zestaw charakterystycznych zasad ich działania. Nie należy traktować go jako nazwy jednego produktu, który zawsze wygląda i działa identycznie.
Jak działa system uniksowy?
Centralnym elementem systemu jest jądro, czyli część zarządzająca procesorem, pamięcią, urządzeniami i procesami. Proces to uruchomiony program wraz z zasobami potrzebnymi do jego działania. Wokół jądra funkcjonują narzędzia użytkowe, usługi i interfejsy, z których korzysta użytkownik.
Typowe dla systemów uniksowych są:
- Wielozadaniowość: wiele procesów może działać współbieżnie, na przykład serwer WWW, baza danych i edytor tekstu.
- Wielodostępność: z tego samego systemu może korzystać wielu użytkowników, także przez połączenia zdalne.
- Hierarchiczny system plików: katalogi tworzą jedno drzewo zaczynające się od
/, czyli katalogu głównego. - Uprawnienia: dostęp do plików i katalogów jest kontrolowany, między innymi za pomocą praw właściciela, grupy i pozostałych użytkowników.
Na przykład na serwerze firmowym konto aplikacji może mieć prawo zapisu w katalogu z przesłanymi dokumentami, ale nie do zmiany plików systemowych. Taki podział ogranicza skutki błędu lub przejęcia aplikacji. Same uprawnienia nie zapewniają jednak pełnego bezpieczeństwa — potrzebne są również aktualizacje i poprawna konfiguracja.
Z Uniksem wiąże się też zasada budowania niewielkich narzędzi, które wykonują konkretne zadania i mogą ze sobą współpracować. Zamiast jednego rozbudowanego programu można połączyć kilka prostszych, przekazując wynik jednego do następnego.
Unix, Linux i macOS — najważniejsze różnice
UNIX jest również znakiem towarowym związanym z certyfikacją prowadzoną przez The Open Group. Certyfikacja potwierdza zgodność określonego produktu z wymaganiami standardu. Podobne działanie albo historyczne pokrewieństwo nie wystarczają, by automatycznie uznać każdy system za certyfikowany UNIX.
| Nazwa | Co oznacza w praktyce? |
|---|---|
| Unix / UNIX | Historyczny system i jego rodzina, a w kontekście certyfikacji — system spełniający wymagania odpowiedniego standardu. |
| Linux | Ściśle: jądro systemu. Potocznie: system operacyjny z tym jądrem, rozpowszechniany jako dystrybucja, np. Debian lub Ubuntu. |
| macOS | System Apple z uniksowymi fundamentami i graficznym interfejsem; certyfikacja dotyczy konkretnych wydań i konfiguracji. |
| FreeBSD | System uniksopodobny wywodzący się z linii BSD, odrębny od Linuksa. |
Linux powstał niezależnie od oryginalnego jądra Uniksa, ale nawiązuje do jego modelu działania. Dlatego wiele poleceń i umiejętności można przenosić między Linuksem, macOS i innymi systemami uniksopodobnymi. Nie oznacza to pełnej zamienności: mogą różnić się opcje narzędzi, zarządzanie usługami, instalowanie pakietów i obsługiwane aplikacje.
Jeśli certyfikacja jest wymogiem zakupu lub projektu, należy sprawdzić konkretną wersję i platformę w oficjalnym rejestrze The Open Group, zamiast polegać na ogólnej nazwie systemu.
Czy Unix oznacza pracę wyłącznie w terminalu?
Nie. System uniksowy może mieć środowisko graficzne, czego codziennym przykładem jest macOS. Terminal jest aplikacją dającą dostęp do interfejsu tekstowego, a powłoka, taka jak Bash lub Zsh, interpretuje wpisywane polecenia. Terminal, powłoka i system operacyjny to różne elementy.
Przykładowo w typowym środowisku uniksowym polecenie:
ls /etc
wyświetla nazwy widocznych plików i katalogów w /etc, gdzie zwykle znajdują się ustawienia systemu i usług. Samo polecenie nie zmienia tych plików.
Narzędzia można też łączyć potokiem, oznaczanym znakiem |:
printf 'kot\npies\nkot\n' | sort | uniq
Pierwsze polecenie tworzy trzy wiersze tekstu, sort je porządkuje, a uniq usuwa sąsiadujące powtórzenia. Wynikiem są dwa wiersze: kot i pies. To prosty przykład uniksowej zasady współpracy małych programów.
Po co poznawać Uniksa?
Znajomość uniksowego modelu pomaga w administracji serwerami, programowaniu, automatyzacji i pracy z usługami chmurowymi. Przydaje się także właścicielowi strony, który korzysta z hostingu opartego na Linuksie: ułatwia rozumienie ścieżek, uprawnień i poleceń wykonywanych przez SSH, czyli szyfrowane połączenie zdalne.
Do nauki nie potrzebujesz komercyjnego Uniksa. Możesz użyć terminala macOS, dystrybucji Linuksa w maszynie wirtualnej albo środowiska Linux w Windows przez WSL. Zacznij od poruszania się po katalogach i tworzenia plików w osobnym katalogu ćwiczeniowym, bez uprawnień administratora.
Zobacz też: Co to jest Linux?
