Scroll to navigation

INTRO(2) Podręcznik programisty Linuksa INTRO(2)

NAZWA

intro - wprowadzenie do wywołań systemowych

OPIS

Dział 2. podręcznika opisuje wywołania systemowe Linuksa. Wywołanie systemowe jest punktem dostępu do jądra Linux. Nie są one zwykle wywoływane bezpośrednio: większość wywołań systemowych posiada odpowiednie funkcje obudowujące biblioteki C, które przeprowadzają wymagane kroki (np. przejście do trybu jądra), aby je wywołać. Dlatego wykonanie wywołania systemowego wygląda tak samo, jak wywołanie zwykłej funkcji bibliotecznej.

Lista wywołań systemowych Linuksa jest dostępna w podręczniku syscalls(2).

WARTOŚĆ ZWRACANA

W przypadku błędu, większość wywołań zwraca ujemną liczbę błędu (tzn. ujemną wartość jednej ze stałych opisanych w errno(3)). Opakowania biblioteki C ukrywają te detale przed wywołującym: gdy wywołanie systemowe zwróci wartość ujemną, opakowanie kopiuje wartość absolutną do zmiennej errno i zwraca -1 jako wartość zwracaną przez opakowanie.

Wartość zwracana przez udane wywołanie systemowe zależy od niego. Wiele wywołań zwraca przy powodzeniu 0, lecz niektóre zwracają również wartości niezerowe przy pomyślnym wywołaniu systemowym. Detale są opisane w poszczególnych stronach podręcznika.

W niektórych przypadkach, programista musi zdefiniować testowe makro funkcji aby pozyskać deklarację wywołania systemowego z pliku nagłówkowego opisanego w rozdziale SKŁADNIA strony podręcznika systemowego (gdy jest to wymagane, takie makra muszą być zdefiniowane przez dołączeniem jakichkolwiek plików nagłówkowych). W takich sytuacjach, wymagane makro jest opisane w odpowiednim podręczniku systemowym. Więcej informacji o testowych makrach funkcji można znaleźć w feature_test_macros(7).

ZGODNE Z

Poszczególne zwroty i skróty używane do określenia wariantów Uniksa i standardów, do których wywołania w tym dziale się stosują. Patrz standards(7).

UWAGI

Bezpośrednie wywoływanie

W większości przypadków nie ma potrzeby bezpośredniego wywoływania wywołań systemowych, lecz czasem zdarza się, że jakaś przydatna funkcja systemowa nie ma zaimplementowanego przydatnej funkcji opakowującej w standardowej bibliotece C. Programista musi wówczas wywołać wywołanie systemowe ręcznie, za pomocą syscall(2). Dawniej można było użyć również jednego z makr _syscall, opisanych w _syscall(2).

Autorzy i prawa autorskie

Nagłówek źródeł każdej strony podręcznika systemowego zawiera informacje o autorach i warunkach wykorzystania. Mogą się one różnić, w zależności od strony.

ZOBACZ TAKŻE

_syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), svipc(7), symlink(7), time(7)

O STRONIE

Angielska wersja tej strony pochodzi z wydania 3.40 projektu Linux man-pages. Opis projektu oraz informacje dotyczące zgłaszania błędów można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Adam Byrtek (PTM) <alpha@irc.pl>, Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 3.40 oryginału.

11-11-2010 Linux