Понятие операционной среды
ТЕМА 1. ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ
За полувековой период своего существования операционные системы (ОС) прошли сложный путь развития, находясь под постоянным влиянием успехов в области технологии производства элементной базы и вычислительной техники.
Важной вехой в развитии ОС явилось реализация мультипрограммирования – способа организации вычислительного процесса, когда в памяти компьютера одновременно находится несколько программ, попеременно выполняемых процессором.
В 1990-е годы в результате бурного развития персональных компьютеров и на их основе локальных сетей и сети Интернет практически все операционные системы стали сетевыми.
Особое внимание в течение всего последнего десятилетия уделялось корпоративным сетевым ОС. В настоящее время определились лидеры в классе корпоративных операционных систем: Windows 2000/XP, Windows Server 2003 (в настоящее время их активно сменяет линейка OC Windows нового поколения – Windows 7 и Windows Server 2008 R2) и UNIX-системы.
Цель темы – раскрыть назначение, основные функции и архитектурные особенности построения современных операционных систем.
В результате изучения темы обучаемые должны усвоить:
· Назначение операционной системы, ее место и роль в вычислительной системе.
· Задачи, возлагаемые на операционную систему, и распределение их между основными подсистемами.
· Понятие операционной среды и человеко-машинного интерфейса.
· Понятие сетевых и распределенных операционных систем.
· Основные термины и понятия, применяемые в теории построения операционных систем.
· Многослойный подход к построению операционных систем.
Оглавление
ТЕМА 1. ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ.. 1
1.1. Определение, назначение, состав и функции операционных систем 2
1.1.1. Определение и назначение операционной системы.. 2
1.1.2. Понятие операционной среды.. 3
1.1.3. Операционные оболочки.. 4
1.1.4. Рациональное управление ресурсами компьютера. 6
1.2. Сетевые операционные системы.. 9
1.2.1. Локальные и глобальные сети.. 9
1.2.2. Назначение и функциональные компоненты сетевых операционных систем 10
1.2.3. Компоненты сети.. 13
1.3. Архитектура операционных систем.. 15
1.3.1. Архитектура операционной системы, основанная на ядре. 15
1.3.2. Микроядерная архитектура. 20
1.3.3. Совместимость операционных систем.. 22
Выводы.. 24
Вопросы для самопроверки. 24
Определение, назначение, состав и функции операционных систем
Существует большое количество ОС. Можно выполнить обширную классификацию их по самым различным критериям. Поэтому при изучении операционных систем выделим только те функции, которые присущи всем ОС как классу продуктов.
Определение и назначение операционной системы
Можно встретить различные определения операционной системы, но смысл их одинаковый.
Операционная система – комплекс взаимосвязанных программ, который действует как интерфейс между приложениями и пользователями с одной стороны, и аппаратурой компьютера с другой стороны.
Отсюда две группы функций ОС, определяющих ее двухстороннее назначение:
1. Предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобнее работать и которую легче программировать. Программные модули ОС, формирующие человеко-машинный интерфейс, предназначены для повышения эффективности работы человека, которая достигается максимальным использованием всех его органов чувств при работе с компьютером.
2. Повышение эффективности использования компьютера путем рационального управления его ресурсами.
Первая группа функций операционной системы направлена на взаимодействие с пользователем ОС. При этом следует различать интерфейс прикладного программиста, создающий операционную среду, и пользовательский, человеко-машинный интерфейс.
Вторая группа функций ОС направлена на взаимодействие с аппаратурой компьютера. Рациональное управления ресурсами компьютера повышает эффективность его использования.
Понятие операционной среды
Операционная система избавляет программистов, пишущих приложения, от необходимости напрямую работать с аппаратурой компьютера: системой команд процессора, секторами и дорожками диска, физическими адресами памяти и т.п.
Программисту ОС дает так называемую операционную среду – набор системных функций (сервисов). В понятие операционная среда включают не только операционную систему, но и интерфейсы прикладных программ, прикладные программы, сетевые службы, базы данных и языки программирования. Таким образом, можно сказать, что термин «операционная среда» означает, прежде всего, соответствующие интерфейсы, необходимые программам и пользователям для обращения к управляющей части операционной системы с целью получить определенные сервисы.
Каждая операционная система имеет свое множество системных функций; они вызываются соответствующим образом, по принятым в системе правилам. Совокупность системных вызовов и правил, по которым их следует использовать создают интерфейс прикладного программирования (Application Program Interface, API) этой ОС.
Приложение выполняет обращение к функциям API с помощью системных запросов. Операционная система выполняет функции API, запуская специальные системные программные модули, входящие в ее состав. В высокоуровневых языках программирования обращение к системным функциям зачастую скрыто определенными синтаксическими конструкциями языка. Поэтому прикладной программист напрямую может к ним и не обращаться.
У разных операционных систем свой API. Очевидно, что программа, созданная в некоторой операционной системе с одним API, не будет работать в операционной системе с другим API.
Пытаясь преодолеть это ограничение, в ОС стали применять поддержку нескольких API. Таким образом, в общем случае операционная система может поддерживать несколько операционных сред. Итак, параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что операционная система (в общем случае) может поддерживать несколько операционных сред. Графически это можно представить на рис. 1.1.
Рис. 1.1. Графическая иллюстрация понятий операционная система и операционная среда
Другое направление преодоления этого ограничения – попытка стандартизации функции API. Примером может служить известный и, пожалуй, единственный стандарт POSIX (Portable Operating System Interface for Computer Environments – независимый от платформы системный интерфейс для компьютерного окружения). В этом стандарте перечислен большой набор функций, их параметров и возвращаемых значений. Стандарт предназначен для открытых систем и поэтому базируется на UNIX-системах, но допускает реализацию и в других операционных системах.
Частным случаем попытки стандартизации API является внутренний корпоративный стандарт компании Microsoft, известный как WinAPI, который ориентирован на работу в графической среде. С точки зрения WinAPI базовой задачей является окно.
Операционные оболочки
Операционная система предоставляет пользователю набор команд, отражающий функциональные возможности ОС. Для удобства работы пользователю за компьютером современные операционные системы имеют пользовательский интерфейс. Раньше для этих целей использовались операционные оболочки – специальные прикладные программы, формирующие удобный пользовательский интерфейс и принимающие от пользователя управляющие команды. Понятие операционной оболочки на сегодняшний день используется редко, так как формирование удобного пользовательского интерфейса стало обязательной задачей самой операционной системы.
По принципам взаимодействия с человеком часто приводят следующую классификацию различных интерфейсов общения человека и компьютера (типов операционной оболочки):
1. Командный интерфейс. Командный интерфейс называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки. Простейший программный модуль, входящий в состав операционной системы, который отвечает за чтение отдельных команд пользователя или последовательности команд, поступающей из командного файла, называют командным интерпретатором (например, в Windows-2000 – это программа cmd, а в Linux – shell).
2. WIMP-интерфейс (Window – окно, Image – образ, Menu – меню, Pointer – указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов – меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Основными понятиями графического интерфейса являются понятия "рабочей области", "окна" и "иконки", или "значка". Любой объект в графическом интерфейсе, так или иначе, связан с этими понятиями.
Следует отметить, что WIMP требует для своей реализации цветной дисплей с высоким разрешением и манипулятор. Также программы, ориентированные на этот вид интерфейса, предъявляют повышенные требования к производительности компьютера, объему его памяти, пропускной способности шины и т.п. Однако этот вид интерфейса наиболее прост в усвоении и интуитивно понятен. Поэтому сейчас WIMP – интерфейс стал стандартом де-факто. Набор системных функций API, предоставляющих графические возможности прикладным программам, обозначают как GUI (Graphical User Interface – графический интерфейс пользователя)
Ярким примером программ с графическим интерфейсом является проводник операционной системы Microsoft Windows.
3. SILK-интерфейс (Speech – речь, Image – образ, Language – язык, Knowlege – знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Это очень перспективное направление, хотя бы по указанной выше причине: вводить информацию с голоса – самый быстрый и удобный способ. Но его практические реализации пока не стали доминирующими – все-таки качество распознавания устной речи пока далеко от идеала.
Компания IBM поведала об успешном завершении разработки системы распознавания голосовых команд ViaVoice, основанной на семантической интерпретации и так называемом языковом моделировании. В отличие от большинства систем голосового управления, лишь сравнивающих ту или иную команду с записанным в их памяти образцом, новая система позволяет управлять каким-либо оборудованием, отдавая команды в свободной форме, не требуя от пользователя запоминать их четкой формулировки.
Первейшей областью применения таких систем станут автомобили – пользователи смогут отдавать команды автомагнитоле и другой встроенной электронике, а также сервисным системам самого автомобиля.
Дальнейшее совершенствование человеко-машинного интерфейса направлено в сторону повышения комфортности работы пользователя с использованием достижений в области мультимедиа, гипермедиа, систем распознавания речи, сенсорных технологий и т.п.
В частности в конце 90-х годов XX века возникла, так называемая биометрическая технология ("Мимический интерфейс"). В этой технология для управления компьютером используется выражение лица человека, направление его взгляда, размер зрачка и другие признаки. Для идентификации пользователя используется рисунок радужной оболочки его глаз, отпечатки пальцев и другая уникальная информация. Изображения считываются с цифровой видеокамеры, а затем с помощью специальных программ распознавания образов из этого изображения выделяются команды. Эта технология, по-видимому, займет свое место в программных продуктах и приложениях, где важно точно идентифицировать пользователя компьютера.
В 2006 году Microsoft представила рабочий вариант одной из программ системы оптимизации информационной загруженности человека. Система претендует на роль основы принципиально нового человеко-машинного интерфейса, который придет на смену концепции Windows. Система комбинирует функции секретаря и регулировщика трафика. Она решает, какую именно информацию из входящего потока уместно предоставить пользователю в данный момент. При этом она контролирует, чем занят в данный момент пользователь – набирает текст на клавиатуре, говорит по телефону или общается лично с кем-либо в офисе, ест или спит. Поведение пользователя вне компьютера отслеживаться с помощью видеокамеры и микрофона. Система непрерывно следит за человеком, анализируя его действия и зону внимания.
Вместо графического интерфейса GUI основная роль ложится на "интерфейс внимания" – Attentional User Interface (AUI). Он активно фильтрует и распределяет информационные потоки – электронную и голосовую почту, интернет-новости и сообщения сетевых пейджеров и другие. Этот процесс происходит на основе "приоритетов срочности", определяемых и задаваемых системой по 100-бальной шкале. Таким образом, устраняется опасность информационной перегрузки человека и повышается эффективность его работы.
Предполагается, что вся система (AUI) не будет простым приложением к персональному компьютеру. Он должен обслуживать человека везде, где бы тот ни находился, общаясь с ним через мобильный телефон, карманный компьютер, пейджер и любые другие доступные средства связи. Все это вписывается в проводимую Microsoft генеральную доктрину .NET.
Руководство Microsoft считает, что оконно-мышиную концепцию интерфейса, которая не менялась с середины 80-х, сменит интеллектуальная технология, подобная представленной.