Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_Лекции_гот.DOC
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
6.08 Mб
Скачать

Лекция 11. Операционные системы семеиства Windows

Как известно, компания microsoft является безусловным лидером и разработке программного обеспечения для персональных компьютеров. Среди разнообразных программных продуктов этой компании особое место занимают ее операционные системы. Начав с разработки простейшей однопрограммной операционной систе­мы для первого персонального компьютера, эта компания недавно выпустила не­сколько версий серверной операционной системы windows 2003, которые пред­назначены для построения корпоративных сетей и считаются на сегодняшний день одними из самых сложных и полнофункциональных. Для встроенных систем (в том числе систем для карманных компьютеров и других мобильных систем) microsoft разработала операционные системы семейства windows се. Последняя такая опе­рационная система для популярных компьютеров типа pocket рс получила на­звание microsoft windows mobile 2003 for pocket pc. (операционные системы windows се имеют тот же интерфейс win32 api, что и системы для персональ­ных компьютеров.)

Впервые слово «windows», что, как известно, в переводе с английского дословно означает окна, компания microsoft использовала в названии своей программной системы для персональных компьютеров, призванной предоставить пользовате­лям графический интерфейс и возможность работать с несколькими приложения­ми. Первые системы windows представляли собой своеобразную оболочку, запус­каемую из операционной системы ms dos, которая переключала центральный процессор в защищенный режим работы и позволяла организовать параллельное выполнение нескольких задач. Наличие графического интер­фейса пользователя (graphical user interface, gui) и широкая поддержка его со стороны компании microsoft привели к тому, что большинство новых программ­ных продуктов стали создаваться в расчете на эти новые возможности. Со временем компания microsoft все больше внимания стала уделять обеспечению надеж­ности вычислений и их эффективности, однако задача обеспечить пользователя интуитивно понятным и в целом удобным графическим интерфейсом, похоже, так и осталась главной.

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

Основной особенностью систем windows является то, что все они предназначены для диалогового режима работы, и поэтому в качестве основного интерфейса вы­бран графический, как более функциональный и удобный. Если в таких операци­онных системах, как linux, qnx или os/2, можно работать с системой через интерфейс командной строки и этим ограничиться, то во всех системах windows невозможно получить текстовый интерфейс командной строки без графического.

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

Операционные системы windows 9х. Краткая историческая справка

В те годы, когда появилась первая система windows, а это произошло в ноябре 1985 года, наибольшее распространение имели компьютеры на базе процессора i80286.

После первой системы windows, которая себя только обозначила, компания microsoft в течение нескольких лет принимала активное участие в работах по созда­нию операционной системы os/2. Кстати, операционная система windows nt «выросла» из проекта os/2, который имел версию 3.0.

Общие сведения

Операционные системы windows 9х создавались для работы только на ibm-со-вместимых персональных компьютерах. Они не являются переносимыми и на дру­гих платформах (на процессорах, не совместимых с архитектурой iа32) не работа­ют. Как и для всего остального программного обеспечения от microsoft исходные коды операционных систем закрыты, поэтому подробного описания ее архитекту­ры практически нет; имеются только многочисленные публикации о том, как сле­дует использовать эти системы.

Операционные системы семейства windows 9х предназначены, главным образом, для домашнего, а не корпоративного применения. Уже многие годы они являются самыми распространенными в мире. Хотя они допускают возможность работы с компьютером нескольких пользователей (естественно, по очереди, поскольку сис­темы являются однотерминальными), в них не поддерживается механизм учет­ных записей, как в остальных 32-разрядных операционных системах. Каждый пользователь может иметь свое собственное рабочее окружение, то есть свой вид рабочею стола (desktop), состав панели задач (taskbar) и меню пуск (start), пара­метры настройки используемых программ и многое другое. Это собственное рабочее окружение называется профилем (profile), и при включении такой возможнос­ти в системном каталоге образуется вложенный каталог с именем profiles, в кото­ром и размещаются профили пользователей

С точки зрения базовой архитектуры операционные системы семейства windows 9х являются 32-разрядными и мультизадачными (многопоточными) системами с вытесняющей многозадачностью. Ядра у всех этих операционных систем построе­ны по макроядерной архитектуре. Ядро состоит из трех основных компонентов: kernel, user и gdi. Модуль kernel обеспечивает основную функциональность опе­рационной системы, в том числе: планирование процессов; поддержку потоков выполнения; синхронизацию объектов; работу с файлами, отображаемыми на па­мять; управление памятью; файловый ввод-вывод; обработку исключений; работу консолей; компонент user управляет вводом с клавиатуры и координатных устройств (типа мыши) и выводом через пользовательский интерфейс. Когда то или иное устройство ввода генерирует пре­рывания, обработчик прерываний, используя модель асинхронного ввода, преоб­разует их в сообщения и посылает потоку необработанного ввода, который рас­пределяет их по соответствующим очередям сообщений. Наконец, компонент ядра, называемый gdi (graphical device interface— графический интерфейс устройства), представляет собой графическую подсистему, которая отвечает за прори­совку графических примитивов, операции с растровыми изображениями и взаи­модействие с аппаратно-независимыми графическими драйверами, gdi управля­ет выводом на экран, принтеры и другие устройства.

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

Организация многозадачности

Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы windows 9х, состоит в организации по возможности простого, но эффективною способа предоставления процессор­ного времени различным параллельно выполняющимся программам. Другими сло­вами, речь идет о диспетчеризации задач.

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

Диспетчер задач (потоков выполнения) использует следующие три механизма, с по­мощью которых он пытается равномерно распределять время процессора между всеми вычислениями в целях обеспечения бесперебойной и одновременно быст­рой реакции системы.

  • Динамическое изменение приоритета. Диспетчер на время может повысить или понизить приоритет того или иного потока. Так, например, нажатие клавиши или щелчок мыши говорит ему о том, что приоритет потока, к которому отно­сится действие пользователя, должен быть повышен.

  • Постсинхронизированное снижение приоритета. Ранее повышенное значение приоритета постепенно возвращается к исходному значению.

  • Наследование приоритета. Служит для быстрого повышения приоритета. Обыч­но это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восста­навливает исходное значение унаследованного приоритета сразу же после удов­летворения конфликтного условия.

Распределение оперативной памяти

Для загрузки операционные системы windows 95/98 используют операционную систему ms dos 7.0 (ms dos 98). И в случае если в секции [options] файла msdos.sys имеется строка bootgui= 0, процессор работает в обычном реальном режиме. Распределение памяти в ms dos 7.0 такое же, как и в предыдущих версиях dos. Однако при загрузке интерфейса gui перед загрузкой ядра windows 95/98 процессор переключается в защищенный режим работы и начинает распределять память уже с помощью страничного механизма.

Приложения и подсистемы windows 9х (за исключением ядра) никогда не рабо­тают с физической памятью. Разделение на виртуальную и физическую память является ключевым аспектом работы системы. Приложения и подсистемы windows 9х имеют дело с определенными интерфейсами прикладного программиро­вания и виртуальными адресными пространствами. Базовая система работает как с физической памятью, так и с виртуальными адресными пространствами.

Операционные системы windows nt/2000/xp

Компания microsoft в 1990 году объявила о начале работ по созданию принципи­ально новой операционной системы для персональных ibm pc-совместимых компьютеров с прицелом на корпоративный сектор, которая помимо банальной муль­тизадачности и поддержки виртуальной памяти обладала бы, в частности, такими качествами, как:

  • Микроядерная архитектура — сказалось влияние идей проекта mach 3, выпол­ненного в университете карнеги меллон (carnegie mellon university), которое в то время было очень велико;

  • Аппаратная независимость (platform independent), что должно было обеспечить легкую переносимость системы;

  • Мультипроцессорная обработка и масштабируемость (в то время операцион­ные системы семейства unix обеспечивали работу на мультипроцессорных компьютерах и фактически доминировали как мощные корпоративные сервер­ные системы);

  • Возможность выполнения приложений, созданных для других операционных систем, в частности приложений для unix и 16-разрядных программ os/2;

  • Защита информации и вычислений от несанкционированного доступа;

  • Наличие высокопроизводительной и надежной файловой системы и возмож­ность работать с несколькими файловыми системами;

  • Встроенные сетевые функции и поддержка распределенных вычислений.

Однако windows nt 3.1 в качестве рабочей станции уступала системе os/2, поскольку требовала существенно больше оперативной памяти и имела от­носительно низкое быстродействие. Кроме этого, при работе с дисками, отформа­тированными под файловую систему fat, она не поддерживала длинные имена.

Системы windows nt 3.x не смогли тогда завоевать признание ни в качестве сер­верных, ни в качестве обычных настольных систем, поскольку требовали очень больших (по меркам того времени) вычислительных ресурсов.

Как ни странно, но еще одним недостатком этих первых систем windows nt было гтоогое следование идеям микроядерной архитектуры. Желая исправить эти недочеты, microsoft запустила проект cairo и в 1996 г. Выпустила операционные системы windows nt 4.0 server и windows nt 4.0 workstation.

К сожалению, в своей новой операционной системе компания microsoft отказа­лась от поддержки высокопроизводительной файловой системы hpfs, с которой работают операционные системы os/2, хотя при желании пользователь мог сам до­бавить соответствующие драйверы из дистрибутива предыдущей windows nt 3.x.

Желая противопоставить свою серверную операционную систему известным се­тевым операционным системам корпоративного уровня nowell netware 4.x и netware 5х, компания microsoft разработала новое семейство операционных систем класса nt, которое должно было изначально называться windows nt 5.0, однако из маркетинговых соображений было переименовано в windows 2000. В семей­ство этих систем вошли четыре операционные системы.

  • Windows 2000 professional — для использования в качестве рабочей станции вместо windows nt 40 workstation или windows 98. Эта операционная систе­ма может работать на 2-процессорных компьютерах.

  • Windows 2000 server— для использования в качестве контроллера домена и/или сервера (файлов, приложений, баз данных, web и/или ftp, печати и т. Д.) В относительно небольшой сети, которую могут себе позволить иметь предприятия малого и среднего бизнеса. Эта операционная система поддерживает 4-процессорные конфигурации.

  • Windows 2000 advanced server — для тех же целей, что и windows 2000 server, но с упором на выполнение функций сервера приложений и сервера баз дан­ных. Обладает возможностью работать на компьютере с восемью процессора­ми и, самое главное, организовать кластер из двух машин.

  • Windows 2000 datacenter server — специальная версия операционной систе­мы, предназначенная для работы в вычислительных сетях крупных предприя­тий. Система хорошо масштабируется, позволяет построить 4-узловой кластер, причем каждая из машин может иметь вплоть до 16 процессоров.

Наверное, самыми главными особенностями этих операционных систем (по сравне­нию с предыдущими windows nt 4.0) следует назвать поддержку механизма plug and play (как и в системах windows 9х) и использование службы каталогов как ос­новы для построения сетей клиент-сервер. Служба каталогов microsoft, получила наименование active directory. Принципиальной особенностью этой технологии яв­ляется ее глубокая интеграция с тср/ip.

Осенью 2001 года microsoft обновила операционную систему windows 2000 professional до windows хр (experience). При этом она выпустила две редакции. Одна из них представляла собой «облегченный» вариант системы для домашнего при­менения. Она получила название windows хр home edition. Системы windows xp в еще большей мере стали мультимедийными и ориентированными на интер­нет. Интересным новшеством для систем windows стала возможность организо­вать одновременную работу с компьютером двух пользователей: для одного непо­средственно (локально), а для второго удаленно с другого компьютера.

Наконец, весной 2003 года на замену семейству windows 2000 вышли несколько серверных операционных систем, которые получили в название число 2003. Это следующие 32-разрядные операционные системы для микропроцессоров с архитек­турой iа-32.

  • Windows small business server 2003 — предназначена для построения неболь­ших локальных вычислительных сетей.

  • Windows server 2003 web edition — это самая «облегченная» система, она не может выступать в роли контроллера домена и быть сервером приложений.

  • Windows server 2003 standard edition — основная многоцелевая операционная система, пришедшая на смену windows 2000 server.

  • Windows server 2003 enterprise edition — аналог windows 2000 advanced server.

  • Windows server 2003 datacenter edition.

Последние две операционные системы имеют разновидности для 64-разрядных процессоров itanium 2 производства компании intel.

Ничего революционного эти системы не привнесли, но существенно обновили предыдущие серверные операционные системы. В качестве основных особенностей новых систем microsoft отмечает упрощение администрирования, более безопас­ную инфраструктуру и более высокую надежность, интеграцию в системы актив­но продвигаемой технологии net (произносится как «дот нет»).

Основные особенности архитектуры

Наиболее принципиальным отличием между системами класса windows 9х и windows nt является то, что у них разная архитектура.

Большинство операционных систем использует такую особенность современных процессоров, как возможность работать в одном из двух режимов: привилегирован­ном (режиме ядра, или режиме супервизора) и пользовательском (режиме выпол­нения приложений).

Поскольку при. Создании windows nt разработчики хотели обеспечить ее мобиль­ность, то есть легкую переносимость на другие платформы, они приняли решение использовать только два уровня привилегий из четырех, имеющихся в микропро­цессорах intel семейства i80x86.

Одним из важнейших компонентов операционных систем windows nt/2000/xp, который появился вследствие следования микроядерному принципу их построе­ния, является исполняющая система (win32 executive). Она выполняет такие ба­зовые функции операционной системы, как управление процессами и потоками, управление памятью, взаимодействие между процессами, защиту, операции вво­да-вывода (включая файловые операции, кэширование, работу с сетью и некото­рые другие). Ниже перечислены компоненты исполняющей системы.

  • Диспетчер процессов (process manager) создает, отслеживает и удаляет про­цессы. Для выполнения этих функций создается соответствующий дескриптор, определяются базовый приоритет процесса и карта адресного пространства, создается и поддерживается список всех готовых к выполнению потоков.

  • Диспетчер виртуальной памяти (virtual memory manager) предоставляет вир­туальную память выполняющимся процессам. Каждый процесс имеет отдель­ное адресное пространство, используется страничное преобразование линей­ных адресов в физические, поэтому потоки одного процесса не имеюг доступа к физическим страницам, отведенным для другого процесса.

  • Диспетчер объектов (object manager) создает и поддерживает объекты. В част­ности, поддерживаются дескрипторы объектов и атрибуты защиты объектов. Объектами считаются каталоги, файлы, процессы и потоки, семафоры и собы­тия и многие другие.

  • Монитор безопасности (security reference monitor) обеспечивает санкционирование доступа к объектам, контроль полномочий доступа и ведение аудита. Совместно с процессом входа в систему (logon) и защищенными подсистемами реализует модель безопасности windows nt.

  • Диспетчер ввода-вывода (input/output manager) управляет всеми операция­ми ввода-вывода в системе. Организует взаимодействие и передачу данных между всеми драйверами, включая драйверы файловых систем, драйверы фи­зических устройств, сетевые драйверы, для чего используются структуры дан­ных, называемые пакетами запросив на ввод-вывод (i/o request packet, irp). Запросы на ввод-вывод обрабатываются в порядке приоритетов, а не в порядке их поступления. Операции ввода-вывода квитируются, этим процессом управ­ляет диспетчер кэша (cache manager). Поддерживаются различные файловые системы, причем драйверы этих систем воспринимаются диспетчером ввода-вывода как драйверы физических устройств. Специальное сетевое системное программное обеспечение (редиректор и сервер) трактуются как сетевые драй­веры и также имеют непосредственную связь с диспетчером ввода-вывода.

  • Средства вызова локальных процедур (local procedure call, lpc) обеспечивают выполняющиеся подсистемы среды выполнения и приложения пользователей коммуникационным механизмом, в котором взаимодействие строится по прин­ципу клиент-сервер.

Модель безопасности

При разработке всех операционных систем семейства windows nt/2000/xp ком­пания microsoft уделяла самое пристальное внимание обеспечению информаци­онной безопасности. Как следствие, эти системы предоставляют надежные меха­низмы защиты, которые просты в использовании и легки в управлении. Сертификат безопасности на соответствие уровню с2 имеют операционные системы windows nt 3.5 и windows nt 4.0. Операционные системы семейства windows 2000 имеют еще более серьезные средства обеспечения безопасности, однако на момент написания этой книги они еще не сертифицировались.

В отличие от операционных систем семейства windows 9х, как, впрочем, и от сис­темы os/2, в разработке первой версии которой microsoft тоже принимала учас­тие, системы класса windows nt имеют совершенно иную модель безопасности. Средства защиты изначально глубоко интегрированы в операционную систему. Подсистема безопасности осуществляет контроль за тем, кто и какие действия со­вершает в процессе работы, к каким объектам пытается получить доступ. Все дей­ствия пользователя, в том числе и обращения ко всем объектам, как нетрудно до­гадаться, на самом деле могут быть совершены только через соответствующие запросы к операционной системе. Операционная система использует этот факт и имеет все необходимые механизмы для тотального контроля всех запросов к ней. Запрашиваемые у операционной системы операции и обращения к конкретным объектам разрешаются, только если у пользователя для этого имеются необходи­мые права и/или разрешения. При этом обязательно следует различать эти поня­тия.

Права (rights) определяют уровень полномочий при работе в системе. Например, если нет права форматировать диск, то выполнить это действие пользователь не сможет. Кстати, конкретно таким правом при работе с windows nt/2000/xp об­ладают только члены группы администраторов. Можно говорить и о праве изме­нения настроек дисплея, и о праве работать на компьютере. Очевидно, что перечень прав является достаточно большим. Права могут быть изменены посредством применения соответствующих политик.

Термин разрешение (permission) обычно применяют по отношению к конкретным объектам, таким как файлы и каталоги, принтеры и некоторые другие. Можно го­ворить о разрешениях на чтение, на запись, на исполнение, на удаление и проч. Например, можно иметь разрешения на чтение и запуск некоторой программы, но не иметь разрешений на ее переименование и удаление.

Модель безопасности windows nt гарантирует, что не удастся получить доступ к ее объектам без того, чтобы предварительно пройти аутентификацию и авторизацию, для того чтобы иметь право работать на компьютере, необходимо иметь учетную запись (account). Учетные записи хранятся в базе данных учетных записей, которая представлена файлом sam (security account management).