bystander Цитата: Не оригинален
Ну, я и не претендую...
Кстати, мой логин (которому уже много лет) составлен из двух слов: OOP и optimum. Что такое OOP, я полагаю, объяснять нет необходимости. Сейчас, правда, я занимаюсь программированием крайне эпизодически, т.к. это не входит в круг моих прямых обязанностей по работе. По большей части только для души, ибо для меня это больше искусство, чем ремесло.
Цитата: Для примера.
Прочел. Нашел интересную цитату в той статье. Не могу не привести ее здесь.
Цитата: Six weeks after Microsoft released Windows 3.0, Microsoft renamed OS/2 NT as Windows NT
Т.е. изначально система все-таки называлась OS/2. Я не знаю, почему уважаемый Марк Руссинович называет OS/2 NT, я ее знаю как MS OS/2, но возможно он прав и система называлась так некоторое время. Я, зная VMS как одну из самых надежных систем как настоящего, так и прошлого, могу с легкостью принять то, что VMS могла оказать (и оказала) влияние на разработчиков NT и через них на саму систему. Но все же я имел в виду
прямого предка NT. А все эти игры с поиском аналогий и параллелей как в терминологии, так и в некоторых деталях реализации ОС, могут завести заинтересованного игрока куда угодно. Ведь OS не создаются на пустом месте, всегда есть знания разработчиков, накопленные в других системах. Кстати, основываясь на еще большей базе аналогий и параллелей, ты бы мог заявить, что Linux -- прямой потомок UNIX System V, чем немало порадовал бы SCO. Но мы-то знаем, что это не так.
Теперь, когда улеглись первые страсти, хотелось бы вернуться к некоторым моментам, в незнании которых ты меня укорил, и обсудить их в спокойном ключе.
Цитата: Вынужден тебя разочаровать - в Win32 сигналов нет. И не было никогда.
Да, ты прав, в Win32 их нет. По крайней мере в том виде, который мы подразумеваем, говоря о сигналах в Linux. Но, позволь спросить тебя, где ты увидел, что я писал о Win32? Я писал о Windows, а это все же разные вещи. И в некоторых подсистемах Windows сигналы все-таки поддерживаются. Вспомни про обработку "Ctrl-C" и что это вообще такое.
Цитата: И межпроцессное взаимодействие там совсем другое - нет ни shared memory, ни message queues.
Я бы мог написать, что я не вдавался в такие детали, в которые вдаешься ты. А именно, я писал всего лишь
Цитата: и другие средства межзадачного взаимодействия
Если абстрагироваться от деталей, то эти средства там есть. Правда? И принципы их организации практически не отличаются. Так в чем я не прав? Ладно, ты затронул детали, давай обсудим и их. Итак, ты утверждаешь, что message queues отсутствуют. Я думаю, что ты мог забыть о существовании столь фундаментальной вещи, как очередь сообщений, лишь в состоянии аффекта.
На всякий случай напоминаю, что в "Win32 Programmer's Reference" есть
глава с названием "Messages and Message Queues". Соответственно, все это есть и в Windows. Что тут еще сказать? Впрочем, как есть и Shared Memory, присутствующая в нескольких ипостасях. Например, Shared Memory используется в DDE, а также присутствует в виде File Mapping. Хотя об этом забыть было проще, чем про очереди сообщений.
Далее ты пишешь:
Цитата: Что касается POSIX - это не расширение Win32 API или дополнение какое, это - отдельная от Win32 subsystem подсистема.
А теперь прочти еще раз, что написал я:
Цитата: все NT-based версии Windows являются POSIX-совместимыми ОС по части API, т.е. в них этот API реализован наряду с собственным
Ключевое слово здесь -- "наряду". Если под собственным API я имел в виду Win32, то слово "наряду" подразумевает, что POSIX не является его частью, а сосуществует отдельно. Причем, я не указывал степень взаимоотношения между этими API, я лишь указал наличие возможности использовать POSIX. Причем заметь, я не писал ничего о том, как взаимодействуют эти подсистемы и, соответственно, программы, выполняющиеся в них. Так что не очень понятно где ты узрел здесь ошибку и что вызвало такую твою реакцию. Похоже, что остальные детали ты додумал за меня и решил, что я их не знаю или понимаю неправильно.
Говоря о похожести Windows и Linux я имел в виду концептуальные вещи, такие как файловая система, процессы и их взамодействие и т.д., не опускаясь до деталей их реализации. Естественно, если бы детали реализации совпадали, то это не были бы разные системы.
И я ни в коем случае не подразумевал, что эти детали реализации совпадают во всем. Точно также, если взять пример со стороны, мы можем утверждать, что MySQL и MS SQL похожи, если мы будем принимать во внимание, что они обе -- реляционные СУБД, использующие язык SQL для манипулирования данными. Естественно, опускаясь на уровень деталей, мы найдем эти СУБД совершенно различными, но концепция, заложенная в них, все же одна и та же.