ТЕМА1. ВВЕДЕНИЕ В ОПЕРАЦИОННЫЕ СИСТЕМЫ

Цель темы: раскрыть назначение, основные функции и архитектурные особенности построения современных операционных систем.

В результате изучения темы обучающиеся должны усвоить:

·  назначение операционной системы, ее место и роль в вычислительной системе;

·  задачи, возлагаемые на операционную систему, и распределение их между основными подсистемами;

·  понятие операционной среды и человеко-машинного интерфейса;

·  понятие сетевых и распределенных операционных систем;

·  основные термины и понятия, применяемые в теории построения операционных систем;

·  многослойный подход к построению операционных систем.

Оглавление

1.1. Определение, назначение, состав и функции операционных систем. 2

1.1.1.   Определение и назначение операционной системы.. 2

1.1.2.   Понятие операционной среды.. 2

1.1.3.   Операционные оболочки. 3

1.1.4. Рациональное управление ресурсами компьютера. 4

1.2.   Сетевые операционные системы.. 6

1.2.1. Локальные и глобальные сети. 6

1.2.2. Назначение и функциональные компоненты сетевых операционных систем. 7

1.2.3. Компоненты сети. 9

1.3. Архитектура операционных систем. 9

1.3.1. Архитектура операционной системы, основанная на ядре. 9

1.3.2. Микроядерная архитектура. 13

1.3.3. Совместимость операционных систем. 14

Выводы.. 15

Вопросы для самопроверки. 15

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

НЕ нашли? Не то? Что вы ищете?

В 1990-е гг. в результате бурного развития персональных компьютеров и на их основе локальных сетей и сети Интернет практически все операционные системы стали сетевыми.

Особое внимание в течение последнего десятилетия уделялось корпоративным сетевым ОС. В настоящее время определились лидеры в классе корпоративных операционных систем: Windows 2000/XP, Windows 2003 (в настоящее время активно сменяющие ранние версии Windows) и UNIX-системы.

1.1. Определение, назначение, состав и функции операционных систем

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

1.1.1.   Определение и назначение операционной системы

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

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

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

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

·  повышение эффективности использования компьютера путем рационального управления его ресурсами.

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

Вторая группа функций ОС направлена на взаимодействие с аппаратурой компьютера. Рациональное управления ресурсами компьютера повышает эффективность его использования.

1.1.2.   Понятие операционной среды

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

Программисту ОС дает так называемую операционную среду – набор системных функций (сервисов), который вместе с правилами их использования создает интерфейс прикладного программирования (Application Program Interface, API) этой ОС.

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

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

Другое направление преодоления этого ограничения – попытка стандартизации функции API. Примером может служить известный и, пожалуй, единственный стандарт POSIX (Portable Operating System Interface for Computer Environments) – независимый от платформы системный интерфейс для компьютерного окружения. В этом стандарте перечислен большой набор функций, их параметров и возвращаемых значений. Стандарт предназначен для открытых систем и поэтому базируется на UNIX-системах, но допускает реализацию и в других операционных системах.

Частным случаем попытки стандартизации API является внутренний корпоративный стандарт компании Microsoft, известный как WinAPI, который ориентирован на работу в графической среде. С точки зрения WinAPI базовой задачей является окно.

1.1.3.   Операционные оболочки

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

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

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 IBM 4.4 основана на семантической интерпретации и так называемом языковом моделировании. В отличие от большинства систем голосового управления, лишь сравнивающих ту или иную команду с записанным в их памяти образцом, новая система позволяет управлять каким-либо оборудованием, отдавая команды в свободной форме, не требуя от пользователя запоминать их четкую формулировку.

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

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

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

Вместо графического интерфейса GUI основная роль ложится на "интерфейс внимания" – Attentional User Interface (AUI). Он активно фильтрует и распределяет информационные потоки – электронную и голосовую почту, интернет-новости, сообщения сетевых пейджеров и др. Этот процесс происходит на основе "приоритетов срочности", определяемых и задаваемых системой по 100-балльной шкале. Таким образом, устраняется опасность информационной перегрузки человека и повышается эффективность его работы.

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

Руководство Microsoft считает, что оконно-мышиную концепцию интерфейса, которая не менялась с середины 1980-х, сменит интеллектуальная технология, подобная представленной.

1.1.4. Рациональное управление ресурсами компьютера

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

Процесс – это динамический объект, который возникает в ОС после запуска какой-либо программы на выполнение.

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

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

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

Основные задачи подсистемы управления процессами:

·  защита ресурсов, в первую очередь области оперативной памяти (адресного пространства процесса), выделенных одному процессу, от посягательств на них других процессов;

·  организация, при необходимости, совместного использования ресурсов разными процессами;

·  восстановление операционной среды возобновляемого процесса – контекста процесса после перерыва в его работе (состояние регистров, программного счетчика и режим работы процессора, указатели открытых файлов, незавершенные операции ввода-вывода и т. п.);

·  синхронизация процессов – приостановка их до наступления какого-либо события в системе;

·  организация межпроцессного взаимодействия при параллельном выполнении процессов сложного программного комплекса.

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

Основные задачи подсистемы управления памятью:

·  отслеживание свободной и занятой физической оперативной памяти;

·  выделение памяти процессам и освобождение памяти при завершении процессов;

·  настройка адресно-зависимых частей кода процесса на конкретную область физической памяти;

·  защита от записи или чтения памяти, предназначенной другому процессу;

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

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

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

Файл – это неструктурированная последовательность байтов, имеющая символьное имя и размещенная во внешней памяти.

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

·  преобразует символьные имена файлов в физические адреса размещения данных этих файлов на диске;

·  организует совместный доступ разных процессов к файлам;

·  защищает файлы от несанкционированного доступа.

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

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

Подсистема защиты данных и администрирования направлена на защиту данных от:

·  сбоев и отказов аппаратуры;

·  ошибок программного обеспечения;

·  ошибочного или злонамеренного поведения пользователей системы.

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

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

1.2.   Сетевые операционные системы

1.2.1. Локальные и глобальные сети

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

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

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

IEEE 802.3 – Ethernet (скорость передачи 10 Мбит/с), в настоящее время уже редко применяется;

IEEE 802.3 u – Fast Ethernet (скорость передачи 100 Мбит/с) – основной стандарт в кабельных локальных сетях, построенных на витой паре;

IEEE 802.3 z – Gigabit Ethernet (скорость передачи 1 Гбит/с) и 10 GE (скорость передачи 10 Гбит/с), применяется для построения высокопроизводительных сетей, например, серверных сетей, в которых сетевые устройства соединены, как правило, оптоволоконным кабелем.

Из за большого объема этот материал размещен на нескольких страницах:
1 2