Слайд 1Операционные системы Автор В.А.Серков
Операционные системы Windows
Слайд 2В.А.Серков "Операционные системы" 11
История
1981 г. – графическая оболочка Windows для
ОС MSDOS.
1988 г. – Windows 2.0 для процессоров 286/386.
1990 г.
- Windows 3.0
1993 г. - Windows 3.11 для рабочих групп.
Слайд 3В.А.Серков "Операционные системы" 11
Windows 3.11
Имела приятный графический пользовательский интерфейс.
Использовала весь
объем памяти, адресуемой микропроцессорами 80286, 80386 и выше.
Могла использовать виртуальную
память, этот режим работы был назван 386-м расширенным (386 Enhanced Mode).
Имела многозадачные возможности, правда, не с разделением, а с кооперативным (cooperative) использованием процессорного времени.
Минимальный объем оперативной памяти 1 Мбайт в Стандартном режиме (Standard Mode);
Windows 3.11 по-прежнему могла работать на машинах класса IBM PC XT с использованием только нижней памяти (Реальный режим, или Real Mode).
Слайд 4В.А.Серков "Операционные системы" 11
Системная виртуальная машина
System VM
Внутри размещаются все
16-разрядные приложения Win16, а также код и данные системных DLL,
которые обеспечивают выполнение сервисных функций ОС.
Приложения Win16 выполняются в общем адресном пространстве внутри системной виртуальной машины.
Программы Win16 выполняются в режиме невытесняющей многозадачности.
Слайд 5В.А.Серков "Операционные системы" 11
System VDM
Приложения DOS запускаются на отдельных виртуальных
DOS-машинах (VDM), работающих в режиме вытесняющей многозадачности.
Слайд 6В.А.Серков "Операционные системы" 11
Сервисные функции системы
Системные библиотеки USER, GDI и
KERNEL предоставляют сервисные функции операционной системы приложениям и отображаются в
адресное пространство, совместно используемое приложениями Win16.
Слайд 7В.А.Серков "Операционные системы" 11
Ядро Windows 3.11
KERNEL управляет распределением памяти, процессами,
файловым вводом-выводом и так далее.
USER.ЕХЕ служил для работы с такими
устройствами, как клавиатура, мышь, таймер и порты, а также функции отображения элементов графического интерфейса (окон, меню).
GDI.ЕХЕ поддерживает графические процедуры - прорисовку линий, закрашивание, отображения шрифтов и взаимодействие с драйверами графических устройств - дисплея и принтера.
Слайд 8В.А.Серков "Операционные системы" 11
Файловая система
Диспетчер устанавливаемых файловых систем (IFS) и
драйвер 32-разрядного доступа к файлам (только в Windows for Workgroups
3.11) осуществляют большинство файловых операций в защищенном режиме, что ускоряет доступ к файлам.
Драйвер 32-разрядного доступа к диску управляет обменом с диском на физическом уровне.
Слайд 9В.А.Серков "Операционные системы" 11
Менеджер виртуальных машин
Подсистема управления виртуальными машинами (VM
Manager, VMM) предоставляет сервисные функции низкого уровня, такие как распределение
процессорного времени между VM и управление виртуальной памятью.
Сюда также относятся драйверы виртуальных устройств (VxD) для аппаратуры.
Слайд 11В.А.Серков "Операционные системы" 11
Windows 95 (в отличии от Windows
3.х) является полноправной операционной системой.
В Windows 95 добавлено около 1300
драйверов новых устройств.
Минимальные требования:
- процессор 486DX /66;
- 16 Мегабайт оперативной памяти;
- наличие устройств CD-ROM или DVD-ROM;
- монитор VGA.
Слайд 12В.А.Серков "Операционные системы" 11
Слайд 13В.А.Серков "Операционные системы" 11
Особенности Windows 95
Новый пользовательский интерфейс.
Вытесняющая многозадачность.
Многопоточность: Подсистема
управления виртуальными машинами (VMM) предоставляет низкоуровневые сервисные функции, например, планирование
нитей и управление памятью. Сюда также относятся драйверы виртуальных устройств (VxD) для аппаратуры.
Защита памяти, переделка средств управления оперативной памятью.
Поддержка службы Microsoft Network Win32 API (содержит встроенные средства для сетевой работы, отличным коммуникационным средством, поддерживает практически все сетевые протоколы и адаптеры).
ОС выполняет 16- и 32-х разрядные приложения.
Поддерживает технологию "plug-and-play".
Поддержка WDM (Windows Driver Model определяет унифицированную модель драйвера для операционных систем Windows).
Слайд 14В.А.Серков "Операционные системы" 11
Недостатки
Критические компоненты операционной системы, как USER и
GDI, которые соответственно обеспечивают управление окнами и предоставляют средства графического
интерфейса, являются по-прежнему 16-разрядными и работают в том же адресном пространстве, что и 16-разрядные приложения.
Большая часть нижней памяти размером в 1 Мбайт, принадлежащая адресному пространству системного кода Windows 95 (то есть системной виртуальной машине System VM), открыта для операций приложения Win32.
Windows 95 пересылает все вызовы USER API через 16-разрядную системную виртуальную машину System VM, которая размещается там же, где и выполняемое 16-разрядное приложение. Если 16-разрядное приложение "подвешивает" машину System VM, отказываясь обрабатывать сообщение (встречающийся чаще всего тип ошибки в существующих приложениях Windows), то все остальные процессы приостанавливаются.
Слайд 15В.А.Серков "Операционные системы" 11
Windows 98
32-разрядная операционная система.
Основные особенности:
-
поддержка Internet;
- поддержка Plag and Play;
- полностью 32-разрядное ядро, включая диспетчер
памяти, вытесняющая многозадачность и многопоточность;
- поддержка различных файловых систем (FAT, FAT32, ISO 9660, UDF, DVD), расширенные сетевые возможности;
- модель WDM, позволяющая использовать WDM-совместимые драйвера;
- процедуры корректного освобождения ресурсов в случае сбоев программного обеспечения или драйверов;
- автоматическая конфигурация устройств.
Менеджер виртуальной машины (Virtual Machine Manager):
- управляет страничной адресацией памяти;
- управления процессами;
- поддержка MS-DOS режима;
Слайд 16В.А.Серков "Операционные системы" 11
Архитектура операционной системы Windows 98
Слайд 18В.А.Серков "Операционные системы" 11
История
В конце 88-го года Microsoft поручила Дэвиду
Катлеру (David Cutler) возглавить новый проект в области программного обеспечения:
создать новую ОС фирмы Microsoft для 90-х годов. (Дэвид Катлер - главный консультант фирмы DEC, который 17 лет проработал там, разрабатывая ОС и компиляторы: VAX/ VMS, ОС для MicroVAX I, OS RSX-11M, компиляторы VAX PL/1, VAX C). Он собрал команду инженеров для разработки ОС новой технологии (New Technology - NT).
Первоначально планировалось разработать NT с пользовательским и программным (API) интерфейсами в стиле OS/2, однако OS/2 плохо продавалась, а Windows 3.0 имела большой и постоянный успех на рынке. Поэтому было принято решение, ориентироваться на Windows.
Слайд 19В.А.Серков "Операционные системы" 11
Операционная система Windows NT с самого начала
проектировалась с учетом всех требований, предъявляемых к современным ОС:
расширяемости;
переносимости;
надежности;
совместимости;
производительности.
Эти свойства были достигнуты за счет применения передовых технологий структурного проектирования, таких как клиент-сервер, микроядра, объекты.
Слайд 20В.А.Серков "Операционные системы" 11
Windows NT поддерживает симметричную многопроцессорную организацию вычислительного
процесса, в соответствии с которой ОС может выполняться на любом
свободном процессоре или на всех процессорах одновременно, разделяя память между ними.
Учитывая, что многозадачность реализуется на уровне нитей, разные части одного и того же процесса могут действительно выполняться параллельно. Следовательно, многонитевые серверы могут обслуживать более одного клиента.
Слайд 21В.А.Серков "Операционные системы" 11
Для управления нитями Windows NT Server использует
механизм приоритетов.
В определенные моменты производятся оценка приоритетов и перераспределение
нитей по процессорам.
Последовательные стадии одного потока программы могут выполняться разными процессорами или откладываться до высвобождения очередного процессора.
Слайд 22В.А.Серков "Операционные системы" 11
Windows NT Server поддерживает до 16 параллельных
процессоров, что актуально для таких серверов, как Symmetry 750 фирмы
Sequent с 16 процессорами Intel 486/50 МГц.
Следует, однако, иметь в виду, что реализация СМП в Windows NT Server нацелена на оптимизацию производительности и не обеспечивает резервирования в целях повышения отказоустойчивости.
В случае выхода из строя одного из процессоров система останавливается.
В Windows NT Server в полной мере реализован потенциал масштабируемости архитектуры СМП. Однопроцессорную систему можно легко развивать, наращивая число процессоров, без замены версии ОС или приложений.
Слайд 23В.А.Серков "Операционные системы" 11
При управлении устройствами ввода/вывода Windows NT Server
использует асинхронный подход.
Для завершения процесса и начала выполнения новой
задачи не нужно ждать поступления сигнала об окончании таких операций, как чтение или запись.
Каждый процесс создается с использованием одной нити, которая служит специфическим отображением выполнения программы процессором.
Впоследствии программа может создавать новые нити, и Windows NT Server будет распределять их и управлять ими, не привлекая к этому приложения высокого уровня.
Слайд 24В.А.Серков "Операционные системы" 11
Для того, чтобы прикладная программа могла использовать
несколько потоков, не нужно предусматривать этого в ее алгоритме.
Отдельный
поток создается для каждой операции. Например, в одном потоке программа может воспроизводить сложную графическую форму, а другой использовать для редактирования объемного чертежа. Каждый из этих потоков (или, с точки зрения пользователя, операций) работает на отдельном процессоре, не требуя никаких управляющих вмешательств со стороны приложения.
Потоки внутри процесса используют общую область памяти и, следовательно, не должны специально обмениваться данными.
Слайд 25В.А.Серков "Операционные системы" 11
В соответствии с требованием совместимости, Windows NT
обеспечивает среду выполнения не только для приложений с исходным программным
интерфейсом Win32 API.
При выполнении на процессорах фирмы Intel защищенные подсистемы Windows NT обеспечивают двоичную совместимость существующих приложений фирмы Microsoft, включая MS-DOS, Win16, OS/2.
На MIPS RISC процессорах двоичная совместимость достигается для приложений MS-DOS и 16-битных Windows-приложений (с использованием эмуляции).
Windows NT обеспечивает также совместимость на уровне исходных текстов для POSIX-приложений, которые твердо придерживаются интерфейса, определенного в стандарте IEEE 1003.1.
Слайд 26В.А.Серков "Операционные системы" 11
Помимо совместимости программных интерфейсов, Windows NT поддерживает
существующие файловые системы.
- файловая система MS-DOS (FAT),
- файловая система CD-ROM,
-
файловая система OS/2 (HPFS),
- собственная файловая система (NTFS).
Слайд 27В.А.Серков "Операционные системы" 11
В отличие от большинства других операционных систем,
Windows NT изначально разрабатывался с учетом возможности работы в сети.
В результате этого функции совместного использования файлов, устройств и объектов встроены в интерфейс с пользователем.
Администраторы могут централизованно управлять и контролировать работу сетей в масштабах крупных предприятий.
Особенно важно отметить возможность распространения работы приложений типа клиент-сервер на многокомпьютерные системы.
Слайд 29В.А.Серков "Операционные системы" 11
В основе архитектуры операционной системы Windows NT
положена технология КЛИЕНТ-СЕРВЕР.
Приложение, выступающее в качестве клиента посылает запросы ядру
ОС, которая (в качестве сервера) выполняет определенные действия, обслуживая приложение.
Слайд 30В.А.Серков "Операционные системы" 11
Windows NT разделена на несколько подсистем, каждая
из которых выполняет отдельный набор сервисных функций.
Каждый сервер реализуется
в пользовательском режиме, выполняя цикл проверки запроса от клиента на одну из его сервисных функций.
Клиент, которым может быть либо другая компонента ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер.
Ядро ОС (или микроядро), работая в привилегированном режиме, доставляет сообщение нужному серверу, затем сервер выполняет операцию, после этого ядро возвращает результаты клиенту с помощью другого сообщения.
Слайд 31В.А.Серков "Операционные системы" 11
Часть Windows NT, работающая в режиме ядра,
называется executive - исполнительной частью.
Она включает ряд компонент, которые
управляют виртуальной памятью, объектами (ресурсами), вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности.
Эти компоненты взаимодействуют между собой с помощью межмодульной связи. Каждая компонента вызывает другие с помощью набора внутренних процедур.
Слайд 32В.А.Серков "Операционные системы" 11
Вторую часть Windows NT, работающую в режиме
пользователя, составляют серверы - так называемые защищенные подсистемы.
Серверы Windows
NT называются защищенными подсистемами, так как каждый из них выполняется в отдельном процессе, память которого отделена от других процессов системой управления виртуальной памятью NT executive.
Слайд 33В.А.Серков "Операционные системы" 11
Поддержку защищенных подсистем обеспечивает исполнительная часть -
Windows NT executive, которая работает в пространстве ядра. Ее составными
частями являются:
Менеджер объектов. Создает, удаляет и управляет объектами NT executive - абстрактными типами данных, используемых для представления ресурсов системы.
Менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.
Слайд 34В.А.Серков "Операционные системы" 11
Менеджер ссылок безопасности. Устанавливает правила защиты на
локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию
исполняемых объектов.
Слайд 35В.А.Серков "Операционные системы" 11
Подсистема ввода-вывода. Включает в себя следующие компоненты:
- менеджер ввода-вывода, предоставляющий средства ввода-вывода, независимые от устройств;
- файловые системы;
- сетевой редиректор и сетевой сервер, драйверы файловых систем, передающие удаленные запросы на ввод-вывод на машины сети и получающие запросы от них;
- драйверы устройств NT executive;
- менеджер кэша, реализующий кэширование диска.
Слайд 36В.А.Серков "Операционные системы" 11
Ядро расположено над уровнем аппаратных абстракций (Hardware
Abstraction Level HAL), который концентрирует в одном месте большую часть
машинно-зависимых процедур.
HAL располагается между NT executive и аппаратным обеспечением и скрывает от системы такие детали, как контроллеры прерываний, интерфейсы ввода/вывода и механизмы взаимодействия между процессорами.
Такое решение позволяет легко переносить Windows NT с одной платформы на другую путем замены только слоя HAL.
Слайд 38В.А.Серков "Операционные системы" 11
Защищенные подсистемы Windows NT работают в пользовательском
режиме и создаются Windows NT во время загрузки операционной системы.
Сразу после создания они начинают бесконечный цикл своего выполнения, отвечая на сообщения, поступающие к ним от прикладных процессов и других подсистем.
Слайд 39В.А.Серков "Операционные системы" 11
Windows NT использует защищенные подсистемы для того,
чтобы:
1. Обеспечить несколько программных интерфейсов (API), по возможности не усложняя
при этом базовый программный код (NT executive).
2. Изолировать базовую операционную систему от изменений или расширений в поддерживаемых API.
2. Объединить часть глобальных данных, требующихся всем API, и в то же время отделить данные, использующиеся каждым отдельным API от данных, использующихся другими API.
4. Защитить окружение каждого API от приложений, а также от окружений других API, и защитить базовую операционную систему от различных окружений.
5. Позволить операционной системе расширяться в будущем за счет новых API.
Слайд 40В.А.Серков "Операционные системы" 11
Наиболее важной подсистемой окружения является Win32 -
подсистема, которая обеспечивает доступ для приложений к 32-bit Windows API.
Дополнительно
эта система обеспечивает графический интерфейс с пользователем и управляет вводом/выводом данных пользователя. Также поддерживаются подсистемы POSIX, OS/2,16-разрядная Windows и MS-DOS.
Слайд 41В.А.Серков "Операционные системы" 11
POSIX (Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем
Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт
создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем.
Слайд 42В.А.Серков "Операционные системы" 11
Основным средством, скрепляющим все подсистемы Windows NT
в единое целое, является механизм вызова локальных процедур (Local Procedure
Call - LPC). LPC представляет собой оптимизированный вариант более общего средства - удаленного вызова процедур (RPC), которое используется для связи клиентов и серверов, расположенных на разных машинах сети.
Средства LPC поддерживают несколько способов передачи данных между клиентами и серверами.
Каждая подсистема устанавливает порт - канал связи, посредством которого с ней могут связываться другие процессы. Порты реализуются как объекты.
Слайд 43В.А.Серков "Операционные системы" 11
Windows NT Workstation
Windows NT Workstation, прежде всего,
может использоваться как клиент в сетях Windows NT Server, а
также в сетях NetWare, UNIX, Vines. Она может быть рабочей станцией и в одноранговых сетях, выполняя одновременно функции и клиента, и сервера.
Windows NT Workstation может применяться в качестве ОС автономного компьютера при необходимости обеспечения повышенной производительности, секретности, а также при реализации сложных графических приложений, например, в системах автоматизированного проектирования.
Слайд 44В.А.Серков "Операционные системы" 11
Windows NT Server
Windows NT Server может быть
использован, прежде всего, как сервер в корпоративной сети. Здесь весьма
полезной оказывается его возможность выполнять функции контроллера доменов, позволяя структурировать сеть и упрощать задачи администрирования и управления.
Используется также в качестве файл-сервера, принт - сервера, сервера приложений, сервера удаленного доступа и сервера связи (шлюза). Кроме того, Windows NT Server может быть использован как платформа для сложных сетевых приложений, особенно тех, которые построены с использованием технологии клиент-сервер.
Слайд 46В.А.Серков "Операционные системы" 11
Система была анонсирована в 1994 году. Альфа-тестирование
проводилось с начала 1995 года по сентябрь 1997 года. Первая
публичная бета-версия системы была выпущена 27 сентября 1997 года.
Изначально система носила название Windows NT 5.0, поскольку была следующей крупной версией Windows NT после Windows NT 4.0. Однако 27 октября 1998 года она получила собственное название Windows 2000.
Финальная версия системы была выпущена для широкой общественности 17 февраля 2000 года.
Слайд 48В.А.Серков "Операционные системы" 11
1. Фиксированные процессы поддержки системы (system support
processes) — например, процесс обработки входа в систему и диспетчер
сеансов, не являющиеся сервисами Windows 2000 (т. е. не запускаемые диспетчером управления сервисами).
2. Процессы сервисов (service processes) — носители Win32-cepBHcoB вроде Task Scheduler и Spooler. Многие серверные приложения Windows 2000, например Microsoft SQL Server и Microsoft Exchange Server, тоже включают компоненты, выполняемые как сервисы.
Слайд 49В.А.Серков "Операционные системы" 11
3. Пользовательские приложения (user applications) — бывают
пяти типов-Win32, Windows 3.1, MS-DOS, POSIX и OS/2 1.2;
4. Подсистемы
окружения (environment subsystems) — предоставляют сервисы, встроенные в операционную систему, пользовательским приложениям через набор вызываемых функций, образуя таким образом окружение операционной среды. Windows 2000 поставляется с тремя подсистемами окружения: Win32, POSIX и OS/2.
Слайд 50В.А.Серков "Операционные системы" 11
В Windows 2000 пользовательские приложения не могут
вызывать встроенные сервисы операционной системы напрямую, вместо этого они работают
с одной или несколькими DLL подсистем (subsystem DLL).
Их назначение заключается в трансляции документированных функций в соответствующие внутренние (недокументированные) вызовы системных сервисов Windows 2000.
Слайд 52В.А.Серков "Операционные системы" 11
Исполнительная система (executive), содержащая базовые сервисы операционной
системы, которые обеспечивают управление памятью, процессами и потоками, защиту, ввод-вывод
и взаимодействие между процессами.
Слайд 53В.А.Серков "Операционные системы" 11
Ядро (kernel), содержащее низкоуровневые функции операционной системы,
которые поддерживают, например, планирование потоков, диспетчеризацию прерываний и исключений, а
также синхронизацию при использовании нескольких процессоров.
Оно также предоставляет набор процедур и базовых объектов, применяемых исполнительной системой для реализации структур более высокого уровня.
Слайд 54В.А.Серков "Операционные системы" 11
Драйверы устройств (device drivers), в состав которых
входят драйверы аппаратных устройств, транслирующие пользовательские вызовы функций ввода-вывода в
запросы, специфичные для конкретного устройства, а также сетевые драйверы и драйверы файловых систем.
Слайд 55В.А.Серков "Операционные системы" 11
Уровень абстрагирования от оборудования (hardware abstraction layer,
HAL), изолирующий ядро, драйверы и исполнительную систему Windows 2000 от
специфики оборудования на данной аппаратной платформе (например, от различий между материнскими платами).
Слайд 56В.А.Серков "Операционные системы" 11
Подсистема поддержки окон и графики (windowing and
graphics system), реализующая функции графического пользовательского интерфейса (GUI), более известные
как Win32-функции модулей USER и GDI.
Эти функции обеспечивают поддержку окон, элементов управления пользовательского интерфейса и отрисовку графики.