Programowanie:Programowanie w Linuksie

Z Wikibooks, biblioteki wolnych podręczników.

Programowanie systemu Linux[edytuj]

System Linux jest napisany w języku C, komunikujemy się z nim bezpośrednio poprzez bibliotekę POSIX (także w języku C). Istnieją także nadbudówki (np. terminal bash), ale wykorzystują one wywoływanie funkcji POSIX.

Typowe funkcjonalności POSIX - komunikacja przez sieć (przez gniazda POSIX widziane jako pliki), tworzenie innych procesów, komunikacja z innymi procesami, tworzenie wątków (POSIX Threads), działania na plikach, katalogach, kopiowanie pamięci na dysk (do pliku).

W systemie Windows działania na plikach wymagałyby komunikacji z bibliotekami windowsowymi, co utrudniałoby pisanie przenośnych aplikacji.

Dlatego obecnie niektóre operacje polegające na komunikacji z systemem operacyjnym zostały włączone w skład rozbudowanych języków programowania, np. standardu C++ (C++11 ma programowanie równoległe, C++17 ma operacje na plikach). Języki skryptowe też mają zaimplementowaną niejedną taką funkcjonalność.

Są to jednak względnie nowe standardy.

Można jeszcze wspomnieć, że biblioteki umożliwiające pisanie przenośnych aplikacji (np. Qt albo wxwidgets dla języka C++) mają swoje własne klasy do realizacji typowych działań. Ich wewnętrzna implementacja powinna działać w docelowym systemie (w momencie budowania aplikacji są uwzględniane implementacje odpowiednie dla danego systemu).