Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемСтепан Росомахин
1 Архитектура операционной системы
2 Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы: При функциональной декомпозиции ОС модули разделяются на две группы: ядро – модули, выполняющие основные функции ОС; ядро – модули, выполняющие основные функции ОС; модули, выполняющие вспомогательные функции ОС. модули, выполняющие вспомогательные функции ОС.
3 Модули ядра ОС Модули ядра ОС выполняют следующие базовые функции ОС: Модули ядра ОС выполняют следующие базовые функции ОС: управление процессами управление процессами управление памятью управление памятью управление устройствами ввода-вывода управление устройствами ввода-вывода Ядро обеспечивает решение задачи организации вычислительного процесса: переключение контекстов, загрузка/выгрузка страниц, обработка прерываний и т.п. Ядро обеспечивает решение задачи организации вычислительного процесса: переключение контекстов, загрузка/выгрузка страниц, обработка прерываний и т.п. Другая задача – поддержка приложений, создание для них прикладной программной среды. Приложения обращаются к ядру с запросами (системными вызовами) для выполнения базовых операций (открытие и чтение файла, вывод информации на дисплей и т.п.) Другая задача – поддержка приложений, создание для них прикладной программной среды. Приложения обращаются к ядру с запросами (системными вызовами) для выполнения базовых операций (открытие и чтение файла, вывод информации на дисплей и т.п.) Функции выполняемые ядром ОС требуют высокой скорости выполнения и для этого размещаются постоянно в оперативной памяти (резидентные модули). Функции выполняемые ядром ОС требуют высокой скорости выполнения и для этого размещаются постоянно в оперативной памяти (резидентные модули).
4 Вспомогательные модули операционной системы Вспомогательные модули выполняют полезные, но менее обязательные функции. Например: Вспомогательные модули выполняют полезные, но менее обязательные функции. Например: архивирование информации; архивирование информации; дефрагментация данных на диске; дефрагментация данных на диске; поиск необходимого файла и т.п. поиск необходимого файла и т.п. Вспомогательные модули часто оформляются как обычные приложения и провести границу между ними и обычными приложениями сложно. Вспомогательные модули часто оформляются как обычные приложения и провести границу между ними и обычными приложениями сложно. Деление на основные и вспомогательные модули ОС условно. Некоторые программы переходят из разряда вспомогательных модулей в основные и наоборот. Деление на основные и вспомогательные модули ОС условно. Некоторые программы переходят из разряда вспомогательных модулей в основные и наоборот.
5 Вспомогательные модули операционной системы Вспомогательные модули ОС условно разделяются на следующие группы: Вспомогательные модули ОС условно разделяются на следующие группы: Утилиты – приложения, решающие отельные задачи управления и сопровождения ОС Утилиты – приложения, решающие отельные задачи управления и сопровождения ОС Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики и т.п. Системные обрабатывающие программы – текстовые и графические редакторы, компиляторы, компоновщики и т.п. Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры и т.п. Программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры и т.п. Библиотеки процедур – модули различного назначения, упрощающие разработку приложений. Библиотеки процедур – модули различного назначения, упрощающие разработку приложений. Вспомогательные модули обращаются к функциям ядра ОС посредством системных вызовов. Вспомогательные модули обращаются к функциям ядра ОС посредством системных вызовов.
6 Ядро и вспомогательные модули операционной системы Ядро ОС утилиты Системные обрабатывающие программы пользовательские приложения
7 Привилегированный режим процессора Для надежного управления работой приложений ядро ОС должно обладать некоторыми привилегиями по отношению к остальным приложениям. Для надежного управления работой приложений ядро ОС должно обладать некоторыми привилегиями по отношению к остальным приложениям. Обеспечивается привилегированный режим специальными средствами аппаратной поддержкой. Процессор компьютера поддерживает как минимум два режима работы – пользовательский (user mode) и привилегированный (kernel mode). Обеспечивается привилегированный режим специальными средствами аппаратной поддержкой. Процессор компьютера поддерживает как минимум два режима работы – пользовательский (user mode) и привилегированный (kernel mode). Приложения в пользовательском режиме не могут выполнять некоторые критичные команды (переключение процессора с задачи на задачу, доступ к механизму выделения и защиты областей памяти и т.п.). Приложения в пользовательском режиме не могут выполнять некоторые критичные команды (переключение процессора с задачи на задачу, доступ к механизму выделения и защиты областей памяти и т.п.).
8 Привилегированный режим работы Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет однозначного соответствия: Между числом привилегий, поддерживаемых аппаратурой и операционной системой нет однозначного соответствия: процессор Intel поддерживает 4 режима работы процессора – операционные системы Windows используют два из них. процессор Intel поддерживает 4 режима работы процессора – операционные системы Windows используют два из них. Для реализации привилегированного режима достаточно поддержки двух режимов работы Для реализации привилегированного режима достаточно поддержки двух режимов работы Повышение устойчивости ОС, обеспечивающееся использованием работы в привилегированном режиме, достигается за счет некоторого замедления, вызванного необходимостью переключения работы ядра. Повышение устойчивости ОС, обеспечивающееся использованием работы в привилегированном режиме, достигается за счет некоторого замедления, вызванного необходимостью переключения работы ядра. Архитектура ОС, основанная на разделении привилегированного режима для ядра и пользовательского режима для приложений – стала классической. Архитектура ОС, основанная на разделении привилегированного режима для ядра и пользовательского режима для приложений – стала классической.
9 Многослойная структура ОС Вычислительная система под управлением ОС можно рассматривать как состоящую из нескольких слоев: Вычислительная система под управлением ОС можно рассматривать как состоящую из нескольких слоев: Нижний слой – аппаратура; Нижний слой – аппаратура; Средний – ядро ОС; Средний – ядро ОС; Верхний – утилиты, приложения и т.п. Верхний – утилиты, приложения и т.п. Аппаратура Ядро ОС Приложения
10 Детализация структуры ядра Ядро, являясь структурным элементом ОС, может быть логически разложен на ряд слоев: Ядро, являясь структурным элементом ОС, может быть логически разложен на ряд слоев: Средства аппаратной поддержки ОС Средства аппаратной поддержки ОС Машинно-зависимые компоненты ОС (включает модули, отражающие специфику аппаратной платформы компьютера) Машинно-зависимые компоненты ОС (включает модули, отражающие специфику аппаратной платформы компьютера) Базовые механизмы ядра (включает наиболее примитивные операции ядра – переключение контекстов процессов, диспетчеризация прерываний), модули выполняют решения принятые на более высоких уровнях Базовые механизмы ядра (включает наиболее примитивные операции ядра – переключение контекстов процессов, диспетчеризация прерываний), модули выполняют решения принятые на более высоких уровнях Менеджеры ресурсов (реализует задачи стратегического управления), включает менеджеры – диспетчеры процессов, ввода-вывода и т.п. Менеджеры ресурсов (реализует задачи стратегического управления), включает менеджеры – диспетчеры процессов, ввода-вывода и т.п. Интерфейсы системных вызовов (включает модули взаимодействия с приложениями и системными утилитами, функции API. Интерфейсы системных вызовов (включает модули взаимодействия с приложениями и системными утилитами, функции API.
11 Аппаратная зависимость ОС Операционная система в процессе работы взаимодействует с аппаратными средствами компьютера: Операционная система в процессе работы взаимодействует с аппаратными средствами компьютера: Средства поддержки привилегированного режима Средства поддержки привилегированного режима Средства трансляции адресов Средства трансляции адресов Средства переключения процессов Средства переключения процессов Защита областей памяти Защита областей памяти Система прерываний Система прерываний Системный таймер Системный таймер Это делает ОС привязанной к определенной аппаратной платформе Это делает ОС привязанной к определенной аппаратной платформе
12 Переносимость операционной системы Под переносимостью операционной системы понимается способность использования ОС на различных аппаратных платформах с минимальными изменениями в ее структуре. Для уменьшения числа машинно-зависимых модулей разработчики ОС ограничивают универсальность машинно-независимых модулей. Например, Windows разработана для нескольких типов процессоров и для многопроцессорных систем используются собственные модули. Под переносимостью операционной системы понимается способность использования ОС на различных аппаратных платформах с минимальными изменениями в ее структуре. Для уменьшения числа машинно-зависимых модулей разработчики ОС ограничивают универсальность машинно-независимых модулей. Например, Windows разработана для нескольких типов процессоров и для многопроцессорных систем используются собственные модули. Для обеспечения переносимости следуют следующим правилам: Для обеспечения переносимости следуют следующим правилам: Большая часть кода написана на языке, трансляторы которого существуют для всех планируемых платформ; Большая часть кода написана на языке, трансляторы которого существуют для всех планируемых платформ; Объем машино-зависимых частей кода должен быть минимизирован; Объем машино-зависимых частей кода должен быть минимизирован; Аппаратно-зависимый код должен быть изолирован в нескольких модулях Аппаратно-зависимый код должен быть изолирован в нескольких модулях В идеале машино-зависимые модули ядра полностью экранируют остальную часть ОС от конкретных деталей аппаратной платформы (кэши, контроллеры прерываний и т.п.). В идеале машино-зависимые модули ядра полностью экранируют остальную часть ОС от конкретных деталей аппаратной платформы (кэши, контроллеры прерываний и т.п.).
13 Микроядерная архитектура Концепция микроядерной архитектуры заключается в выделении в качестве работающего в привилегированном режиме части ОС, ответственном за небольшой набор системных функций (управление процессами, обработка прерываний, управление виртуальной памятью, пересылка сообщений). Данная часть ОС называется микроядром. Концепция микроядерной архитектуры заключается в выделении в качестве работающего в привилегированном режиме части ОС, ответственном за небольшой набор системных функций (управление процессами, обработка прерываний, управление виртуальной памятью, пересылка сообщений). Данная часть ОС называется микроядром. Все остальные высокоуровневые функции ядра разрабатываются в виде приложений, работающих в пользовательском режиме – серверы ОС. Все остальные высокоуровневые функции ядра разрабатываются в виде приложений, работающих в пользовательском режиме – серверы ОС. Взаимодействие между обычными приложениями и серверами ОС осуществляется через механизм обращений. Клиентское приложение отправляет запрос к серверу ОС через микроядро ОС. Такой механизм обеспечивает защиту работы приложений. Взаимодействие между обычными приложениями и серверами ОС осуществляется через механизм обращений. Клиентское приложение отправляет запрос к серверу ОС через микроядро ОС. Такой механизм обеспечивает защиту работы приложений.
14 Микроядерная архитектура Привилегированный режим Пользовательский режим Микроядро Сервер процессов Сервер безопасности Файловый сервер Приложения пользователей
15 Достоинства микроядерной архитектуры Операционные системы, основанные на микроядерной архитектуре обладают рядом преимуществ, предъявляемых к современным ОС: Операционные системы, основанные на микроядерной архитектуре обладают рядом преимуществ, предъявляемых к современным ОС: Переносимость (обусловлена малым числом модулей в аппаратно-зависимом микроядре) Переносимость (обусловлена малым числом модулей в аппаратно-зависимом микроядре) Расширяемость (добавление новых функций связано с включением новых серверов ОС) Расширяемость (добавление новых функций связано с включением новых серверов ОС) Надежность (обусловлена изолированностью процессов) Надежность (обусловлена изолированностью процессов) Поддержка распределенных вычислений (используется механизм взаимодействия приложений аналогичный взаимодействию в распределенных системах) Поддержка распределенных вычислений (используется механизм взаимодействия приложений аналогичный взаимодействию в распределенных системах) Недостаток Недостаток Производительность (обладают меньшей производительностью) Производительность (обладают меньшей производительностью)
16 Совместимость операционных систем Совместимость – возможность операционной системы выполнять приложения, написанные для других ОС. Совместимость – возможность операционной системы выполнять приложения, написанные для других ОС. Выделяют Выделяют Двоичная совместимость – на уровне кодов (программные модули могут быть просто перенесены и запущены) Двоичная совместимость – на уровне кодов (программные модули могут быть просто перенесены и запущены) Совместимость исходных текстов – приложения могут быть перекомпилированы в новый исполняемый модуль для ОС. Совместимость исходных текстов – приложения могут быть перекомпилированы в новый исполняемый модуль для ОС. Совместимость на уровне кодов может быть достигнута с помощью эмуляции двоичного кода. Совместимость на уровне кодов может быть достигнута с помощью эмуляции двоичного кода.
17 Прикладные программные среды Прикладная программная среда – совокупность средств ОС, предназначенная для организации выполнения приложений, использующих определенную систему машинных команд, определенный тип API. Прикладная программная среда – совокупность средств ОС, предназначенная для организации выполнения приложений, использующих определенную систему машинных команд, определенный тип API. Каждая ОС создает хотя бы одну программную среду. Каждая ОС создает хотя бы одну программную среду. Для обеспечения совместимости различных программных сред используются решения: Для обеспечения совместимости различных программных сред используются решения: эмуляция двоичного кода, эмуляция двоичного кода, трансляция API. трансляция API.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.