Сообщение folk » 11 апр 2012, 20:58
Есть такая байка, что многие кто пытался написать операционку в то время когда рождался юникс, столкнулись с академической проблемой. Как корректно сделать так что во время системного вызова в процессе происходит асинхронное событие, требующее обработки тем же процессом. В общем голову сломали, статей понаписали, все решения сложные и громоздкие. Как решили ребята при написании юникса всем конечно известно - системный вызов просто возвращается с ошибкой которая не ошибка и процесс просто повторяет системный вызов заново. В общем забили на корректность и красивость, а сделали тупо быстро и сердито. Так что честно говоря в юниксе не все красиво, не все идеально но основные идеи (все есть файл, /dev/tty, виртуальная файловая система (инода), процессы, права, сигналы) - да они позволяют развиваться и наполнять современным содержимым старые понятия.
Меня поражали в юниксе от Sun такие например вещи как обратная совместимость целых подсистем - реализация UUCP и например модемного пула, сделанная в 70х наверное - до сих пор в системе. Заполни пяток файлов, подключай модемы и вперед - на твой сервер можно зайти по телефону, биллинг встроенный, почта пошла по UUCP. Покажите мне программу которая пойдет на Windows через 30 лет...
Последний раз редактировалось
folk 28 ноя 2019, 16:53, всего редактировалось 1 раз.
Причина: test