Где некоторые списки системных вызовов на UNIX?
Это не было моим исходным вопросом, но спасибо так или иначе :)
man 2 syscalls
Кроме того, вы можете посмотреть /usr/include/sys/syscall.h (который в моей системе просто # включает /usr/include/bits/syscall.h). Он генерируется во время сборки libc из списка системных вызовов ядра.
Вы также можете использовать grep для исходного кода ядра Linux для SYSCALL_DEFINE. (Я не эксперт по BSD, но думаю, что эквивалент во FreeBSD - SYSCALL_MODULE)
Прочтите руководство Fine . Для системных вызовов начните с
man 2 intro
. Так я начал работать с UNIX. Тогда у нас не было модного интернета ...
В большинстве сред ls / usr / man / 2 /
подойдет, хотя это может быть / usr / local / man
или / usr / share / man
или даже / usr / local / share / man
.
РЕДАКТИРОВАТЬ: Может даже быть переменная среды MANPATH
, указывающая на нужное место.
Что вам действительно нужно сделать, так это взять копию "Расширенного программирования в среде Unix" У. Ричарда Стивенса. Это классическая книга о том, как программировать Unix-подобные ОС. Книга старая, и MacO / iPhoneO - это разные самые традиционные разновидности Unix, но книга - отличный способ изучить основы и понять, как предполагается использовать API. Проверьте это на Amazon
Для официального авторитетного IEEE Std. 1003.1 / Single UNIX Specification (UNIX 2004), см .:
полный список функций (системных интерфейсов) можно найти в разделе «Системные интерфейсы» или по ссылке. Я также хотел бы использовать это как возможность подключить мою систему пользовательского поиска Development / Coding Search , которая включает единую спецификацию UNIX / IEEE Std. 1003.1. Например, при стандартном поиске fopen , close , unix и т. Д. Проводятся рекламные акции, чтобы гарантировать, что результаты из авторитетной документации находятся на самом верху . Добавление слова «человек» перед запросом сильно влияет на результат в пользу стандарта IEEE Std. 1003.1 справочная страница, как в man find , man free , man inttypes.h и т. Д., Хотя большинство запросов должно отдавать предпочтение IEEE Std. 1003.1, даже без добавления «человека» (если это не так, введите неверный запрос и сообщите мне).
Какая именно операционная система? Раздел 2 документа документирует системные вызовы, но полностью набор варьируется в зависимости от того, какой у вас UNIX.
POSIX.1 определяет стандартный набор интерфейсов операционной системы, однако ни одна операционная система не ограничивается только ими. Как правило, у вас есть варианты BSD и SYSV. которые имеют немного другую семантику. Однако в настоящее время предполагаемые системные вызовы на самом деле являются квази-библиотечными функциями.
Единственный ИСТИННЫЙ ответ требует специальной установки и изучения файла
/usr/include/syscall.h