Я читаю статтю Вікіпедії для управління процесами . Моя увага зосереджена на Linux. Я не можу визначити взаємозв'язок та відмінності між системним викликом, передачею повідомлення та перериванням їхніх концепцій та цілей. Чи всі вони для процесів подання запитів до ядра для ресурсів та послуг?
Деякі цитати зі статті та деякі інші:
Існує два можливі способи відновити контроль над процесором під час виконання програми для того, щоб ОС здійснила де-розподіл або розподіл:
- Процес видає системний виклик (іноді його називають програмним перериванням); наприклад, виникає запит вводу / виводу з проханням отримати доступ до файлу на жорсткому диску.
- Відбувається апаратне переривання; наприклад, на клавіатурі була натиснута клавіша, або закінчився таймер (використовується для попередньої багатозадачності).
Існує дві методики, за допомогою яких програма, що виконує в режимі користувача, може запитувати послуги ядра:
* System call * Message passing
переривання - це асинхронний сигнал, що вказує на необхідність уваги або синхронну подію в програмному забезпеченні, що вказує на необхідність зміни виконання.
Апаратне переривання змушує процесор зберегти свій стан виконання та розпочати виконання обробника переривання. Програмні переривання зазвичай реалізуються як інструкції в наборі інструкцій, які викликають контекстний перехід на обробник переривань, подібний апаратному перериванню.