Информация об изменениях

Сообщение Re[3]: Эра магии - когда технология становится магией от 28.09.2024 21:57

Изменено 28.09.2024 22:00 bnk

Re[3]: Эра магии - когда технология становится магией
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, Pzz, Вы писали:


Pzz>>Если я не ошибаюсь, именно Эдсгер Дейкстра ввел в обиход организацию ввода-вывода вокруг системы прерываний, вместе с чем ушла детерминированность. Раньше этого избегали. И это, на минуточку, середина 60-х.


vsb>Тем не менее никто не пишет программы с прерываниями в юзерспейсе. Любая программа с вводом-выводом взаимодействует в чётких точках вызова API. Кстати задумался даже — почему так. Вроде бы логично было бы дать операционной системе указатели на функции и чтобы она вызывала эти функции при вводе/выводе, аналогично тому, как это происходит с сигналами... Ну не суть, по факту так не делают. Поэтому таки детерминированность не ушла для 99% программистов, её аккуратно вернули на место.


Откуда взялись 99% программистов?
Мне напротив кажется так асинхронный ввод вывод сейчас это основной, который используется в большинстве программ.
Для .NET допустим или NODE.

await File.WriteAllTextAsync(filePath, text);


Асинхронность обеспечивается на уровне OC. В Windows это OVERLAPPED, в Linux это libaio (io_submit)
Ну насколько я знаю конечно. Последние много лет я ничего кроме веба не видел. Я не прав?
Re[3]: Эра магии - когда технология становится магией
Здравствуйте, vsb, Вы писали:

vsb>Здравствуйте, Pzz, Вы писали:


Pzz>>Если я не ошибаюсь, именно Эдсгер Дейкстра ввел в обиход организацию ввода-вывода вокруг системы прерываний, вместе с чем ушла детерминированность. Раньше этого избегали. И это, на минуточку, середина 60-х.


vsb>Тем не менее никто не пишет программы с прерываниями в юзерспейсе. Любая программа с вводом-выводом взаимодействует в чётких точках вызова API. Кстати задумался даже — почему так. Вроде бы логично было бы дать операционной системе указатели на функции и чтобы она вызывала эти функции при вводе/выводе, аналогично тому, как это происходит с сигналами... Ну не суть, по факту так не делают. Поэтому таки детерминированность не ушла для 99% программистов, её аккуратно вернули на место.


Откуда взялись 99% программистов?
Мне напротив кажется так асинхронный ввод вывод сейчас это основной, который используется в большинстве программ.
Для .NET допустим или NODE.

await File.WriteAllTextAsync(filePath, text);


Асинхронность обеспечивается на уровне OC. В Windows это OVERLAPPED, в Linux это libaio (io_submit)
Ну насколько я знаю конечно. Последние много лет я ничего кроме веба не видел. Я не прав? Что у WriteAllTextAsync "под капотом"?