ОС

 

Оглавление

1.Определение, назначение, состав и функции ОС. 1

2.Классификация ОС. 2

3. Сетевые ОС. 4

4. Виды пользовательского интерфейса. 5

5. Информационная безопасность. 6

6. Защитные механизмы ОС. 8

7. Требования к современным ОС. 9

8. Тенденции в структурном построении ОС. 10

 

 

 

1.Определение, назначение, состав и функции ОС.

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

- предоставление пользователю или программисту вместо реальной аппаратуры компьютера расширенной виртуальной машины, с которой удобней работать и которую легче программировать, чем непосредственно с аппаратурой, составляющей реальный компьютер или реальную сеть;

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

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

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

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

Управление файлами и внешними устройствами

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

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

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

Защита данных и администрирование

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

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

Интерфейс прикладного программирования

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

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

 

2.Классификация ОС.

Особенности алгоритмов управления ресурсами (процессорами, памятью, внешними устр-ми). 

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

- Многопользовательские (UNIX, Windows NT) и однопользовательские (MS-DOS). Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкц. доступа других пользователей.

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

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

- на многопроцессорные и однопроцессорные системы. Многопроц. ОС могут классиф-ся по способу орг-ции вычислит. процесса в системе с многопроц. архитектурой на: асимм. ОС и симметричные ОС.

Асимметричная ОС целиком выполняется на одном процессоре ВС, распределяя прикладные задачи по остальным процессорам. Симм-ая ОС полностью децентрализована и использует все процессоры, разделяя их между системными и прикладными задачами.

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

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

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

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

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

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

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

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

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

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

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

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

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

 

3. Сетевые ОС.

Структура сетевой операционной системы

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

Любая сетевая ОС включает:

- средства управления локальными ресурсами компьютера или локальную ОС;

- ср-ва предоставления собственных рес-в и услуг в общее пользование – серверная часть ОС (сервер);

- средства для орг-ции доступа к удаленным ресурсам и услугам– клиентская часть ОС (редиректор);

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

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

На рисунке 2 показано взаимодействие сетевых компонентов. Здесь ЭВМ 1 выполняет роль «чистого» клиента, а ЭВМ 2 – роль «чистого» сервера, соответственно на первой машине отсутствует серверная часть, а на второй – клиентская. Взаимодействие осуществляется следующим образом. Редиректор ЭВМ 1 перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу локальной ЭВМ, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом осуществляется преобразование запроса из локальной формы в сетевой формат и передача его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы ЭВМ 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, т.е. в данном случае ЭВМ 1. Клиентская часть ЭВМ 1 преобразует результат в соответствующий формат и адресует его тому приложению, которое сформировало запрос.

На практике сложилось два подхода к построению сетевых операционных систем (см. рис. 3).

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

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

Одноранговые сетевые ОС и ОС выделенных серверов

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

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

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

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

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

 

4. Виды пользовательского интерфейса.

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

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

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

-     интерфейс командной строки (Command Line Interface – CLI) - запуск программ оформлен в виде отдельных команд

-     графический пользовательский интерфейс (Graphical User Interface – GUI) -  символическое изображение доступных действий в виде картинок – икон (icons) на экране и предоставлении пользователю возможности выбирать действия при помощи мыши или другого координатного устройства ввода.

Современные ОС чаще всего имеют оба эти интерфейса.

Интерфейс CLI

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

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

Правильно спроектированные искусственные языки удобны и для ЭВМ: интерпретаторы командных языков обеспечивают очень высокую скорость и эффективность использования ресурсов системы, и для пользователей.

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

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

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

Интерфейс GUI

Командные языки требуют затрат времени и усилий для изучения. Графический интерфейс является более наглядным.

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

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

 

 

5. Информационная безопасность

 

 

 

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

Безопасная система обладает свойствами конфиденциальности, доступности и целостности.

Конфиденциальность уверенность в том, что секретные данные будут доступны только тем пользователям, которым этот доступ разрешен (такие пользователи называются авторизованными).

Доступность – гарантия того, что авторизованные пользователи всегда получат доступ к данным.

Целостность – уверенность в том, что данные сохраняют правильные значения.

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

Имеет смысл различать неумышленные и умышленные угрозы.

Неумышленные угрозы связаны с: Ошибками оборудования или матобеспечения; Ошибками человека; Форс-мажорными обстоятельствами

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

Формализация подхода к обеспечению информационной безопасности. Классы безопасности

Сущ-ет ряд основополагающих документов, в которых регламентированы основные подходы  к проблеме информационной безопасности: оранжевая (по цвету обложки) книга МО США; руководящие документы Гостехкомиссии при Президенте РФ; федеральный закон Об информации, информатизации и защите информации.

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

Криптография, как одна из базовых технологий безопасности ОС.

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

В алгоритмах шифрования предусматривается наличие секретного ключа и принято правило Кирхгофа: Стойкость шифра должна определяться только секретностью ключа.

В методе шифрования с секретным или симметричным ключом имеется  один ключ, который используется как для шифрования, так и для расшифровки сообщения (DES).

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

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

Шифрование с использованием алгоритма RSA

Первым  шагом в использовании алгоритма RSA является генерация ключей. Для этого нужно:

1. Выбрать два очень больших простых числа p и q.

2. Вычислить  произведение n= p*q.

3. Выбрать большое случайное число d,  не имеющее общих сомножителей с числом (p-1)*(q-1).

4. Определить число e, чтобы выполнялось (e*d) mod ((p-1)*(q-1))=1.

Тогда открытым ключом  будут числа e и n,  а секретным ключом - числа  d и n.

Теперь, чтобы зашифровать данные по известному ключу {e,n}, необходимо сделать следующее:

Разбить шифруемый текст на блоки m(i)=0,1,2..., n-1. Зашифровать текст по формуле c(i)=(m(i)e)mod n.

Чтобы расшифровать эти данные, используя секретный ключ {d,n}, необходимо  вычислить: m(i) = (c(i)d) mod n.

 

6. Защитные механизмы ОС.

Идентификация и аутентификация

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

Пароли, уязвимость паролей

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

Шифрование пароля

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

Авторизация. Разграничение доступа к объектам ОС

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

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

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

Недопустимость повторного использование объектов

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

Аудит, учет использования системы защиты

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

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

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

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

 

7. Требования к современным ОС.

 

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

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

Рассмотрим более подробно некоторые из этих требований.

 

8. Тенденции в структурном построении ОС.

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

Монолитные системы

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

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

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

Многоуровневые системы

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

Модель клиент-сервер и микроядра

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

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

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

Объектно-ориентированный подход

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

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

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

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

 

Hosted by uCoz