Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС 2012г.doc
Скачиваний:
20
Добавлен:
24.09.2019
Размер:
1.91 Mб
Скачать
  1. Микроядерная архитектура ос

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

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

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

  1. Многослойная модель ядра ос

См. вторую часть вопроса 11.

  1. Функции ос по управлению процессами

  • распределяет процессорное время между несколькими одновременно выполняющимися в системе процессами;

  • создает и уничтожает процессы;

  • обеспечивает процессы необходимыми ресурсами;

  • поддерживает синхронизацию процессов;

  • реализует межпроцессное взаимодействие.

  1. Процессы и потоки

Программа - статический объект на диске.

Процесс - контейнер для ресурсов и исходных кодов программ. С каждым процессом программа связывает её адресное пространство, которое содержит стек, данные, набор регистров.

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

Преимущества потоков:

  • меньше затрат на создание по сравнению с процессами;

  • возможность взаимодействия между собой в пределах одного процесса, не обращаясь к ОС;

  • повышение производительности одной программы.

С каждым процессом связывается его адресное пространство. Адресное пространство процесса содержит саму программу, ее данные, стек программы.

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

Три события приводят к созданию процесса:

  • загрузка системы;

  • уже работающий процесс вызывает запрос на создание процесса;

  • запрос пользователя на создание процесса.

Создать процесс означает:

  • создать описатель процесса;

  • загрузить коды и данные исполняемой программы процесса с диска в оперативную память;

  • в многопоточной системе для каждого создаваемого процесса создать как минимум один поток выполнения.

Дескриптор содержит информацию, необходимую в течение всего жизненного цикла процесса, и где содержится информация о состоянии процесса, о расположении его в памяти и на диске, информация о приоритете и пр.

Контекст содержит информацию, которая необходима для возобновления процесса.