Генерация операционной системы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Генерация операционной системы



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

Программа генерации ОС получает информацию о специфической конфигурации компьютерной системы.

После генерации и инсталляции ОС система готова к работе.

Следующий этап - загрузка (booting)запуск компьютера посредством загрузки ядра ОС. При запуске компьютера первой запускается программа раскрутки (bootstrap program) – код, хранящийся в постоянной памяти (ROM) базовой системы ввода-вывода (BIOS) компьютера. Код программы раскрутки находит ядро ОС, загружает его в память и запускает.

Ключевые термины

Just-In-Time (JIT) – компилятор – компонента JVM,выполняющая при первом вызове каждого метода его компиляцию в объектный код целевой платформы (native – код), что позволяет повысить суммарную производительность выполнения программ на Java.

OS/2 – ОС, разработанная фирмой IBM для персональных компьютеров PS /2.

POSIX (Portable Operating Systems of unIX type) – стандарт для библиотек, системных вызовов и системных программ для операционных систем типа UNIX.

Win32 - Библиотеки (API) ОС Windows для 32-разрядных процессоров.

Байт-код (bytecode) – команды виртуальной Java -машины, построенные на основе постфиксной записи операндов.

Верификатор классов (class verifier) – компонента JVM, выполняющая при загрузке класса проверку корректности его байт-кода, контроль типов и другие необходимые проверки.

Виртуальная машина – программный интерфейс, полностью аналогичный интерфейсу обычного компьютера без базового программного обеспечения.

Виртуальная машина Java (JVM) – виртуальная машина, исполняющая Java байт-код.

Загрузка (booting)запуск компьютера посредством загрузки ядра ОС.

Загрузчик классов (class loader) – компонента JVM,выполняющая загрузку классов в виртуальную машину во время выполнения программы.

Инсталляция – установка ОС на конкретный компьютер.

Интерфейс прикладного программирования (application programming interface – API) - набор библиотечных функций, реализующий некоторую функциональность, используемую программой.

Механизм - метод реализации некоторой функциональности в ОС.

Микроядро (micro-kernel) – принцип разработки ОС, который заключается в переносе максимально возможного числа модулей из системного в пользовательское " пространство ", т.е. ОС разрабатывается таким образом, что большинство ее модулей выполняются в пользовательском режиме, а размер ядра минимизируется.

Политика - набор требований, целей, условий для реализации некоторой функциональности в ОС.

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

Программа раскрутки (bootstrap program) – код, запускаемый первым при включении компьютера, хранящийся в постоянной памяти (ROM) базовой системы ввода-вывода (BIOS) компьютера, который находит ядро ОС, загружает его в память и запускает.

Краткие итоги

При разработке ОС широко применяется принцип уровней абстракции. Он применен при разработке OS/2 – второй ОС фирмы Microsoft (после MS DOS), разработанной для персональных компьютеров PS /2. OS/2 имела четыре уровня абстракции.

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

По принципу микроядра разработана ОС Windows NT, в которой имеются серверы для поддержки исполнения Win32 -, OS/2 и POSIX -приложений.

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

В настоящее время широко используется виртуальная машина Java (JVM), выполняющая программу на Java байт-коде на реальной аппаратуре. JVM состоит из загрузчика классов, верификатора классов, интерпретатора байт-кода и just-in-time – компилятора.

Цели проектирования и разработки ОС: с точки зрения пользователя – удобство, простота, надежность, безопасность, эффективность; с точки зрения разработчика ОС – простота проектирования, реализации и сопровождения, гибкость надежность, свобода от ошибок, эффективность.

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

Реализация ОС долгое время выполнялась на ассемблерах. Начиная с UNIX, разработка ОС ведется на языках высокого уровня, чаще всего – на языке Си.

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

Загрузка ОС – это ее запуск при включении компьютера. Она реализуется с помощью программы раскрутки, которая хранится в ROM BIOS, запускается самой первой, находит ядро ОС, загружает его в память и запускает.

Вопросы для самопроверки:

1. Что такое уровень абстракции и какие ограничения накладываются на реализацию его операций?

2. Какие уровни абстракции реализованы в системе OS/2?

3. Что такое микроядро и как организуются операционные системы по принципу микроядра?

4. В чем преимущество разработки ОС по принципу микроядра?

5. По каким принципам организована ОС Windows NT и с приложениями для каких платформ она поддерживает совместимость?

6. Что такое виртуальная машина и каким образом концепция виртуальной машины используется при разработке ОС?

7. В чем преимущества для пользователя при работе в персональной виртуальной машине в рамках операционной системы?

8. Что такое виртуальная машина Java (JVM) и из каких компонент она состоит?

9. Что такое загрузчик классов в JVM?

10. Что такое верифиикатор в JVM?

11. Что такое интерпретатор в JVM?

12. Что такое JIT -компилятор в JVM?

13. Что такое VES в платформе Microsoft.NET и в чем преимущество.NET, по сравнению с Java?

14. Каковы цели проектирования и разработки ОС, с точки зрения ее пользователей?

15. Каковы цели проектирования и разработки ОС, с точки зрения ее разработчиков?

16. Что такое механизм (при разработке ОС)?

17. Что такое политика (при разработке ОС)?

18. На каких языках высокого уровня разрабатываются ОС?

19. Почему разрабатывать ОС на языках высокого уровня удобнее, чем на ассемблере?

20. Почему при установке ОС на конкретный компьютер необходима генерация ОС именно для данного компьютера?

21. Что такое раскрутка и программа раскрутки?

22. Что такое BIOS и ROM BIOS и как они используются при раскрутке системы?

Упражнения

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

2. То же задание относительно принципа микроядра: Предложите архитектуру ОС с микроядром и опишите, какого рода модули следует отнести к ядру, а какие можно выполнять в непривилегированном режиме.

3. Предложите архитектуру ОС, реализующей систему виртуальных машин.

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

5. Инсталлируйте на своем компьютере продукт Microsoft Virtual PC, инсталлируйте в виртуальной машине другую ОС (например, Windows 7, если у Вас на компьютере инсталлирована Windows Vista), поэкспериментируйте с ней и опишите свои впечатления.

6. Загрузите с сайта http://java.sun.com новую версию Java Development Kit (JDK), Standard Edition, инсталлируйте его и пропустите простейшие примеры с использованием JVM.

7. Запустите используемую Вами операционную систему на Вашем компьютере и проанализируйте действия системы при запуске: какие сообщения выдаются, каков порядок загрузки компонент системы, в том числе драйверов, какие драйверы хранятся в ROM BIOS, а какие являются частью ОС.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 495; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.220.120 (0.016 с.)