монолитные операционные системы windows nt

Монолитная операционная система

Материал из ПИЭ.Wiki

В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Взаимодействие между клиентом и сервером стандартизируется, так что сервер может обслуживать клиентов, реализованных различными спосо­бами и, возможно, разными разработчиками. При этом главным требованием яв­ляется то, чтобы использовался единообразный интерфейс. Инициатором обмена обычно является клиент, который посылает запрос на обслуживание серверу, на­ходящемуся в состоянии ожидания запроса. Один и тот же программный компо­нент может быть клиентом по отношению к одному виду услуг и сервером для другого вида услуг. Модель клиент-сервер является скорее удобным концептуаль­ным средством ясного представления функций того или иного программного эле­мента в той или иной ситуации, нежели технологией. Эта модель успешно приме­няется не только при построении операционных систем, но и на всех уровнях программного обеспечения, и имеет в некоторых случаях более узкий, специфи­ческий смысл, сохраняя, естественно, при этом все свои общие черты. Микроядер­ные операционные системы в полной мере используют модель клиент-сервер.

При поддержке монолитных операционных систем возникает ряд проблем, свя­занных с тем, что все компоненты макроядра работают в едином адресном про­странстве. Во-первых, это опасность возникновения конфликта между различны­ми частями ядра, во-вторых, сложность подключения к ядру новых драйверов. Преимущество микроядерной архитектуры перед макроядерной заключается в том, что каждый компонент системы представляет собой самостоятельный процесс, запуск или остановка которого не отражается на работоспособности остальных процессов.

Микроядерные операционные системы нынче разрабатываются чаще монолитных. Однако следует заметить, что использование технологии клиент-сервер — это еще не гарантия того, что операционная система станет микроядерной. В качестве под­тверждения этому можно привести пример с операционными системами класса Windows NT, которые построены на идеологии клиент-сервер, но которые тем не менее трудно назвать микроядерными. Их «микроядро» имеет уже достаточно боль­шой размер, приставка «микро» здесь вызывает улыбку. Хотя по своей архитекту­ре супервизорная часть этих систем без каких-либо условностей может быть отне­сена к системам, построенным на базе модели клиент-сервер. Причем для последних версий операционных систем с общим названием NT (New Technology) еще более заметным является отход от микроядерной архитектуры, но сохранение принципа клиент-сервер во взаимодействиях между модулями управляющей (супервизорной) части. Для того чтобы согласиться с таким высказыванием, достаточно срав­нить операционную систему QNX и операционные системы Windows NT/2000/ХР.

Источник

Как Windows NT стала «убийцей» Novell NetWare OS

монолитные операционные системы windows nt. 282730a48aa411daf50d42af792a5d25. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-282730a48aa411daf50d42af792a5d25. картинка монолитные операционные системы windows nt. картинка 282730a48aa411daf50d42af792a5d25. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Когда-то сетевая операционная система Novell NetWare была лидером мирового рынка. Когда-то в ее основу были заложены самые прогрессивные идеи. Однако в ИТ-индустрии все быстро устаревает, а конкуренты никогда не дремлют.

Microsoft Windows NT – более молодая ОС по сравнению с NetWare. Корпорация Билла Гейтса не могла упустить рынок сетевых операционных систем. Включившись в борьбу позже, но со свойственным ей размахом, Microsoft начала быстро осваивать рынок и смогла избежать некоторых ошибок первопроходцев.

Novell NetWare

Работа над будущей NetWare OS началась еще в SuperSet Software – консалтинговой группе, основанной друзьями Дрю Мэйджером, Дэйлом Найбауэром, Кайлом Пауэллом и Марком Хёрстом. Они использовали свои наработки, сделанные еще в университете Бригама Янга в городе Прово (штат Юта), в октябре 1981 года.

SuperSet Software была основана в 1979 году и занималась производством систем, работающих под управлением ОС CP/M. Группа должна была создать систему совместного использования дисков для сетей на основе CP/M.

CP/M (Control Program/Monitor либо Control Programs for Microcomputers) — операционная система, первоначально предназначенная для 8-разрядных микрокомпьютеров. Написана в 1973 году программистом Гэри Килдаллом на языке программирования PL/M (Programming Language for Microcomputers).

В ходе работы группа пришла к выводу, что дальнейшие перспективы CP/M равны нулю. Команда решила разработать свою операционную систему для IBM-совместимых ПК, которые тогда только появились и были «на гребне волны». В результате возникла сетевая операционная система, которая позже была названа Novell NetWare.

В 1983 году к работе группы SuperSet присоединился Рэймонд Ноорда, ставший во главе молодой фирмы Novell Inc.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

В том же году компания выпустила первый коммерческий продукт – ОС NetWare 68 (или Novell S-Net). Она работала на базе процессора Motorola 68000. В 1985 году вышла NetWare 86, которая поддерживала процессоры Intel 8086.

В 1986 году, после выпуска процессора Intel 80286, компания Novell выпустила NetWare 286. А в 1989 году, появились Intel 80386 и NetWare 386. В дальнейшем Novell решила дать своим системам более простые номера версий: так, NetWare 286 стала называться NetWare 2.x, а NetWare 386 — NetWare 3.x.

Причины успеха NetWare

Для передачи пакетов в NetWare использовался протокол NCP (NetWare Core Protocol — протокол ядра). Он был разработан на базе популярных ранее протоколах IPX/SPX (Internetwork Packet eXchange/Sequenced Packet eXchange), разработанных всё той же Novell.

NCP использовался для организации обмена между рабочей станцией и файловым сервером. Протокол IPX обеспечивал сетевой уровень (доставку пакетов, аналог IP), SPX — транспортный и сеансовый уровень (аналог TCP). Правда, в пятой версии NetWare компания-производитель всё же сделала основной для протокола NCP поддержку TCP/IP, а не IPX/SPX.

Пик популярности NetWare пришелся на 80-90-е годы. Это была удобная по тем временам система, и весьма стабильная: серверы под управлением NetWare могли работать годами без вмешательства администратора.

Также немалую роль сыграл тот факт, что большинство сравнительных тестов в то время указывали на преимущество в производительности в соотношении от 5:1 до 10:1, по сравнению с продуктами Microsoft и других компаний. Такой эффект достигался благодаря использованию службы файлов вместо дисковых служб, эффективности протокола NCP и отсутствие вытесняющей многозадачности.

В 1993 году, рассчитывая на быстрый успех, фирма Novell выпустила NetWare 4.0 и NDS (названную тогда службой каталогов NetWare), но они не были встречены с распростертыми объятиями. Новые продукты воплощали реализацию нового подхода к организации сетевых вычислений на предприятии и сильно отличались от всего, к чему привыкли пользователи NetWare 3.x. Поэтому самой популярной версией долгое время оставалась именно 3.х.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Однако в дальнейшем служба каталогов (NDS), входящая в состав NetWare 4.x, стала индустриальным стандартом в корпоративной среде.

Windows NT

Сильнейшим конкурентом Novell NetWare стала сетевая операционная система Microsoft Windows NT.

Началось все в 1975 году. Именно тогда, когда корпорация Digital Equipment начала разработку своей 32-битной платформы VAX, которая впоследствии была подхвачена компанией Microsoft.

В 1977 году были анонсированы машина VAX-11/780 и операционная система для нее — VMS 1.0. Разработкой системы руководил Дэвид Катлер. Спустя четыре года он решил покинуть Digital: не устраивали темпы развития проекта.

Тогда руководство компании организовало автономное подразделение в Сиэтле, и Катлеру позволили набрать необходимое количество персонала (около 200 человек) непосредственно из сотрудников Digital. Новая структура занялась проектированием процессорной архитектуры и операционной системы под кодовым названием Prism.

Однако менеджеры не сумели довести начатое дело до логического завершения, и в 1988 году Катлер покинул компанию.

Именно тогда Билл Гейтс и пригласил его в Microsoft. К тому времени он как раз пришел к необходимости создания серверной ОС, конкурирующей с клонами Unix.

Гейтс настолько ценил Дэвида Катлера, что согласился нанять 20 бывших инженеров Digital вместе с ним. В ноябре 1988 года команда, включавшая пять выходцев из Digital и одного программиста Microsoft, начала работать над новой операционной системой. Конечно, она не была абсолютно новой, так как Катлер использовал свои наработки.

Необходимо было написать ОС для нового RISC-процессора Intel i860 под кодовым названием N-Ten. Отсюда, кстати, и возникла аббревиатура NT, позднее трактованная маркетологами Microsoft как New Technology. Уже в декабре 1988 года были готовы первые фрагменты системы. Однако проблема заключалась в том, что i860 пока существовал лишь на бумаге, поэтому код приходилось тестировать на программном эмуляторе. Разработка велась на «игрушечных», по нынешним меркам, машинах Intel 386 25 MHz с ОЗУ 13 MB и жесткими дисками 110 MB.

В 1989 году выяснилось, что «железный» i860 не способен достаточно эффективно исполнять написанный код. Пришлось переориентироваться на MIPS R3000, а затем и на стандартный процессор Intel 386, что было сделано командой, увеличившейся до 28 инженеров за несколько месяцев.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.
Диаграмма развития операционных систем семейства Windows NT

В 1990 году произошло ключевое событие в судьбе операционной системы NT — выход и головокружительный успех Windows 3.0. Фактически она стала первой многозадачной ОС Microsoft с приличным графическим интерфейсом, в которой можно было выполнять реальную работу. Именно заимствование данного интерфейса и API предопределили будущее NT.

Изначально серверная ОС должна была стать ремейком совместного с IBM проекта OS/2 и, соответственно, функционировать с существующими приложениями OS/2.

Однако после выхода третьей версии Windows компания Microsoft отказалась от сотрудничества с IBM и переориентировала команду разработчиков NT на проектирование Win32 API, сделанного по «образу и подобию» интерфейса Win16. Это обеспечивало необходимую преемственность, облегчившую портирование приложений из настольной на серверную платформу. Так группа разработки NT, превратившейся к тому моменту в Windows NT, выросла почти до 300 человек.

Отказ от сотрудничества с IBM привел к серьезным проблемам во взаимоотношениях между компаниями. Правда, официальных заявлений не поступало, но на одной из межкорпоративных презентаций сотрудники IBM с удивлением обнаружили, что созданная ОС не имеет никакого отношения к их OS/2.

Тем не менее, в Windows NT 3.1 (нумерация была «подогнана» к текущей версии 16-разрядной Windows, существовавшей на тот момент) была реализована поддержка DOS, Win16, POSIX и OS/2 API в том числе. В июле 1993 году новая серверная система от Microsoft вышла в свет и начала завоевывать рынок.

Интеграция

В сентябре 1994 года вышла Windows NT 3.5. В ней были решены некоторые проблемы эффективности и быстродействия, которые из-за спешки не удалось решить в предыдущей версии.

Однако появилась новая проблема: организация взаимодействия с сетями, построенными на NetWare — абсолютным лидером того времени, доминировавшим на рынке локальных сетей.

В Novell не могли принять решение об обеспечении клиентской поддержки Windows NT и тянули время. В итоге Microsoft остановилась перед выбором: ждать еще или писать свой клиент для NetWare.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Компания Гейтса выбрала второй вариант и не прогадала: их самописный NetWare-клиент оказался настолько хорош, что его продолжали использовать и после выхода оригинального программного обеспечения от Novell. Время было упущено. Более того, было упущено не только оно.

Пользователи, особенно поначалу, выказывали резкое недовольство позициями Novell и Microsoft. Борьба между сетевыми компаниями предоставляла свободу выбора, но не давала возможности использовать оба продукта в одной среде.

Догнать и перегнать

PowerPC (или сокращённо PPC) — микропроцессорная RISC-архитектура, созданная в 1991 году альянсом компаний Apple, IBM и Motorola, известным как AIM.

По некоторым данным, ее выпуск был в свое время задержан вследствие неспособности IBM придерживаться плана по выводу этого процессора на рынок. Поэтому эволюция PowerPC-версии зашла несколько дальше, чем Windows NT 3.5, что позволило ей стать основой для следующей версии ОС.

В версии Windows NT 4.0 графическая подсистема была интегрирована в ядро.Такое решение было абсолютно логичным выводом из печального опыта попытки интеграции в NT популярной оконной среды Windows 95. Вероятно, идея повторения архитектурной модели X Window — Unix — возникла именно из-за первоначальной «серверной ориентации» NT.

Однако если собственно с «пересадкой» графической оболочки проблем не возникло, то ее быстродействие в пользовательском режиме (т. е. в виде обычного приложения) оставляло желать лучшего.

Графическая подсистема Windows несоизмеримо сложнее и, соответственно, требовательнее к ресурсам, чем X Window, «понимающая» исключительно растровые дисплеи. Так, в составе ядра Windows NT 4.0, выпущенной в июле 1996 года, появился еще один модуль. Ревизия получила название Shell Update Release (SUR).

Чтобы превратить Windows 95 и Windows NT в универсальные клиенты сети для любого сервера, корпорация Microsoft в прошлом году встроила стек протоколов TCP/IP в свои операционные системы.

Переход на TCP/IP, оказал значительное давление на традиционных поставщиков сетевых ОС, использующих свои собственные протоколы. Он не прошел незамеченным и для Novell. Компания выпустила новый продукт – NetWare/IP, загружаемый модуль, дающий возможность использовать IP в качестве сетевого протокола на сервере NetWare. Однако это не помогло удержать лидерство на рынке.

«NetWare/IP, поначалу вызывавший интерес, не оправдал надежд в полной мере, — делился своими впечатлениями Джон Миллер, специалист по планированию сети в Apollo Travel Division в United Airlines. — Он не справляется с ролью сетевого протокола для серверов».

По мнению Миллера, требования к заголовку IPX означали, что Novell в действительности не поддерживал IP или не предлагал каких-либо преимуществ при его использовании.

Реализация TCP/IP в Netware 5.x не спасла положение, так как вновь было потеряно драгоценное время.

Перевес по голосам

Крупным компаниям, которым Microsoft уделяла непосредственное внимание, не пошли на поводу у корпорации и предпочли NetWare. Тем не менее, проведенный Computer Intelligence и InfoCorp обзор свидетельствовал о том, что NT популярна в мелких центрах, где работают менее 1000 сотрудников.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.
Мелкие компании предпочитают Windows NT (количество компаний, использующих NT, %)

Однако NT проникла и на территорию NetWare. Все решили приложения. Выбор одной из этих систем в огромной степени зависел от того, какими приложениями пользовался клиент. Со временем приложения Microsoft оказались более чем на половине рассмотренных в обзоре станций NetWare.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.
Количество станций NetWare, на которых используется Windows NT, %

По мере увеличения мощности процессоров значение эффективности становилось всё меньше и меньше, а с появлением процессора Pentium сложность управления и разработки приложений для NetWare стали перевешивать ее преимущества. Но эти факты упорно игнорировались маркетинговым отделом Novell, равно как и руководством компании.

Так Novell NetWare потеряла позиции лидера, уступив их Windows NT.

Источник

Краткая история Windows и что у нее под капотом

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Несколько дней назад в сеть просочился образ ранней версии Windows 11. Различные издательства провели тесты по производительности и пришли к неутешительному выводу: Windows 11 в среднем работает хуже, чем Windows 10. Но расстраиваться рано! Проблемы производительности могут быть связаны с «сыростью» слитого образа и нюансами совместимости с текущими программами. Так или иначе, 24 июня состоится официальная презентация нового поколения операционных систем Windows, которая, возможно, даст ответы на многие вопросы. Если сегодня у вас есть настроение для ностальгии, предлагаем вам окунуться в мир Windows: познакомиться с историей, как менялась ось и что у нее внутри.

История Windows

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Первые продукты с названием «Windows» от Microsoft не были операционными системами. Это были графические среды для MS-DOS. На фоне успеха, в том числе и коммерческого, пользовательского интерфейса на Apple Lisa, компания решила реализовать графический интерфейс на IBM PC с MS-DOS. В отличии от относительно дешевых IBM PC, Apple Lisa стоили дорого (почти 10 тысяч долларов), и немногие покупатели могли позволить купить их. Microsoft решила занять нишу дешевых компьютеров с графическим интерфейсом. При этом низкая стоимость достигалась экономией на комплектующих и более низкая производительность, по сравнению с Lisa, избежать не получилось. Так, в 1985, 1987 и в 1990 выходят первые три версии Windows — 1.0, 2.0 и 3.0. Причем за первые шесть месяцев после релиза Windows 3.0 было продано более 1 миллиона экземпляров. Дальнейшее развитие Windows можно разделить на два направления — Windows на базе MS-DOS и Windows на базе NT.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Windows 9x

Windows на базе MS-DOS или Windows 9x не были первыми ОС от Microsoft, но они продолжали «старые традиции» и были построены на основе 16-битного кода MS-DOS. В августе 1995 года была выпущена Windows 95 — первая система семейства Windows 9x. Она уже была полноценной операционной системой с соответствующими возможностями. Однако у системы были проблемы с безопасностью (например, не было «администратора») и с изоляцией приложений. Зависание 16-битного приложения приводило к блокировке всей системы. Проблемы со стабильностью достались и Windows 98 и Windows ME, которые отличались от выпуска 95 года рядом небольших обновлений.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Windows NT

В целом, к концу 80-х годов в Microsoft появилось понимание о необходимости разработки операционной системы не на базе MS-DOS. Параллельно с разработкой софта, связанного с MS-DOS, Microsoft наняла команду инженеров из компании DEC для разработки новой 32-битной операционной системы. Главой группы стал Дэйв Катлер — один из главных разработчиков ОС VMS. Новая система была названа NT — от сокращения New Technology. Основной упор при разработке NT делался на безопасность и надежность системы, а также на совместимость с Windows на MS-DOS. Так получилось, что опыт при разработке VMS повлиял на NT и сходство между ними стало причиной спора между DEC и Microsoft. По итогу спор был решен во внесудебном порядке.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Первая система Windows называлась Windows NT 3.1 и была выпущена в 1993 году. Это была первая ОС от Microsoft. Индекс 3.1 был выбран для соответствия Windows 3.1 на MS-DOS. Эта версия не имела особого успеха. Для NT требовалось больше памяти, 32-разрядных приложений на рынке было мало, возникали проблемы с совместимостью драйвером. Достичь поставленных целей смогли в NT 3.5. А первым серьезным обновлением для NT стала версия 4.0 в 96 году. Теперь эта система была мощна, надежна и безопасна, а также обеспечивала тот же интерфейс, что и Windows 95 (которая к тому моменту была чрезвычайно популярной).

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

В 2000 году вышла новая версия Windows — Windows 2000. Она развивала идеи, заложенные в системы NT. Был добавлена технология Plug-and-Play, управление электропитанием и улучшен интерфейс пользователя.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Успех Windows 2000 задал вектор развития для следующего поколения — Windows XP. В «хрюшке» Microsoft улучшила совместимость, интерфейс стал более дружелюбным. Стратегия Microsoft завоевывать аудиторию уже знакомыми системами дала плоды — за несколько лет Windows XP была установлена на сотнях миллионах ПК. Эпоха MS-DOS подошла к концу.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Следующий проект Microsoft пал жертвой собственных амбиций. Через пять лет после Windows XP, в 2006 году на свет вышла Windows Vista. В ней был переделан графический интерфейс, переработаны и добавлены функциональные возможности в плане безопасности. Была улучшена производительность, надежность.

Первоначальные планы Microsoft по поводу Vista были настолько обширны, что через несколько лет после начала разработки проект пришлось сильно ограничить. Vista включала в себе 70 миллионов строк кода, часть которого составлял «причесанный» код XP. Неудача Vista отчасти с тем, что она вышла не в то время. На 2006 год пришелся бум недорогих компьютеров, которые не могли обеспечить достаточную для Vista производительность.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Проблемы Vista были учтены при разработке Windows 7. Microsoft уделила большее внимание тестированию и производительности новой системы. Windows 7 быстро вытеснила Vista, а затем и XP, став самой популярной версией Windows до появления Windows 10 (сейчас Windows 7 на втором месте по популярности).

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Бум смартфонов в начале 2010-х подтолкнул Microsoft к созданию операционной системы, которую можно было бы развернуть на разных устройствах: на телефонах, планшетах, приставках и т. д. В результате этой работы мир узрел Windows 8. «Восьмерка» построена на модульном подходе MinWin для получения небольшого ядра ОС, которое можно было бы расширить на линейку других типов устройств. Но аудитория встретила холодно такой подход. Многие люди критиковали «смартфоноподобный» интерфейс на ПК, отсутствие кнопки пуск. Для решения многих проблем Microsoft выпустила обновление под названием Windows 8.1, которая, помимо исправления имеющихся ошибок, добавила новые функции.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

И вот, к 2015 году Microsoft выпускает Windows 10. При разработке Microsoft продолжала развитие идеи единой системы для разных устройств. В «десятке» появилась голосовая помощница Кортана, вернули меню «Пуск», улучшена системная безопасность.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Технические аспекты

Чтобы осветить все технические аспекты и тонкости операционной системы Windows понадобится не менее 1000 страниц. Для особо любопытных советуем 7-е издание «Внутреннего устройства Windows« Марка Руссиновича, специалиста по внутреннему устройству Windows. Также можно почитать «Современные операционные системы« Эндрю Таненбаума и «Operating System Concepts«: в обеих книгах есть главы, посвященные Windows. Здесь же ограничимся рассмотрением инструментов взаимодействия приложений пользователя с операционной системой (Windows API) и архитектуры «оси».

Архитектура

Во многих многопользовательских операционных системах сама ОС отделяется от приложений. Код ядра ОС выполняется в привилегированном режиме процессора (режим ядра). Для него доступны системные данные и оборудование. В непривилегированном режиме (пользовательский режим) выполняется код приложений. Ему предоставляется ограниченный набор интерфейсов и ограниченный доступ к системным данным. Прямой доступ к оборудованию заблокирован. При вызове программой пользовательского режима системной функции процессор выполняет специальную команду, переключающую вызывающий поток (последовательность команд внутри процесса, планируемая Windows для исполнения) в режим ядра. Когда системная функция завершается, операционная система переключает контекст потока обратно в пользовательский режим и дает возможность вызывающей стороне продолжить работу.

Windows считается операционной системой с гибридным ядром. С одной стороны компоненты ядра Windows располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как в микроядерных системах. С другой стороны ядро слишком велико (более 1 Мбайт), а большая часть кода ОС и кода драйверов устройств использует одно защищенное пространство памяти защищенного режима, что свойственно монолитным ОС. Это означает, что в теории любой компонент ОС или драйвер устройства может повредить данные, используемые другими системными компонентами. В Windows эта проблема решается за счет повышения качества и контроля происхождения сторонних драйверов через такие программы, как WHQL или KMCS. Одновременно применяются дополнительные технологии защиты ядра, такие как безопасность на базе виртуализации, функции Device Guard.

Рассмотрим ключевые системные компоненты, формирующие архитектуру системы. На рисунке ниже представлена упрощенная схема, на которой опущены некоторые элементы, например, сетевые компоненты и различные уровни драйверов. Первое, на что стоит обратить внимание — это линия, разделяющая части пользовательского режима и режима ядра. Как упоминалось выше, потоки пользовательского режима выполняются в закрытом адресном пространстве процессов. На время выполнения в режиме ядра они получают доступ к системному пространству. Таким образом, системные процессы, пользовательские процессы, процессы служб и подсистемы среды обладают собственным закрытыми адресными пространствами.

монолитные операционные системы windows nt. image loader. монолитные операционные системы windows nt фото. монолитные операционные системы windows nt-image loader. картинка монолитные операционные системы windows nt. картинка image loader. В монолитных, или макроядерных, операционных системах ядро, состоящее из мно­жества управляющих модулей и структур данных, не разделено на центральную часть и периферийные (по отношению к этой центральной части) модули. Ядро получается монолитным, неделимым. В этом смысле макроядерные операцион­ные системы являются прямой противоположностью микроядерным. В монолитной операционной системе, несмотря на ее возможную сильную структуризацию, очень трудно удалить один из уровней многоуровневой модульной структуры. Добавление новых функций и изменение существующих для монолитных операционных систем требует очень хорошего знания всей архи­тектуры операционной системы и чрезвычайно больших усилий. Очень плодотворным оказался подход, основанный на модели клиент-сервер. Эта модель предполагает наличие программного компонента — потребителя какого-либо сервиса, или клиента, и программного компонента — поставщика этого сер­виса, или сервера.

Упрощенная схема архитектуры Windows

Четыре базовых типа процессов пользовательского режима:

Компоненты режима ядра:

Имя файлаКомпоненты
Ntoskrnl.exeИсполнительная система и ядро
Hal.dllHAL
Win32k.sysЧасть подсистемы Windows режима ядра (GUI)
Hvix64.exe (Intel), Hvax64.exe (AMD)Гипервизор
.sys в \SystemRoot\System32\DriversОсновные файлы драйверов: DirectX, Volume Manager, TCP/IP и поддержка ACPI
Ntdll.dllВнутренние вспомогательные функции и заглушки диспетчеризации системных сервисных функций
Kernel32.dll, Advapi32.dll, User32.dll, Gdi32.dllDll основных подсистем Windows

Windows API

Windows API (Application Programming Interface) — это программный интерфейс пользовательского режима для Windows. До появления 64-разрядной версии операционной системы программный интерфейс 32-разрядных версий Windows назывался Win32 API в отличие от исходного 16-разрядного Windows API (программный интерфейс для исходных 16-разрядных версий Windows). На данный момент термин Windows API или Win32 API относят как к 32-разрядным, так и к 64-разрядным версиям.

В «доисторические времена» Windows API состоял только из функций в стиле C. Выбор языка C был обусловлен тем, что написанный на нем код также мог использоваться из других языков. Он являлся достаточно низкоуровневым для предоставления сервиса ОС. Но огромное количество функций в сочетании с недостаточной последовательностью выбора имен и отсутствием логических группировок (вроде пространств имен C++) привели к тому, что в некоторых новых API используется другой механизм — модель COM.

WinRT

В Windows 8 появился новый API и исполнительная среда поддержки Windows Runtime (WinRT). WinRT состоит из платформенных сервисов, предназначенных для разработчиков приложений Windows Apps (приложения Windows Apps подходят для устройств, начиная от миниатюрных IoT-устройств до телефонов, планшетов, десктопных систем, ноутбуков и даже Xbox One и Microsoft HoloLens).

.NET Framework

.NET Framework является частью Windows. Он состоит из двух основных компонентов:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *