
- •Ос как расширенная машина
- •Ос как система управления ресурсами
- •Особенности алгоритмов управления ресурсами
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •Принцип модульности
- •Принцип особого режима работы
- •Принцип виртуализации
- •Принцип мобильности
- •Принцип совместимости
- •Принцип генерируемости
- •Принцип открытости
- •Принцип обеспечения безопасности вычислений
- •Состояние процессов
- •Бесприоритетная циклическая (карусельная) дисциплина обслуживания
- •Дисциплина обслуживания с относительными приоритетами
- •Дисциплина обслуживания с абсолютными приоритетами
- •V(s): переменная s увеличивается на 1 единым действием. Выборка, наращивание и запоминание не могут быть прерваны. К переменной s нет доступа другим потокам во время выполнения этой операции.
- •Пример монитора Хоара:
- •Методы борьбы с тупиками
- •Предотвращение тупиков
- •Обход тупиков
- •Алгоритм банкира
- •Листинг:
- •Сети Петри
- •Модель пространства состояний системы
- •Методы распределения памяти без использования дискового пространства
- •1 Процессор Pentium позволяет использовать также страницы размером до 4 Мбайт одновременно со страницами объемом 4 Кбайт.
МГУПИ кафедра ПР-7 |
|
Учебник по курсу «Операционные системы» |
|
Покровская Н.В. |
2012г |
|
Компоненты в составе системного программного обеспечения.
Операционная система, ее назначение и функции.
Смысл понятий процесс, ресурс, интерфейс.
Классификация операционных систем.
Основные тенденции в развитии аппаратных и программных средств.
Принципы построения ОС(краткая характеристика).
Сравнение понятий мультипрограммный, мультизадачный, мультипроцессорный и многопользовательский.
Процесс и его отличия от программы. Допустимые состояния процесса.
Классификация процессов. Примеры.
Понятие ресурса, их классификация. Примеры.
Типы программных модулей в ОС.
Концепция виртуализации. Примеры виртуальных ресурсов.
Основные бесприоритетные дисциплины, используемые в обслуживании очередей процессов.
Дисциплина приоритетного обслуживания очереди процессов.
Суть понятий качество диспечеризации и гарантии обслуживания процессов.
Прерывания. Их причины. Последовательность действий по обработке прерываний.
Классификация прерываний по уровням. Зависимость порядка обслуживания от уровня прерываний.
Двухуровневая схема планирования при управлении процессами.
Управление процессами на уровне краткосрочного планирования.
Основные задачи синхронизации. Пример «тупиковой ситуации».
Синхронизация параллельных процессов.
Активное и пассивное состояние ожидания. Примеры.
Примеры использования механизма блокировки памяти при решении задач синхронизации.
Проблема взаимного исключения. Примеры.
Методика использования команды Проверить и Установить для решения задач синхронизации.
Семафоры Дейкстры и их достоинства.
Монитор. Механизм работы монитора Хоара.
Сравнение механизмов семафора и монитора.
Тупик. Методики борьбы с тупиками.
Понятие тупика. Алгоритм для преодоления тупиков.
Недостатки алгоритма банкира.
Направления, в которых проводятся исследования по проблемам тупиков.
Алгоритмы, на основе которых осуществляется распределение ОП.
Общие принципы управления памятью в однопрограммных ОС.
Характеристика принципов распределения памяти статистическими и динамическими разделами. Примеры.
Фрагментация памяти, способы ее уменьшения.
Сегментный способ организации виртуальной памяти.
Страничный способ организации виртуальной памяти.
Сегментно-страничный способ организации виртуальной памяти.
Сравнение преимуществ сегментной и страничной организации памяти.
Задачи, решаемые подсистемой управления вводом\выводом. Основная концепция ее реализации.
Основные функции супервизора ввода\вывода. Буфер и его роль в управлении периферийными устройствами.
Задачи, решаемые системой управления данными и ее связь с системой ввода\вывода.
Операции с файлами, которые должна обеспечивать файловая система.
Компоненты в составе системного программного обеспечения.
Системное программное обеспечение — это набор программ, которые управляют компонентами вычислительной системы, такими как процессор, коммуникационные и периферийные устройства, а также которые предназначены для обеспечения функционирования и работоспособности всей системы. Большинство из них отвечают непосредственно за контроль и объединение в единое целое различных компонентов аппаратного оборудования вычислительной системы. Системное программное обеспечение противопоставляется прикладному программному обеспечению, которое напрямую решает проблемы пользователя. Конкретные виды системного программного обеспечения включают загрузчики, операционные системы, драйверы устройств, инструментальные программные средства, компиляторы, ассемблеры, компоновщики, утилиты.
В частности в состав MS DOS входят следующие основные компоненты.
Подсистема BIOS (Base Input-Output System — базовая подсистема ввода-вывода),
включающая в себя помимо программы POST (Power On Self Test — самотестирование
при включении компьютера) программные модули обработки
прерываний, с помощью которых можно управлять основными контроллерами
на материнской плате компьютера и устройствами ввода-вывода. Эти модули
часто называют обработчиками прерываний. По своей функциональной сути
они представляют собой драйверы. BIOS располагается в постоянном запоминающем
устройстве компьютера. В конечном итоге почти все остальные модули
MS DOS обращаются к BIOS. Если и не напрямую, то через модули более
высокого уровня иерархии.
Модуль расширения BIOS — файл IO.SYS (в других DOS-системах он может
называться иначе, например _BIО.COM).
Основной, или базовый, модуль обработки прерываний DOS — файл MSDOS.SYS.
Именно этот модуль в основном реализует работу с файловой системой.
Командный процессор (интерпретатор команд) — файл C0MMAND.COM.
Утилиты и драйверы, расширяющие возможности системы.
Программа загрузки MS DOS — загрузочная запись (Boot Record, BR), расположенная
на дискете или на жестком диске
Операционная система, ее назначение и функции.
Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом. Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение операционной системе. Частично это связано с тем, что ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него расширенной машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.
Ос как расширенная машина
Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода. Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Даже если не входить в курс реальных проблем программирования ввода-вывода, ясно, что среди программистов нашлось бы не много желающих непосредственно заниматься программированием этих операций. При работе с диском программисту-пользователю достаточно представлять его в виде некоторого набора файлов, каждый из которых имеет имя. Работа с файлом заключается в его открытии, выполнении чтения или записи, а затем в закрытии файла. Вопросы подобные таким, как следует ли при записи использовать усовершенствованную частотную модуляцию или в каком состоянии сейчас находится двигатель механизма перемещения считывающих головок, не должны волновать пользователя. Программа, которая скрывает от программиста все реалии аппаратуры и предоставляет возможность простого, удобного просмотра указанных файлов, чтения или записи - это, конечно, операционная система. Точно также, как ОС ограждает программистов от аппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс, операционная система берет на себя все малоприятные дела, связанные с обработкой прерываний, управлением таймерами и оперативной памятью, а также другие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемая машина, с которой, благодаря операционной системе, теперь может иметь дело пользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура, лежащая в основе этой абстрактной машины.
С этой точки зрения функцией ОС является предоставление пользователю некоторой расширенной или виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину.
Ос как система управления ресурсами
Идея о том, что ОС прежде всего система, обеспечивающая удобный интерфейс пользователям, соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. Современные вычислительные системы состоят из процессоров, памяти, таймеров, дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры, принтеров и других устройств. В соответствии со вторым подходом функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирования. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:
планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;
отслеживание состояния ресурса - то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов - какое количество ресурса уже распределено, а какое свободно.
Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
Смысл понятий процесс, ресурс, интерфейс.
Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами.
Важнейшей функцией операционной системы является организация рационального использования всех аппаратных и программных ресурсов системы. К основным ресурсам могут быть отнесены: процессоры, память, внешние устройства, данные и программы. Располагающая одними и теми же ресурсами, но управляемая различными ОС, вычислительная система может работать с разной степенью эффективности.
Операционная система должна обеспечивать удобный интерфейс не только для прикладных программ, но и для человека, работающего за терминалом. Этот человек может быть конечным пользователем, администратором ОС или программистом.
В ранних операционных системах пакетного режима функции пользовательского интерфейса были сведены к минимуму и не требовали наличия терминала. Команды языка управления заданиями набивались на перфокарты, а результаты выводились на печатающее устройство.
Современные ОС поддерживают развитые функции пользовательского интерфейса для интерактивной работы за терминалами двух типов: алфавитно-цифровыми и графическими.
При работе за алфавитно-цифровым терминалом пользователь имеет в своем распоряжении систему команд, мощность который отражает функциональные возможности данной ОС. Обычно командный язык ОС позволяет запускать и останавливать приложения, выполнять различные операции с файлами и каталогами, получать информацию о состоянии ОС (количество работающих процессов, объем свободного пространства на дисках и т. п.), администрировать систему. Команды могут вводиться не только в интерактивном режиме с терминала, но и считываться из так называемого командного файла, содержащего некоторую последовательность команд.
Программный модуль ОС, ответственный за чтение отдельных команд или же последовательности команд из командного файла, иногда называют командным интерпретатором.
Ввод команды может быть упрощен, если операционная система поддерживает графический пользовательский интерфейс. В этом случае пользователь для выполнения нужного действия с помощью мыши выбирает на экране нужный пункт меню или графический символ.
Классификация операционных систем.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Ниже приведена классификация ОС по нескольким наиболее основным признакам.