Здравствуйте, vsb, Вы писали:
vsb>Здравствуйте, Pzz, Вы писали:
Pzz>>Если я не ошибаюсь, именно Эдсгер Дейкстра ввел в обиход организацию ввода-вывода вокруг системы прерываний, вместе с чем ушла детерминированность. Раньше этого избегали. И это, на минуточку, середина 60-х.
vsb>Тем не менее никто не пишет программы с прерываниями в юзерспейсе. Любая программа с вводом-выводом взаимодействует в чётких точках вызова API. Кстати задумался даже — почему так. Вроде бы логично было бы дать операционной системе указатели на функции и чтобы она вызывала эти функции при вводе/выводе, аналогично тому, как это происходит с сигналами... Ну не суть, по факту так не делают. Поэтому таки детерминированность не ушла для 99% программистов, её аккуратно вернули на место.
Откуда взялись 99% программистов?
Мне напротив кажется так асинхронный ввод вывод сейчас это основной, который используется в большинстве программ.
Для .NET допустим или NODE.
await File.WriteAllTextAsync(filePath, text);
Асинхронность обеспечивается на уровне OC. В Windows это OVERLAPPED, в Linux это libaio (io_submit)
Ну насколько я знаю конечно. Последние много лет я ничего кроме веба не видел. Я не прав? Что у WriteAllTextAsync "под капотом"?