
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Самарский Государственный Аэрокосмический Университет
имени академика С. П. Королёва
Факультет информатики
Кафедра ИСТ
С. В. Востокин
“Операционные Системы”
Конспект лекций
Самара 2008
Лекция №1
Основные понятия
ОС - это ПО, выполняющее две функции:
Обеспечение пользователю/программисту удобства посредством представленных ему расширений системы.
Повышение эффективности использования компьютера путем рационального управления его ресурсами.
Пример: как осуществить ввод/вывод данных с floppy – диска? Существует 16 команд. Каждая требует 13 параметров (№ блока на диске/№ сектора на дорожке). Когда операция завершается, контроллер возвращает 23 возможных значения, которые требуется анализировать.
Расширенная машина при операции вода/вывода: в расширенной машине при работе с диском программисту достаточно представить его в виде набора файлов, каждый из которых имеет вид. Работа с файлами заключается в открытии/выполнении/чтении/записи/закрытии, т.е. введенная орбитрация скрывает сложности аппаратуры и предоставляет возможность удобной работы с физическими устройствами.
Другие примеры: обработка прерываний, управление памятью, управление процессами, управление вводом/выводом.
Рассмотренная машина, предоставленная ОС, удобнее в использование, чем реальная аппаратура, лежащая в ее основе.
В соответствии с этим подходом ОС – это механизм, управляющий всеми частями системы: процессором, памятью, таймерами, дисками.
Управление ресурсами включает в себя две задачи:
Планирование ресурсов – определение кому, когда, в каком количестве нужно выделить данный ресурс.
Мониторинг (отслеживание состояния ресурса) – поддержание оперативной информации о том, занят ли или свободен ресурс, а для делимых – какое количество ресурса распределено, а какое свободно.
Классификация ОС
В зависимости от используемого алгоритма ОС можно разделить по следующим классификационным признакам:
Многозадачность:
- однозначные (MS DOS);
- многозадачные (OCEC) (OS/2, UNIX, Windows 95);
Однозадачные ОС выполняют функцию предоставления центральной машины.
По числу пользователей
- однопользовательские (MS DOS);
- многопользовательские (UNIX, WinNT);
Главное отличие многопользовательских систем – защита информации от других пользователей.
По типу многозадачности:
- не вытесняющая многозадачность (Windows 3,х);
- вытесняющая многозадачность (Windows 95, WinNT);
- многонитиевая обработка (Windows 95);
Нити – единицы исполнения, которые могут взаимодействовать через общую разделяющую память.
Особенности управления памятью, файлами, устройствами ввода/вывода;
Методы реализации сетевых функций (каким образом реализуется справочная информации о сетевых ресурсах, каким образом реализуется адресация, как обеспечивается прозрачность доступа);
По аппаратным средствам:
- микрокомпьютеры;
- миникомпьютеры;
- мэйнфреймы;
- кластерные системы;
Мобильные OC – UNIX;
Для многозадачных ОС:
– системы пакетной обработки (OCEC);
Главный критерий эффективности систем полетной обработки является обеспечение максимальной пропускной способности системы, т.е. максимально полная загрузка вычисления аппарата. В начале работы системы формируется пакет заданий, а каждое задание содержит требования к системе ресурсов (вычисление и ввод/вывод). Из этого пакета формируется мультипрограммная смесь (множество одновременных выполняемых задач). Выгода в том, что если в мультипрограммной смеси одновременно присутствуют задача с индексным вводом/выводом и вычисляющая задача, то достигается наиболее полная загрузка системы. Выбор нового задания для выполнения, от текущей внутренней ситуации, складывается в системе, т. о. невозможно гарантировать выполнение некоторого задания в течение определенного интервала времени. Переключение на другую задачу происходит только в случае, если задача сама отказывается от процессора и выполнения ввода/вывода.
– системы разделения времени:
Устраняет описанный недостаток пакетных систем. Каждому пользователю системы разделения времени предоставляет терминал, с которым он может вести диалог. Системы разделения времени обладают меньшей пропускной способностью, т.к. выполняется каждая запущенная задача, а не та, которая выдана системе.
– системы реального времени;
Применяется для управления техническими объектами. В них существует предельно допустимое время, в течение которого должна быть выполнена программа управления объектом. Время называется временим реакции, а свойство – реактивностью. QNX – вариант UNIX, который предельно реагирует.
ОС могут совмещать в себе свойства систем различного типа.
Существуют следующие особенности структуры организации ОС:
– способы построения ядра;
– использование ООП;
– наличие нескольких прикладных сред;
– распределенных характер;
Лекция №2
Современные концепции и технологии проектирования ОС
Требования и ОС:
Расширяемость
Код должен быть написан таким образом, что бы в него можно было внести дополнительные изменения.
Средства: - модульная архитектура;
- использование объектов;
- архитектура клиент-сервер (микроядро);
- RPC (удаленный вызов процедур);
- загружаемые драйверы устройств;
Переносимость
Код должен переноситься с процессора одного типа на процессор другого типа и соответственно, с аппаратуры одного типа на амплитуду другого типа. За счет этого обеспечивается преемственность.
Средства: - использование стандартизированного языка высокого уровня
(обычно С);
- учет физического окружения (32/16);
- исключение участков кода, взаимодействие с аппаратным окружением;
Надежность/отказоустойчивость
Система должна быть защищена как от внутренних, так и от внешних ошибок, ее действия должны быть предсказуемы, а прикладные процессы не должны иметь возможность наносить вред как самой ОС, так и другим процессам.
Совместимость
ОС должна иметь средства для выполнения программ.
- программная эмуляция;
- прикладная среда;
значимая часть времени (~30%) программa выполняется в режиме ядра, выполняя функции ОС. Для этого требуется перекомпилировать код.
Средства: - стандартизация (ст. POSIX);
- интерфейс переносимой ОС, на базе UNIX;
- IEEE 1003.1-88 (перекомпиляция в соответствии с этим стандартом обеспечивает работу на любой UNIX системе)
- LSB – Linux Standard Base.
pthreads – POSIX – библиотека для поточной обработки (работа с нитями, синхронизация).
Безопасность
Правила безопасности определяют такие свойства, как:
- защита ресурсов одного пользователя от других;
- установление квот по ресурсам для предотвращения захвата некоторым пользователем всех системных ресурсов.
Основы безопасности заложены стандартом США, который называется «Критерий оценки надежности компьютерных систем», 1983 г.
Безопасной считается такая система, которая посредством специального механизма защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации.
Уровни безопасности: D, C1, C2, B, A.
«D» - система, оценка которой выявила несоответствие требованиям других классов;
«С» - делится на 2 подуровня.
С1 обеспечивает защиту от ошибок пользователей, но не от злого умысла.
С2 обеспечивает более строгий уровень безопасности, на нем должны присутствовать:
Средства секретного входа, обеспечивающие идентификацию пользователя путем ввода логина и пароля.
Избирательный контроль доступа позволяет владельцу ресурса определить , кто имеет доступ к ресурсу и что он с ним может делать. Это достигается путем введения групп пользователей и предоставления им соответствующих прав.
Средства учета и наблюдения, позволяют обнаружить и зафиксировать события, связанные с безопасностью или любые попытки получить доступ, создать или удалить системный ресурс.
Защита памяти. Память инициализируется перед тем, как повторно используется.
На уровне С2 система не защищена от ошибок пользователя, но его поведение может быть проконтролировано по записям, оставленным средствами наблюдения.
«В» гарантирует защиту от ошибочного поведения пользователя.
«А» – самый высокий уровень безопасности, в дополнении ко всем требованиям нижележащих уровней требует формального доказательства соответствия системы заданным критериям безопасности (математическое обоснование корректности способа обеспечения безопасности).
Требует 90% системных ресурсов, что, в конечном итоге, снижает количество приложений, которые используются в системе.
Коммерческие системы обычно используют уровень безопасности С2.
Производительность
Система должна обладать на столько хорошим быстродействием и временем реакции, на сколько это позволяет аппаратная платформа.
Лекция №3
Тенденция в структурном построении ОС