Лекция: Уровни абстракции ОС. ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС
В лекции рассматриваются следующие вопросы: методы проектирования и реализации ОС: уровни абстракции ОС; ОС с архитектурой микроядра; виртуальные машины; цели проектирования и разработки ОС с точки зрения пользователей и разработчиков; генерация ОС для конкретной компьютерной системы при ее инсталляции.
Содержание
Введение Уровни абстракции ОС Операционные системы с микроядром Виртуальные машины – другой распространенный подход к разработке операционных систем и их пользовательских интерфейсов Виртуальная машина Java (JVM) Цели проектирования и разработки ОС Механизмы и политики Реализация операционных систем Генерация операционной системы Ключевые термины Краткие итоги Набор для практики Вопросы Упражнения Темы для курсовых работ, рефератов, эссе
Введение
Сложность архитектуры ОС приводит к необходимости использования специальных методов для их разработки. В лекции рассмотрены наиболее популярные из таких методов.
Уровни абстракции ОС
Каждый новый уровень абстракции M определяет новые операции, в реализации которых используются операции предшествующего уровня M-1. Кроме того,…
Операционные системы с микроядром
По такому принципу разработаны все операционные системы семейства Windows NT. Структура Windows NT изображена на рис. 7.3.
Рис. 7.3. Клиент –серверная структура Windows NT.
Виртуальные машины – другой распространенный подход к разработке операционных систем и их пользовательских интерфейсов
Пример: система виртуальных машин (SVM) в ОС IBM 360/370, разработанная в конце 1980-х гг. Более современный пример: Microsoft Virtual PC – продукт,… При работе пользователей в виртуальных машинах физические ресурсы реальной… Модели операционных систем, разработанных без использования концепции виртуальной машины и на основе концепции…
Цели проектирования и разработки ОС
Точки зрения пользователей и разработчиков ОС в данном отношении несколько различаются.
Цели с точки зрения пользователя: ОС должна быть удобной в использовании, простой для изучения, надежной, безопасной и быстрой.
Цели с точки зрения разработчика ОС: ОС должна быть несложной для проектирования, реализации и сопровождения, а также гибкой, надежной, свободной от ошибок и эффективной.
Механизмы и политики
При разработке ОС, как и любой другой сложной программной системы, различают концепции механизмаи политики. Механизмопределяет, каким образомреализовать некоторую функциональность (например, виртуальную память). Политикаопределяет, чтоименно требуется реализовать, т.е. набор требований, целей, условий для реализации функциональности. Например, политика безопасностив ОС определяет правила, по которым программе или пользователю предоставляются некоторые полномочия (например, возможность открытия некоторого файла). Эта политика может быть реализована многими способами, например, с помощью списков управления доступом (access control lists); это понятие будет рассмотрено немного позже. Отделение механизма от политики – очень важный принцип для разработки ОС. Он допускает максимум гибкости, если "политические" решения могут быть изменены впоследствии.
Реализация операционных систем
Преимущества использования языков высокого уровня очевидны: код на языке высокого уровня
может быть разработан быстрее более компактен … Кроме того, операционная система гораздо легче переносимана другие аппаратные… Гипотетический недостаток у языков высокого уровня, по сравнению с ассемблерами, только один – возможная…
Генерация операционной системы
ОС проектируются с целью использования на любом компьютере из некоторого класса. В поставку ОС входит очень большой набор типовых модулей для различных классов компьютеров (например, настольных и портативных). Поэтому для каждого компьютера система должна быть сконфигурирована при ее инсталляции– установке ОС на конкретный компьютер.
Программа генерации ОС получает информацию о специфической конфигурации компьютерной системы.
После генерации и инсталляции ОС система готова к работе.
Следующий этап - загрузка (booting)– запуск компьютера посредством загрузки ядра ОС. При запуске компьютера первой запускается программа раскрутки (bootstrap program)– код, хранящийся в постоянной памяти (ROM) базовой системы ввода-вывода (BIOS) компьютера. Код программы раскрутки находит ядро ОС, загружает его в память и запускает.
Ключевые термины
OS/2– ОС, разработанная фирмой IBM для персональных компьютеров PS/2.
POSIX (Portable Operating Systems of unIX type) –стандарт для библиотек,… Win32- Библиотеки (API) ОС Windows для 32-разрядных процессоров.
Краткие итоги
ОС с микроядром – принцип разработки ОС, при котором минимизируется число модулей, выполнение которых необходимо в привилегированном режиме, что… По принципу микроядра разработана ОС Windows NT, в которой имеются серверы для… Концепция виртуальной машины позволяет предоставить пользователю ОС воображаемую персональную машину со своим набором…
Набор для практики
Вопросы
Что такое уровень абстракции и какие ограничения накладываются на реализацию его операций? Какие уровни абстракции реализованы в системе OS/2? Что такое микроядро и как организуются операционные системы по принципу микроядра? В чем преимущество разработки ОС по принципу микроядра? По каким принципам организована ОС Windows NT и с приложениями для каких платформ она поддерживает совместимость? Что такое виртуальная машина и каким образом концепция виртуальной машины используется при разработке ОС? В чем преимущества для пользователя при работе в персональной виртуальной машине в рамках операционной системы? Что такое виртуальная машина Java (JVM) и из каких компонент она состоит? Что такое загрузчик классов в JVM? Что такое верификатор в JVM? Что такое интерпретатор в JVM? Что такое JIT-компилятор в JVM? Что такое VES в платформе Microsoft.NET и в чем преимущество .NET, по сравнению с Java? Каковы цели проектирования и разработки ОС, с точки зрения ее пользователей? Каковы цели проектирования и разработки ОС, с точки зрения ее разработчиков? Что такое механизм (при разработке ОС)? Что такое политика (при разработке ОС)? На каких языках высокого уровня разрабатываются ОС? Почему разрабатывать ОС на языках высокого уровня удобнее, чем на ассемблере? Почему при установке ОС на конкретный компьютер необходима генерация ОС именно для данного компьютера? Что такое раскрутка и программа раскрутки? Что такое BIOS и ROM BIOS и как они используются при раскрутке системы?
Упражнения
Темы для курсовых работ, рефератов, эссе