Ос семейства windows nt являются ос пакетной обработки

Работа по теме: 946__8367__946__955. Глава: 1.1.Классификация ос. ВУЗ: ННГУ.

Операционные
системы могут различаться особенностями
реализации внутренних алгоритмов
управления основными ресурсами

компьютера (процессорами, памятью,
устройствами), особенностями
использованных методов проектирования,
типами аппаратных платформ, областями
использования

и
многими другими свойствами.

Особенности
алгоритмов управления ресурсами

Характеризуя
сетевую ОС, часто приводят важнейшие
особенности реализации функций ОС по
управлению процессорами, памятью,
внешними устройствами автономного
компьютера. Так, например, в зависимости
от особенностей использованного
алгоритма управления процессором,
операционные системы делят на многозадачные
и однозадачные, многопользовательские
и однопользовательские,

на системы, поддерживающие
многонитевую обработку и не поддерживающие

ее, на многопроцессорные
и однопроцессорные системы.

Поддержка
многозадачности.
По числу одновременно выполняемых задач
операционные системы могут быть разделены
на два класса: однозадачные (например,
MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX,
Windows 95).

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

Поддержка
многопользовательского режима.
По
числу одновременно работающих
пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние
версии OS/2) и многопользовательские
(UNIX, Windows NT). Главным отличием
многопользовательских систем от
однопользовательских является наличие
средств защиты информации каждого
пользователя от несанкционированного
доступа других пользователей. Следует
заметить, что не всякая многозадачная
система является многопользовательской,
и не всякая однопользовательская ОС
является однозадачной.

Вытесняющая(Windows
NT, OS/2, UNIX).

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

Поддержка
многонитевости.
Важным
свойством операционных систем является
возможность распараллеливания вычислений
в рамках одной задачи. Многонитевая ОС
разделяет процессорное время не между
задачами, а между их отдельными ветвями
(нитями).

Многопроцессорная
обработка.
Другим
важным свойством ОС является отсутствие
или наличие в ней средств поддержки
многопроцессорной обработки —
мультипроцессирование.
Мультипроцессирование приводит к
усложнению всех алгоритмов управления
ресурсами. В наши дни становится
общепринятым введение в ОС функций
поддержки многопроцессорной обработки
данных. Такие функции имеются в
операционных системах Solaris 2.x фирмы Sun,
Open Server 3.x компании Santa Crus Operations, OS/2 фирмы
IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы
Novell. Многопроцессорные ОС могут
классифицироваться по способу организации
вычислительного процесса в системе с
многопроцессорной архитектурой:
асимметричные
ОС
и симметричные
ОС. Асимметричная
ОС целиком выполняется только на одном
из процессоров системы, распределяя
прикладные задачи по остальным
процессорам. Симметричная
ОС
полностью децентрализована и использует
весь пул процессоров, разделяя их между
системными и прикладными задачами.

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

Особенности
аппаратных платформ

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

Сетевая ОС
имеет в своем составе средства передачи
сообщений между компьютерами по линиям
связи, которые совершенно не нужны в
автономной ОС. На основе этих сообщений
сетевая ОС поддерживает разделение
ресурсов компьютера между удаленными
пользователями, подключенными к сети.
Для поддержания функций передачи
сообщений сетевые ОС содержат специальные
программные компоненты, реализующие
популярные коммуникационные протоколы,
такие как IP, IPX, Ethernet и другие.

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

Другие
требования предъявляются к операционным
системам кластеров.
Кластер — слабо связанная совокупность
нескольких вычислительных систем,
работающих совместно для выполнения
общих приложений, и представляющихся
пользователю единой системой. Наряду
со специальной аппаратурой для
функционирования кластерных систем
необходима и программная поддержка со
стороны операционной системы, которая
сводится в основном к синхронизации
доступа к разделяемым ресурсам,
обнаружению отказов и динамической
реконфигурации системы. Одной из первых
разработок в области кластерных
технологий были решения компании Digital
Equipment на базе компьютеров VAX. Недавно
этой компанией заключено соглашение с
корпорацией Microsoft о разработке кластерной
технологии, использующей Windows NT. Несколько
компаний предлагают кластеры на основе
UNIX-машин.

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

Особенности областей
использования

Многозадачные ОС
подразделяются на три типа в соответствии
с использованными при их разработке
критериями эффективности:

Системы пакетной
обработки
(например,
OC EC) предназначались для решения задач
в основном вычислительного характера,
не требующих быстрого получения
результатов. Главной целью и критерием
эффективности систем пакетной обработки
является максимальная пропускная
способность
,
то есть решение максимального числа
задач в единицу времени. Для достижения
этой цели в системах пакетной обработки
используются следующая схема
функционирования: в начале работы
формируется пакет заданий, каждое
задание содержит требование к системным
ресурсам; из этого пакета заданий
формируется мультипрограммная смесь,
то есть множество одновременно выполняемых
задач. Для одновременного выполнения
выбираются задачи, предъявляющие
отличающиеся требования к ресурсам,
так, чтобы обеспечивалась сбалансированная
загрузка всех устройств вычислительной
машины; так, например, в мультипрограммной
смеси желательно одновременное
присутствие вычислительных задач и
задач с интенсивным вводом-выводом.
Таким образом, выбор нового задания из
пакета заданий зависит от внутренней
ситуации, складывающейся в системе, то
есть выбирается «выгодное» задание.
Следовательно, в таких ОС невозможно
гарантировать выполнение того или иного
задания в течение определенного периода
времени. В системах пакетной обработки
переключение процессора с выполнения
одной задачи на выполнение другой
происходит только в случае, если активная
задача сама отказывается от процессора,
например, из-за необходимости выполнить
операцию ввода-вывода. Поэтому одна
задача может надолго занять процессор,
что делает невозможным выполнение
интерактивных задач. Таким образом,
взаимодействие пользователя с
вычислительной машиной, на которой
установлена система пакетной обработки,
сводится к тому, что он приносит задание,
отдает его диспетчеру-оператору, а в
конце дня после выполнения всего пакета
заданий получает результат. Очевидно,
что такой порядок снижает эффективность
работы пользователя.

Системы разделения
времени
(UNIX,
VMS) призваны исправить основной недостаток
систем пакетной обработки — изоляцию
пользователя-программиста от процесса
выполнения его задач. Каждому пользователю
системы разделения времени предоставляется
терминал, с которого он может вести
диалог со своей программой. Так как в
системах разделения времени каждой
задаче выделяется только квант
процессорного времени, ни одна задача
не занимает процессор надолго, и время
ответа оказывается приемлемым. Если
квант выбран достаточно небольшим, то
у всех пользователей, одновременно
работающих на одной и той же машине,
складывается впечатление, что каждый
из них единолично использует машину.
Ясно, что системы разделения времени
обладают меньшей пропускной способностью,
чем системы пакетной обработки, так как
на выполнение принимается каждая
запущенная пользователем задача, а не
та, которая «выгодна» системе, и,
кроме того, имеются накладные расходы
вычислительной мощности на более частое
переключение процессора с задачи на
задачу. Критерием эффективности систем
разделения времени является не
максимальная пропускная способность,
а удобство
и эффективность работы пользователя
.

Системы реального
времени
(QNX,
RT/11) применяются для управления различными
техническими объектами, такими, например,
как станок, спутник, научная экспериментальная
установка или технологическими
процессами, такими, как гальваническая
линия, доменный процесс и т.п. Во всех
этих случаях существует предельно
допустимое время, в течение которого
должна быть выполнена та или иная
программа, управляющая объектом, в
противном случае может произойти авария:
спутник выйдет из зоны видимости,
экспериментальные данные, поступающие
с датчиков, будут потеряны, толщина
гальванического покрытия не будет
соответствовать норме. Таким образом,
критерием эффективности для систем
реального времени является их способность
выдерживать заранее заданные интервалы
времени между запуском программы и
получением результата (управляющего
воздействия). Это время называется
временем реакции системы, а соответствующее
свойство системы — реактивностью.
Для этих систем мультипрограммная смесь
представляет собой фиксированный набор
заранее разработанных программ, а выбор
программы на выполнение осуществляется
исходя из текущего состояния объекта
или в соответствии с расписанием плановых
работ. Некоторые операционные системы
могут совмещать в себе свойства систем
разных типов, например, часть задач
может выполняться в режиме пакетной
обработки, а часть — в режиме реального
времени или в режиме разделения времени.
В таких случаях режим пакетной обработки
часто называют фоновым режимом.

Особенности методов
построения

При описании
операционной системы часто указываются
особенности ее структурной организации
и основные концепции, положенные в ее
основу.

К таким базовым
концепциям относятся:


Способы
построения ядра системы

монолитное
ядро

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


Построение
ОС на базе объектно-ориентированного
подхода

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


Наличие
нескольких прикладных

сред дает возможность в рамках одной
ОС одновременно выполнять приложения,
разработанные для нескольких ОС. Многие
современные операционные системы
поддерживают одновременно прикладные
среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы
некоторого подмножества из этого
популярного набора. Концепция множественных
прикладных сред наиболее просто
реализуется в ОС на базе микроядра, над
которым работают различные серверы,
часть которых реализуют прикладную
среду той или иной операционной системы.


Распределенная
организация операционной системы

позволяет упростить работу пользователей
и программистов в сетевых средах. В
распределенной ОС реализованы механизмы,
которые дают возможность пользователю
представлять и воспринимать сеть в виде
традиционного однопроцессорного
компьютера. Характерными признаками
распределенной организации ОС являются:
наличие единой справочной службы
разделяемых ресурсов, единой службы
времени, использование механизма вызова
удаленных процедур (RPC) для прозрачного
распределения программных процедур по
машинам, многонитевой обработки,
позволяющей распараллеливать вычисления
в рамках одной задачи и выполнять эту
задачу сразу на нескольких компьютерах
сети, а также наличие других распределенных
служб.

1.2.
ОС семейства
UNIX.
Средства
IPC.
Сообщения. Программные каналы. Каналы.

В
ранних вариантах ОС UNIX поддерживались
весьма слабые возможности взаимодействия
и синхронизации процессов, даже входящих
в общую иерархию порождения (т.е. имеющих
общего предка).

Со
временем в разных вариантах ОС UNIX в
совокупности появился явно избыточный
набор системных средств, предназначенных
для обеспечения возможности взаимодействия
и синхронизации процессов, которые не
обязательно связаны отношением родства
(в мире ОС UNIX эти средства
обычно называют IPC

от Inter-Process Communication Facilities). С появлением
UNIX System V Release 4.0 все эти средства вошли в
фактический стандарт ОС UNIX современного
образца.

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

Для
реализации взаимодействия требуется:


обеспечить средства взаимодействия
между процессами


исключить нежелательное влияние одного
процесса на другой.

Взаимодействие
между процессами необходимо для решения
следующих задач:


Передача
данных.
 Один
процесс передает данные другому процессу,
при этом их объем может варьироваться
от десятков байтов до нескольких
мегабайтов.


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


Извещения. Процесс
может известить другой процесс или
группу процессов о наступлении некоторого
события. Это может понадобиться, например,
для синхронизации выполнения нескольких
процессов

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

К
средствам межпроцессного взаимодействия,
присутствующим во всех современных
версиях UNIX, можно отнести:


сигналы;


каналы (pipe);


FIFO (именованные каналы);


сокеты;


сообщения (очереди сообщений);


семафоры


разделяемую память.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #

    17.11.2019168.96 Кб094.doc

  • #
  • #
  • #
  • #
  • #
  • #
  • #


1


ОС пакетной обработки Операционная система пакетной обработки – это система, которая обрабатывает пакет заданий, т. е. несколько заданий, подготовленных одним или разными пользователями. Взаимодействие между пользователем и его заданием во время обработки невозможно или крайне ограничено. Под управлением операционной системы пакетной обработки ЭВМ может функционировать в однопрограммном и мультипрограммном режимах. Содержание Типы ОС


2


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


3


ОС реального времени Данные системы гарантируют оперативное выполнение запросов в течение заданного интервала времени. Запросы могут поступать от пользователей или от внешних по отношению к ЭВМ устройств, с которыми системы связаны каналами передачи данных. Операционные системы реального времени используются в информационно–поисковых системах и системах управления технологическим оборудованием. ЭВМ в таких системах функционирует чаще в многозадачном режиме. Содержание Типы ОС


4


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


5


Основные задачи ОС MS DOS: управление файлами, расположенных на гибких и жестких дисках в UNIX – подобной иерархической файловой системе поочерёдный запуск программ Содержание Назад


6


Пошаговое развитие Windows Windows Windows 1.0Windows 95 Windows 2.0Windows NT 4.0 Windows 3.0Windows 98 Windows 3.1Windows 2000 Windows for Workgroups 3.11 Windows XP Windows NT 3.51 Windows Longhorn Содержание Назад


7


Windows 1.0 Среда Windows 1.0 выглядела, мягко говоря, «бледно». Окна на экране не перекрывались (а располагались, заполняя экран, что называется tile), но имели кнопки для изменения размера и могли перемещаться мышью. Для Windows 1.0 поставлялось немного прикладных программ Aldus Page Maker 1.0 и графический пакет In-A- Vision фирмы Micrografx. Обе программы работали чрезвычайно медленно, даже на компьютерах класса PC AT. Среда Windows 1.0 выглядела, мягко говоря, «бледно». Окна на экране не перекрывались (а располагались, заполняя экран, что называется tile), но имели кнопки для изменения размера и могли перемещаться мышью. Для Windows 1.0 поставлялось немного прикладных программ Aldus Page Maker 1.0 и графический пакет In-A- Vision фирмы Micrografx. Обе программы работали чрезвычайно медленно, даже на компьютерах класса PC AT. Содержание к диаграмме Среда Microsoft Windows 1.0 не была требовательна к ресурсам: для ее работы было достаточно 256 Кбайт памяти и компьютера с двумя дисководами. Но как показал опрос первых пользователей, наличие жесткого диска и 640 Кбайт памяти существенно повышали производительность среды.


8


Windows 2.0 По сравнению с версией 1.0, версия Windows 2.0 имела ряд совершенствований. Появились перекрывающиеся окна с кнопками максимизации и минимизации. Окна могли перемещаться по экрану; была реализована поддержка клавиатурных эквивалентов для большинства стандартных команд и функций меню. Не менее важным было введение протокола динамического обмена данными (DDE), и пакет Excel явился первым примером использования этой концепции. Протокол давал возможность установить динамическую связь между приложениями. Содержание к диаграмме


9


Windows 3.0 Крупным шагом вперед стал выпуск в мае 1990 года версии Windows 3.0. Фирма Microsoft ввела поддержку защищенного режима процессоров и 80386, что давало прикладным программам больше памяти. Прикладным программам теперь отводилось до 16 Мбайт памяти, причем не странично организованной, а доступной для одновременного использования. Была реализована псевдо многозадачность и возможность выполнения DOS- программ в окне. Крупным шагом вперед стал выпуск в мае 1990 года версии Windows 3.0. Фирма Microsoft ввела поддержку защищенного режима процессоров и 80386, что давало прикладным программам больше памяти. Прикладным программам теперь отводилось до 16 Мбайт памяти, причем не странично организованной, а доступной для одновременного использования. Была реализована псевдо многозадачность и возможность выполнения DOS- программ в окне. Содержание к диаграмме Заметно улучшился пользовательский интерфейс. Программы управления файлами File Manager и Program Manager были выполнены в стиле самой среды, появилась программа конфигурации Control Panel.


10


Windows 3.1 Исправление ряда принципиальных ошибок в Windows 3.0 превратило Windows 3.1 в самостоятельный проект, к которому в результате добавились значительные новшества. Так, был реализован протокол создания составных документов OLE, документирован протокол Drag-and-Drop, улучшен интерфейс с протоколом DDE (библиотека DDEML), введены панели диалога общего назначения (COMMDLG), в ответ на многочисленные запросы были открыты ранее недокументированные функции и рабочие области ядра (TOOLHELP). Одним словом, среда Windows превратилась в хороший инструмент для разработчиков и удобный графический интерфейс для пользователей. Содержание к диаграмме


11


Windows for Workgroups 3.11 В ноябре 1992 года фирма Microsoft выпустила несколько обновленную версию Windows — Windows for Workgroups 3.11, первую операционную систему Windows, включающую в свой состав сетевые средства. Данная система логически продолжает линию Windows и позволяет соединить в единую сеть отдельные компьютеры по бес серверной схеме (одноранговая сеть). В ноябре 1992 года фирма Microsoft выпустила несколько обновленную версию Windows — Windows for Workgroups 3.11, первую операционную систему Windows, включающую в свой состав сетевые средства. Данная система логически продолжает линию Windows и позволяет соединить в единую сеть отдельные компьютеры по бес серверной схеме (одноранговая сеть). Содержание к диаграмме Теперь для организации сети необходимо иметь только Windows и соответствующее оборудование — сетевые карты, кабели и т.д. В Windows for Workgroups впервые стали использоваться 32- разрядные драйверы виртуальных устройств (VxD) и 32-разрядный доступ к жесткому диску, что значительно повысило производительность.


12


Windows NT 3.51 Windows NT новая технология Microsoft. Она была выпущена в 1993 году. Она изначально разрабатывалась как сетевая операционная система для работы, как в качестве сервера, так и в качестве рабочей станции. Архитектура Windows NT разрабатывалась таким образом, чтобы система обладала максимальной устойчивостью и надежностью. Одним из важнейших новшеств стало использование новой файловой системой NTFS, обеспечивающей высокую надежность файловой системы и практически любого восстановления сбоев. Также нововведением стала поддержка симметричной мультипроцессорной обработки и технологии OpenGL, позволяющей работать с 3-хмерными объектами. Содержание к диаграмме


13


Windows августа 1995 года в продажу поступила новая операционная система Windows 95. Это самое важное обновление системы Windows со времени появления в 1990 г. Windows августа 1995 года в продажу поступила новая операционная система Windows 95. Это самое важное обновление системы Windows со времени появления в 1990 г. Windows 3.0. Содержание к диаграмме Пользователи теперь получили теперь преимущества объектно-ориентированного интерфейса, включая настоящий «рабочий стол» и пиктограммы, копирование и удаление техникой перетаскивания (drag-and- drop), вложенные папки и легко доступный диалог для задания свойств. Файловая система распознает длинные имена файлов и хорошо соответствует метафоре «рабочего стола».


14


Windows NT 4.0 Осенью 1996 года на прилавках магазинов появилась Windows NT 4.0. Ее новый интерфейс полностью совпадает с применяемым в Windows 95. Не все, что есть в Windows 95, имеется в NT 4.0. Наиболее заметно отсутствие поддержки для конфигурирования устройств по принципу Plug & Play. Некоторые изменения коснулись и архитектуры: достигнута более высокое быстродействие и снижены потребности в памяти, однако новый объектно-ориентированный интерфейс сводит эти достижения на нет и в общем остается такой же прожорливой на память. Содержание к диаграмме


15


Windows 98 Новая версия имеет «браузерный» (Web- ified) интерфейс, стирающий грань между перемещениями в пределах Рабочего стола и по компьютерным сетям. Содержание к диаграмме В Windows 98 введена переработанная файловая система — FAT32, более экономно использующая дисковое пространство и поддерживающая жесткие диски объемом до 2 Тбайт. Переработанная Панель управления не так перегружена значками, как у Windows 95, и в ней появились мастера, помогающие пользователю в настройке системы.


16


Windows 2000 Windows 2000 (W2k) — новая операционная система (ОС) Microsoft, основанная на технологии Windows NT. Windows полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. Windows 2000 (W2k) — новая операционная система (ОС) Microsoft, основанная на технологии Windows NT. Windows полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью. Содержание к диаграмме В основе проекта W2k лежат те же принципы, которые когда-то обеспечили успех NT: совместимость совместимость переносимость переносимость масштабируемость масштабируемость система безопасности система безопасности распределенная обработка распределенная обработка надежность и отказоустойчивость надежность и отказоустойчивость локализация расширяемость расширяемость


17


Windows XP Компания Microsoft предлагает данную версию в двух исполнениях: Windows XP Professional Windows XP Home Edition Является продолжением Windows NT/2000 и известна также под названием Windows Windows XP Professional поддерживает два процессора, технологию Intellimirror, имеет расширенный инструментарий администратора и более защищенную файловую систему EFS (Encrypting File System). Позиционируется как ОС для домашних пользователей. Из нее исключены те компоненты, которые, по разумению Microsoft, не нужны при домашнем использовании операционной системы. Содержаниек диаграмме


18


Windows Longhorn Это операционная система будущего Содержание к диаграмме

Автор статьи

Люба Снежкова

Эксперт по предмету «Информатика»

Задать вопрос автору статьи

Общие понятия об операционных системах

Ресурсы компьютера, такие как процессор, оперативная память, периферийные устройства, могут эффективно работать только в том случае, если их совместную работу координируют специальные программы. Иначе устройства будут работать несогласованно или вообще не смогут приносить пользу. Поэтому на любом компьютере используется операционная система. Операционной системой (ОС) – называется комплекс управляющих программ, предназначенных для управления вычислительным процессом и наиболее эффективного использования всех ресурсов вычислительной системы. Операционная система осуществляет планирование вычислительного процесса и управление его ходом. Все программы, которые мы устанавливаем на компьютер, работают под управлением и контролем операционной системы. Все устройства, которые мы подключаем к компьютеру, «общаются» с операционной системой через специальные программы – драйверы устройств. Кроме того, операционная система предоставляет пользователю интерфейс для взаимодействия с ресурсами компьютера.

Начни разбираться в искусстве

Обучающие курсы по психологии, маркетингу, нутрициологии и работе в сфере кино

Выбрать программу

Операционные системы в зависимости от их назначения могут обладать или не обладать следующим рядом свойств:

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

«Операционная система Windows» 👇

Противоположностью интерактивным ОС являются ОС с пакетной обработкой, которые вообще не предполагают наличия пользователя.

Интерактивные системы могут иметь текстовый интерфейс, а могут иметь графический интерфейс.

Операционные системы семейства Windows

Современные ОС семейства Windows – это графические, интерактивные, многозадачные ОС корпорации Microsoft. Семейство ОС Windows состоит из двух групп:

  • Windows 9x. Группа ОС для $16$ и $32$ –разрядных процессоров. Производились с $1995$ по $2000$ год. В настоящее время ОС этой группы являются устаревшими;
  • Windows NT. Это группа современных ОС. Все ОС этой группы бывают $32$ и $64$-разрядными и работают соответственно на $32$ и $64$-разрядных процессорах. Именно к этой группе относятся популярные системы Windows XP, Windows $7$, Windows $8$. Имеются ОС, предназначенные для управления серверными компьютерами ;
  • Windows для смартфонов. К этой группе относятся ОС Windows CE, Windows mobile, Windows Phone, Windows $10$ Mobile. Системы этой группы можно приобрести исключительно в составе готовых смартфонов.;
  • Windows Embedded. Группа встраиваемых ОС реального времени применяемых для различных специализированных устройств. Например, для информационных и платежных терминалов, систем видеонаблюдения.

Далее работа операционной системы будет проиллюстрирована на примере Windows $7$.

Файловая система

Одним из основных понятий неразрывно связанных с понятием операционной системы является файловая система. Файловой системой называется целый сложный механизм, который ответственен за сохранение данных на жестком диске и других внешних носителях. Этот механизм работает следующим образом. Для того чтобы пользователь мог обращаться к данным, которые он сохранил на диске, эти данные должны быть как-то поименованы естественным для пользователя образом. Такая поименованная часть диска называется файлом. Размер файла может быть любым – пользователь сохраняет под единым именем столько данных, сколько он считает целесообразным. Область данных (винчестер, флешку, съемный винчестер и т.д.) разбивается на так называемые секторы размером по $512$ байт. А секторы объединяются в кластеры. Кластер является минимальной адресуемой единицей дисковой памяти, которая выделяется под хранение файла. Один кластер может хранить данные только одного файла. Размер кластера фиксирован и является различным для разных файловых систем. Процесс разметки области хранения данных называется форматированием.

Рисунок 1.

ОС Windows $7$ поддерживает четыре типа файловых систем:

  • FAT16. Это довольно старая файловая система, предназначенная для дисков размером менее $512$ Мб. Максимальный объем, который поддерживает FAT $16$, равен $2$ Гб.
  • FAT32. Используется для флеш-памяти размером больше $2$ Гб.
  • exFAT. Была разработана как улучшенная версия FAT$32$ для флеш-памяти.
  • NTFS. Эта файловая система является базовой для Windows $7$. Она была создана, чтобы полностью вытеснить FAT$16$ и FAT$32$. NTFS быстрее и надежнее своих предшественниц, имеет средства для шифрования данных. ОС Windows $7$ может быть установлена только на диск, который отформатирован в файловой системе NTFS, но при этом Windows может работать с другими областями хранения данных, которые отформатированы в FAT$16$, FAT$32$ и exFAT.

Рисунок 2.

Для операционных систем других семейств используются совершенно другие файловые системы. Например, для ОС Linux жесткий диск форматируется в файловой системе ext$3$. Можно на одном и том же компьютере один раздел диска отформатировать в NTFS и установить там Windows $7$, а другой раздел отформатировать в ext$3$ и установить на нем Linux. В этом случае работая под Windows пользователь вообще не будет видеть раздел отформатированный в ext$3$ и никак не сможет получать из него данные.

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

Находи статьи и создавай свой список литературы по ГОСТу

Поиск по теме

Содержание

  1. Обзор операционных систем Windows
  2. 16 разрядные Windows
  3. Windows 9x
  4. Windows NT
  5. Windows CE
  6. Windows Mobile и Windows Phone
  7. Резюме
  8. Операционная система Windows
  9. Общие понятия об операционных системах
  10. Готовые работы на аналогичную тему
  11. Операционные системы семейства Windows
  12. Файловая система
  13. Конспект лекций по дисциплине ОС на тему: «Основные характеристики Windows»

Обзор операционных систем Windows

Microsoft Windows – операционные системы корпорации Microsoft, различные версии которых предназначены для широкого класса устройств – от суперкомпьютеров до встроенных систем. В настоящее время Microsoft Windows установлена на большинстве персональных компьютеров: по данным сайта анализа веб трафика StatCounter (http://gs.statcounter.com) операционные системы Windows (версий XP, Vista, 7) в августе 2012 года были установлены на 88% компьютеров в мире; в то же время по данным компании веб-аналитики Net Applications (http://marketshare.hitslink.com) Windows занимает 92% рынка настольных компьютеров и ноутбуков.

Кроме того, в прошлом выпускались 16 разрядные операционные системы ( Windows 1.0, Windows 2.х, Windows 3.х) и семейство операционных систем Windows 9x ( Windows 95, Windows 98, Windows Me).

В данной лекции представлен краткий обзор семейств операционных систем Microsoft Windows (рис.2.1).

2 1sm

16 разрядные Windows

Первой Windows была Windows 1.0, выпущенная в ноябре 1985 года. Это была не полноценная операционная система, а надстройка над операционной системой MS-DOS. Windows 1.0 предоставляла пользователю графический оконный интерфейс и возможность запускать несколько приложений одновременно (и то и другое отсутствовало в MS DOS). Сначала эту программу хотели назвать Interface Manager, но затем склонились к названию Windows («окна»), как более точно отражающему суть работы с новой программой [7]. Минимальные системные требования к памяти ограничивались 256 КБ.

В Windows 2.0 (декабрь 1987 года) были введены некоторые улучшения графического интерфейса (в частности поддержка перекрывающихся окон) и работы с памятью. Также для большего удобства стали использоваться комбинации клавиш. В мае 1988 года и в марте 1989 года появляются соответственно Windows 2.10 и Windows 2.11, поддерживающие новые на то время процессоры Intel 80286 и Intel 80386 [16].

В мае 1990 года выходит Windows 3.0 с улучшенной графикой и поддержкой виртуальной памяти. В 1992 1993 гг. появляются версии Windows for Workgroups 3.1 и 3.11, в которых имеется поддержка работы в одноранговых сетях и сетях под управлением сервера. Это были последние версии 16 разрядных Windows.

Windows 9x

В августе 1995 года выпускается Windows 95 – 32 разрядная клиентская операционная система, в которой была встроенная поддержка работы с Интернетом (браузер Internet Explorer) и модемными сетями, а также технология Plug-and-Play («подключи и работай»), позволяющая быстро подключать к компьютеру различные устройства. Впервые появилась кнопка Пуск (Start) и Панель задач (Taskbar). Windows 95 требовала минимум 4 МБ оперативной памяти [7].

На смену Windows 95 в июне 1998 года приходит Windows 98 с множеством программ для работы с Интернетом (Internet Explorer 4, Outlook Express и др.), поддержкой DVD и USB, первым появлением Панели быстрого запуска программ (Quick Launch bar). Windows 98 была последней операционной системой, основанной на MS DOS [7].

Последней версией в семействе 9x стала Windows Me (Millennium Edition, сентябрь 2000 года). Эта система была нацелена на домашних пользователей, и, следовательно, имела широкую поддержку работы с мультимедиа (Windows Media Player 7, Windows Movie Maker), Интернетом и домашними сетями.

Другим направлением развития операционных систем Windows в 90 е годы стало семейство NT.

Windows NT

В июле 1993 года была выпущена первая операционная система семейства NT – Windows NT 3.1. Есть разные варианты объяснения названия NT, самый распространенный вариант – это аббревиатура от New Technology («новая технология»).

Разработка системы, основанной на новом ядре (не MS DOS), началась в 1989 году. К новой операционной системе предъявлялись следующие основные требования [5]:

Windows NT 3.1 соответствовала всем этим требованиям, а на ядре этой системы (конечно, с изменениями) основаны все современные версии Windows, включая Windows 8.

Windows NT 3.1 поддерживала процессоры Intel 80386, Intel 80486, MIPS R4000 и DEC Alpha [5]. Существовали клиентская и серверная версии системы – Windows NT и Windows NT Advanced Server. Windows NT, помимо других файловых систем, поддерживала специально разработанную в Microsoft файловую систему NTFS (New Technology File System).

В 1994 1996 годах последовательно выходят операционные системы Windows NT 3.5, Windows NT 3.51 и Windows NT 4.0. Целями разработки Windows NT 3.5 были повышение производительности и надежности, а также уменьшение размера системы. В Windows NT 3.51 была включена поддержка процессора IBM PowerPC. Windows NT 4.0 обладала таким же графическим интерфейсом как и система Windows 95 [5].

Windows 2000, вышедшая в декабре 1999 года, разрабатывалась в качестве системы для профессиональных пользователей, объединяющей два направления – Windows 9x и Windows NT [7]. Система Windows 2000 включала Active Directory (служба и базу данных ресурсов для управления большими сетями) и поддержку значительного числа Plug-and Play устройств, в том числе беспроводных сетей, USB, IEEE 1394 и др. Существовало 4 версии Windows 2000 – одна клиентская (Professional) и три серверных (Server, Advanced Server и Datacenter Server). Windows 2000 была последней системой, для которой выпускались одновременно клиентские и серверные версии.

Следующим шагом стало объединение обоих направлений клиентских систем: и систем для профессиональных пользователей (Windows 2000 Professional), и систем для домашних пользователей (Windows Me). Результатом такого объединения стала операционная система Windows XP (август 2001 года). Благодаря своей стабильности, скорости и удобному интерфейсу, Windows XP стала (и до сих пор является) одной из самых распространенных операционных систем в мире. Важным шагом явилось появление 64 разрядных версий Windows XP (Windows XP 64-bit Edition). Количество строк кода в Windows XP – 45 миллионов [7].

В марте 2003 года выходит серверная операционная система Windows Server 2003, имеющая большую производительность и поддерживающая более мощное оборудование, чем Windows 2000. Система имеет 4 основные версии: Web, Standard, Enterprise и Datacenter. Например, версия Datacenter поддерживает 64 процессора и до 64 ГБ оперативной памяти (до 512 ГБ на 64 разрядных платформах).

Клиентская операционная система Windows Vista вышла в ноябре 2006 года. Акцент при разработке этой системы был сделан на безопасность – контроль учетных записей пользователей (User Account Control), шифрование дисков (BitLocker Drive Encryption), антишпионское программное обеспечение (Windows Defender) и др. В Windows Vista был также изменен пользовательский интерфейс, в частности поменяла вид кнопка Пуск (Start).

В феврале 2008 года появилась операционная система Windows Server 2008, основанная на коде Windows Vista – поэтому большая часть нововведений Windows Vista перешла и в Windows Server 2008.

В июле 2009 года выходит Windows 7, отличающаяся расширенной поддержкой ноутбуков и планшетов. Основные особенности Windows 7 – новые приемы работы с окнами, мгновенный поиск информации на компьютере, поддержка сенсорных экранов (Windows Touch), большие возможности по настройке оформления рабочей среды.

В 2012 году Microsoft выпускает новейшие версии операционных систем – клиентскую Windows 8 (октябрь 2012 года) и серверную Windows Server 2012 (сентябрь 2012 года). Windows 8 – операционная система, одинаково рассчитанная как на обычные настольные компьютеры и ноутбуки, так и на планшетные компьютеры, завоевавшие в последнее время существенную долю всего рынка персональных компьютеров (см. лекцию 3 «Windows 8»).

Windows CE

Windows CE поставляется разработчикам устройств в виде набора компонентов, из которых можно создать операционную систему для конкретного устройства. Например, операционные системы Windows Mobile построены на основе Windows CE.

Первая версия Windows CE 1.0 появилась в 1996 году и была разработана как урезанная версия Windows 95. В дальнейшем команда разработчиков Windows CE сотрудничала с командой Windows 2000, затем Windows CE развивалась как независимая система.

На сентябрь 2012 года последней версией является Windows CE 7.0.

Windows Mobile и Windows Phone

Windows Mobile – операционная система для смартфонов и карманных персональных компьютеров (КПК, Personal Digital Assistant – PDA), основанная на Windows CE.

Первые версии операционных систем этого семейства назывались Pocket PC (2000 год). С 2003 года утвердилось наименование Windows Mobile – были выпущены операционные системы Windows Mobile 2003, Windows Mobile 5, Windows Mobile 6. Последней версией с таким названием стала система Windows Mobile 6.5 (2009 год).

С октября 2010 года Microsoft выпустила новую операционную систему для мобильных устройств – Windows Phone 7, несовместимую с Windows Mobile, хотя и основанную также на Windows CE. В Windows Phone 7 появился новый пользовательский интерфейс, в настоящее время называемый Modern UI.

В октябре 2012 года ожидается выход Windows Phone 8, основанной на ядре Windows NT.

Резюме

В лекции представлен обзор операционных систем Windows с 1985 года до 2012 года. Рассмотрены основные семейства и их ключевые представители – 16 разрядные Windows, Windows 9x, Windows NT, Windows NT Server, Windows Mobile/Windows Phone и Windows CE.

В следующей лекции приводится обзор новейшей операционной системы от Microsoft – Windows 8.

Источник

Операционная система Windows

Вы будете перенаправлены на Автор24

Общие понятия об операционных системах

Ресурсы компьютера, такие как процессор, оперативная память, периферийные устройства, могут эффективно работать только в том случае, если их совместную работу координируют специальные программы. Иначе устройства будут работать несогласованно или вообще не смогут приносить пользу. Поэтому на любом компьютере используется операционная система. Операционной системой (ОС) – называется комплекс управляющих программ, предназначенных для управления вычислительным процессом и наиболее эффективного использования всех ресурсов вычислительной системы. Операционная система осуществляет планирование вычислительного процесса и управление его ходом. Все программы, которые мы устанавливаем на компьютер, работают под управлением и контролем операционной системы. Все устройства, которые мы подключаем к компьютеру, «общаются» с операционной системой через специальные программы – драйверы устройств. Кроме того, операционная система предоставляет пользователю интерфейс для взаимодействия с ресурсами компьютера.

Операционные системы в зависимости от их назначения могут обладать или не обладать следующим рядом свойств:

Готовые работы на аналогичную тему

Противоположностью интерактивным ОС являются ОС с пакетной обработкой, которые вообще не предполагают наличия пользователя.

Интерактивные системы могут иметь текстовый интерфейс, а могут иметь графический интерфейс.

Операционные системы семейства Windows

Современные ОС семейства Windows – это графические, интерактивные, многозадачные ОС корпорации Microsoft. Семейство ОС Windows состоит из двух групп:

Файловая система

inf499

inf500

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

Источник

Конспект лекций по дисциплине ОС на тему: «Основные характеристики Windows»

Ищем педагогов в команду «Инфоурок»

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

1. Х-разрядная архитектура означает, что операции над Х-разрядным данными выполняются, поскольку в них требуется программная реализация над Х-разрядными данными.

Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности (cooperative multitasking) операционная система не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы.

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

3. Многопоточность операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций. Например, в текстовом процессоре могут одновременно выполняться автоматическая проверка орфографии и редактирование документа.

4. Графический пользовательский интерфейс обеспечивает удобства в запуске и переключении приложений (программ Windows). Основными компонентами пользовательского интерфейса являются рабочий стол и панель задач (обеспечивает запуск и переключение приложений). На рабочем столе размещены графические объекты, соответствующие приложениям, документам, сетевым устройствам. Каждый графический объект имеет поименованный ярлычок. С помощью мыши, ярлычков, главного меню и панели задач пользователь может легко запускать, переключать и управлять приложениями (программами).

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

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

7. Совместимость с ранее созданным программным обеспечением. Под совместимостью с программным обеспечением понимают способность операционной системы исполнять программные продукты, созданные в другой oперационной системе.

8. Наличие коммуникационных программных средств. Важнейшим направлением развития Windows является включение в ее структуру используемых и специальных программных средств для поддержи различных коммуникаций и компьютерных сетей.

Сетевые средства операционной системы Windows позволяют:

обеспечить передачу данных между двумя соединенными кабелями;

организовать электронную почту в локальной и глобальной сети;

выполнить факсимильную передачу;

обменяться файлами с удаленным компьютером и подключиться к глобальной сети.

9. Наличие средств мультимедиа. Система Windows обеспечивает интерактивную работу с видео и аудио программами при помощи специальных аппаратных и программных средств. Атрибутом мультимедиа-компьютера являются звуковая плата, которая обеспечивает преобразование звука в компьютерную форму и обратно, и видеоплата, которая преобразует видеоинформацию в компьютерную форму и обратно. К звуковой плате подключаются различные акустические системы.

10. Интеграция с глобальной сетью Интернет. Операционная система Windows содержит прикладную программу (броузер), позволяющую получать из Internet различные документы, просматривать и редактировать их содержимое

11. Надежность и качества управления.

12. Поддержка длинных имен файлов. В Windows имена файлов могут иметь длину до 255 символов.

Базовая архитектура системы

Системная виртуальная машина представляет собой операционную среду, поддерживающую работу всех приложений Windows и подсистема, обеспечивающих интерфейс прикладного программирования.

Приложения Win32 представляют 32-разрядные приложения Windows, использующие 32-разрядную модель процессоров 80386 и выше и подмножество интерфейса прикладного программирования. Каждое приложение Win32 имеет свое адресное пространство, недоступное другим приложениям.

Оболочка ОС есть 32-разрядное приложение Windows, обеспечивающее взаимодействие пользователя с системой.

Приложения Win16 представляет собой старые 16-разрядные приложения Windows. Эти приложения делят между собой единое адресное пространство и не могут употребляться в соответствии с принципом многозадачности.

Виртуальные машины MS DOS обеспечивают выполнение программ MS DOS под управлением Windows. Пользователь может запустить несколько виртуальных машин MS DOS.

Базовая система включает в свой состав ряд важнейших подсистем:

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

Сетевая подсистема представляет собой средство поддержки сети. Система осуществляет доступ к удаленным файлам при помощи файловой подсистемы Windows.

Сервис операционной системы включает в свой состав подсистему поддержки самонастраивающейся аппаратуры Plug and Play, а также набор различных прикладных функций, например выдачи текущих даты и времени.

Подсистема управления виртуальной машины реализует все действия по управлению задачами, управлению памятью, загрузкой и завершением программ, а также обслуживанием виртуальных драйверов устройств.

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

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

Буфер обмена предназначен для просмотра текущего содержания буфера обмена Windows. С его помощью можно выполнить сохранение содержимого буфера обмена в виде файла специального формата (.CLP) или его загрузку.

Индикатор системных ресурсов. После запуска этого приложения на панели индикации устанавливается небольшой значок, посредством которого можно получить сведения о состоянии системных ресурсов (модулей памяти, предназначенные для обслуживания многозадачного режима работы).

Сведения о системе. Эта программа предназначена для повышения плотности записи данных на жесткий диск. В ее основе лежит принцип устранения избыточности информации.

Агент сжатия предназначена для дополнительного уплотнения файла сжатого тома.

Таблица символов. Программа выводит окно со специальными символьными наборами.

Кроме, прикладных и служебных программ ОС Windows содержит стандартные средства мультимедиа (Пуск/Программы/Стандартные/ Стандартным средствам мультимедиа относятся:

Сравнительная характеристика операционных систем семейства Windows

В основе объектно-ориентированно подхода лежит понятие объекта, а суть его выражается формулой «объект=данные+процедуры».

Объектно-ориентированный подход реализуется через модель рабочего стола. Windows98 обходится без привычного в Windows3+ диспетчера программ. Пользователь работает с задачами и приложениями так же, как с документами на своем письменном столе.

Итак, одно из главных отличий Windows98 от Windows3+ (и от подавляющего большинства других операционных систем) состоит в том, что основной упор в ней делается на документ, а программа, задача, приложение или программный код вообще рассматриваются только как инструмент для работы с документом.

Другая принципиальная особенность Windows98 состоит в том, что она, в отличие от Windows3+, является «настоящей» операционной системой (а не операционной оболочкой, выполняемой под управлением MS-DOS). Под словом «настоящая» подразумевается то, что при включении машины сразу выполняется загрузка Windows98.

Средства удаленного доступа Windows98, в отличие от большинства операционных систем для персональных компьютеров, с самого начала создавалась для работы в сети, благодаря чему возможность совместного использования файлов и устройств полностью интегрирована в интерфейс пользователя Windows 98.

В Windows98 можно получить доступ к сети без установки сетевого адаптера. Его заменят модем. В этом случае скорость работы ограничена скоростью вашего модема. Система предоставляет развитые программные средства для доступа к сетям Internet, Microsoft Network, America Online и другим аналогичным службам.

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

Операционные системы WindowsNT/2000 разработаны на платформе NT-технологий и кроме выше перечисленных преимуществ перед младшими версиями ОС Windows содержат еще ряд достоинств.

На данный момент мировая компьютерная индустрия развивается очень стремительно. Производительность систем возрастает, а следовательно возрастают возможности обработки больших объёмов данных.

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

На данный момент мировая компьютерная индустрия развивается очень стремительно. Производительность систем возрастает, а следовательно возрастают возможности обработки больших объёмов данных.

Система Windows NT не является дальнейшим развитием ранее существовавших продуктов. Её архитектура создавалась с нуля с учётом предъявляемых к современной операционной системе требований. Особенности новой системы, разработанной на основе этих требований, перечислены ниже.

— Масштабируемость (scalability) означает, что Windows NT не привязана к однопроцессорной архитектуре компьютеров, а способна полностью использовать возможности, предоставляемые симметричными мультипроцессорными системами. В настоящее время Windows NT может функционировать на компьютерах с числом процессоров от 1 до 32 и более.

Кроме того, в случае усложнения стоящих перед пользователями задач и расширения предъявляемых к компьютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочии станции к корпоративной сети. Дополнительные преимущества даёт использование единой среды разработки и для серверов, и для рабочих станций.

Windows NT имеет однородную систему безопасности (security) удовлетворяющую спецификациям правительства США и соответствующую стандарту безопастности В2. В корпоративной среде критическим приложениям обеспечивается полностью изолированное окружение.

Задачами, поставленными при создании Windows NT не являются в дальнейшим развитие ранее существовавших продуктов. Её архитектура создавалась с нуля с учётом предъявляемых к современной операционной системе требований. Особенности новой системы, разработанной на основе этих требований, перечислены ниже.

Масштабируемость (scalability) означает, что Windows NT не привязана к однопроцессорной архитектуре компьютеров, а способна полностью использовать возможности, предоставляемые симметричными мультипроцессорными системами. В настоящее время Windows NT может функционировать на компьютерах с числом процессоров от 1 до 32. Кроме того, в случае усложнения стоящих перед пользователями задач и расширения, предъявляемых к компьютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочие станции к корпоративной сети. Дополнительные преимущества даёт использование единой среды разработки и для серверов, и для рабочих станций.

Распределённая обработка( distributed processing ) означает,что Windows NT имеет встроенные в систему сетевые возможности.

Надёжность и отказоустойчивость (reliability and robustness) обеспечиваются архитектурными особенностями, которые защищают прикладные программы от повреждения друг другом и операционной системой. Windows NT использует отказоустойчивую структурированную обработку особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью.

Возможности локализации ( allocation) представляют средства для работы во многих странах мира на национальных языках, что достигается применением стандарта ISO Unicod (разработан международной организацией по стандартизации ).

Благодаря модульному построению системы обеспечивается расширяемость (insibility) Windows NT, что как будет показано в следующем разделе, позволяет гибко осуществлять добавление новых модулей на различные уровни операционной системы.

Операционная система Windows XP изобилует новыми возможностями, усовершенствованными программами и инструментальными средствами, а также средствами связи.

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

Новая операционная система «весит» немало: она содержит более 37 800 файлов и занимает до 10 Гбайт места.

Оптимальные аппаратные требования ОС Windows Vista 2 Гбайт памяти или больше, современная видеокарта и двуядерный процессор.

Интерфейс с большим количеством подсказок и в целом более дружелюбный к неопытному пользователю этому способствует.

Главными преимуществами Windows Vista являются улучшенная доступность и лёгкость использования.

Операционная система Windows Vista выпущена в пяти версиях:

1. Windows Vista Home Basic;

2. Windows Vista Home Premium;

3. Windows Vista Business;

4. Windows Vista Ultimate;

5. Windows Vista Enterprise ( может быть приобретена только по Microsoft Software Assurance Enterprise License).

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

Источник

Сегодня становится широко распространенным желание потребителей использовать Windows NT в системах реального времени. Для этого имеется ряд весомых, на первый взгляд, причин: Win32 API считается стандартом, а на его базе разработано огромное количество программ; графический интерфейс стал сегодня очень популярным; для NT имеется немало готовых решений для коммерческих применений; в среду NT включены многие виды средств разработки. Тем не менее, возможно ли использование Windows NT для разработки системы реального времени?

Несмотря на то, что сегодня Windows NT не отвечает в полной мере требованиям, предъявляемым к операционной системе реального времени, давление рынка привело к появлению коммерческих решений, расширяющих NT возможностями обработки в реальном времени.

1. «Жесткие» и «мягкие» системы реального времени

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

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

Еще одним важным требованием к СРВ является одновременная обработка событий: если несколько событий происходят одновременно, все они должны быть обработаны своевременно. Это означает, что имманентным свойством системы реального времени должен быть параллелизм. Чтобы этого добиться, необходимо установить более одного процессора или придерживаться многозадачного подхода.

В зависимости от отношения к опозданиям системы реального времени делятся на «жесткие» (hard) и «мягкие» (soft).

В жесткой системе:

  • опоздания не допускаются ни при каких обстоятельствах;
  • в случае опоздания результаты обработки уже никому не нужны;
  • опоздание считается катастрофическим сбоем;
  • стоимость опоздания бесконечно велика.

Хорошим примером жесткой системы реального времени может служить система управления движением воздушных судов. Очевидно, что бессмысленно посылать команду на изменение курса самолета или космической станции после столкновения.

В мягкой системе реального времени:

  • повышается стоимость опоздания;
  • допускается низкая производительность в случае опоздания.

Примером мягкой системы является подсистема сетевого интерфейса. Если подтверждение о приеме посланного пакета не поступило после истечения определенного времени, то пакет считается потерянным. В этом случае можно просто повторить посылку пакета и примириться со значительным снижением производительности системы.

Итак, разница между жесткой и мягкой системами зависит от предъявляемых к ним требований. Система называется жесткой, если «система не должна опаздывать никогда», и мягкой, если «система не должна опаздывать, как правило».

Не следует путать операционную систему реального времени (ОС РВ) с системой реального времени. Первая ОС используется для создания системы реального времени. ОС РВ должна быть предсказуемой — это не значит, что она должна быть быстрой, это означает, что при построении СРВ можно добиться того, чтобы максимальное время, затрачиваемое на определенную работу, укладывалось в заранее установленный лимит, сравнимый с требованиями приложения. Windows 3.11, например, даже на сколь угодно быстром процессоре бесполезна для построения СРВ, поскольку любое приложение может захватить управление и заблокировать все остальное.

2. Удовлетворяет ли Windows NT требованиям, предъявляемым к ОС РВ?

2.1. Нити и приоритеты

Очевидно, что NT — многонитевая ОС, она позволяет вытеснение и тем самым удовлетворяет требованию 1 (см. врезку).

В Windows NT имеются два класса приоритетов: класс реального времени и динамический класс. Процессы в классе реального времени имеют фиксированный приоритет, менять который может лишь само приложение, тогда как приоритет процессов динамического класса может меняться диспетчером. Процесс имеет базовый уровень приоритета. Нить в процессе может иметь приоритет в диапазоне плюс/минус 2 около базового уровня или один из двух крайних уровней класса (16 или 31 для реального времени). Например, нить в процессе с базовым уровнем 24 может иметь приоритет 16, 22 — 26, 31. Очевидно, что гарантировать предсказуемость системы можно только при использовании процессов первого класса.

Казалось бы, второе требование также удовлетворено. Но малое число возможных уровней препятствует реализации СРВ на базе NT. Большинство современных ОС РВ позволяет иметь по крайней мере 256 различных уровней. Чем больше имеется уровней, тем более предсказуемо поведение системы. В Windows NT имеется только 7 различных уровней для нити в данном процессе. В результате многие нити будут выполняться с одинаковыми приоритетами и, как следствие, предсказуемость поведения системы будет посредственной. Более того, общее число уровней для всех процессов класса только 16 и положение не спасает даже замена нитей процессами, не говоря уже о том, что переключение контекста для процессов снижает производительность.

В ОС РВ вызовы системы синхронизации (семафоры или критические секции) должны уметь управлять наследованием приоритетов. В Windows NT это невозможно, поэтому требование 4 не удовлетворяется.

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

Таким образом, малое число приоритетов и невозможность решить проблему инверсии делают Windows NT пригодной только для очень простых СРВ.

2.2. Предсказуемость системных вызовов Win32 API

Для тестирования системных вызовов был написан процесс (принадлежащий классу реального времени), содержащий вызовы системы синхронизации нитей, и измерялось время, затраченное на каждый вызов. При запуске на Pentium 100 МГц с 24 Мбайт памяти оказалось, что максимальное значение на вызове mutex достигает 670 мкс при среднем времени 35 мкс. Это произошло потому, что во время работы теста происходили обращения к диску и по сети. Если компьютер искусственно загрузить обращениями к диску и сетевой обработкой, то задержки возрастают аж до нескольких миллисекунд. Win32 API очень богат, но не предназначен для реального времени. Например, запросы mutex обрабатываются в порядке поступления, а не в порядке приоритетов, что снижает предсказуемость. Для синхронизации нитей в одном процессе критические секции следует предпочесть всем другим способам (этот вызов затрачивает всего несколько мкс по сравнению с 35 мкс на вызов mutex).

Несмотря на все достоинства API, ядро и менеджер ввода/вывода Windows NT недостаточно приспособлены к обработке событий реального времени на уровне приложений.

2.3. Управление прерываниями в NT

В Windows NT единственный способ управления аппаратурой — через драйвер устройства. Поскольку приложение реального времени имеет дело с внешними событиями, разработчик должен написать и включить в ядро драйвер устройства, дающий доступ к аппаратуре. Этот драйвер реагирует на прерывания, генерируемые соответствующим устройством.

Прерывания обрабатываются в два этапа. Сначала выполняется очень короткая программа обслуживания прерываний (ISR). Впоследствии работа завершается выполнением DPC — процедуры отложенного вызова. Возникает следующий поток событий:

  • Происходит прерывание.
  • Процессор сохраняет PC, SP и вызывает диспетчер.
  • ОС сохраняет контекст и вызывает ISR.
  • В ISR выполняется критическая работа (чтение/запись аппаратных регистров).
  • DPC ставится в очередь.
  • ОС восстанавливает контекст.
  • Процессор восстанавливает PC, SP.
  • Ожидающие в очереди DPC выполняются на уровне приоритета DISPATCH_LEVEL.
  • После завершения всех DPC ОС переходит к выполнению приложений.

ISR должно быть как можно короче, поэтому большинство драйверов выполняют значительную часть работы в DPC (которая может быть вытеснена другим ISR), ожидая окончания других DPC, ранее попавших в очередь (все DPC имеют одинаковый приоритет).

Из документации по NT следует, что ISR может быть вытеснена другим ISR с более высоким приоритетом, и что DPC имеет более высокий приоритет, чем пользовательские и системные нити. Но поскольку все DPC имеют одинаковый уровень приоритета и ISR должна быть сведена к минимуму, ваш DPC будет вынужден ждать других и ваше приложение будет зависеть от остальных драйверов устройств непредсказуемым образом. Задержки системных вызовов, описанные в предыдущем разделе, обусловлены именно тем, что DPC от драйверов жесткого диска и сети блокируют все другие.

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

2.4. Управление памятью в NT

Другим важным моментом при проектировании СРВ является политика управления памятью в ОС РВ. В Windows NT процессы выполняются в своем собственном пространстве памяти. Добиться этого позволяют механизмы виртуальной памяти и подкачки. Для бизнес-приложений это хорошо, но для СРВ, которая должна реагировать на внешние события с заранее определенным лимитом времени, это порождает непредсказуемость, особенно если система отправит страницу из памяти на диск. Windows NT позволяет захватить страницу в памяти посредством вызова функции VirtualLock. Тем не менее NT может разблокировать страницу и выгрузить ее на диск, если весь процесс неактивен

3. Может ли Windows NT использоваться в качестве ОС РВ?

Итак, можно сделать вывод, что Windows NT, предназначенная в основном для классических приложений, не является хорошей платформой для поддержания обработки в реальном времени. Тем не менее на ее базе можно все-таки построить простую мягкую СРВ, время от времени допускающую опоздания.Следующие обстоятельства могут облегчить построение СРВ на базе NT:

  • загрузка CPU низка (DPC имеют достаточно времени);
  • критическая работа (или даже вся) делается на уровне DPC или (еще лучше) на уровне ISR. В таком случае непонятно, зачем вообще нужна ОС.

Но для жесткой СРВ использование Windows NT невозможно — система реального времени никогда не будет предсказуемой.Что следует изменить в Windows NT, чтобы ее можно было использовать в жестких СРВ?

a) Класс процессов реального времени должен иметь больше уровней.

б) Необходимо решить проблему инверсии приоритетов.

в) Время, затрачиваемое каждым системным вызовом, должно быть предсказуемо и известно.

г) Система прерываний должна быть заменена целиком:

  • DPC должны иметь много уровней приоритетов.
  • DPC должны быть вытесняемыми более приоритетными DPC.
  • Драйверы от третьих фирм и системные драйверы должны быть настраиваемыми (уровни прерываний ISR, уровни прерываний DPC)
  • Драйверы от третьих фирм должны быть открыты для разработчиков, должно быть известно по крайней мере максимальное время, затрачиваемое на работу ISR и DPC.
  • Должно быть известно время маскирования прерываний.

Готовы ли разработчики Microsoft ввести эти усовершенствования в NT или они полагают, что рынок слишком мал, и оставят его свободным для третьих фирм?

4. Коммерческие решения, расширяющие NT возможностями обработки в реальном времени

Существуют разные варианты использования технологии NT для разработки систем реального времени:

  • Использование NT как она есть для построения мягкой системы реального времени.
  • Реализация Win32 API над другой ОС РВ.
  • Совместная работа на одном процессоре NT и другой ОС РВ (или ее части).
  • Использование мультипроцессорной архитектуры, когда NT выполняется на одном процессоре (или более), а часть реального времени — на остальных.

Во многих решениях производители модифицируют HAL или ядро NT. Политика Microsoft заключается в том, чтобы не допускать никаких модификаций ядра NT, кроме драйверов устройств. Это единственно возможный способ связи с ядром. Политика компании относительно HAL другая. HAL (Hardware Abstraction Layer) — уровень аппаратных абстракций — уровень, лежащий ниже программного обеспечения, который виртуализирует интерфейс NT с аппаратурой, допуская переносимость NT с одной аппаратной платформы на другую. Такие модификации HAL, как манипуляции с часами или замена методов обработки прерываний, представляются беспримерно незаконным использованием HAL. Они создают нестандартную среду и могут привести к проблемам сопровождения, если, например, Microsoft изменит HAL в следующих версиях. Поэтому различие в решениях, предлагаемых поставщиками, заключается в попытках сделать модификации HAL минимальными.

Также возможен перехват HAL посредством трюков с процессором Intel. Однако это можно реализовать только на платформе Intel. Механизмы перехвата посредством обработки исключительных ситуаций на уровне устройства поглощают определенную вычислительную мощность.

4.1. Использование NT как таковой

Подобное применение предполагает включение структур, обрабатывающих прерывания. Однако учитывая, что NT не предназначена для обработки в реальном времени это надо делать очень аккуратно.

Иногда вводят усовершенствования в механизм обработки прерываний. Единственный способ сделать это — перехватить прерывание, для чего необходимо добавить специальное аппаратное расширение. LP-Elektronik, например, перехватывает прерывание и использует затем NMI (немаскируемое прерывание, не используемое на уровне NT) для обработки событий реального времени. Этот подход применим только тогда, когда процессор имеет отдельный стек прерываний. Программа NMI должна быть написана аккуратно: в ней нельзя использовать вызовы ОС и она должна быть как можно короче, чтобы не потерять другие прерывания. Такое решение дает минимальную задержку прерывания, но требует дополнительной аппаратуры. Как и в других решениях, здесь необходим дополнительный механизм связи между NT и частью реального времени. Разница в том, что при этом требуется большая аккуратность в использовании NMI.

4.2. Реализация Win32 API над другой ОС РВ

Добавление Win32 API к ОС, предназначенной для обработки в реальном времени, избавляет от необходимости модифицировать HAL или использовать другие трюки с NT. Преимущества такого подхода:

  • имеется переносимость,
  • небольшой след,
  • поведение ОС РВ известно.

Недостатки:

  • нельзя использовать стандартные приложения NT,
  • невозможно смешивание с драйверами устройств NT, поэтому весь мир коммуникаций NT недоступен,
  • другие драйверы графических устройств и приложения NT невозможно или трудно использовать;
  • ограничена возможность расширения в будущем,
  • необходимо использовать специальные средства разработки и компиляторы.

Среди коммерческих реализаций этого подхода — QNX и VxWorks, использующие библиотеку Willows.

4.3. Совместная работа на одном процессоре NT и ОС РВ

Мощность современных процессоров достаточна для одновременного функционирования NT и программ реального времени. Возможны две разновидности такого подхода:

  • модификация HAL c перехватом прерываний и включением небольшого диспетчера или ОС РВ;
  • выполнение NT, как одной из задач над (супервизором) ОС РВ.

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

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

В обоих случаях необходим механизм связи между частями реального времени и NT. Он может быть выполнен одним из двух способов. Первый заключается во введении альтернативного механизма межпроцессорных связей (IPC). Проще всего реализовать IPC с помощью разделяемой памяти. Недостатком такого протокола IPC является уровень приоритета, на котором выполняются пользовательские приложения NT. При втором способе интерфейс реализуется с помощью драйвера устройства, в результате чего у NT создается впечатление, что подсистема реального времени — это устройство.

Задачи реального времени используют собственный интерфейс с системой, в большинстве случаев отличный от Win32 API. Среда разработки может быть обычной для используемой ОС РВ средой и может взаимодействовать со средой NT. Задачи реального времени будут выполняться, не получая преимуществ от механизма защиты памяти NT. Особо аккуратно следует продолжать выполнение частей реального времени, когда NT рухнет и сгенерирует голубой экран. След памяти — это комбинация следа NT (8 Мбайт в стандартной конфигурации) плюс минимальные требования для части ОС РВ.

Простота части реального времени может привести к высокой производительности, которая зависит от используемого ядра реального времени. Преимущества здесь таковы:

  • Сохранение (почти) всей среды NT нетронутой означает, что все программное обеспечение, устройства и драйверы устройств NT можно использовать (чтобы выполнять части приложения, не связанные с реальным временем). Поддерживается совместимость с NT;
  • Можно включить защиту для задач реального времени, зависящую от используемой ОС РВ.

Недостатки:

  • Отсутствует переносимость между реальным временем и средой NT, за исключением случая, когда RT-API разработан на базе Win32;
  • драйверы устройств NT нельзя использовать в части реального времени;
  • Среда разработки усложняется, если для задач реального времени требуется отдельная среда;
  • Может быть много уровней задач и поэтому много уровней определений контекста. Переключение этих контекстов требует времени.

Известны следующие коммерческие реализации подхода, не требующего модификации аппаратуры: IMAGINATION с HyperKERNEL; RADISYS с комбинацией iRMX/NT; VenturCom с RTX, KPX и RTAPI.

В реализации фирмы RadiSys ОС РВ iRMX работает, как первичная ОС, загружающая Windows NT в качестве низкоприоритетной задачи. Пользователь работает только с NT, не видя и не чувствуя iRMX. Все управляющие функции выполняются, как высокоприоритетные задачи iRMX, изолированные в памяти от приложений и драйверов NT. Используя функции защиты памяти внутри процессора Intel, Windows NT защищена от задач реального времени.

Комбинация iRMX/NT преодолела трудности, которые возникают при модификации HAL и оставляют пользователя уязвимым при сбоях жесткого диска, сбоях драйверов и системных сбоях NT («голубой экран смерти»). В этом решении управляющая программа в случае краха NT может либо продолжить нормальное выполнение, либо произвести правильное закрытие системы (shutdown).

Реализация фирмы VenturCom состоит из двух этапов. На первом — мягкая реализация RTX 3.1 содержит интерфейс прикладной программы реального времени RTAPI, который дает время реакции 1-5 мск. RTAPI 1.0 работает со стандартным NT. Единственное изменение, обеспечивающее лучшую синхронизацию событий реального времени, внесено в часы. Так как в Windows NT имеются некоторые плохо предсказуемые процессы, то RTAPI позволит построить только мягкую СРВ с небольшим временем отклика, но недостаточно предсказуемую. Впрочем, большую часть непредсказуемости NT можно устранить, ограничив доступ к системному диску и сети.

Чтобы сделать NT более предсказуемой, необходимо прерывать ее внутренние задачи. В основе второй жесткой реализации RTX 4.1 лежит модификация HAL. В обеспечении детерминизма важную роль играют программируемые часы. В каждый тик часов — аппаратное прерывание с регулярными интервалами времени — предпочтение отдается задаче реального времени. Оставшееся время предоставляется процессам NT, в том числе и процессам мягкого реального времени. Чем чаще тикают часы, тем больше возможностей у процессора для выполнения задач реального времени. Необходимо добиться баланса между многими факторами: частота тиков, время, выделенное для обработки в реальном времени, время, выделенное для выполнения задач NT.

4.4. Использование многопроцессорной архитектуры

Простое решение здесь состоит в том, что NT выполняется на одной группе процессоров, а часть реального времени — на другой. Возможно применение архитектур параллельной шины с VMEbus, PCI, PMC или архитектур последовательной шины с Ethernet. Если необходимо, подсистемы могут быть связаны механизмом IPC и процедурами удаленного вызова. Преимущества такого решения:

  • Нет модификаций каждой ОС;
  • Можно применять в больших сложных системах;
  • Для каждой подсистемы можно выбрать свою, наиболее подходящую ОС РВ;
  • Можно использовать имеющиеся среды разработки.

Недостатки:

  • Высокая стоимость;
  • Поведение в реальном времени зависит от поведения канала межпроцессорной связи. Поведение прерываний на шине в таких структурах предсказуемо лишь при хорошей организации;
  • Среды разработки относятся к разным мирам.

***

Чудес не бывает. Если вы хотите сохранить высокую совместимость с NT, то надо будет заплатить и более высокую цену. Если вы интересуетесь только частью интерфейса Win32 API, то можете работать с ОС РВ, имеющей этот интерфейс.

Имеется множество запросов на комбинации NT и РВ. Даже если это и не лучшее решение, рынок должен следовать желаниям заказчика. Разумеется, лучше всего было бы регулярное модифицировать саму Windows NT. Но пока компания Microsoft оставляет эту нишу свободной и она спонтанно заполняется производителями, зачастую использующими разные трюки, приводящие к несовместимости. Следует помнить, что использование трюков может в будущем привести к проблемам сопровождения.


Необходимые требования к ОС для обеспечения предсказуемости

Требование 1. ОС РВ должна быть многонитевой и допускать вытеснение (preemtible).

Предсказуемость достигается, если в ОС допускается много параллельных потоков управления (нитей), а диспетчер ОС может прервать выполнение любой нити (вытеснить ее) в системе и предоставить ресурсы той нити, которой они требуются в первую очередь. ОС и аппаратная архитектура также должны предоставлять множество уровней прерываний, чтобы вытеснение было возможно и на уровне прерываний.

Требование 2. Диспетчеризация должна осуществляться на базе приоритетов.

Основная сложность диспетчеризации заключается в том, чтобы обнаружить, какая именно нить нуждается в ресурсах в первую очередь. В идеале ОС РВ предоставляет ресурсы той нити или драйверу, которым осталось меньше всего времени до установленного срока. Чтобы сделать это, ОС должна знать, когда нить обязана завершить свою работу и сколько времени ей понадобится. Поскольку это очень трудно реализовать, таких ОС пока еще не существует. Поэтому механизм диспетчеризации потоков управления в современных ОС базируется на понятии приоритета: ресурсы предоставляются нити с наивысшим приоритетом.

Требование 3. Механизм синхронизации нитей должен быть предсказуемым.

Механизм захвата ресурсов и межнитевых связей необходим, поскольку нити разделяют общие ресурсы.

Требование 4. Должна существовать система наследования приоритетов.

Разделение нитями с разными приоритетами общих ресурсов может привести к классической проблеме инверсии приоритетов. Такая проблема возникает, если имеется по крайней мере три нити. Если нить с низшим приоритетом захватит ресурс, разделяемый с нитью высшего приоритета, тогда нить со средним приоритетом будет выполняться, а нить с высшим приоритетом будет приостановлена до тех пор, пока захваченный ресурс не освободится, что произойдет только тогда, когда нить с низшим приоритетом получит управление и завершит работу, связанную с захваченным ресурсом. В этом случае время, необходимое для завершения нити с высшим приоритетом, зависит от нити с низшим приоритетом. Этот случай называется инверсией приоритета. Ясно, что в такой ситуации трудно уложиться в заранее установленный лимит времени.

Чтобы избежать этого, ОС РВ должна допускать «наследование» приоритета, подталкивая нить с низшим приоритетом. Наследование приоритета означает, что блокирующая нить наследует приоритет нити, которую она блокирует (конечно, только если последняя обладает более высоким приоритетом).

Требование 5. Временные характеристики ОС должны быть предсказуемы и известны.

Разработчик СРВ должен знать, сколько времени затрачивается на ту или иную системную работу. Кроме того, должны быть известны уровни системных прерываний и уровни IRQ (линий запросов прерываний) драйверов устройств, максимальное время, которое они затрачивают и т.п.

Евгений Хухлаев — сотрудник Института прикладной математики имени М.В. Келдыша РАН, (Москва).

1. Концепции Windows NT

Операционная система Windows NT реализована в двух вариантах: Windows NT Server и Windows NT Workstation. Windows NT Server 4.0 — сетевая операционная система с приложениями для Internet, сервисами файлов и печати, службой удаленного доступа, встроенным маршрутизатором, индексированием файлов и управлением сетью. Второй вариант Windows NT — Windows NT Workstation 4.0 во многом напоминает NT Server, но она оптимизирована в качестве операционной системы для рабочей станции. С точки зрения архитектуры и возможностей Windows NT Server является надмножеством Windows NT Workstation и включает в себя все возможности последней. Далее, в случаях когда не указывается, какая из ОС имеется в виду, комментарии относятся к обеим.

1.1. История создания, основные версии, перспективы развития

1.1.1. Истоки Windows NT

Начало работ по созданию Windows NT приходится на конец 88го года. Microsoft поручила Дэвиду Катлеру (David Cutler) возглавить новый проект в области программного обеспечения: разработку ОС новой технологии (New Technology — NT). Дэвид Катлер был главным консультантом фирмы DEC, он проработал в этой фирме 17 лет, разрабатывая ОС и компиляторы: VAX/VMS, ОС для MicroVAX I, OS RSX-11M, компиляторы VAX PL/1, VAX C.

Сначала Windows NT развивалась как облегченный вариант OS/2 (OS/2 Lite), который за счет усечения некоторых функций мог бы работать на менее мощных машинах. Однако со временем, увидев как успешно принимается потребителями Windows 3.0, Microsoft переориентировалась и стала разрабатывать улучшенный вариант Windows 3.1. Новая стратегия Microsoft состояла в создании единого семейства базирующихся на Windows операционных систем, которые охватывали бы множество типов компьютеров, от самых маленьких ноутбуков до самых больших мультипроцессорных рабочих станций.

Windows NT, как было названо следующее поколение Windowsсистем, относится к самому высокому уровню в иерархии семейства Windows. Эта операционная система, первоначально поддерживавшая привычный графический интерфейс (GUI) пользователя Windows, явилась первой полностью 32-разрядной ОС фирмы Microsoft. Win32 API — программный интерфейс для разработки новых приложений — сделал доступными для приложений улучшенные свойства ОС, такие как многонитевые процессы, средства синхронизации, безопасности, ввода-вывода, управление объектами.

Концептуальные преимущества Windows NT по сравнению с парой MS-DOS/Windows 3.1 были очевидны. Ее 32-битная основа вместе с истинными многозадачностью и многонитевостью существенно повышали потенциал системы.

Первые ОС семейства NT — Windows NT 3.1 и Windows NT Advanced Server 3.1 появились в июле 1993 года. Кодовое название следующей версии Windows NT 3.5 — Daytona, — совпадающее с названием скоростной трассы во Флориде, возможно, говорило о том, что ее главным достоинством является скорость. Действительно, производительность версии 3.5 возросла в 1,5 раза по сравнению в версией 3.1, и после ее появления многие корпоративные пользователи, которые отвергли версию 3.1 по тем или иным причинам, пересмотрели свое отношение к линии NT: в 1995 году доля Windows NT в своем секторе рынка возросла в 2 раза и составила 15%.

1.1.2. Особенности версии Windows NT 4.0

В августе 1996 года вышла очередная версия Windows NT 4.0. Сначала предполагалось, что эта очередная версия Windows NT получит номер 3.52, однако ей был присвоен номер 4.0, который раньше упоминался в компьютерной прессе в связи с другой ожидаемой версией Windows NT, имеющей кодовое название Cairo. Возможно это говорит о том, что в этой последней версии (Windows NT 4.0) появилось так много новых важных свойств, которые требуют более значимых изменений в кодировке. Новшества, внесенные в Windows NT Server 4.0, в основном связаны с улучшением интерфейса пользователя, расширением поддержки Internet, появлением новых и модернизацией существующих инструментов администрирования и повышением производительности системы.

В Windows NT 4.0 было внесено много существенных изменений, среди которых наиболее значительными являются следующие:

  • реализация интерфейса в стиле Windows 95;
  • ориентировка в сторону Internet и intranet;
  • архитектурные изменения, позволившие резко повысить производительность графических операций;
  • модификация средств взаимодействия с NetWare — Gateway и клиент NCP поддерживают теперь NDS;
  • поддержка многопротокольной маршрутизации;
  • появление в Windows NT 4.0 эмулятора Intel’овских процессоров для RISC-платформ.

Имеются и другие улучшения в версии 4.0. Так, например, в Windows NT Server 4.0 значительно улучшена наращиваемость по сравнению с Windows NT Server 3.51, что позволяет достигать значительно более высокой производительности на компьютерах с 4 процессорами, а также обеспечивает линейный рост производительности на машинах с восемью и большим числом процессоров.

Производительность Windows NT Server 4.0 при работе в качестве сервера файлов также значительно возросла и превысила производительность Windows NT Server 3.51 по некоторым данным более чем в 2 раза.

Новые административные средства Windows NT могут работать удаленно на клиентах Windows 95. Кроме того, Windows NT Server обеспечивает сервис удаленной загрузки для клиентов Windows 95. (Это полезно для бездисковых рабочих станций.)

В Windows NT 4.0 использован новый графический интерфейс с пользователем в стиле Windows 95. Хотя некоторым пользователям такая перемена не всегда нравится, но этим Microsoft восстанавливает принцип «единого интерфейса для всех платформ», который изначально считался одной из сильных сторон Windows NT. В сети с клиентскими станциями, работающими под управлением Windows 95 или Windows NT (а также в смешанной сети, включающей такие станции), администраторы Windows NT Server могут выполнять свои функции, применяя тот же интерфейс, что и пользователи рабочих станций.

Помимо внешних изменений, модернизация графического интерфейса не сильно отразилась на методах управления сетью. Базовый инструментарий администратора Windows NT Server остался прежним. Программы User Manager for Domains, Server Manager, Disk Administrator, Event Viewer, Performance Monitor, DHCP Manager, WINS Manager, Network Client Administrator, License Manager и Migration Tool for NetWare не претерпели существенных изменений. Remote Access Administrator также не изменился, но теперь он перенесен из отдельной папки в меню Administrative Tools. Новый редактор системной политики System Policy Editor, совместимый как с Windows NT, так и с Windows 95, заменил редактор профилей пользователей User Profile Editor, знакомый вам по версиям Windows NT Server 3.x. В версию 4.0 вошли четыре дополнения: административные программы-мастера Administrative Wizards, уже упоминавшийся System Policy Editor, а также расширенное средство Windows NT Diagnostics и программа Network Monitor (программа мониторинга работы сети, ранее поставлявшаяся только в составе продукта Microsoft Systems Management Server).

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

Windows NT 4.0 имеет несколько полезных системных компонентов для мониторинга, заимствованных у Systems Management Server компании Microsoft. Основное приложение — инструмент Performance Monitor, графически отслеживающий выбранные системные события. В частности Performance Monitor может быть использован для получения диаграмм загруженности ЦПУ, общего ввода/вывода сетевых плат и количества переданных байт по HTTP.

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

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

Другие новшества в Windows NT Server 4.0 связаны, в основном, с Internet и intranet. Важное место среди них занимают следующие, вошедшие в комплект поставки, программные компоненты:

  • Internet Information Server (IIS) версии 2.0 — продукт Microsoft, предоставляющий услуги Web-, ftp- и gopher-сервера, возможности Internet Information Server сравнимы, а по ряду тестов и превосходят аналогичный популярный продукт Server Netscape. Microsoft Internet Information Server 2.0, является самым быстрым сервером Web для Windows NT Server — он на 40 процентов превосходит производительность своего предшественника — версию 1.0;
  • Объектная модель распределенных компонентов — Distributed Component Object Model (DCOM), которая обеспечивает безопасную связь между компонентами через Internet;
  • DNS/WINS Server, который позволяет легко находить в Internet или intranet-сетях нужные Web-узлы;
  • технология PPTP (point-to-point tunneling protocol), которая расширяет функциональность сервера удаленного доступа Windows NT Server (RAS) и обеспечивает возможности создания частных сетей в Internet;
  • программа FrontPage, которая позволяет создавать Web-страницы на основе разнообразных шаблонов, проверять правильность ссылок и осуществлять общее управление создаваемыми Web-узлами;
  • индексный сервер Microsoft Search Server, который позволяет легко находить информацию на распределенных серверах intranet-сети в рамках любых документов, в том числе и созданных в Microsoft Office.

Два средства новой системы, предназначенные для работы в Internet, представляют особый интерес для администраторов. Во-первых, это служба имен DNS. Она позволяет использовать DNS-имена, но поддерживает только статическую адресацию. Для снятия этого ограничения Microsoft предлагает интеграцию служб DNS и WINS, назвав это сочетание «истинно динамической DNS». Теперь, когда клиенту WINS нужно определить IP-адрес, соответствующий символьному NetBIOS-имени, он обращается сначала к базе данных WINS, а затем — собственно к DNS. Таким образом, в системе на равных можно применять и динамически распознаваемые имена WINS, и статические имена DNS.

Кроме того, в состав Windows NT 4.0 вошла Web-ориентированная утилита администрирования, открывающая доступ к средствам администрирования Windows NT из любого Web-броузера. Из соображений безопасности для удаленного администрирования следует использовать Web-броузеры, способные регистрировать пользователя непосредственно на сервере Windows NT (т. е. такие, как Internet Explorer) или поддерживать протокол SSL.

Одно из усовершенствований связано с тем, что повышающаяся роль Internet’а и клиент-серверных систем ведет к росту числа мобильных пользователей. Microsoft в связи с этим улучшила RAS (улучшила поддержку ISDN) и предоставила средства безопасной работы с RAS через Internet. В RAS реализованы протоколы PPTP (создает зашифрованный трафик через Internet) и Multilink PPP (позволяет объединять несколько каналов в один). Клиентами могут быть Windows NT 4.0 Workstation или Windows 95.

Распределенная модель объектной компоновки (Distributed Component Object Model) — еще одно ключевое дополнение к Windows NT Server 4.0. Модель объектной компоновки (COM) позволяет разработчикам программ создавать приложения, состоящие из отдельных компонент. Распределенная модель (DCOM) в Windows NT Server 4.0 расширяет COM таким образом, что позволяет отдельным компонентам взаимодействовать через Internet. DCOM является растущим стандартом Internet, опубликованным в соответствии с форматом, определенным в спецификациях RFC 1543.

При разработке Windows NT 4.0 Microsoft решила пожертвовать стабильностью ради производительности. С этой целью были внесены изменения в архитектуру: библиотеки менеджера окон и GDI, а также драйверы графических адаптеров были перенесены из пользовательского режима в режим ядра. Это изменение означает отход от принятой в предыдущих версиях Windows NT 3.х концепции микроядра.

Перенос графической библиотеки и драйверов в область ядра повышает скорость выполнения графического ввода-вывода. Эти изменения особенно сказались на скорости выполнения приложений Win32, в то время как приложения Windows-16 и графические приложения DOS работают примерно также, как и в версии 3.5.

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

1.1.3. Новые свойства Windows NT 5.0

В конце 1997 ожидается появление Windows NT 5.0 — усовершенствованной версии Windows NT. Это будет не только полностью 32-разрядная, но также и полностью объектно-ориентированная система. Основу Windows NT 5.0 составляет объектно-ориентированная файловая система, реализованная на базе стандарта OLE 2.0, которая позволяет хранить не файлы, а объекты. Объектно-ориентированный подход позволяет с наименьшими затратами обеспечивать корректность многочисленных копий данных, таких как документы, электронные таблицы, приложения и других видов информации, хранящихся на разных машинах сети.

Версия Windows NT 5.0 обещает много, и нововведения прежде всего коснутся следующих подсистем:

  • Active Directory — глобальная справочная служба, которая развивает 2-х уровневый подход к разрешению имен DNS. Active Directory содержит информацию не только о файлах, но и об объектах других типов, например:

    Имя компьютера , IP-адрес
    Имя пользователя, пароль, почтовый адрес, …
    Имя приложения, компьютер, версия, права доступа…

  • Distributed File System (Dfs) — распределенная файловая система (свободно доступна на www.microsoft.com). Каталоги этой файловой системы, находящиеся на разных серверах, монтируются в общее дерево, начинающееся на корневом сервере с корневым share-именем. Различные поддеревья одного share могут состоять из файловых систем не только Microsoft, но и Novell NCP и Sun NFS. Некоторые ветви распределенной файловой системы могут по желанию администратора реплицироваться прозрачным образом.
  • Distributed Component Object Model (DCOM) — программные объекты (ActiveX или другие) могут распределяться по серверам сети и вызываться приложениями с любого компьютера. Информация о месте расположения объектов регистрируется в Active Directory.
  • Средства обеспечения безопасности: проверка прав доступа к документам в системе Windows NT 5.0 будет осуществляться по методу Kerberos или с помощью электронной подписи, а передача документов по сети будет реализована с использованием шифрования.

1.1.4. Требования к аппаратуре

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

Для работы Windows NT Workstation 4.0 компьютер должен иметь процессор не ниже i486 (в этой версии системы корпорация Microsoft отказалась от какой-либо поддержки процессоров i386), ОЗУ емкостью не менее 12 Мбайт и 108 Мбайт дискового пространства. И хотя эта ОС вполне работоспособна на компьютерах, имеющих оперативную память менее 16 Мбайт, однако рекомендуется устанавливать ее при наличии ОЗУ, емкость которого вдвое превышает допустимый минимум, т. е. составляет 24 Мбайт, а свободное дисковое пространство равно, по крайней мере, 216 Мбайт. Запустить Windows NT Workstation 4.0 можно и на системе, обладающей меньшими ресурсами, но тогда вряд ли пользователь останется доволен ее производительностью.

Для Windows NT Server 4.0 Microsoft определяет следующие аппаратные требования: процессор не ниже i486, ОЗУ емкостью 16 Мбайт и не менее 148 Мбайт непрерывного свободного дискового пространства. Для ознакомления с функциональными возможностями системы это, возможно, и достаточно, но для «промышленного» использования этих минимальных требований явно недостаточно. Для сервера с низкой или средней загруженностью (определяется числом обслуживаемых пользователей) необходимо наличие 32 Мбайт оперативной памяти и жесткого диска емкостью не менее 1 Гбайт.

Полный список аппаратуры, прошедшей тестирование на совместимость с Windows NT, содержится в документации к системе и на сервере www.microsoft.com.

1.1.5. Области использования Windows NT

Обладая высокой производительностью, стабильностью, развитыми средствами безопасности, и имея в своем арсенале широкий набор базовых системных функций, Windows NT Server может найти применения в различных областях, и прежде всего он может быть использован в качестве сервера в корпоративной сети. Здесь весьма полезной оказывается его способность выполнять функции контроллера доменов, что позволяет структурировать сеть и тем самым упрощать задачи администрирования и управления. Он используется также в качестве файл-сервера, принт-сервера, сервера приложений, сервера удаленного доступа и сервера связи (программного маршрутизатора).

Клиентами в сети с Windows NT Server могут являться компьютеры с установленными на них различными операционными системами. Стандартно поддерживаются: Windows NT Workstation, MS-DOS, OS/2, Windows for Workgroups, Windows 95, клоны UNIX, Macintosh. Основные клиенты входят в стандартную поставку Windows NT Server.

Windows NT Server является мощной платформой для сложных сетевых приложений, особенно тех, которые построены с использованием технологии клиент-сервер. В сочетании с серверами BackOffice он может удовлетворить очень широкий круг потребностей корпоративных пользователей. Так, под управлением Windows NT Server может работать сервер баз данных SQL Server фирмы Microsoft, а также серверы баз данных других известных фирм, такие как серверы баз данных Oracle и Sybase, Adabas и InterBase.

На платформе Windows NT Server может быть установлена мощная система администрирования Microsoft System Management Server, функциями которой является инвентаризация аппаратной и программной конфигурации компьютеров сети, автоматическая установка программных продуктов на рабочие станции, удаленное управление любым компьютером и мониторинг сети.

Windows NT Server может использоваться как сервер связи с мэйнфреймами IBM и системами IBM AS400. Для этого создан специальный продукт Microsoft SNA Server, позволяющий легко объединить в одной сети IBM PC-совместимые рабочие станции и мощные мейнфреймы. SNA Sever является шлюзом, позволяющим осуществлять доступ к рабочей станции как к серверам локальной сети, так и к мэйнфреймам без необходимости использования двух сетевых карт или нескольких стеков сетевых протоколов. Это приводит к снижению стоимости оборудования и уменьшению объема требуемой оперативной памяти. Обеспечивая прозрачный доступ к мэйнфреймам, SNA Server, будучи интегрированным с системой безопасности NT Server, обеспечивает авторизацию доступа к хосту. SNA Server может работать с любым из протоколов, поддерживаемых в NT Server: IPX/SPX, TCP/IP или NetBEUI.

Windows NT Server является платформой для Microsoft Exchange — нового высоко производительного пакета для коллективной работы, построенного на основе почтового сервера.

Наконец, последняя версия Windows NT 4.0 является надежной платформой для приложений, ориентированных на Internet: Web-серверов, Web-броузеров, информационно-поисковых систем, систем электронной коммерции в сети Internet.

Операционная система Windows NT Workstation позиционируется прежде всего как клиент в сетях Windows NT Server, а также в сетях NetWare, Unix, Vines. В сетях NetWare рабочие станции Windows NT восполняют известный пробел — отсутствие хорошего сервера приложений. Компьютер с установленной на нем Windows NT может быть рабочей станцией и в одноранговых сетях, выполняя одновременно функции и клиента, и сервера. Windows NT Workstation может применяться в качестве ОС автономного компьютера, если необходимы повышенная производительность или секретность, а также при реализации сложных графических приложений, например, в системах автоматизированного проектирования.

1.2. Микроядерная структура — основа стабильности системы

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

Рис. 1.1. Структура ОС на базе микроядра

Использование концепции микроядра способствует переносимости операционных систем, поскольку весь машинно-зависимый код изолирован в микроядре, а значит для переноса системы на новый процессор требуется меньше изменений, и все они логически сгруппированы вместе. Операционная система Windows NT может работать на компьютерах, построенных на базе процессоров Intel, PowerPC, DEC Alpha, MIPS.

Технология микроядер является основой построения множественных прикладных сред, которые обеспечивают совместимость программ, написанных для разных ОС. Абстрагируя интерфейсы прикладных программ от расположенных ниже операционных систем, микроядра позволяют гарантировать, что вложения в прикладные программы не пропадут в течение нескольких лет, даже если будут сменяться операционные системы и процессоры. В среде Windows NT, кроме «родных» 32-битовых приложений, могут выполняться приложения MS-DOS, 16-битовые Windows-приложения, Posix- и OS/2-приложения.

Однако, такая гибкость не дается даром. Пересылка сообщений не так быстра, как обычные вызовы функций, и ее оптимизация является критическим фактором успеха операционной системы на основе микроядра. Поэтому разработчики Windows NT отказались от модели микроядра в ее чистом виде. Кроме собственно микроядра, в привилегированном режиме работает часть Windows NT, называемая executive — исполнительная подсистема. Она включает ряд компонентов, которые управляют виртуальной памятью, объектами, вводом-выводом и файловой системой (включая сетевые драйверы), взаимодействием процессов и, частично, системой безопасности. Часть Windows NT, работающая в пользовательском режиме состоит из серверов Windows NT, называемых также защищенными подсистемами (рисунок 1.2).

Рис. 1.2. Структура Windows NT

Так как защищенные подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Сообщения могут передаваться как между клиентом и сервером, так и между двумя серверами. Все сообщения проходят через executive. Защищенные подсистемы Windows NT работают в пользовательском режиме и создаются Windows NT во время загрузки операционной системы. Сразу после создания они начинают бесконечный цикл своего выполнения, отвечая на сообщения, поступающие к ним от прикладных процессов и других подсистем. Для упрощения на рисунке взаимодействие приложений с защищенными подсистемами иллюстрируется стрелками, соединяющими их напрямую, однако в действительности взаимодействие приложений с защищенными подсистемами реализуется через ядро путем обмена сообщениями.

Поддержку защищенных подсистем обеспечивает исполнительная часть Windows NT — executive, которая работает в пространстве ядра и никогда не сбрасывается на диск. Ее составными частями являются:

  • Менеджер объектов. Создает, удаляет и управляет объектами NT executive — абстрактными типами данных, используемыми для представления ресурсов системы.
  • Монитор безопасности. Устанавливает правила защиты на локальном компьютере. Охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.
  • Менеджер процессов. Создает и завершает, приостанавливает и возобновляет процессы и нити, а также хранит о них информацию.
  • Менеджер виртуальной памяти.
  • Средства локального вызова процедур. Передают сообщения между клиентскими и серверными процессами одного и того же компьютера.
  • Подсистема ввода-вывода. Включает в себя следующие компоненты: 1) менеджер ввода-вывода предоставляет средства ввода-вывода, независимые от устройств; 2) файловые системы, NT-драйверы, выполняющие файл-ориентированные запросы на ввод-вывод, транслирующие их в вызовы обычных устройств; 3) сетевой редиректор и сетевой сервер, драйверы файловых систем, передающие удаленные запросы на ввод-вывод на машины сети и получающие запросы от них; 4) драйверы устройств NT executive, низкоуровневые драйверы, которые непосредственно управляют устройством; 5) менеджер кэша, реализующий кэширование диска.

Исполнительная часть в свою очередь основывается на службах нижнего уровня, предоставляемых ядром (его можно назвать и микроядром) NT. В функции ядра входит:

  • планирование нитей,
  • обработка прерываний и исключительных ситуаций,
  • синхронизация процессоров для мультипроцессорных систем,
  • восстановление системы после сбоев.

Обратиться к ядру можно только посредством прерывания. Ядро расположено над уровнем аппаратных абстракций (Hardware Abstraction Level HAL), который концентрирует в одном месте основную часть машинно-зависимых процедур. Располагается HAL между NT executive и аппаратным обеспечением и скрывает от системы такие детали, как контроллеры прерываний, интерфейсы ввода/вывода и механизмы взаимодействия между процессорами. Такое решение позволяет легко переносить Windows NT с одной платформы на другую путем замены только слоя HAL.

Среди всех защищенных подсистем можно выделить так называемые подсистемы окружения — Win32, 16-битный Windows, DOS, OS/2, Posix. Каждая из этих подсистем реализует соответствующий прикладной программный интерфейс. Windows NT использует подсистемы окружения со следующими целями:

  • Обеспечить несколько программных интерфейсов (APIs), сохраняя как можно более простым базовый программный код (NT executive).
  • Экранировать базовую операционную систему от изменений или расширений в поддерживаемых API.
  • Объединить часть глобальных данных, требуемых всем API, и в то же время отделить данные, требуемые одному API от данных, требуемых другим API.
  • Защитить окружение каждого API от приложений, а также от окружений других API и защитить базовую операционную систему от различных окружений.
  • Позволить операционной системе расширяться в будущем за счет новых API.

1.3. Планирование процессов и нитей

В отличие от Windows, в которой реализована многозадачность без вытеснения (non-preemptive multitasking), в Windows NT используется механизм многозадачности с вытеснением (preemptive multitasking).

Windows NT поддерживает симметричную мультипроцессорную организацию вычислительного процесса, в соответствии с которой ОС может выполняться на любом свободном процессоре или на всех процессорах одновременно, разделяя память между ними. Так как многозадачность реализуется на уровне нитей, разные части одного и того же процесса могут действительно выполняться параллельно. Следовательно, многонитевые серверы могут одновременно обслуживать более одного клиента.

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

Для управления нитями Windows NT использует механизм приоритетов. В определенные моменты производятся оценка приоритетов и перераспределение нитей по процессорам, в результате чего последовательные стадии одной нити программы могут выполняться разными процессорами или откладываться до высвобождения очередного процессора.

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

Windows NT поддерживает 32 уровня приоритетов, разделенных на два класса — класс реального времени и класс переменных приоритетов (рисунок 1.3). Нити реального времени, приоритеты которых находятся в диапазоне от 16 до 31, являются более приоритетными процессами и используются для выполнения задач, критичных ко времени.

В Windows NT определено 4 класса приоритетов процессов:

  • IDLE_PRIORITY_CLASS — уровень 4
  • NORMAL_PRIORITY_CLASS — уровень 9 при интерактивной работе процесса (forground) и уровень 7 при работе в фоновом режиме (background)
  • HIGH_PRIORITY_CLASS — уровень 13
  • REALTIME_PRIORITY_CLASS — уровень 24

Большинство приложений либо не определяет класс приоритета процесса при его создании, либо устанавливает его в значение NORMAL_PRIORITY_CLASS. Класс IDLE — самый низкоприоритетный — хорошо использовать для работ, некритичных к скорости их выполнения, например, при наблюдении за состоянием системы или же при резервном копировании на ленту. Высокий приоритет (HIGH_PRIORITY_CLASS) следует использовать только тогда, когда это абсолютно необходимо, так как нити такого процесса будут выполняться всегда перед нитями процесса с нормальным приоритетом. В Windows NT с приоритетом HIGH работает процесс Task Manager. Обычно он находится в состоянии ожидания, но при нажатии комбинации клавиш Ctrl+Esc нить Task Manager пробуждается и немедленно вытесняет любые нити обычных приложений. Приоритеты реального времени системными процессами Windows NT (и тем более офисными приложениями) не используются. Этот класс приоритетов нужно использовать только для систем реального времени, например, сбора данных от промышленных установок, управления движущимися объектами и т.п.

Рис. 1.3. Система очередей готовых нитей

Все нити, созданные процессом определенного класса, имеют сначала приоритет процесса. Но в ходе своего выполнения нить может изменить свой приоритет относительного базового приоритета процесса с помощью системного вызова SetThreadPriority. Этот вызов имеет параметр, который может принимать 5 относительных значений, понижая приоритет относительно базового на 2 или 1 единицу, повышая его на 2 или 1 единицу или делая его равным базовому. Имеется еще 2 абсолютных значения этого параметра — IDLE и CRITICAL. Значение IDLE делает приоритет нити равным 1 независимо от его базового приоритета (для процессов REALTIME приоритет становится равным 16), а значение CRITICAL повышает приоритет до 15 для всех процессов (для процессов REALTIME приоритет повышается до 31).

На выполнение всегда выбирается нить с самым высоким приоритетом. Каждый раз, когда необходимо выбрать нить для выполнения, диспетчер прежде всего просматривает очередь готовых нитей реального времени и обращается к другим нитям, только когда очередь нитей реального времени пуста. Обычно большинство нитей в системе попадают в класс нитей с переменными приоритетами, диапазон приоритетов которых от 0 до 15. Этот класс имеет на-звание «переменные приоритеты» потому, что диспетчер настраивает систему, выбирая (понижая или повышая) приоритеты нитей этого класса.

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

Итак, нить освобождает процессор, если:

  • нить блокируется, уходя в ожидание,
  • нить завершается,
  • нить исчерпала квант,
  • нить вытеснена более приоритетной нитью.

При планировании нитей в Windows NT используются концепции квантования, абсолютных приоритетов и динамических приоритетов.

  • Квантование — нитям отводится квант времени, по истечении которого выполнение нити прекращается.
  • Абсолютные приоритеты — при появлении в очереди нити с более высоким приоритетом, чем у активной в данный момент, выполнение последней немедленно прерывается.
  • Динамические приоритеты — приоритеты нитей могут изменяться системой: понижаются у нитей, исчерпавших квант, повышаются у нитей, недоиспользовавших квант из-за перехода в состояние ожидания.

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

1.4. Управление памятью

Windows NT поддерживает сегментностраничную модель виртуальной памяти и использует для этих целей аппаратную поддержку таких процессоров как Intel 80386 и выше, MIPS R4000, DEC Alpha и Power PC. Для этого в NT executive имеется специальный компонент — менеджер виртуальной памяти.

Менеджер ВП обеспечивает для процессов следующие наборы функций:

  • управление виртуальным адресным пространством процесса;
  • разделение памяти между процессами;
  • защита виртуальной памяти одного процесса от других процессов.

Средства защиты памяти в Windows NT существуют в четырех формах.

  • Отдельное адресное пространство для каждого процесса. Аппаратура запрещает нити доступ к физическим адресам другого процесса.
  • Два режима работы: режим ядра, в котором нитям разрешен доступ к системным данным, и пользовательский режим, в котором это запрещено.
  • Страничный механизм защиты. Каждая виртуальная страница имеет набор признаков, который определяет разрешенные типы доступа в пользовательском режиме и в режиме ядра.
  • Объектно-ориентированная защита памяти. Каждый раз, когда процесс открывает указатель на секцию, монитор ссылок безопасности проверяет, разрешен ли доступ процесса к данному объекту.

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

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

Каждый процесс NT executive имеет большое виртуальное адресное пространство размером в 4Гб, из которых 2 Гб резервируются для системных нужд. (Процессор MIPS R4000 требует, чтобы 2 Гб адресного пространства были зарезервированы для системы. Хотя другие процессоры требуют меньше, для переносимости системы Windows NT всегда резервирует 2 Гб.) Младшие адреса виртуального адресного пространства доступны для нитей, работающих и в пользовательском, и в привилегированном режимах, они указывают на области памяти, уникальные для каждого процесса. Старшая часть адресов доступна для нитей только тогда, когда они выполняются в привилегированном режиме. Виртуальное адресное пространство процесса показано на рисунке 1.4.

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

Рис. 1.4. Виртуальное адресное пространство

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

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

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

Процесс принятия решения о замене страниц системой виртуальной памяти обычно включает три фазы: извлечение, размещение, замена.

Этап извлечения связан с выбором условия, при выполнении которого страница перемещается с диска в память. Существует два типа стратегий извлечения: с упреждением, когда страницы загружаются в память до того, как они оказываются необходимыми процессу, и стратегии загрузки по требованию, в соответствии с которыми страница перемещается в память только при наступлении страничного прерывания. При использовании стратегий «по требованию» при старте каждой нити происходит интенсивная загрузка страниц. Эти страницы называются начальным набором страниц. После загрузки начального набора интенсивность загрузки страниц заметно уменьшается.

Менеджер виртуальной памяти Windows NT использует стратегию «по требованию» с кластеризацией. При возникновении страничного прерывания менеджер виртуальной памяти загружает в память вызвавшую прерывание страницу, а также небольшое количество окружающих ее страниц. Эта стратегия пытается минимизировать количество страничных прерываний.

Этап размещения. Набор правил, используемых для определения места размещения новой страницы в памяти, называется стратегией размещения. В Windows NT менеджер виртуальной памяти просто выбирает первую страницу из списка свободных физических страниц. База данных физических страниц — это массив записей, пронумерованных от 0 до максимального номера страницы, зависящего от объема памяти. Каждая запись содержит информацию о соответствующей физической странице. Менеджер виртуальной памяти использует прямые связи в случае, когда процесс запрашивает доступ к виртуальному адресу в действительной виртуальной странице.

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

Менеджер виртуальной памяти Windows NT использует локальный алгоритм FIFO (First Input First Output). В соответствии с алгоритмом FIFO из памяти удаляется та страница, которая дольше всего там находится. Локальность в данном случае означает, что поиск страницы-кандидата на выгрузку осуществляется только среди страниц того процесса, который требует загрузки новой страницы. Существуют и глобальные стратегии, в соответствии с которыми поиск замещаемой страницы выполняется на множестве страниц всех процессов. Локальный вариант стратегии не дает одному процессу возможность захватить всю имеющуюся память.

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

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

Для снижения объема вычислений, затрачиваемых на работу менеджера виртуальной памяти, в Windows NT минимизируется количество страничных прерываний. Для этого предпринимаются следующие меры:

  • Каждому процессу предоставляется рабочий набор страниц достаточно большого размера, чтобы избежать частых страничных отказов.
  • Менеджер виртуальной памяти производит автоматический тримминг рабочего набора каждого процесса, чтобы сделать доступными для других процессов области памяти, занимаемые редко используемыми страницами.


Содержание |
Вперед

Понравилась статья? Поделить с друзьями:
  • Оснастка ad для windows server 2012
  • Ос семейства windows nt являются интерактивными ос
  • Ос для обновления windows server или корпоративная обратитесь к системному администратору
  • Ос для обновления windows server или корпоративная обратитесь к сист администратору
  • Ос для обновления windows server или корпоративная обратитесь к сис администратору