ПОНЯТИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ
Операционная система (ОС) - комплекс системных и управляющих программ,
предназначенных для наиболее эффективного использования всех ресурсов
вычислительной системы (ВС) (Вычислительная система - взаимосвязанная
совокупность аппаратных средств вычислительной техники и программного
обеспечения, предназначенная для обработки информации) и удобства работы с ней.
Назначение ОС - организация вычислительного процесса в вычислительной системе,
рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами;
предоставление пользователям многочисленных сервисных средств, облегчающих
процесс программирования и отладки задач. Операционная система исполняет роль
своеобразного интерфейса ( Интерфейс - совокупность аппаратуры и программных
средств, необходимых для подключения периферийных устройств к ПЭВМ) между
пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это
означает, что ОС в значительной степени формирует у пользователя представление
о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные
ОС на одних и тех же технических средствах могут предоставить пользователю
различные возможности для организации вычислительного процесса или
автоматизированной обработки данных.
В программном обеспечении ВС операционная система занимает основное положение,
поскольку осуществляет планирование и контроль всего вычислительного процесса.
Любая из компонент программного обеспечения обязательно работает под
управлением ОС.
В соответствии с условиями применения различают три режима ОС: пакетной
обработки, разделения времени и реального времени. В режиме пакетной обработки
ОС последовательно выполняет собранные в пакет задания. В этом режиме
пользователь не имеет контакта с ЭВМ, получая лишь результаты вычислений. В
режиме разделения времени ОС одновременно выполняет несколько задач, допуская
обращение каждого пользователя к ЭВМ. В режиме реального времени ОС
обеспечивает управление объектами в соответствии с принимаемыми входными
сигналами. Время отклика ЭВМ с ОС реального времени на возмущающее воздействие
должно быть минимальным.
ИСТОРИЯ СОЗДАНИЯ И РАЗВИТИЯ
ОПЕРАЦИОННЫХ СИСТЕМ
1. Стандарт CP/M
Начало созданию
операционных систем для микроЭВМ положила ОС СР/М. Она была разработана в 1974
году, после чего была установлена на многих 8-разрядных машинах. В рамках этой
операционной системы было создано программное обеспечение значительного объема,
включающее трансляторы с языков Бейсик, Паскаль, Си, Фортран, Кобол, Лисп, Ада
и многих других, текстовые (Текстовые процессоры - это наиболее широко
используемый вид прикладных программ. Они позволяют подготавливать документы
гораздо быстрее и удобнее, чем с помощью пишущей машинки. Текстовые процессоры
позволяют использовать различные шрифты символов, абзацы произвольной формы,
автоматически переносят слова на новую строку, позволяют делать сноски,
включать рисунки, автоматически нумеруют страницы и сноски и т.д) и табличные
процессоры, системы управления базами данных, графические пакеты ( Система
управления базами данных (СУБД) - позволяет управлять большими информационными
массивами - базами данных), символьные отладчики и другие проблемно
ориентированные программы.
Успех
системы в значительной степени был обусловлен ее предельной простотой и
компактностью, возможностью быстрой настройки на различные конфигурации ПЭВМ.
Первая версия системы занимала всего 4 К, что было весьма важно в условиях
ограниченности объемов памяти ПЭВМ того времени.
2.Операционные системы типа DOS
ОС
типа DOS стала доминирующей с появлением 16-разрядных ПЭВМ, использующих
16-разрядные микропроцессоры типа 8088 и 8086. С точки зрения долголетия ни
одна операционная система для микрокомпьютеров не может даже приблизиться к
DOS. С момента появления в 1981 году DOS распространилась настолько широко, что
завоевала право считаться самой популярной в мире ОС. Несмотря на некоторые
свои недостатки и на то, что большая ее часть основывается на разработках 70-х
годов, DOS продолжает существовать и распространяться и поныне. Хорошо это или
плохо, она, вероятно, будет доминировать на рынке операционных систем в течение
ближайшего времени. В настоящее время для DOS разработан огромный фонд
программного обеспечения. Имеются трансляторы (Транслятор - программа,
автоматически преобразующая программу на языке программирования в последовательность
инструкций. Разновидности трансляторов - компилятор, интерпретатор) для
практически всех популярных языков высокого уровня, включая Бейсик, Паскаль,
Фортран, Си, Модула-2, Лисп, Лого, АПЛ, Форт, Ада, Кобол, ПЛ-1, Пролог, Смолток
и др.; причем для большинства языков существует несколько вариантов
трансляторов. Имеются инструментальные средства для разработки программ в
машинных кодах - ассемблеры, символьные отладчики и др. Эти инструментальные
средства сопровождаются редакторами, компоновщиками и другими сервисными
системами, необходимыми для разработки сложных программ. Кроме системного
программного обеспечения для DOS создано множество прикладных программ.
3.Стандарт MSX
Этот стандарт определял не только ОС, но и характеристики аппаратных средств
для школьных ПЭВМ. Согласно стандарту MSX машина должна была иметь оперативную
память объемом не менее 16 К, постоянную память объемом 32 К с встроенным
интерпретатором языка Бейсик, цветной графический дисплей с разрешающей
способностью 256х192 точек и 16 цветами, трехканальный звуковой генератор на 8
октав, параллельный порт для подключения принтера и контроллер для управления
внешним накопителем, подключаемым снаружи.
Операционная система такой машины должна была обладать следующими свойствами:
требуемая память - не более 16 К, совместимость с СР/М на уровне системных
вызовов, совместимость с DOS по форматам файлов на внешних накопителях на
основе гибких магнитных дисков, поддержка трансляторов языков Бейсик, Си,
Фортран и Лисп. Таким образом, эта операционная система, получившая название
MSX-DOS, учитывала необходимость поддержки обширного программного обеспечения,
разработанного для СР/М, и одновременно ориентировалась на новые в то время
разработки, связанные с DOS.
4.Операционные системы, основанные на
графическом интерфейсе
Помимо
широко распространенных машин, проектируемых в соответствии со сложившимися
стандартами, часто создаются машины, в которых особо выделяется какое-либо
свойство. Так, наибольшее внимание в начале и середине 80-х годов привлекли
своими графическими возможностями машины Macintosh и Amiga. В первой из них
дисплей был монохромным, во второй - цветным, но обе отличались высокой
разрешающей способностью и скоростью вывода графической информации на дисплей.
Операционные системы для этих машин были спроектированы так, чтобы максимально
использовать возможности работы с графикой. В них используется многооконный
интерфейс и манипулятор "мышь". Для выбора той или иной операции или
рабочего объекта на экран выводится несколько условных графических символов
(пиктограмм), среди которых пользователь делает выбор с помощью
"мыши".
5.Пи - система
В
начальный период развития персональных компьютеров была создана операционная
система USCD p-system. Основу этой системы составляла так называемая П-машина -
программа, эмулирующая гипотетическую универсальную вычислительную машину.
П-машина имитирует работу процессора, памяти и внешних устройств, выполняя
специальные команды, называемые П-кодом. Программные компоненты Пи-системы (в
том числе компиляторы) составлены на П-коде, прикладные программы также
компилируются в П-код. Таким образом, главной отличительной чертой системы
являлась минимальная зависимость от особенностей аппаратуры ПЭВМ. Именно это
обеспечило переносимость Пи-системы на различные типы машин. Компактность
П-кода и удобно реализованный механизм подкачки позволял выполнять сравнительно
большие программы на ПЭВМ , имеющих небольшую оперативную память.
Однако принципиальной особенностью данной системы являлся преимущественно
интерпретационный режим исполнения прикладных программ, что влекло интенсивные
обмены информацией между оперативной памятью и внешними накопителями. В
результате происходило существенное замедление работы.
6.Операционные системы семейства UNIX
Система
UNIX приобрела популярность в связи с ее успешным использованием на мини-ЭВМ.
Этот успех послужил толчком к тому, чтобы создать подобную систему и для
персональных компьютеров. Как правило, различные версии ОС, относящихся к этому
семейству, имеют свои названия, но в основных чертах повторяют особенности
UNIX.
UNIX - операционная система, которая позволяет осуществить выполнение работ в
многопользовательском и многозадачном режиме. Поначалу она предназначалась для
больших ЭВМ, чтобы заменить MULTICS. UNIX является очень мощным средством в
руках программиста, но требует очень большого объёма ОЗУ и пространства диска.
Несмотря на попытки стандартизировать эту операционную систему, существует
большое количество различных его версий, главным образом потому, что она была
распространена в виде программы на языке Си, которую пользователи стали
модифицировать для своих собственных нужд.
Главной отличительной чертой этой системы является ее модульность и обширный
набор системных программ, которые позволяли создать благоприятную обстановку
для пользователей-программистов. Система UNIX органически сочетается с языком
Си, на котором написано более 90% ее собственных модулей. Командный язык
системы практически совпадает с языком Си, что позволяло очень легко
комбинировать различные программы при создании больших прикладных систем.
UNIX имеет "оболочку", с которой пользователь непосредственно
взаимодействует, и "ядро", которое, собственно, и управляет
действиями компьютера. Компьютер выводит в качестве приглашения для ввода
команд долларовый знак. Из-за продолжительности пользования этой операционной
системы количество команд весьма велико. В добавление к командам по управлению
файлами, которые присутствуют в любой операционной системе, UNIX имеет, по
крайней мере, один текстовый редактор, а также форматер текста и компилятор
языка Си, что позволяет, по мере надобности, модифицировать
"оболочку".
От UNIX многие другие операционные системы переняли такие функции, как
переназначение, канал и фильтр; однако UNIX имеет несомненно преимущество в
том, что она с самого начала разрабатывалась как многопользовательская и
многозадачная операционная система. Имена файлов могут иметь 14 знаков, причём
в именах файлов различаются заглавные и строчные буквы. Первоначальный набор
команд операционной системы расширился до 143 в версии 7.0; в версии System III
добавилась ещё 71 команда, ещё 25 - в Berkeley 4.1 и следующие 114 в Berkeley
4.2. Из-за такого обилия команд UNIX не относится к самым удобным для
пользователя языкам. Работа облегчается, если применять графический
пользовательский интерфейс, но поскольку такое количество команд и без того
занимает значительный объём памяти, этот интерфейс требует ещё большего объёма
памяти и пространства диска.
РАЗНОВИДНОСТИ СОВРЕМЕННЫХ ОС
1.MS-DOS
MS DOS является наиболее широко распространенной операционной системой для
персональных компьютеров. Число прикладных программ для MS-DOS составляет
десятки тысяч, Такого большого количества программ в быстроразвивающейся
компьютерной сфере никогда не было. Это разнообразие программ позволяет
удерживать операционной системе MS DOS ведущее положение среди более
прогрессивных и более мощных операционных систем. Естественно, что эта ОС имеет
свои достоинства и недостатки.
Ограничения DOS
Без сомнения, главная отличительная черта вычислительных систем 90-х годов -
графический интерфейс пользователя (graphical user interface, GUI). Сторонники
GUI утверждают, что этот ориентированный на непосредственное визуальное
восприятие обрабатываемых объектов интерфейс сильно ускоряет работу с ПК и за
счет простоты освоения делает его более доступным массовому потребителю.
Более серьезный недостаток - ограничение памяти, доступной DOS-программ - 640
К. На самом деле DOS может использовать до 1 Mb ОЗУ, но архитектура IBM PC
сокращает доступную память до 640 К. Есть множество обходных путей -
отображаемая память, расширенная память, расширители DOS, блоки верхней памяти,
создаваемые диспетчерами памяти для процессора 80386, но факт остается фактом:
не существует естественного способа, позволяющего прикладным программам
использовать мегабайты ОЗУ, установленные на современных машинах.
Единственный надежный способ преодолеть эти барьеры раз и навсегда - заставить
процессор работать в защищенном режиме. Но ни DOS, ни ее прикладные программы
не способны работать в этом режиме, поэтому огромные пространства расширенной
памяти остаются недоступными для большинства программ.
Скелетная природа DOS привлекает разработчиков программного обеспечения.
Большинство основных прикладных программ общаются с экраном, клавиатурой и
принтером в обход DOS, так как предоставляемые ею услуги по организации
интерфейса с этими и другими устройствами совершенно недостаточны. DOS,
например, не поддерживает ввод-вывод через последовательный порт по прерываниям.
Программисты тратят довольно много времени на написание драйверов для сотен
различных принтеров и видеоадаптеров. Конфигурации оборудования бывают
настолько разнообразными, что трудно написать программу, которая работала бы на
любом IBM-совместимом компьютере. Кроме общей файловой системы DOS здесь мало
чем может помочь.
Прикладная программа, написанная для Windows, наоборот, будет работать на любом
ПК, удовлетворяющем жестким требованиям Windows. Что важно, ответственность за
подготовку драйверов перекладывается с разработчика программного обеспечения на
изготовителя оборудования, так что разработчик может посвятить больше времени
работе над ядром программы.
Не так-то просто обучиться пользоваться различными DOS-программами. В DOS нет
стандартного интерфейса для прикладных программ, поэтому то, что работает в
одной программе, вероятнее всего, не будет работать в другой. Для того чтобы
записать файл в Windows-программе достаточно выбрать пункт Save из меню File. В
программе WordPerfect for DOS для того, чтобы начать этот процесс, необходимо
нажать F10. В пакете Lotus 1-2-3 - /FS. Этот список можно продолжать сколько
угодно. Исследования показывают, что средний пользователь IBM-совместимого ПК
регулярно используют две-три прикладные программы, пользователи же компьютеров
Macintosh - почти вдвое больше. Одно из возможных объяснений такой разницы
состоит в том, что благодаря подобию программных изделий для Macintosh
пользователь, знакомый с одной прикладной программой, легче осваивает другие.
Еще один "черный шар" против DOS - полное отсутствие
мультизадачности. DOS предназначена для одновременного выполнения только одной
программы, и попытки заставить ее работать по-другому (за исключением некоторых
очень специфичных случаев) чреваты крахом системы. Даже резидентные программы
(TSR), являющиеся ограниченным, но все же весьма полезным исключением из
правила, осложняют дело, когда конфликтуют друг с другом или с другими
элементами системы. Имеется большое количество изделий различных фирм, обеспечивающих
мультизадачность или переключение задач в системах, базирующихся на DOS, но ни
одна из них не может сравниться по эффективности с такой операционной системой,
как OS/2, которая с самого начала была предназначена для одновременной работы
нескольких программ.
Сила в простоте
Одна из наиболее очевидных сильных сторон DOS - умеренные требования к
оборудованию. Для того, чтобы работать с Windows на более или менее приемлемой
скорости, необходим как минимум ПК на основе процессора 80386 с не менее чем 4Мбайт
ОЗУ. Если надо DOS может вполне нормально работать с 640 Кбайт и на процессоре
8088. DOS-программы работают быстро, по большей части благодаря тому, что
большинство из них использует текстовый режим дисплея. Даже графические
DOS-программы, как правило, в несколько раз быстрее своих Windows-аналогов, так
как над ними не довлеет GDI (Graphics Device Interface, интерфейс графического
устройства, компонент Windows, который используется программами для вывода на
экран). То, что один толкует как недостаток, другому кажется достоинством. Для
пользователя, знакомого с командами DOS и достаточно быстро работающего на
клавиатуре, командная строка - оружие, а не ловушка.
Простота DOS позволяет делать то, что неосуществимо в более сложных
операционных средах. Например, можно с помощью команды DEBUG создать очень
мощные утилиты. API (application programming interface, интерфейс прикладных
программ) DOS достаточно прост, и даже начинающие программисты могут научиться
писать полезные программы. В то же время API Windows очень сложен и для
овладения им необходимо несколько месяцев. Кроме того, создание программ для
Windows требует изощренных инструментальных средств, в частности редакторов
ресурсов, компиляторов и отладчиков, работающих в этой операционной системе. Не
случайно, что для Windows гораздо меньше условно бесплатного и бесплатного
программного обеспечения.
2.Windows 3.1x
Ключевой
идеей Windows является обеспечение полной независимости программ от аппаратуры.
Система Windows 3.1 изначально создавалась так, чтобы полностью взять на себя
общение с конкретным типом дисплея или принтера. Как пользователю, так и
программисту, создающему приложение под Windows предоставлены универсальные
средства, снимающие проблему обеспечения совместимости с конкретной аппаратурой
(аппаратная совместимость) и программным обеспечением (программная
совместимость).
Унифицированный единый графический интерфейс с пользователем облегчает изучение
новых программных продуктов.
Одним из средств, обеспечивающих программную совместимость, является механизм
обмена данными между различными приложениями. Специальный "почтовый
ящик" (clipboard) Windows 3.1 позволяет пользователю переносить информацию
из одного приложения в другое, не заботясь о ее формате и представлении. В
отличии от профессиональных операционных систем, где механизм обмена данных
между программами доступен только программисту, в Windows 3.1 это делается
очень просто и наглядно для пользователя.
Механизм обмена данных между приложениями - жизненно важное свойство
многозадачной среды. И в настоящее время производители программного обеспечения
пришли уже к выводу, что для переноса данных из одного приложения в другое
одного "почтового ящика" явно недостаточно. Появился новый, более
универсальный механизм - OLE (Object Linking Embedded - Встроенная Объектная
Связь), который позволяет переносить из одного приложения в другое разнородные
данные.
Windows не только позволяет работать с привычным программным продуктом, но и
предлагает дополнительные возможности (запуск нескольких программ одновременно,
быстрое переключение с одной программы на другую, обмен данными между ними и
т.п.). Обеспечена возможность работы со всеми прикладными программами MS-DOS
(текстовыми процессорами, СУБД, электронными таблицами и пр.).
Windows 3.1 может работать в одном из трех режимов: Real (реальном), Standart
(стандартном), 386 Enhanced (расширенном). В процессе установки Windows
анализирует имеющиеся аппаратные ресурсы и автоматически устанавливает режим,
наиболее полно использующий возможности имеющейся аппаратуры.
В реальном режиме Windows 3.1 не использует аппаратные возможности, не
поддерживаемые MS-DOS (этот режим является единственно возможным для машин с
процессором 8086/8088): как и в MS-DOS, пользователь ограничен оперативной
памятью в 640 Кбайт.
В стандартном режиме (возможном на компьютерах с процессором 80286 или 80386)
Windows 3.1 полностью использует имеющуюся на компьютере расширенную память,
загружая туда все приложения, написанные специально для Windows. Программы DOS
загружаются в обычную память.
В расширенном режиме (возможном на компьютерах с процессором 80386 и выше) при
запуске приложений (как Windows, так и обычных программ для MS-DOS) Windows 3.1
поддерживает т.н. режим виртуальной машины (запускаемой программе как бы выделяется
свой собственный компьютер со всеми ресурсами), реализуя многозадачную среду.
Windows 3.1 позволяет запускать одновременно несколько программ (в том числе
одну и ту же программу несколько раз), с возможностью мгновенного переключения
с одной программы на другую. Это позволяет инициировать длительный процесс
(печать, сортировку и копирование больших объемов данных) и заняться другой
работой, а не ждать, пока он закончится.
3.Windows 95
Windows
95 представляет собой продукт эволюционного развития системы Windows 3.1x и не
означает полного разрыва с прошлым. Хотя она несет в себе много важных
изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены
некоторые важнейшие свойства ее предшественницы. Результатом стало появление
гибридной ОС, способной работать с 16-разрядными прикладными программами
Windows, программами, унаследованными от DOS, и старыми драйверами устройств
реального режима и в то же время совместимой с истинными 32-разрядными
прикладными программами и 32-разрядными драйверами виртуальных устройств.
Среди наиболее важных усовершенствований, появившихся в Windows 95, -
изначально заложенная в ней способность работать с 32-разрядными
многопотоковыми прикладными программами, защищенные адресные пространства,
вытесняющая многозадачность, намного более широкое и эффективное использование
драйверов виртуальных устройств и возросшее применение 32-разрядных хипов для
хранения структур данных системных ресурсов. Ее наиболее существенный
недостаток состоит в относительно слабой защищенности от плохо работающих
программ, содержащих ошибки.
Каждая собственная прикладная программа Windows 95 видит неструктурированное 4
Gb-ное адресное пространство, в котором размещается она сама плюс системный код
и драйверы Windows 95. Каждая 32-разрядная прикладная программа выполняется
так, как будто она монопольно использует весь ПК. Код прикладной программы
загружается в это адресное пространство между отметками 2 и 4 Gb. Хотя
32-разрядные прикладные программы "не видят" друг друга, они могут
обмениваться данными через буфер обмена (Clipboard), механизмы DDE и OLE. Все
32-разрядные прикладные программы выполняются в соответствии с моделью
вытесняющей многозадачности, основанной на управлении отдельными потоками.
Планировщик потоков, представляющий собой составную часть системы управления
виртуальной памятью (VMM), распределяет системное время среди группы
одновременно выполняемых потоков на основе оценки текущего приоритета каждого
потока и его готовности к выполнению. Вытесняющее планирование позволяет
реализовать намного более плавный и надежный механизм многозадачности, чем
кооперативный метод, используемый в Windows 3.1x.
Системный код Windows 95 размещается выше границы 2 Gb. В пространстве между
отметками 2 и 3 Gb находятся системные библиотеки DLL кольца 3 и любые DLL,
используемые несколькими программами. (32-разрядные процессоры фирмы Intel
предоставляют четыре уровня аппаратной защиты, поименованные, начина с кольца 0
до кольца 3. Кольцо 0 наиболее привилегированно.) Компоненты кольца 0 в системе
Windows 95 отображаются в пространство между 3 и 4 Gb. Эти важные участки кода
с максимальным уровнем привилегий содержат подсистему управления виртуальными
машинами (VMM), файловую систему и драйверы VxD.
Область памяти между 2 и 4 Gb отображается в адресное пространство каждой
32-разрядной прикладной программы, т. е. оно совместно используется всеми
32-разрядными прикладными программами в вашем ПК. Такая организация позволяет
обслуживать вызовы API непосредственно в адресном пространстве прикладной
программы и ограничивает размер рабочего множества. Однако за это приходится
расплачиваться снижением надежности. Ничто не может помешать программе,
содержащей ошибку, произвести запись в адреса, принадлежащие системным DLL, и
вызвать крах всей системы.
В области между 2 и 3 Gb также находятся все запускаемые вами 16-разрядные
прикладные программы Windows. С целью обеспечения совместимости эти программы
выполняются в совместно используемом адресном пространстве, где они могут
испортить друг друга так же, как и в Windows 3.1x.
Адреса памяти ниже 4 Mb также отображаются в адресное пространство каждой
прикладной программы и совместно используются всеми процессами. Благодаря этому
становится возможной совместимость с существующими драйверами реального режима,
которым необходим доступ к этим адресам. Это делает еще одну область памяти
незащищенной от случайной записи. К самым нижним 64 К этого адресного
пространства 32-разрядные прикладные программы обращаться не могут, что дает
возможность перехватывать неверные указатели, но 16-разрядные программы,
которые, возможно, содержат ошибки, могут записывать туда данные.
4.Windows NT
Windows
NT по существу представляет собой операционную систему сервера, приспособленную
для использования на рабочей станции. Этим обусловлена архитектура, в которой
абсолютная защита прикладных программ и данных берет верх над соображениями
скорости и совместимости. Чрезвычайная надежность Windows NT обеспечивается
ценой высоких системных затрат, поэтому для получения приемлемой производительности
необходимы быстродействующий процессор и по меньшей мере 16 Mb ОЗУ. Как и в
OS/2 Warp, в системе Windows NT безопасность нижней памяти достигается за счет
отказа от совместимости с драйверами устройств реального режима. В среде
Windows NT работают собственные 32-разрядные NT-прикладные программы, а также
большинство прикладных программ Windows 95. Так же, как OS/2 Warp и Windows 95,
система Windows NT позволяет выполнять в своей среде 16-разрядные Windows- и
DOS-программы.
Схема распределения памяти Windows NT разительно отличается от распределения
памяти систем Windows 95 и OS/2 Warp. Собственные прикладным программам
выделяется 2 Gb особого адресного пространства, от границы 64 К до 2 Gb (первые
64 К полностью недоступны). Прикладные программы изолированы друг от друга,
хотя могут общаться через буфер обмена Clipboard, механизмы DDE и OLE.
В верхней части каждого 2 Gb блока прикладной программы размещен код,
воспринимаемый прикладной программой как системные библиотеки DLL кольца 3. На
самом деле это просто заглушки, выполняющие перенаправление вызовов, называемые
DLL клиентской стороны (client-side DLLs). При вызове большинства функций API
из прикладной программы библиотеки DLL клиентской стороны обращаются к
локальным процедурам (Local Process Communication - LPC), которые передают
вызов и связанные с ним параметры в совершенно изолированное адресное
пространство, где содержитс собственно системный код. Этот сервер-процесс
(server process) проверяет значения параметров, исполняет запрошенную функцию и
пересылает результаты назад в адресное пространство прикладной программы. Хотя
сервер-процесс сам по себе остается процессом прикладного уровня, он полностью
защищен от вызывающей его прикладной программы и изолирован от нее.
Между отметками 2 и 4 Gb расположены низкоуровневые системные компоненты
Windows NT кольца 0, в том числе ядро, планировщик потоков и диспетчер
виртуальной памяти. Системные страницы в этой области наделены привилегиями
супервизора, которые задаются физическими схемами кольцевой защиты процессора.
Это делает низкоуровневый системный код невидимым и недоступным по записи для
программ прикладного уровня но приводит к падению производительности во врем
переходов между кольцами.
Для 16-разрядных прикладных Windows-программ Windows NT реализует сеансы
Windows on Windows (WOW). Как и OS/2 Warp, Windows NT дает возможность
выполнять 16-разрядные программы Windows индивидуально в собственных
пространствах памяти или совместно в разделяемом адресном пространстве. Почти
во всех случаях 16- и 32-разрядные прикладные программы Windows могут свободно
взаимодействовать, используя OLE (при необходимости через особые процедуры
thunk) независимо от того, выполняются они в отдельной или общей памяти.
Собственные прикладные программы и сеансы WOW выполняются в режиме вытесняющей
многозадачности, основанной на управлении отдельными потоками. Множественные
16-разрядные прикладные программы Windows в одном сеансе WOW выполняются в
соответствии с кооперативной моделью многозадачности. Windows NT может также
выполнять в многозадачном режиме несколько сеансов DOS. Поскольку Windows NT
имеет полностью 32-разрядную архитектуру, не существует теоретических
ограничений на ресурсы GDI и USER.
5.OS/2 Warp
В
апреле 1987 г. компании IBM и Microsoft объявили о совместных планах по
созданию новой операционной системы: OS/2. Прошло несколько лет, и мир стал
свидетелем "бракоразводного процесса", в результате чего у OS/2
остался один родитель - компания IBM, а фирма Microsoft отдала все симпатии любимому
детищу, имя которому Windows. Важно помнить, что OS/2 - это новая операционная
система с графическим интерфейсам пользователя (ГИП), в то время как Windows
представляет собой ГИП, работающий "поверх" DOS.
OS/2 является полностью защищенной операционной системой, благодаря чему
невозможны конфликты между программами в памяти. Многозадачная система OS/2
способна выполнять одновременно несколько прикладных программ: например, Вы
можете начать пересчет электронной таблицы, запустить печать документа в
текстовом редакторе, связной пакет для приема/передачи сообщений электронной
почты, а затем продолжить поиск записей в базе данных.
Система OS/2 поддерживает многопроцессные прикладные программы, рассчитанные на
одновременное выполнение нескольких внутренних функций. Примерами могут служить
текстовый редактор, в котором печать документа и проверка правописания
осуществляются параллельно; электронная таблица с возможностью одновременного
выполнения функций пересчета и просмотра или база данных, в которой можно совмещать
функции обновления и поиска записей.
Архитектура OS/2 Warp Connect 3.0 во многом похожа на архитектуру Windows 95,
но в ее концепции заложено меньше компромиссов, связанных с использованием
старого 16-разрядного кода. В результате появилась ОС с лучшими, чем у Windows
95, средствами защиты, в которой можно выполнять программы OS/2, Win16 и DOS,
однако несовместимая с 16-разрядными драйверами устройств. 32-разрядные
прикладные программы Windows не могут выполняться в среде OS/2 Warp.
Собственным 32-разрядным прикладным программам OS/2 доступно 4 Gb-ное отдельное
адресное пространство. Код прикладных программ отображается в диапазон адресов
от 0 до 512 Mb, системный код OS/2 отображается в пространство от 512 Mb до 4
Gb. Эта область системного кода используется совместно всеми процессами.
Исполняемые 32-разрядные прикладные программы изолированы друг от друга, хотя
они могут общаться между собой с помощью средств вырезания и вставки
(cut-and-paste) или механизма DDE OS/2. В системе OS/2 Warp применяется модель
вытесняющей многозадачности собственных прикладных программ, основанная на
управлении отдельными потоками.
Такая организация обладает во многом теми же достоинствами и недостатками, что
свойственны Windows 95. Выделение системных ресурсов происходит гладко, а
вызовы, направляемые в системные API, могут обслуживаться без существенных
накладных расходов, так как системные DLL расположены в тех же адресных
пространствах, что и вызывающая прикладная программа. Размер рабочего множества
тоже удерживается в разумных пределах, так как не нужно создавать множественные
экземпляры системных DLL. Но защита не гарантируется, поскольку плохо
работающие прикладные программы все же могут испортить важные системные
области.
Однако в некоторых важных аспектах OS/2 Warp превосходит систему Windows 95.
Проблемы ограниченности системных ресурсов не существует, так как в OS/2 Warp
не используются 64 К хипы для хранения структур данных системных DLL. Эта ОС
также предоставляет несколько служебных средств, отсутствующих в Windows, в том
числе модель системных объектов (SOM) и REXX, мощный командный язык,
используемый на многих платформах фирмы IBM.
В дополнение к собственным 32-разрядным прикладным программам, OS/2 Warp может
выполнять 16-разрядные прикладные программы Windows. В зависимости от того,
какую версию вы приобрели, OS/2 Warp использует для этой цели либо копию
Microsoft Windows 3.1, либо собственные библиотеки Win-OS/2. В любом случае вы
можете по своему выбору запустить сеанс Windows для каждой Windows-программы
или выполнять все Windows-программы в совместно используемом адресном
пространстве. Последний подход может обеспечить лучшую совместимость, но грозит
обернуться потерей устойчивости, так как в этом случае ОС работает в сущности
подобно Windows 3.1x. OS/2 Warp позволяет также запускать прикладные программы
DOS на легко конфигурируемых виртуальных машинах DOS, работающих в режиме
вытесняющей многозадачности.
Архитектура OS/2 не предназначена для запуска в ней драйверов устройств
реального режима, поэтому ваши аппаратные средства должны поставляться с
собственными драйверами OS/2. Преимущество такого подхода в том, что OS/2 может
полностью защитить первые 4 Mb памяти прикладной программы, т. е. область,
которая по-прежнему остается незащищенной от аварийных сбоев в среде Windows
95.
КОНКУРЕНТНАЯ БОРЬБА СОВРЕМЕННЫХ
ОПЕРАЦИОННЫХ СИСТЕМ
Возраст
Windows 3.1 берет свое, и три соперничающие операционные системы (Windows 95,
OS/2 WARP и WINDOWS NT) готовы занять ее место.
В Windows 3.x реализована простая кооперативная модель многозадачности, которая
не может гарантировать даже равномерного распределения системных ресурсов между
несколькими прикладными программами. И хотя Windows 3.x подвергалась
справедливой критике за недостаточность предусмотренных в ней средств защиты
памяти и примитивную модель многозадачности, она представляла собой большой шаг
вперед по сравнению с DOS и более старыми версиями этой же оболочки. Для
пользователей, располагающих медленными машинами с ОЗУ ограниченной емкости,
она по-прежнему остается лучшей альтернативой.
Однако система Microsoft Windows 3.1 и ее кузен - сетевой продукт Windows for
Workgroups 3.11 - устаревают на глазах. Интерфейс Windows функционально удобен
для подготовленных пользователей, но отсутствие истинного "рабочего
стола" и раздельные функции модулей Progtam Manager и File Manager
неоправданно затрудняют работу рядовых пользователей. Поставляемые вместе с
операционной системой прикладные программы маломощны, а ограничение либо
отсутствие сетевых средств не соответствует общепринятым на сегодняшний день
стандартам.
Поэтому на смену Windows 3.x пришла Windows 95. Как и любой продукт с широкими
функциональными возможностями, рассчитанный на удовлетворение запросов
огромного рынка, Windows 95 не лишена компромиссных решений. Многие ее
впечатляющие достижения будут по заслугам оценены пользователями PC, но в
некоторых областях Windows 95 пока еще только догоняет своих конкурентов.
С точки зрения базовой архитектуры Windows 95 - истинно 32-разрядная,
многопотоковая операционная система с вытесняющей многозадачностью, что ставит
ее в один ряд с такими соперниками, как OS/2, UNIX и Windows NT.
Наиболее важные компромиссы в архитектуре Windows 95 были порождены решением
корпорации Microsoft сделать ее совместимой с существующими 16-разрядными
прикладными программами Windows и драйверами устройств реального режима. Это
позволяет Windows 95 работать с гораздо более широким спектром существующих
аппаратных и программных средств, чем работают OS/2 или UNIX.
Новый интерфейс с истинным "рабочим столом", папками и линейкой
заданий намного упрощает задачу пользователя: вызываемые правым щелчком мыши
контекстно-зависимые меню обеспечивают интуитивно понятный способ управления
средой. Множество новых объектов интерфейса и стандартные диалоги предоставляют
в распоряжение программистов богатый набор готовых блоков для создания
прикладных программ.
Windows 95 внесла значительные улучшения в архитектуру Windows, в том числе
истинно 32-разрядный интерфейс прикладного программирования (API), защищенные
адресные пространства для ее собственных 32-разрядных прикладных программ,
вытесняющую многозадачность, разделение прикладных программ на потоки и более
широкое использование виртуальных драйверов устройств. Модель защиты памяти реализована
с серьезными компромиссами, целью которых было достигнуть совместимости с
существующими 16-разрядными прикладными программами и драйверами устройств. Но
на практике устойчивость системы оказывается лучше, чем у Windows 3.1x.
Предполагалось, что к настоящему времени OS/2 станет доминирующей ОС. Выпуская
эту операционную систему в свет в 1987 г., фирмы IBM и Microsoft рассматривали
ее как логическую замену DOS. После произошедшего в 1990 г. разрыва между двумя
компаниями Microsoft занялась системой Windows, а IBM получила OS/2 в свое
полное распоряжение.
За прошедшее с тех пор время OS/2 значительно изменилась в лучшую сторону,
обретя новые функциональные возможности и устойчивость. С самого начала она
была задумана как многопотоковая ОС с вытесняющей многозадачностью. OS/2 также
обеспечивает намного более совершенную защиту памяти, поэтому какая-нибудь
прикладная программа, содержащая ошибки, редко выводит из строя всю систему.
Слабое место OS/2 - относительно небольшое число собственных прикладных
программ OS/2 (тот факт, что OS/2 так хорошо выполняет программы Windows 3.x,
оказался палкой о двух концах).
Во многих областях, таких, как многозадачность и защита, OS/2 опережает Windows
3.x и продолжает опережать Windows 95. Хотя она не обеспечивает устойчивости,
свойственной Windows NT, ее системные требования значительно более скромны. К
пользовательскому интерфейсу быстро привыкаешь, но то же самое справедливо и по
отношению к Windows 95. После того как вы преодолеете барьер инсталляции, OS/2
предоставит вам конкурентоспособную среду для выполнения прикладных программ
DOS, Windows 3.x и собственного программного обеспечения OS/2.
Microsoft Windows NT была разработана как персональная операционная система
высокого класса, обладающая более совершенными функциональными возможностями и
высокими системными требованиями, нежели ее конкуренты. Для ее работы нужно
иметь как минимум 16 Mb ОЗУ, а для инсталляции может потребоваться до 100 Mb
пространства на жестком диске. Так же как OS/2 Warp и Windows 95, это
32-разрядная многозадачная, многопотоковая операционная система, но, кроме
того, она обладает важными средствами обеспечения безопасности, надежной новой
файловой системой с регистрационным журналом и может быть перенесена на
отличные от Intel аппаратные платформы. Ее базовая архитектура обеспечивает
лучшую защиту, чем любая соперничающая с ней система.
Резюме.
За исключением IBM (чьи ПК предлагают двойную загрузку OS/2 и Windows), все
ведущие поставщики персональных компьютеров в настоящее время устанавливают на
большинстве своих машин Windows 95 или Windows NT. Сфера распространения
Windows 3.1 или Windows for Workgroups 3.11. сузилась после того, как
корпорация Microsoft выпустила Windows 95. ОС OS/2 Warp не получила еще
достаточного распространения.
Комментариев нет:
Отправить комментарий