Предположим, что процесс запущен и он вызывает системный вызов. Означает ли это, что процесс будет заблокирован. Все системные вызовы блокируют процесс и изменяет его состояние на выполнение для блокировки? Или это зависит от сценария в то время?Системный вызов в процессе
ответ
Нет, это не означает, что процесс заблокирован. Некоторые системные вызовы блокируются, а некоторые нет. Обратите внимание, что в течение времени, когда ядро обрабатывает системный вызов, пока процесс продолжает работать, ваш собственный код пользователя не выполняется, но код ядра выполняется от имени процесса.
Некоторые операционные системы имеют даже восходящие сигналы, где пользовательское приложение регистрирует некоторые функции, которые будут вызываться ядром (обратно в пользовательском пространстве) в некоторых случаях. Сигнальное оборудование Unix - очень простой пример, но некоторые ОС имеют гораздо более сложные установки.
Я думаю, что есть некоторые ОС, где syscall запускает некоторую обработку ядра, которая может вызвать некоторую upcall в пользовательском пространстве.
Я забыл подробности
- 1. системный вызов в питона
- 2. Go окна системный вызов вызов
- 3. Труба() Системный вызов
- 4. Когда записывается системный вызов?
- 5. Системный вызов Linux
- 6. Системный вызов от php
- 7. Системный вызов open() разрешений
- 8. как разобрать системный вызов?
- 9. Системный вызов stat() блокируется
- 10. Прерванный системный вызов
- 11. Системный вызов типа scandir()
- 12. трубный системный вызов
- 13. Системный вызов Linux Connect
- 14. bash Прерванный системный вызов
- 15. SocketException (системный вызов отменен)
- 16. Системный вызов печати INT
- 17. открыт() системный вызов полиморфизм
- 18. Сравнение строк, системный вызов
- 19. Системный вызов open()
- 20. Tornado Прерванный системный вызов
- 21. Неисправный системный вызов execvp()
- 22. getdents() Системный вызов
- 23. Как использовать системный вызов
- 24. выберите прерванный системный вызов
- 25. Is getaddrinfo() системный вызов?
- 26. Открытый системный вызов
- 27. Системный вызов вилка()
- 28. Unix вилка() системный вызов
- 29. открытый системный вызов - Linux
- 30. Как разобрать системный вызов
вы можете задать здесь http://unix.stackexchange.com –
Вопрос заключается в теоретической, а не UNIX, в частности. SO - правильное место. –