Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Микроядерная архитектура ЭВМ.




Основные понятия и определения.

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

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

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

Функции:

  1. определяет интерфейс пользователя
  2. обеспечивает разделение аппаратуры между пользователем
  3. дает возможность работать с общими данными в режиме коллективного пользования
  4. планирует доступ пользователей к общим ресурсам
  5. обеспечивает эффективное выполнение ввода/вывода
  6. обеспечивает восстановление информации и вычислительного процесса в случае ошибок.

Процесс – абстракция, представляющая программу во время выполнения.

Примеры ресурсов: процессор, память, устройства ввода/вывода, данные. ОС взаимодействует с аппаратными средствами, программами, пользователи, программистами, администраторами.

Эволюция ОС.

Выделяют пять–шесть периодов развития ОС.

  1. до 40–х годов ХХ века – нулевой этап: вычислительные устройства стали разрабатываться с использованием ламп, ОС отсутствует, появляются принципы программ, хранящихся в памяти (принципы фон Неймана), все задачи решаются вручную каждым программистом, в лучшем случае программы записывались с помощью перфокарты.
  2. первый этап – 50-е годы: появились транзисторы и компьютеры на их основе. Появились первые (пакетные) ОС, появляются первые АЯ – ALGOL-58, LISP, COBOL, PL–1, и их компиляторы. 1954 год – появляется первый ассемблер – IBM-701 (необходимо выполнить много вспомогательных работ, запустить компилятор, связать с другими программами, запустить программу и вывести результаты). Основное назначение пакетных ОС – сокращение времени на запуск задач и удаление их из машины. При их реализация был разработан язык управления заданиями. Оператор составлял пакет заданий, которые автоматически запускались на выполнение программой монитора. Пакет представлял собой набор перфокарт. Системы пакетной обработки значительно сократили затраты времени на вспомогательные действия.
  3. второй этап – начало 60-х: появление ИС (интегральных схем). Появляется мультипрограммирование, мультипроцессирование, виртуальная память, файловая система. Мультипрограммирование – это способ организации вычислительного процесса (ВП), при котором в памяти находится несколько программ, а ЦП попеременно переключается с выполнения одной программы на другую. Чтобы предоставить всем пользователям доступ к компьютеру были разработаны системы разделения времени, рассчитанные для многотерминальных систем. Первая из них – CTSS (совместимая система разделения времени) разработана на IBM-7094. В итоге была начата разработка ОС MULTICS (1964 г.). Мультипроцессорные системы: одновременно работающие процессоры могут работать как независимо, так и взаимодействуя между собой с использованием общей памяти. Появляются системы реального времени – 1963 год – ОС MCP.
  4. третий этап – 60-70-е годы: продолжается совершенствование всех компонентов. Появление семейств программосовместимых систем и ОС для них: IBM-360/370 в СССР – ЕС; PDP-11 –> СМ–3/4/1420. для IBM была разработана ОS/360. ОС были многорежимными. Они были чрезвычайно сложными. Объем кода OS/360 составил 8 Мб, а стоила $80 млн. для PDP были созданы ОС RT-11, RSX-11M. Эти компьютеры были разработаны в 61 году фирмой DEC. Их память была 4к машинных слов, стоили $120000. Появилась ОС Unix. Первоначально была на PDP–7, 90% кода написаны на языке Си. Появляются первые сетевые ОС. 1969 год – появляется сеть суперкомпьютеров ARPANET, которая объединяла компьютеры с разными ОС с помощью протоколов. Появились локальные сети.
  5. четвертый этап – 80-е годы: появление БИС и СБИС (больших и сверхбольших ИС), разработка протоколов TCP/IP, становление Интернета, стандартизация протоколов локальных сетей, появление ПК и ОС для них. 1983 год – сеть ARPANET разделили на 2 части: NILNET и Интернет. Появляются версии ОС Unix. Были приняты стандарты POSIX, XPG. Для 88разрядного процессора фирмы Intel была разработана ОС CP/M. 1981 год – появилась система MS-DOS. Появилась Microsoft Windows 1.01 – 20 ноября 1985 года. ОС фирмы Novell NetWare 68. 1987 год – появилась ОС OS/2 – первая многозадачная ОС
  6. пятый этап – современный: все ОС стали сетевыми, усиление средств поддержки работы с Интернетом, компьютер стал превращаться в средство коммуникации. Unix-системы, Windows-системы, Mac OS (X). Наличие средств централизованного администрирования, единая справочная система Active Directory, для Unix – 389, Directory Server, Red Hat Directory Server. Одним из основных показателей является удобство работы человека с компьютером, которое постоянно повышается. Огромное внимание уделяется средствам безопасности. Современным ОС присуща многоплатформенность, то есть способность работать на различных видах компьютеров.

 

Архитектура ОС.

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

  1. монолитные ОС
  2. многослойные ОС
  3. микроядерные ОС

сначала ОС были монолитными. При разработке мало внимания обращалось на структуру, сложность возрастала. Windows NT 3.5 содержала 4 млн строк. NT 4 — 1996 год — 16,5 млн строк, Windows 2000 – 20 млн, Windows XP — 40 млн строк, Linux – 11010647 строк, Linux 3.3 – 15 млн строк. Увеличение сложности ОС сопровождается возникновением 3 основных проблем:

  1. в системах имеются скрытые ошибки
  2. новые ОС доходят до пользователя с хроническим опозданием
  3. рост производительности происходит не так быстро, как планируется.

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

Ядро и вспомогательные модули ОС.

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

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

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

  1. утилиты — программы для решения отдельных задач управления и сопровождения компьютерной системы.
  2. Системные обрабатывающие программы — текстовые, графические редакторы.
  3. Программы предоставления пользователю дополнительных услуг — приложения.
  4. Библиотеки процедур.

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

Ядро в привилегированном режиме.

Обеспечить привилегии ОС невозможно без поддержки аппаратуры. Аппаратура должна поддерживать 2 режима:

  1. пользовательский
  2. привилегированный.
Пользовательский режим Утилиты Приложения Библиотеки Системные обработки
Привилегированный режим Ядро      

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

Каждое приложение работает в своем адресном пространстве. Свойство позволяет локализовать некоторые некорректные приложения в одной области памяти. Intel – 4 уровня привилегий. OS\2 строит 3 уровня привилегий, а Windows — 2 уровня привилегий. Рассмотренная архитектура называется классической.

Многослойная структура ОС на базе ядра в привилегированном режиме.

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

1 слой — аппаратура.

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

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

4 слой — базовые механизмы ядра. Слой выполняет наиболее примитивные операции ядра: диспетчеризацию прерываний, перенос из памяти на диск и обратно. На этом слое решений не принимается.

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

6 слой — интерфейс системных вызовов. Является самым верхним ядра, взаимодействует непосредственно с приложениями, образуя API. Функции API, обслуживающие системные вызовы, предоставляют доступ к ресурсам в удобной и компактной форме без указания деталей их физического расположения.

Это разбиение достаточно условно. Способ взаимодействия слоев тоже может отличаться от описанной. Рассмотренная структура называют классической. Пять основных принципов:

  1. все основные функции ОС работают в привилегированном режиме
  2. некоторые вспомогательные функции оформляются в виде приложений и выполняются в пользовательском режиме.
  3. Каждое приложение работает в адресном пространстве и защищено от вмешательства других приложений
  4. код ядра, выполняемый в привилегированном режиме, имеет доступ к памяти всех приложений, но сам полностью от них защищен
  5. приложения обращаются к ядру с запросом на выполнение системных функций.

 

Микроядерная архитектура ЭВМ.

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

Пользовательский режим Серверы ОС Приложения, утилиты
Привилегированный режим Микроядро ОС

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

Пользовательский режим Приложения Файловый сервер Сервер процессов Сервер безопасности Сетевой сервер
Привилегированный режим Микроядро

Количество переключений контекста заметно увеличилась. Производительность уменьшилась.

Преимущества и недостатки микроядерной архитектуры.

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

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

3. надежность ОС повышается.

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

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

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

2. объем машинно-зависимых частей кода, которые непосредственно взаимодействуют с аппаратными средствами, должен быть минимизирован.

3. аппаратно-зависимый код должен быть изолирован в нескольких модулях.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...