Как происходит чтение с файловой системы? Не могу понять. Вот допустим программе нужно прочитать файл. Она обращается к ОС, ОС вызывает драйвер. Верно? Драйвер создает новый поток в котором читает данные? Поток блокируется до завершения чтения или устройству отправляется запрос, а устройство само возвращает данные в буфер и стучит драйверу, что оно выполнило обработку?
Да, примерно так происходит чтение с файловой системы. Когда программа обращается к ОС для чтения файла, ОС вызывает соответствующий драйвер для работы с устройством, на котором хранится файл (например, жесткий диск). Драйвер может создавать новый поток для чтения данных из устройства, но это зависит от конкретной реализации.
Поток может блокироваться до завершения чтения данных, либо устройству может быть отправлен запрос на чтение, после чего устройство самостоятельно загружает данные в буфер и уведомляет драйвер об окончании операции. Как именно это происходит, зависит от специфики устройства и работы драйвера.
В любом случае, после того как данные будут успешно прочитаны из устройства, драйвер передаст их ОС, которая в свою очередь вернет их программе, которая запрашивала чтение файла.
Да, примерно так происходит чтение с файловой системы. Когда программа обращается к ОС для чтения файла, ОС вызывает соответствующий драйвер для работы с устройством, на котором хранится файл (например, жесткий диск). Драйвер может создавать новый поток для чтения данных из устройства, но это зависит от конкретной реализации.
Поток может блокироваться до завершения чтения данных, либо устройству может быть отправлен запрос на чтение, после чего устройство самостоятельно загружает данные в буфер и уведомляет драйвер об окончании операции. Как именно это происходит, зависит от специфики устройства и работы драйвера.
В любом случае, после того как данные будут успешно прочитаны из устройства, драйвер передаст их ОС, которая в свою очередь вернет их программе, которая запрашивала чтение файла.