/ / OS - Як ОС відображає готові дані пристрою у відповідні процеси - Linux, операційна система

ОС. Як ОС готує дані пристрою до відповідних процесів - Linux, операційну систему

Давайте візьмемо жорсткий диск / мережевий інтерфейс. Її поділяють декілька процесів. Тепер кілька процесів можуть видавати на жорсткий диск одночасні команди для зчитування даних. Коли дані доступні, як ядро ​​знає, для якого процесу дані готові? Чи дотримується якийсь протокол між ОС і жорстким диском. тобто деякі метадані, які повертаються з готовими даними?

Відповіді:

1 для відповіді № 1

Якщо мова йде про дані, характерні для кожного процесу (наприклад,г. доступ до файлу, відкритого з файлової системи на жорсткому диску або в приймальній мережі), як правило, серіалізується за допомогою механізмів блокування. "Протокол" (присвоєння належним чином отриманих даних запитуваному процесу) - це більш-менш специфічна частина драйвера або ядра - робиться інакше, наприклад, код мережі та код віртуальної файлової системи.

Це дуже добре описано в розділі "Конкурс та умови перегонів" книги драйверів пристроїв Linux від Kroah-Hartman, Rubini, Corbet. Ви можете подивитися тут: https://www.safaribooksonline.com/library/view/linux-device-drivers/0596005903/ch05.html