Разделы презентаций


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

Содержание

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

Слайды и текст этой презентации

Слайд 1Архитектура операционных систем
ЦКО «Специалист» при МГТУ им. Н.Э. Баумана Захаров Н.М.

Архитектура операционных системЦКО «Специалист» при МГТУ им. Н.Э. Баумана  Захаров Н.М.

Слайд 2Архитектура операционных систем
Любая сложная система должна иметь понятную и рациональную

структуру, или делиться на модули, имеющие законченное функциональное назначение с

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


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

Слайд 3Расширяемость операционной системы
Под расширяемостью понимают возможность добавлять в операционную систему

новую функциональность без изменения уже существующих компонентов системы.
Необходимость расширения функциональности

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


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

Слайд 4Совместимость операционной системы
Под совместимостью понимается способность операционной системы исполнять прикладные

программы, ориентированные на другие операционные системы, или на более ранние

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

Слайд 5Архитектура Windows

Архитектура Windows

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

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


Во всех ОС модули делятся на две группы:
Ядро операционной системы – модули, исполняющие базовые функции. Это наиболее часто используемые системные модули (как правило, модуль управления системой прерываний, модуль управления процессами, модуль управления файловой системой, модуль управления памятью). Модули ядра постоянно располагаются а памяти (резидентные модули), оформлены в виде модулей специального формата.
Вспомогательные модули – модули, загружаемые в память только при необходимости (транзитные модули): утилиты обслуживания диска, системы инструментальные, текстовые и графические редакторы ОС, графические пользовательские интерфейсы, библиотеки API и др.
Для надежного и безопасного управления ходом выполнения приложений ОС должна иметь по отношению к приложениям определенные привилегии.
Средства аппаратной поддержки (архитектура процессора) позволяют поддерживать два режима работы – поль­зовательский и привилегированный, который также называется режимом ядра.
Наиболее важные части ОС выполняются в режиме ядра. Программы, работающие в ре­жиме ядра имеют доступ к системным данным и к аппаратному обеспечению. Программы пользовательского режима имеют ограниченный доступ к системным данным.
API (Application Programming Interface) – стандартизованная библиотека программных средств, используемая разработчиками прикладных программ для создания приложений, совместимых с определенной ОС и принятым графическим интерфейсом и для доступа к сервисам ОС.
Для обеспечения аппаратной независимости (возможности работы ОС на разных аппаратных платформах) большая часть модулей ОС общается с аппаратурой как с абстрактными данными через такие программные модули, как HAL (Hardware Abstraction Layer), микроядро и драйверы устройств.


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

Слайд 7Подсистемы среды - предоставляют приложениям пользователя сервисы в виде функций,

реализованных как программы динамически подключаемых библиотек (DLL)
Приложения пользователя - могут

быть одного из пяти типов: Win32\64, Win16 (для Windows 3.1), POSIX (для UNIX), OS/2, MS-DOS.
Системные процессы и сервисы - cлужебные программы, обслуживающие ОС (диспетчер сессий, процесс входа в систему WINLOGON) и предоставляющие сервисы (регистрация событий, обработка извещений и т. д.)
Win API - интерфейс между пользовательскими приложениями и исполнительной системой Windows. Реализован в виде динамически подключаемых библиотек DLL (.dynamic-link library — динамически подключаемая библиотека). DLL содержат функции для:
управления памятью, процессами и потоками
управления пользовательским интерфейсом, например, созданием окон и передачей сообщений
рисования графических объектов, отображения текста и работы со шрифтами
NTDLL - библиотека функций, позволяющая выполнить переход от пользовательского режима в режим ядра при необходимости использования функций низкоуровневого сервиса (сервиса режима ядра)

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

Слайд 8HAL - уровень аппаратных абстракций. Реализует низко­уровневый интерфейс с аппаратурой.

Модули Windows и драйверы от других разработчиков взаимодействуют с аппаратурой

посредством HAL. Отделяет ОС от особенностей используемой аппаратной платформы.
Аппаратура: шина, таймеры, контроллер прерываний, контроллер прямого доступа к памяти, устройства ввода/вывода, контроллер кэша, контроллеры памяти и т. д.
Микроядро - единственная часть системы, которая всегда нахо­дится в оперативной памяти. Выполняет функции:
Планирование процессов и потоков
Синхронизация процессов и потоков
Обработка прерываний
Обработка исключений (ошибок)
Драйверы устройств - преобразуют поступившие от пользователя вызовы функций ввода/вывода в запросы для конкретных устройств.
Диспетчер ввода/вывода – обеспечивает координацию работы драйверов устройств и аппаратно-независимый ввод/вывод для приложений.
Диспетчер кэша - управляет кэшированием дисковой памяти: хранит в оперативной памяти данные, к которым недавно обращались.
Диспетчер файловой системы - поддерживает работу с файлами и каталогами (папками).




HAL - уровень аппаратных абстракций. Реализует низко­уровневый интерфейс с аппаратурой. Модули Windows и драйверы от других разработчиков

Слайд 9Диспетчер процессов и потоков - создает и завершает процессы и

потоки.
Потоки и процессы — это связанные понятия. Оба представляют собой

последовательность инструкций, которые должны выполняться в определенном порядке. Инструкции в отдельных потоках или процессах, однако, могут выполняться параллельно. Процессы существуют в операционной системе и соответствуют тому, что пользователи видят как программы или приложения. Поток, с другой стороны, существует внутри процесса. По этой причине потоки иногда называются "облегченные процессы". Каждый процесс состоит из одного или более потоков.
Чтобы поддерживать мультипрограммирование, ОС должна определить и оформить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера. В настоящее время в большинстве операционных систем определены два типа единиц работы. Более крупная единица работы, обычно носящая название процесса (process), или задачи (task), требует для своего выполнения нескольких более мелких работ, для обозначения которых используют термины поток или нить (thread).
Процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного — процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы — потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд. Потоки возникли в операционных системах как средство распараллеливания вычислений.

Диспетчер процессов и потоков - создает и завершает процессы и потоки.Потоки и процессы — это связанные понятия.

Слайд 10Диспетчер объектов - создает объекты и абстрактные типы данных исполнительной

системы Windows и управляет ими. Объекты используются для предоставления таких

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


Диспетчер объектов - создает объекты и абстрактные типы данных исполнительной системы Windows и управляет ими. Объекты используются

Слайд 11Архитектура ОС UNIX
Операционную систему UNIX можно представить в виде трёх

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

Архитектура ОС UNIXОперационную систему UNIX можно представить в виде трёх уровней: монолитное ядро, системные утилиты и демоны,

Слайд 12Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы

(процессы в пользовательской части операционной системы) от особенностей ее архитектуры.

Ядро имеет набор услуг, предоставляемых прикладным программам посредством системных вызовов – системных утилит.
Важной частью системных программ являются демоны. Демон — это процесс, выполняющий определённую функцию в системе, который запускается при старте системы и не связан ни с одним пользователем. Демоны предоставляют пользователям определенные сервисы, примерами которых могут служить системный журнал, веб-сервер и т. п.. Аналогом демонов в операционной системе Windows являются системные службы.
Существует два основных объекта операционной системы UNIX, с которыми приходиться работать пользователю — файлы и процессы.
Все данные пользователя хранятся в файлах; доступ к периферийным устройствам осуществляется посредством чтения и записи специальных файлов; во время выполнения программы (исполняемого файла), операционная система считывает исполняемый код из файла в память и передает ему управление.
Процессом называется последовательность операций программы или часть программы при ее выполнении (см. выше). В системе UNIX может одновременно выполняться множество процессов (эту особенность иногда называют мультипрограммированием или многозадачным режимом), причем их число логически не ограничивается, и множество частей программы может одновременно находиться в системе.
Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы (процессы в пользовательской части операционной системы) от

Слайд 14Все обращения к ядру системы можно разделить на две категории:

программа вызывает подсистему управления файлами или подсистему управления процессами.
Подсистема управления

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

Слайд 15Подсистема управления процессами отвечает за синхронизацию и взаимодействие процессов, распределение

памяти и планирование выполнения процессов.
Модуль распределения памяти позволяет избежать

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

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

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика