Linux jest wielozadaniowym, wieloużytkownikowym systemem operacyjnym, który działa tak samo jak UNIX, zarówno pod względem zachowania się jądra systemu, jak i obsługi urządzeń zewnętrznych. Linux posiada wszystkie zalety UNIX-a, a poza nimi jeszcze kilka nowych rozszerzeń zwiększających jego elastyczność. Kod źródłowy Linuxa oraz programów użytkowych jest dostępny za darmo.
Jądro systemu było pierwotnie napisane dla trybu chronionego procesorów Intel 80386. Procesory te zostały zaprojektowane z myślą o wielozadaniowości (choć większość z nich pracowała pod kontrolą systemu DOS, nie mającego z wielozadaniowością nic wspólnego), a Linux wykorzystuje ich zaawansowane możliwości. Mocną stroną procesora 80386, w porównaniu z poprzednimi produktami firmy Intel, jest zarządzanie pamięcią. Programowa emulacja koprocesora arytmetycznego pozwala Linuxowi działać na maszynach nie posiadających go.
Linux pozwala na współużytkowanie plików wykonywalnych (ang. shared executables), zatem gdy uruchomiona jest więcej niż jedna kopia aplikacji (przez jednego użytkownika lub przez kilku użytkowników pracujących z tym samym programem), wszystkie kopie używają tego samego obszaru pamięci. Pozwala to na bardzo wydajne wykorzystanie pamięci RAM.
Jądro Linuxa obsługuje również stronicowanie na żądanie (ang. demand paging), co oznacza, że tylko niezbędne części programu są wczytywane do pamięci operacyjnej. Żeby jeszcze bardziej zoptymalizować wykorzystanie RAM-u, Linux używa jednolitego modelu pamięci. To rozwiązanie pozwala systemowi przeznaczyć całą wolną pamięć na pamięć podręczną dla dysku, co przyspiesza dostęp do często używanych programów i danych. Rozmiar pamięci podręcznej jest automatycznie zmniejszany, gdy wzrasta zużycie pamięci przez aplikacje.
Aby sprostać dużym wymaganiom pamięciowym przy małej ilości fizycznej pamięci RAM, Linux używa pliku lub partycji wymiany (ang. swap space). Pozwala to na zapisywanie obszarów pamięci w zarezerwowane miejsce na dysku twardym, które jest traktowane jako „przedłużenie” pamięci RAM. Ceną płaconą za powiększenie pamięci operacyjnej jest spowolnienie dostępu do danych.
Linux pozwala również na używanie bibliotek współużytkowanych dynamicznie (ang. dynamic shared libraries). Biblioteki te są wspólne dla wielu aplikacji, co umożliwia zredukowanie wielkości programów. Dla utrzymania kompatybilności z systemami nie pozwalającymi na dynamiczne dołączanie bibliotek, Linux umożliwia także ich statyczne dołączanie (ang. statically linked libraries).
Linux obsługuje wiele różnych systemów plików, w tym kompatybilne z systemem DOS i OS/2. Własny system Linuxa, zwany ext2fs, został zaprojektowany z myślą o optymalnym wykorzystaniu dysku twardego.
Linux to doskonały wybór, jeśli chcesz pisać nowe aplikacje czy eksperymentować z nowymi językami programowania. W skład dystrybucji Linuxa wchodzą m.in. kompilatory języków C, C++, Fortran, Pascal, LISP, Ada, BASIC oraz Smalltalk. Wiele z kompilatorów i innych narzędzi programistycznych pochodzi z projektu Free Software Foundation GNU.
|