Собственно, чтобы понять парадокс нужно было понять только один факт: ведущий знает, где приз и всегда откроет только ту дверь, за которой приза нет. Это и есть условие, которое меняет вероятность, а вовсе не количество закрытых дверей. Это важно.
Представьте, что ведущий предлагает на выбор 2 двери, только за одной из которых находится приз. Очевидно, что вероятность выбрать правильную дверь составляет 50%? А теперь ведущий внезапно открывает 3-ю дверь, за которой нет никакого приза. Неужели вы думаете, что из-за этого у вас станет меньше шансов на победу? Да пусть он откроет хоть 100 дверей, шансы от этого не поменяются.
В те годы, имхо, чаще всего писали все же на Clipper-е. Законодатель моды, продолжатель славного дела dBase и все такое. Опять же гениальная псевдокомпиляция и склеивание программы с самой базой данных.
Дело даже не в цене, 565-ая серия была в дефиците.
А самая распространенная была, имхо, 8-килобитная РУ3 (все эти Радио-86РК, Специалист, Микроша как раз них, если не ошибаюсь).
Наверное, все таки, не самого контроллера а его драйвера? У OS/2 как то же получалось фоновое форматирование на тех же самых дисководах.
Не говоря уже о винчестерах (там же другой контроллер все-таки).
Например, копирование в винде тоже ставилось на паузу при перетаскивании окошка (особенность цикла событий). Открываешь DOS-окошко в OS/2 с копированием в нортоне, и полоска двигается прямо в перемещаемом мышкой окне — обычно это производило большое впечатление.
Ну да, Non-preemptive = Cooperative, что я не так сказал?
И приписка насчет «only 32-bit protected mode» тоже подтверждает мои слова (win32s в него не умел, а параллельная 16-битная задача легко могла захватить все ресурсы).
Плюс железо все еще обрабатывалось досовыми драйверами. Опять же пример с форматированием дискеты, которая вешало всю винду. Это прямо бесило, если честно.
А вот в Win9x — своя, особая. Они назвали ее «не-вытесняющая» (non-preemptive multitasking), что является технически той же самой кооперативной. Она ею и была, поскольку обусловлена уже самой архитектурой Windows, унаследованной от Win 3.x для совместимости с win16 и win32s. А раз те приложения выполнялись фактически в среде DOS, то это распространялось и на DOS-приложения.
Зато для чистого win32 действительно была заложена настоящая вытесняющая многозадачность, «на вырост», ориентируясь на отмирание 16-битных и чистых DOS приложений. В полную силу это заработало уже только с ядром NT.
Однозадачность как раз следствие того, что дос — это не полноценная ОС.
Ух как же вы не любите DOS, это что-то личное из 90х? :)
Тот же Таненбаум нигде не упоминает многозадачность как неотъемлемую функцию операционных систем. Просто потому, что она зависит от них, а от возможностей железа, которые предоставили такую возможность существенно позже появления первых операционных систем.
И оригинальный DesqView, и MP/M (многозадачная версия CP/M) эмулировали многозадачность на железе, которое этого не умело (т.е. не поддерживало защищенный режим и вирутальную память) — собственно, от персоналок ничего такого и не ожидалось, это было тогда доступно только для мейнфреймов. Как следствие, любое приложение могло легко выйти из под контроля и захватить все системные ресурсы.
Даже в Windows настоящая многозадачность появилась лишь в ядре NT, а в 9x просто эмулировалась в кооперативном виде (не говоря уже от Win 2.x с ее потугами под 286). На этом фоне настоящая многозадачность OS/2 под 386, к примеру, позволяла форматировать дискету параллельно с другими задачами, чего Win9x не умела.
Как только появился защищенный режим 386 — ситуация резко изменилась для всех участников рынка. Но прокачка DOS c Extender-ами и надстройками уже выглядели не так актуально, как OS/2 и Win9x (да даже и Win 3.1+).
я на нашем местном телевидении ставил и сервер и клиентов уже на 3.51, и уже тогда интересовало, почему никто не видел все предыдущие.
Про саму NT до этого читал в «Компьютерпресс». Помню там говорилось, что собрали рарзработчиков-юниксоидов, чтобы сделать windows лучше и стабильнее, и пока сам не пощупал, не понял зачем это было нужно. Зато на NT 3.51 потом эфирные приложения работали как часы, а обычную винду никто бы в здравом уме на управление эфирным железом не поставил.
Ох, как пост на ностальгию пробил-то. Даже не верится, что столько лет прошло…
Кстати, можно цитату Таненбаума на этот счет? Не помню я у него такого высказывания.
Зато помню, что он сам затруднялся дать четкое определние операционной системы, смутно балансируя между управлением железом и ресурсами системы.
Не стоит забывать, что DOS делался под конкретную архитектуру и никогда не планировался на перенос куда то еще. Кстати тот же Таненбаум настаивал на необходимости скрывать аппаратную архитектуру от приложении, ссылаясь на Mac как на негативный пример слишком усложненной архитектуры. С архитектурой IBM было проще, и функции системы были доступны на том же уровне, что и все остальные функции железа — на уровне прерываний. В отличие от Маков, где пришлось бы посылать команды напрямую в контроллер.
Собственно, чтобы понять парадокс нужно было понять только один факт: ведущий знает, где приз и всегда откроет только ту дверь, за которой приза нет. Это и есть условие, которое меняет вероятность, а вовсе не количество закрытых дверей. Это важно.
А вот это уже непонимание теоремы Байеса.
Я немножко криво намекнул на отличие олдового от «позднего» фидошника :)
А самая распространенная была, имхо, 8-килобитная РУ3 (все эти Радио-86РК, Специалист, Микроша как раз них, если не ошибаюсь).
Не говоря уже о винчестерах (там же другой контроллер все-таки).
Например, копирование в винде тоже ставилось на паузу при перетаскивании окошка (особенность цикла событий). Открываешь DOS-окошко в OS/2 с копированием в нортоне, и полоска двигается прямо в перемещаемом мышкой окне — обычно это производило большое впечатление.
И приписка насчет «only 32-bit protected mode» тоже подтверждает мои слова (win32s в него не умел, а параллельная 16-битная задача легко могла захватить все ресурсы).
Плюс железо все еще обрабатывалось досовыми драйверами. Опять же пример с форматированием дискеты, которая вешало всю винду. Это прямо бесило, если честно.
Win 1.x — 3.x -> чистая кооперативная многозадачность (cooperative multitasking)
Win NT, OS/2, Unix -> чистая вытесняющая многозадачность (preemptive multitasking)
А вот в Win9x — своя, особая. Они назвали ее «не-вытесняющая» (non-preemptive multitasking), что является технически той же самой кооперативной. Она ею и была, поскольку обусловлена уже самой архитектурой Windows, унаследованной от Win 3.x для совместимости с win16 и win32s. А раз те приложения выполнялись фактически в среде DOS, то это распространялось и на DOS-приложения.
Зато для чистого win32 действительно была заложена настоящая вытесняющая многозадачность, «на вырост», ориентируясь на отмирание 16-битных и чистых DOS приложений. В полную силу это заработало уже только с ядром NT.
Ух как же вы не любите DOS, это что-то личное из 90х? :)
Тот же Таненбаум нигде не упоминает многозадачность как неотъемлемую функцию операционных систем. Просто потому, что она зависит от них, а от возможностей железа, которые предоставили такую возможность существенно позже появления первых операционных систем.
И оригинальный DesqView, и MP/M (многозадачная версия CP/M) эмулировали многозадачность на железе, которое этого не умело (т.е. не поддерживало защищенный режим и вирутальную память) — собственно, от персоналок ничего такого и не ожидалось, это было тогда доступно только для мейнфреймов. Как следствие, любое приложение могло легко выйти из под контроля и захватить все системные ресурсы.
Даже в Windows настоящая многозадачность появилась лишь в ядре NT, а в 9x просто эмулировалась в кооперативном виде (не говоря уже от Win 2.x с ее потугами под 286). На этом фоне настоящая многозадачность OS/2 под 386, к примеру, позволяла форматировать дискету параллельно с другими задачами, чего Win9x не умела.
Как только появился защищенный режим 386 — ситуация резко изменилась для всех участников рынка. Но прокачка DOS c Extender-ами и надстройками уже выглядели не так актуально, как OS/2 и Win9x (да даже и Win 3.1+).
Про саму NT до этого читал в «Компьютерпресс». Помню там говорилось, что собрали рарзработчиков-юниксоидов, чтобы сделать windows лучше и стабильнее, и пока сам не пощупал, не понял зачем это было нужно. Зато на NT 3.51 потом эфирные приложения работали как часы, а обычную винду никто бы в здравом уме на управление эфирным железом не поставил.
Ох, как пост на ностальгию пробил-то. Даже не верится, что столько лет прошло…
Зато помню, что он сам затруднялся дать четкое определние операционной системы, смутно балансируя между управлением железом и ресурсами системы.
Не стоит забывать, что DOS делался под конкретную архитектуру и никогда не планировался на перенос куда то еще. Кстати тот же Таненбаум настаивал на необходимости скрывать аппаратную архитектуру от приложении, ссылаясь на Mac как на негативный пример слишком усложненной архитектуры. С архитектурой IBM было проще, и функции системы были доступны на том же уровне, что и все остальные функции железа — на уровне прерываний. В отличие от Маков, где пришлось бы посылать команды напрямую в контроллер.