Функции и механизмы мультипрограммных операционных систем.

a. Появление механизмов смены регистров вычисления (смена контекста).

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

c. Появление механизмов защиты адресного пространства. Появление привилегированного режима ОС. Термин ОС был впервые применен к система MCP (1963).

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

e. Появляется механизм System call – обращение программы к ОС с требованием выдать ресурсы/права/etc.

f. Появление структурированного хранения данных.

Функции и механизмы сетевых и мобильных операционных систем.

Сетевые ОС:

a. Средства управления локальными ресурсами компьютера.

b. Средства предоставления собственных ресурсов и услуг в общее пользование.

c. Средства запроса доступа к удаленным ресурсам и услугам и их использования.

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

e. Защита от несанкционированного доступа.

Мобильные ОС:

Они должны работать на разных аппаратных платформах.

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

Задачи:

a. Поддержать исполнение программ

b. Поддержать разработку программ через API

c. поддержка доступа программ к устройствам ввода/вывода

d. Обеспечить доступ к файловым структурам

e. Поддержать обнаружение и обработку ошибок

Методы организации эффективного использования ресурсов компьютера. Критерии эффективности. Управление ресурсами.

Эффективное использование ресурсов:

Возникает задача минимизации критериев. При наборе критериев Kk, удобно использовать один общий метакритерий.

Способы:

· Суперкритерий (свертка): ~K = a1K1 + a2K2 + … + akKk. Недостатки: критерии кореллируют между собой – возникает общая потеря производительности при сильной максимизации некоторых параметров.

· Максимизация одного из параметров со строгим ограничением других ~K = max(Ki) при условии K1 < z1, K2 < z2 … Kk <zk.

· Комбинированный критерий: max(a1K1 + a2K2 + … + anKn) при условии Kp1 < zp1 … Kpt < zpt.

Принцип PDCA (plan-do-check-add):

1. При текущих критериях находим экстремум функции критериев (plan),

2. выполняем работу в течение некоторого небольшого кванта времени (do),

3. проверяем статистику работы на эффективность (check), выполняем,

4. обработку полученных результатов, вносим корректировки (add).

Поддержка аппаратных средств эксплуатации, диагностики и восстановления сбоев (пример: SMART для HDD).

6. Принципы управления процессами, памятью, файлами.

1) Управление процессами:

a. Любой процесс представляется в виде структуры данных (PCB process control block) – предоставление снапшота программы.

b. Наличие взаимосвязанных планировщиков

2) Управление памятью:

a. Виртуализация памяти

b. Файлы подкачки

c. Защита от стороннего доступа

3) Управление файлами и каталогами:

a. Механизм преобразования символьных имен в адреса на HDD/SDD.

b. Механизм управления каталогами

c. Механизм работы с внешними устройствами

Принципы разработки архитектуры современной операционной системы.

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

Принципы разработки архитектуры ОС:

1. модульная организация (независимее модули организации, возможность раздельной перекомпиляции)

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

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

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

5. модули разделяются по резидентности (хотя бы один модуль всегда находится в оперативной памяти, т.е. резидентен; некоторые модули находятся в подкачке или не запущены).

Наши рекомендации