- •Министерство образования и науки Республики Казахстан
- •1.1 Данные о преподавателях:
- •Выписка из учебного плана
- •1.6 Перечень и виды заданий и график их выполнения: Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •2.2 Конспект лекционных занятий
- •Тема 1.Основы операционных систем .( 2 часа)
- •1.1 Назначение и функции операционных систем
- •1.2 Эволюция развития операционных систем
- •1.3 Основные понятия, концепции ос
- •1.4 Классификация ос
- •Тема 2. Архитектура операционных систем. ( 2 часа)
- •2.1 Монолитные системы
- •2.2 Многоуровневые системы
- •Тема 3. Микроядерная архитектура ос(2 часа)
- •3.1 Основные положения архитектуры ос с микроядром
- •3.2 Преимущества и недостатки архитектуры ос с микроядром
- •Тема 4. Совместимость операционных систем( 2 часа)
- •4.1 Виды совместимости
- •4.2 Способы реализации совместимости
- •Тема 5. Представления процесса в операционной системе ( 2 часа)
- •5.1 Понятие процесса
- •5.2 Состояния процесса
- •Тема 6. Операции над процессами и связанные с ними понятия (2 часа)
- •6.1 Process Control Block и контекст процесса
- •6.2 Одноразовые операции
- •6.3 Многоразовые операции
- •Тема 7. Планирование процессов ( 2 часа)
- •7.1 Уровни планирования
- •7.2 Критерии планирования
- •7.3 Параметры планирования
- •7.4 Вытесняющее и невытесняющее планирование
- •Алгоритмы планирования
- •Тема 8. Алгоритмы синхронизации
- •8.1 Программные алгоритмы организации взаимодействия процессов
- •8.2 Алгоритм Петерсона
- •8.3 Алгоритм булочной (Bakery algorithm)
- •8.4 Команда Test-and-Set (проверить и присвоить 1)
- •8.5 Команда Swap (обменять значения)
- •Тема 9. Механизмы синхронизации (2 часа) 9. 1 Семафоры
- •9.2 Мониторы
- •9.3 Сообщения
- •Тема 10. Организация памяти компьютера. Простейшие схемы управления памятью. ( 2 часа)
- •10.1 Физическая организация памяти компьютера
- •10.2 Логическая память
- •10.3 Простейшие схемы управления памятью
- •10.4 Динамическое распределение. Свопинг
- •Тема 11. Управление файлами (2 часа)
- •11.1 Основные понятия файловой системы
- •11.2 Операции над файлами
- •11.3 Директории. Логическая структура файлового архива
- •11.4 Разделы диска. Организация доступа к архиву файлов.
- •Тема 12. Реализация файловой системы
- •12.1 Система хранения
- •12.2 Управление внешней памятью
- •12.3 Управление свободным и занятым дисковым пространством
- •12.4 Монтирование файловых систем
- •12.5 Управление "плохими" блоками
- •12.6 Производительность файловой системы
- •Тема 13. Сети и сетевые операционные системы. ( 2 часа)
- •13.1 Сетевые и распределенные операционные системы
- •13.2 Понятие протокола. Многоуровневая модель построения сетевых вычислительных систем.
- •13.3 Проблемы адресации в сети.
- •Тема 14 . Основные понятия информационной безопасности ( 2 часа)
- •14.1 Угрозы безопасности
- •14.2 Криптография как одна из базовых технологий безопасности ос
- •Тема 15. Защитные механизмы операционных систем
- •2.3 Планы лабораторных занятий
- •Практические задания
- •Практические задания.
- •2.4 Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп)
- •Рекомендуемая литература: 11 доп. [324-401], 12 доп. [123-143], 13 доп.[76-92]
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс)
- •2.7 Тестовые задания для самоконтроля с указанием ключей правильных ответов
- •Ключи правильных ответов
- •2.6 Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
- •12. Канал- специализированный процессор ввода-вывода в компьютерах класса мэйнфреймов.
- •27. Пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени.
- •Выходные сведения
Тема 3. Микроядерная архитектура ос(2 часа)
3.1 Основные положения архитектуры ос с микроядром
Главной особенностью подхода архитектуры построения ОС с микроядром является то, что в привилегированном режиме остается работать только очень малая часть ОС, называемая соответственно микроядром. Микроядро защищено от остальных частей ОС и пользовательских приложений. Набор входящих в состав микроядра функций, как правило, соответствует слою базовых механизмов обычного ядра, хотя в состав микроядра включаются далеко не все базовые функции ядра, а только функции управления процессами, обработки прерываний, управления виртуальной памятью, пересылки сообщений, управления устройствами ввода-вывода. Выполнение таких функций ОС практически невозможно реализовать в пользовательском режиме. Все машинно-зависимые модули ОС также включаются в микроядро.
Не вошедшие в состав микроядра высокоуровневые функции и модули ядра оформляются в виде обычных приложений, работающих в пользовательском режиме. На рисунке ниже можно видеть основные различия в построении ОС с монолитным ядром (рис.3.1а) и архитектурой с микроядром (рис. 3.1б).
Работающие в пользовательском режиме менеджеры ресурсов имеют принципиальные отличия от традиционных утилит ОС и системных обрабатывающих программ ОС, хотя при микроядерной архитектуре все эти программные компоненты также оформлены в виде приложений. Утилиты и обрабатывающие программы вызываются в основном пользователями. Ситуации, когда одному приложению требуется выполнение функции другого приложения, возникают крайне редко, поэтому в ОС с классической архитектурой отсутствует механизм, с помощью которого одно приложение могло бы вызвать функции другого. Принципиально другая ситуация возникает в том случае, если в форме обычного приложения оформляется часть ОС. По определению основным назначением такого приложения является обслуживание запросов других приложений, например создание процесса, выделение памяти, проверка прав доступа к ресурсу и т.д. Вследствие этого вынесенные в пользовательский режим менеджеры ресурсов являются серверами ОС, то есть модулями, основное назначение которых -обслуживание запросов локальных приложений и других модулей ОС. Совершенно очевидно, что при реализации микроядерной архитектуры необходимо обеспечить наличие в ОС удобного и эффективного способа вызова процедур одного процесса из другого. Поддержка такого механизма является одной из главных задач, возложенных на микроядро ОС.
А) Б)
Рисунок 3.1. Строение операционных систем с монолитным ядром и с архитектурой микроядром.
На практике концепция микроядерной архитектуры построения ОС такова. Фирма Next, которая использовала в своих компьютерах систему Mach. Теоретически ее небольшое привилегированное ядро, окруженное службами пользовательского режима, должно было обеспечить беспрецедентную гибкость и модульность. Но на практике это преимущество несколько уменьшилось из-за наличия монолитного сервера ОС UNIX ВSD 4.3, который выполнялся в пользовательском пространстве над микроядром Масh. Однако Масh дал Next возможность предоставить службу передачи сообщений и объектно-ориентированные средства.
Microsoft Windows NT,конструкция NT позволила ей применить системы на основе процессоров Intel, МIPS и А1рhа и поддерживать симметричную многопроцессорность. Из-за того что NT должна была выполнять программы, написанные для DOS, Windows, 0S/2 и ОС, использующих соглашения Р0SIX, Microsoft выбрала модульность, присущую микроядерному подходу для того, чтобы сделать структуру NT не повторяющей ни одну из существующих ОС. В результате NТ поддерживает каждую надстроенную ОС в виде отдельного модуля или подсистемы.
Более современные архитектуры микроядра были предложены Novell, USL, Ореn Software Foundation, 1ВМ, Арр1е и др. Одним из основных соперников NТ в части микроядер является микроядро Масh 3.0, которое и IВМ, и ОSF взялись привести к коммерческому виду. Основной соперник Масh - микроядро Сhorus 3.0 фирмы Chorus System, выбранный USL за основу своих предложений. Это же микроядро будет использоваться в SpringOS фирмы Sun - объектно-ориентированном преемнике ОС Solaris.
Структурно Windows NT может быть представлена в виде двух слагаемых: часть ОС, работающая в режиме пользователя, и часть ОС в режиме ядра.
Часть, работающая в режиме ядра, называется executive Windows NT- исполнительной частью. Она включает ряд компонентов, которые управляют виртуальной памятью, объектами (ресурсами), вводом-выводом, файловой системой (включая сетевые драйверы), взаимодействием процессов и частично системой безопасности. Каждый компонент вызывает другие с помощью набора тщательно специфицированных внутренних процедур. Вторую часть, работающую в режиме пользователя, составляют серверы - защищенные подсистемы Windows NT. Серверы Windows NT называются защищенными, так как каждый из них выполняется в отдельном процессе, память которого отделена от других процессов системой управления виртуальной памятью NT executive. Так как подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Сообщения передаются .как между клиентом и сервером, так и между двумя серверами. Все сообщения проходят через исполнительную часть Windows NT.
Поддержку защищенных подсистем обеспечивает исполнительная часть - Windows NT ехесutive, которая работает в пространстве микроядра и никогда не сбрасывается на диск. Ее составными частями являются:
менеджер объектов, создающий, удаляющий и управляющий объектами NT ехесutive - абстрактными типами данных, используемыми для представления ресурсов системы;
монитор безопасности, устанавливающий правила защиты на локальном компьютере. Охраняет ресурсы ОС, выполняет защиту и регистрацию исполняемых объектов;
менеджер процессов, создающий и завершающий, приостанавливающий и возобновляющий процессы, а также хранящий о них информацию;
менеджер виртуальной памяти;
подсистема ввода-вывода, включающая в себя следующие компоненты: менеджер ввода-вывода, файловые системы, сетевой редиректор, сетевой сервер, драйверы устройств NT, менеджер кэша.
Исполнительная часть, в свою очередь, основывается на службах нижнего уровня микроядра . В функции микроядра входит:
планирование процессов;
обработка прерываний и исключительных ситуаций;
синхронизация процессоров для многопроцессорных систем;
восстановление системы после сбоев.
Микроядро работает в привилегированном режиме и никогда не удаляется из памяти. Обратиться к нему можно только посредством прерывания.
Защищенные подсистемы Windows NT работают в пользовательском режиме и создаются Windows NT во время загрузки ОС. Среди защищенных подсистем можно выделить подкласс, называемый подсистемами окружения. Подсистемы окружения реализуют интерфейсы приложений ОС (АРI). Другие типы подсистем, называемые интегральными подсистемами, исполняют функции, необходимые для ОС. Например, большая часть системы безопасности Windows NT реализована в виде интегральной подсистемы, сетевые серверы также выполнены как интегральные подсистемы.
Windows NT использует защищенные подсистемы для того, чтобы:
- обеспечить несколько программных интерфейсов (АРI), по возможности не усложняя при этом базовый программный код (NT executive)
изолировать базовую ОС от изменений или расширений в поддерживаемых АРI;
объединить часть глобальных данных, требующихся всем АРI, и в то же время отделить данные, использующиеся каждым отдельным АРI от данных других АРI;
защитить окружение каждого АР1 от приложений и окружения других АРI, а также защитить базовую ОС от различных окружений;
позволить ОС расширяться в будущем за счет новых АРI.
Микроядро NT служит, главным образом, средством поддержки для переносимой основной части ОС - набора пользовательских сред.