При отслеживании системных вызовов с помощью ltrace для программ с fork, vfork ... он показывает вызов системного вызова SYS_Clone. Тогда в чем важность системного вызова SYS_fork, SYS_vfork в ядре. Они предназначены для исторической цели?Важность системных вызовов уровня ядра для вилки, vfork
3
A
ответ
3
Их необходимо поддерживать в ядре, потому что старые программы пользовательского пространства (старые версии libc
или старые статически связанные двоичные файлы) называют эти системные вызовы, а не более новыми clone
. Ядро Linux поддерживает обратную совместимость в ABI.
Если в ядро Linux добавлена новая архитектура, ей не нужно поддерживать эти устаревшие системные вызовы, поскольку для этой архитектуры не может быть старого пространства. Таким образом, вы найдете, например, что у архитектуры ia64
нет вызова SYS_fork
.
Смежные вопросы
- 1. Список системных вызовов Android Linux
- 2. Подготовка компьютера к изучению системных вызовов и модулей ядра Linux
- 3. перехватывание системных вызовов файловой системы
- 4. Минимальный накладной способ перехвата системных вызовов без изменения ядра
- 5. блокировка внутренних системных вызовов с использованием модулей ядра
- 6. Ошибка с отсутствием системных вызовов во время компиляции ядра
- 7. Как получить номер системных вызовов после загрузки ядра в xv6?
- 8. Печатать символ без системных вызовов
- 9. Библиотека системных вызовов
- 10. Ведение журнала системных вызовов
- 11. Выполнение системных вызовов
- 12. системных вызовов переменных неопределенными
- 13. Анализ системных вызовов
- 14. Сколько системных вызовов выполняется?
- 15. double fork using vfork
- 16. Может ли ядро обрабатывать два системных вызовов одновременно, выполняя многопоточность?
- 17. Где таблица системных вызовов в ядре linux?
- 18. Как отслеживать процесс для системных вызовов?
- 19. Инструмент для трассировки таймингов системных вызовов io
- 20. Различных способов для вызова системных вызовов
- 21. понимание диспетчера системных вызовов для окон?
- 22. Команда Strace для отображения только системных вызовов
- 23. Debian человек страниц для системных вызовов
- 24. Использование logger.exe для sniff системных вызовов
- 25. Создание системных вызовов в ядре linux
- 26. Почему блокирование системных вызовов блокирует всю процедуру с помощью потоков пользовательского уровня?
- 27. запись системных вызовов Аргумент Регистры
- 28. Запрос на Выбор системных вызовов
- 29. Почему бы не удвоить количество регистров для быстрых системных вызовов?
- 30. Спецификация заказа системных вызовов UNIX
'sys_clone' - это более старая функция. 'sys_fork' и' sys_vfork' были добавлены в Linux 2.2. Внутренне все три используют 'do_fork()'. –
Я использовал его на Linux 3.2 – user567879
http://stackoverflow.com/questions/4856255/the-difference-between-fork-vfork-exec-and-clone –