|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alex Tomas 2:5020/400 16 Dec 2002 01:07:52 To : Valentin Nechayev Subject : Re: process stub. State: "Disk sleep" :( -------------------------------------------------------------------------------- >>>>> Valentin Nechayev (VN) writes: >>>> Andrey Melnikov wrote: AT> очевидно, что это бредовое предложение. и про VFS тоже. даже AT> смешно очень. систему дизайнили так, что D - по-определению не AT> может проснуться запросто так, разработчики принимают это во AT> внимание. AM> Хорошо - а HАКОЙХЕР (c) немецкий фамилиё, ему дали так уснуть ? AM> Дабы оно висело, глазам мешало и дисками шуршало ? VN> Очень просто. Или не просто. Когда разрабатывали первые unix, VN> была сделана масса упрощений конструкции. Фактически, только VN> одни упрощения (по сравнению, например, с Multics) и были VN> сделаны. Hекоторые из них уже исправлены, некоторые - аукаются VN> нам до сих пор. Так вот, в числе оных упрощений было сделано VN> следующее: - У драйверов отнята функциональность отмены операции VN> со стороны вышележащих уровней. Заказал чтение блока - и сиди жди VN> до посинения. Он тебе уже не нужен - ничем не можем помочь, надо VN> было думать раньше. - Hа BIO layer (это уровень над драйверами VN> блочных устройств, выполняющий чтение/запись и кэширование VN> операций с FS) - аналогично, отнята возможность отмены операции. VN> - Убрано адекватное реагирование на ошибки чтения/записи на VN> уровне драйверов FS. Для сравнения - это как в досе или винде VN> (9x), если не установлен обработчик критической ошибки, на экран VN> плюется "abort/retry/ignore". Да, так было проще. Да, до VN> определенного момента это себя более-менее оправдывало - это при VN> юниксовой-то нише, которая десяток лет не выходила за пределы VN> систем подготовки текстов, флейма в usenet и игры в startrek. VN> Когда строили VFS, этот путь был успешно продолжен :( Уровень VFS VN> во многих случаях просто не рассчитан на ошибки нижележащего VN> уровня, драйвера отдельных FS - туда же. В результате, невовремя VN> вынутая дискета может стоить panic'а, а умерший NFS сервер - VN> мертвого зависа всех, работавших с его диском. (Да, soft и intr к VN> mount_nfs придумали, но сам факт, что их надо было придумывать, VN> показателен.) VN> Теперь чтобы исправить - надо начинать с драйверов - честно VN> признать, что вся нынешняя схема работы с ними - бред, и для VN> начала сделать возможность отмены операции. Принципиальных VN> сложностей тут нет никаких, но любой шаг или даже робкий голос - VN> натыкается на мощный хор пуристов "у нас все работает, и железо VN> надо использовать правильное, и вообще у тебя прописки нет"... VN> (Все это я говорил тут не раз. C AT эту тему обсуждать VN> невозможно: на "дизайн не позволяет, и это плохо" он отвечает VN> "все это бред, потому что дизайн не позволяет". Случай VN> клинический.) приведи пример, когда для этого обязательно нужно править VFS и недостачно _правильно_ сделать драйвер. потом я тебе приведу пару примеров ... -- пора --- ifmail v.2.15dev5 * Origin: HOME (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/7590650cad07.html, оценка из 5, голосов 10
|