Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные концепции построения ОС. Архитектура ОС




Примеры реализации ОС (на примере ОC Windows)

Инструментарий разработки и отладки компонент ОС

64. Утилиты по ОС Windows XP. Основные возможности инструментария по анализу и разработке компонент ОС: памяти, процессов и потоков, ввода-вывода, отладки. Использование дампа.

 

Основные концепции построения ОС.

0) Принцип модульности.

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

1) Принцип функциональной избирательности.

Для организации эффективной работы ОС, необходимо выделить и хранить в ОЗУ некоторые модули, составляющие ядро:

· Модули по управлению системы прерываний;

· Средство управления выполнения программ (загрузка, приостановка, остановка);

· Модули по управлению процессом (распределение процессорного времени), т.е. диспетчеры программ;

· Модули по управлению выделения памяти. В зависимости от ОС в ядро могут ещё входить другие модули;

· Транзитные модули (загружаются в ОЗУ по мере необходимости, при нехватке ОЗУ могут быть выгружены).

2) Принцип генерируемости ОС.

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

· Исходный код ОС;

· Компилятор с языка программирования на котором система написана;

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

3) Принцип функциональной избыточности.

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

4) Принцип виртуализации.

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

5) Принцип независимости программ от внешних устройств.

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

6) Принцип совместимости.

Способность выполнять программы для другой ОС или даже для другой аппаратной платформы.

2 уровня совместимости:

· По выполняемому коду (бинарная). Условия совместимости:

◦ На уровне команд процессора (одна и та же платформа);

◦ Совместимость на уровне системных вызовов;

◦ Совместимость на уровне библиотечных вызовов, если являются динамично связываемыми.

· По исходному коду. Требуется выполнение следующих условий:

◦ Наличие компилятора платформы, на котором написана программа;

◦ Совместимость на уровне системных вызовов;

◦ Совместимость на уровне библиотечных вызовов.

7) Принцип открытой наращиваемой ОС (открыт исходный код).

Целостность ОС сохраняется (UNIX).

8) Принцип мобильности (переносимости).

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

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

· Необходимо избегать кода, который непосредственно работает с аппаратным обеспечением.

9) Принцип обеспечения безопасности и защиты.

19. Защита системы от пользователя;

20. Защита от несанкционированного доступа.

Архитектура ОС. Различают 3 базовых типа архитектуры операционных систем:

• Монолитная архитектура;

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

Данную архитектуру имели самые первые поколения операционных систем.

· Имеются проблемы: расширяемости, переносимости исовместимости ОС;

• Многоуровневая архитектура;

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

Основная идея:

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

1) Для каждого уровня определяются интерфейс взаимодействия, т.е. некоторый набор правил, согласно которым следует обращаться за услугами данного уровня.

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

3) Внутренние структуры данных каждого уровня не доступны другим уровням, а реализации процедур уровня скрыты и не зависят от реализаций процедур внутри других уровней.

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

Характерно вертикальное иерархическое распределение функциональности.

• Архитектура типа клиент-сервер на основе микроядра.

Является наиболее совершенной с точки зрения расширяемости и переносимости операционных систем.

Идея: все компоненты ОС разделяются на программы–поставщики услуг (программы серверы, выполняющие определенные действия по запросам других программ), и программы–потребители услуг (программы клиенты, обращающиеся к серверам для выполнения определенных действий).

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

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

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

 

 

 

 




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 3007; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.021 сек.