Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подходы к построению ОС.






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

Многоуровневые ОС. Развитием рассмотренного подхода является ОС, представляющая иерархию уровней. Первая ОС была разработана Деикстрой. Достоинство: разработал известный специалист-программист. Это пакетная ОС, включающая шесть уровней. Уровень 0 – распределение времени процессора, переключение процесса на процесс при возникновении прерывания, обеспечение многозадачности. Уровень 1 – управление памятью. Выделял пространство в реальной памяти для процесса, загружал и по завершении процесса освобождал реальную память. Примечание: приложение делилось на страницы и загружалось в реальную память постранично. Часть страниц хранилась на магнитном барабане. Уровень 2 – управление связью между терминалом оператора и ОС. Уровень 3 – управление устройствами ввода-вывода. Уровень 4 – приложения пользователя. Обращение этого уровня к устройствам ввода-вывода осуществлялось через уровень 3. Уровень 5 – управление системой.

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

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

Преимущества такой модели:

1) в задачу ядра входит только управление связью между клиентами (приложениями) и сервером. Благодаря разделению ОС на части, каждая из которых управляет каким-нибудь одним ресурсом, все части становятся достаточно малыми и надежными.

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

3) Такую ОС можно сделать кроссплатформенной: для этого выполняют несколько микроядер, привязанных к той или иной платформе для переносимости. Например, в Windows NT 3.51 была разработана для четырех платформ. Такую модель можно адаптировать для распределенной обработки (слайд 12).

4) ОС на основе виртуальных машин. Первая ОС на основе виртуальных машин была создана в научном центре фирмы IBM в Кембридже, называлась VM/370 (по названию вычислительной системы). А настоящее время представителем этой линейки является Z-OS, которая работает на аппаратной платформе, которая работает через Z-series. Идея: на аппаратуре загружается и функционирует некий гипервизор, который называется CP (control program). Эта программа позволяет создавать так называемые виртуальные машины, которые работают под управлением CP (1975-1980 г.). Виртуальная машина – абстракция, которая включает в себя виртуальный процессор, виртуальную память, виртуальные устройства ввода-вывода и другие устройства. В виртуальную память виртуальной машины загружается гостевая ОС. Для VM/370 существовала штатная гостевая ОС, которая шла в комплекте и называлась CMS. Резюме: в виртуальной машине функционирует ОС. Всем виртуальным машинам реальный ЦП и реальная ОП предоставляется на квант времени. В течение кванта времени виртуальная память виртуальной машины загружается в реальную память и код, который должен выполняться, выполняется на реальной ЭВМ. Виртуальные устройства эмулируются как файлы (за исключением дисков). Когда виртуальная машина получает реальный процессор, виртуальные устройства ввода-вывода присоединяются к реальным устройствам ввода-вывода. После того, как квант истек, управление передается следующей виртуальной машине и ситуация повторяется вновь. Кванты меньше секунды (единицы миллисекунд), поэтому каждая виртуальная машина чувствует, что она постоянно работает одна на реальной ЭВМ. В виртуальной ОС виртуальной машины можно запустить свои приложения и подключить пользователей для управления, т.е. сделать виртуальные терминалы. Все виртуальные машины описываются файлом конфигурации (сильно похож на реестр Windows). Идея виртуальных машин используется, например, для выполнения старых 16-битных программ на 32-разрядных процессорах. Для этого Intel и Microsoft создала режим виртуального процессора 8-86, в котором можно выполнять старые программы, написанные в DOS. Недостаток: сильная нагрузка на ввод-вывод, т.е. аппаратная часть ввода-вывода должна быть очень быстрой и иметь опции параллельной работы. Для этого в аппаратуре предусмотрено полное разделение выполнение операций ввода-вывода от ЦП.

Совмещение операций ввода-вывода на устройствах ввода-вывода.

Концепция экзоядро. В VM/370 каждая виртуальная машина получает полностью реальную машину, но это может быть неэффективно, т.к. некоторые реальные ресурсы в течение выделенного кванта не используются. ОС с экзоядром является модификацией режима виртуальных машин, придуманная исследователями из МИД. Идея: виртуальная машина получает не все ресурсы реальной ЭВМ, а только часть, ненужные ресурсы можно отдать другой виртуальной машине и представить это на выполнение. Подход к виртуальной машине используется также для запуска Java-приложений. Для работы программ на Java корпорация Sun придумала язык программирования Java. Идея: выполнять Java-приложения в виртуальной машине JVM. Компилятор Java выдает код для JVM, а JVM является интерпретатором и его выполняет. Преимущества подхода: JVM можно выполнять на любом компьютере и приложения Java тоже. В другом случае удобно с точки зрения безопасности, т.к. Java приложения выполняются на Java машине, которые можно проконтролировать.

Технологии виртуализации. Технологии виртуализации тоже в некоторой степени можно отнести к технологиям ОС, т.к. они организуют вычислительный процесс. В настоящее время возможны ситуации, когда ОС сама по себе отсутствует в вычислительной системе. Вместо ОС загружается так называемый виртуальный гипервизор, который создает возможность использования механизма виртуальных машин, поэтому гипервизор соответствует понятию традиционная ОС. Гипервизор первый был представлен компанией VMware в 1998 г. Эта технология позволяет исключить низкую загрузку оборудования, простой, рост энергопотребления (слайд 22). В настоящее время решения по виртуализации фирмы VMware следующие: платформы виртуализации VMware Virtual Infrastructure. Это решение применяется к различным платформам от настольного компьютера до центра обработки данных. Основные компоненты: VMware ESX server. Основа виртуальной инфраструктуры: является гипервизором. Организует вычислительный процесс, разделяет ресурсы процессора, памяти, внешней памяти и сети между виртуальными машинами. VMware VM FS (file system).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.