Слайд 1Свойства операционных систем
Свойства, которыми обладают операционные системы, делятся на две группы
– машинно-независимые и машинно-зависимые.
Машинно-независимые свойства характеризуют возможности ОС:
по управлению вычислительными ресурсами,
особенности организации вычислительных процессов,
способы организации файловых структур.
К машинно-зависимым свойствам современных ОС относят:
многозадачность,
возможность одновременной работы нескольких пользователей,
возможность многопроцессорной обработки данных,
возможность распараллеливания вычислений и многие другие.
Слайд 2Тема 2. Функции операционных систем
Вопрос 1. Машинно-зависимые свойства операционных систем.
Процессы и потоки
Устройства ввода-вывода. Прерывания.
Виртуальная память.
Вопрос 2. Машинно-независимые свойства операционных систем.
Файловая система.
Управление ресурсами.
Планирование заданий.
Слайд 3Тема 2. Функции операционных систем
Вопрос 1. Машинно-зависимые свойства операционных систем.
Процессы и потоки
Процессом называют программу, которая в данный момент выполняется вычислительной машиной.
Каждому процессу выделяется отдельный, изолированный от других, сегмент памяти, который называют адресным пространством процесса.
В адресном пространстве процесса, кроме самого процесса, также хранятся входные и выходные данные процесса.
Слайд 4 В многозадачной ОС все процессы выполняются по очереди таким образом, что
в каждый момент времени выполняется только один процесс.
Для обеспечения корректной работы процессов необходимо отслеживать состояние каждого процесса, чтобы возобновлять его выполнение с того момента, где в последний раз процесс был остановлен.
Слайд 5 Таблица процессов – массив структур данных, записями которого является информация по
каждому процессу, запущенному в системе.
Таблица процессов представляется обычно в виде дерева, потому что большинство процессов, выполняемых на машине, способно порождать дочерние процессы для решения вспомогательных задач, и для каждого процесса необходимо учитывать не только его собственное состояние, но и состояние всех связанных с ним процессов.
Слайд 6 Каждому процессу назначается два идентификатора:
первый из которых указывает на сам процесс,
второй – на процесс, его породивший.
Традиционно, при загрузке ОС запускается некий базовый процесс, который порождает все прочие процессы – как системные, так и пользовательские.
Этот процесс реализует главную функцию ОС – контроль вычислительных ресурсов.
В современных версиях Windows этот процесс называется «System Idle».
Слайд 7 Задача планирования процессов заключается в отслеживании их состояния и использования ими
вычислительных ресурсов.
Вычислительный ресурс в каждый конкретный момент времени может быть задействован только одним процессом.
Если несколько процессов должны использовать один и тот же ресурс, то они используют его по очереди.
Очередность использования определяется приоритетом процесса.
Чем выше приоритет процесса, тем чаще он будет получать доступ к требуемым ресурсам.
Слайд 8 Каждый процесс представлен как минимум одним потоком.
Потоком называют последовательность исполняемых
команд.
В рамках одного и того же процесса может выполняться несколько разных потоков. Использование нескольких потоков позволяет сократить время исполнения программы. Такой подход удобен, если этапы решения задачи, для которой создавалась программа, можно выполнять параллельно.
Потоки обладают некоторыми свойствами процессов.
В отличие от процессов, потоки существуют в одном и том же адресном пространстве и могут одновременно работать с выделенными процессу ресурсами.
Слайд 9Устройства ввода-вывода. Прерывания.
Устройства ввода-вывода делятся на две категории – блочные и
символьные.
Блочное устройство оперирует блоками данных, размер которых варьируется в зависимости от устройства. Каждый блок в блочном устройстве имеет собственный адрес. Примером блочного устройства может служить любой накопитель. Одним из наиболее важных свойств блочного устройства является возможность независимого доступа к блокам данных.
Символьные устройства оперируют потоками данных, не имеющими структуры или адреса. Большинство устройств являются символьными.
Слайд 10 Устройство ввода-вывода состоит из двух частей – само устройство и его
контроллер.
Контроллер осуществляет управление работой устройства на физическом уровне.
Контроллер выполняется в виде набора микросхем и либо совмещен с устройством, либо установлен на системной плате.
Если контроллер установлен на системной плате, то обычно он позволяет работать с двумя и более устройствами данного типа.
Слайд 11 Задачей контроллера является преобразование потока битов в блок байтов.
Считываемые биты
накапливаются в памяти контроллера, которая называется буфером данных, и затем в виде блоков байтов передаются в оперативную память.
Каждый контроллер, помимо буфера, имеет также несколько регистров, посредством которых процессор может управлять работой контроллера.
Слайд 12Два альтернативных способа управления контроллерами устройствами.
Первый способ заключается в том,
что каждому регистру назначается уникальный номер порта ввода-вывода. При таком способе адресное пространство оперативной памяти не пересекается с адресным пространством устройств ввода-вывода.
Второй способ заключается в выделении каждому регистру отдельного сегмента оперативной памяти.
Слайд 13Преимущество второго способа:
для программирования работы устройств не нужно прибегать к машинным
языкам,
при таком подходе для защиты от несанкционированного доступа к устройствам достаточно исключить часть адресного пространства устройств ввода-вывода из блока адресов памяти, доступных пользователям.
Слайд 14Недостатком этого подхода в том, что для его реализации необходимо использование
более сложной аппаратуры.
Повышение сложности аппаратуры обуславливается тем фактором, что некоторые приемы, используемые для ускорения работы с памятью, могут привести к катастрофическим последствиям при использовании их с устройствами ввода-вывода.
Слайд 15 DMA предназначен для ускорения обмена данными между процессором и устройствами.
Контроллер DMA обеспечивает чтение данных с устройства в память и запись данных из памяти на устройство.
Механизм прямого доступа к памяти (DMA)
Слайд 16 DMA работает следующим образом:
Процессор программирует контроллер DMA на выполнение необходимой операции,
сообщая контроллеру, с каким устройством необходимо выполнить требуемую операцию, и по какому адресу в памяти размещаются данные.
Пока контроллер выполняет операцию, процессор может выполнять другие процессы.
Когда контроллер DMA завершает порученную ему задачу, он посылает процессору сигнал о том, что операция завершена, после чего процессор приостанавливает выполнение текущей задачи, и начинает выполнять тот процесс, который затребовал ввод-вывод данных.
Слайд 17Прерывание – это сигнал процессору о том, что ему необходимо прервать
выполнение текущего процесса и вызвать обработчик прерывания.
Обработчик прерывания – это программа, которую процессор должен выполнить при возникновении прерывания. Обработчик прерывания является частью драйвера устройства.
Драйвер устройства - обеспечивает взаимодействие устройства с операционной системой.
Слайд 18Виртуальная память.
Виртуальной памятью называют такой метод работы с памятью, когда в
оперативной памяти хранятся только те части программы, которые используются в конкретный момент времени.
Все прочие части программы, равно как и данные, хранятся на диске.
Этот способ организации памяти позволяет выполнять программы, чей суммарный объем вместе с данными может превышать объем доступной физической памяти.
Слайд 19Механизм страничной организации памяти.
При работе с виртуальной памятью вся доступная
память разбивается на страничные блоки фиксированного объема.
При обращении к какой-либо ячейке памяти запрос сначала передается диспетчеру памяти, который преобразовывает виртуальный адрес в реальный, и передает полученный адрес на шину, который затем обрабатывается надлежащим образом.
Объем виртуальной памяти, доступной программам, выбирается операционной системой автоматически.
Слайд 20Вопрос 2. Машинно-независимые свойства операционных систем
Файловая система.
Файловая система - способ
организации данных на носителе.
Файл - именованная область данных на носителе, хранящая некоторый массив информации.
Размер файла - объем некоторого пространства на носителе, которое занимает файл.
Тип хранимых данных - Например, текстовые файлы, программы, аудиофайлы, видеофайлы, программные модули, служебные файлы и многие другие.
Атрибуты файла - характеристики файла в рамках конкретной файловой системы. К атрибутам относят дату и время создания файла, имя и тип файла, права доступа к файлу.
Слайд 21Каталог - массив файлов, сгруппированных по какому-либо признаку.
Каталог, как и
любой другой файл, имеет собственное имя.
Именем конечного файла при таком способе организации файловой структуры является полный путь до каталога, в котором хранится файл плюс само имя файла.
Ярлык хранит путь к файлу и при вызове открывает сам файл. Ярлыки используются для ускорения доступа к файлам или во избежание ненужного дублирования данных.
Слайд 22Стандарты на файловую систему
В зависимости от типа носителя выделяют различные файловые
системы (ФС).
К примеру, для дисковых и flash накопителей используются файловые системы FAT, NTFS, UFS.
А для компакт-дисков принято использовать файловые системы ISO9660 или UDF.
Требования к хранению данных.
ФС дисковых накопителей должны обеспечивать механизмы обеспечения целостности данных в условиях постоянного выполнения операций чтения-записи данных сравнительно большим количеством процессов.
ФС для компакт-дисков требуется обеспечение простого доступа к данным на большом количестве различного оборудования, в том числе и бытового.
Слайд 23Операция подготовки носителя к использованию называется разметкой носителя.
При разметке носителя
определяется количество и размеры областей, которые в дальнейшем будут использованы для хранения файлов.
Традиционно, носитель называется физическим диском.
Каждая область, сформированная при разметке носителя, называется логическим диском.
Каждый логический диск получает имя, уникальное для данной операционной системы.
Каждый физический диск имеет, как минимум, один логический диск.
Слайд 24Операция по подготовке логического диска к использованию файловой системы называется форматированием
диска.
При форматировании, логический диск разбивается на блоки фиксированного размера, именуемые кластерами.
Размер кластера зависит от конкретной файловой системы и может варьироваться от 512 байт до нескольких килобайт.
В зависимости от емкости логического диска, операционная система выбирает размер кластера таким образом, чтобы свести к минимуму потери дискового пространства, сохраняя при этом некоторый уровень быстродействия операций чтения-записи данных.
Слайд 25Управление ресурсами.
Две задачи:
планирование ресурса – определение, кому, когда и в
каком количестве, необходимо выделить данный ресурс;
отслеживание состояния ресурса -поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов, какое количество ресурса уже распределено.
Две категории — выгружаемые и невыгружаемые ресурсы.
Ресурс считается выгружаемым, если его можно во время работы процесса-владельца передать другому процессу без ущерба для процесса-владельца.
Память является выгружаемым ресурсом.
Устройство записи компакт-дисков является невыгружаемым ресурсом.
Слайд 26Взаимоблокировкой называется ситуация, когда одни процессы блокируют доступ другим процессам к
различным ресурсам.
Она обусловлена тем, что в каждый конкретный момент времени один и тот же ресурс может быть использован только в рамках одной задачи.
Это особенно заметно при использовании периферийного оборудования, к примеру, в случае сканирования или печати документа, или же при работе с файловой системой.
Взаимоблокировка выгружаемых ресурсов разрешается путем перераспределения ресурсов между процессами.
Взаимоблокировка невыгружаемых ресурсов может быть решена путем блокировки процесса до тех пор, пока не освободится запрошенный ресурс.
Слайд 27Использование ресурса можно разделить на три этапа –
запрос, использование и
возврат ресурса.
Для каждого их этих этапов должны существовать определенные механизмы защиты процессов от взаимоблокировки.
Если процесс запрашивает ресурс, который в данный момент уже используется другим процессом, то процесс попадает в короткий цикл – запрос ресурса, отказ, ожидание.
В одних системах существует специальный системный вызов, который позволяет процессам в явном виде запрашивать использование ресурса.
В других системах каждому ресурсу сопоставлен файл или канал, посредством которого процесс может использовать ресурс.
Слайд 28Для возникновения взаимоблокировки должны выполняться ВСЕ следующие условия:
Взаимное исключение – каждый
ресурс либо доступен, либо используется одним процессом;
Удержание и ожидание – процесс, уже получивший какой-либо ресурс и, не освобождая его, запрашивает новый ресурс;
Отсутствие принудительной выгрузки ресурса – отсутствует механизм принудительного освобождения ресурсов у занимающих их процессов;
Циклическое ожидание – каждый из процессов в системе ожидает освобождения ресурса, занятого другим процессом.
Слайд 29При решении данной проблемы может использоваться любой из следующих подходов:
игнорирование
проблемы,
реакция на возникшую взаимоблокировку,
аккуратное управление ресурсами,
структурное опровержение каждого из условий для предотвращения возникновения взаимоблокировок.
Слайд 30Первый подход применим в том случае, если при решаемых задачах вероятность
возникновения взаимоблокировки минимальна либо невозможна.
При втором подходе система не предотвращает взаимоблокировки, но производит мониторинг всех действий, выполняемых системой, чтобы после возникновения взаимоблокировки откатить систему к моменту ее возникновения и скорректировать работу системы таким образом, чтобы избежать повторения ситуации в дальнейшем.
Слайд 31Предотвращение взаимоблокировок возможно, когда вероятность каждого из необходимых условий сведена к
минимуму.
Первое условие – принудительное ограничение числа процессов-претендентов на каждый ресурс.
Второе условие блокируется, если обязать процессы резервировать все ресурсы перед выполнением. Если какой-либо ресурс недоступен, процессу отказывают в исполнении до тех пор, пока ресурс не освободится.
Третье условие блокировке не поддается, потому что может привести к самым непредсказуемым последствиям, вплоть до поломки оборудования.
Четвертое условие поддается блокировке путем определения порядка использования ресурсов процессами во избежание заведомо тупиковых ситуаций.
Слайд 32Планирование заданий
Заданием называют задачу, которая решается на данной аппаратной платформе при
помощи некоторого приложения.
В промышленных системах, роль ОС исполняет само приложение, решающее задачу. И в этом случае, проблема планирования заданий не возникает в принципе, ибо все вычислительные ресурсы системы направлены только на решение этой задачи с максимальной эффективностью.
В традиционных системах – одновременного решения требует множество задач, каждая из которых решается не одной программой, а целым программным комплексом. Грубо говоря, если в рамках решения задачи требуется использование параллельных вычислений, то независимо от того, сколько процессоров установлено на данный момент в системе, эта необходимость будет реализована тем или иным методом, в зависимости от механизма планирования процессов, который может быть реализован на данной аппаратной платформе.
Слайд 33Механизм планирования заданий определяет облик ОС в целом, ее парадигму.
Механизм
планирования процессов отвечает за работу ОС на конкретном аппаратном обеспечении и его тип определяется на этапе установки ОС на данную аппаратную платформу.
Задача планирования заданий, сводится к необходимости планирования:
в какой момент времени,
какому процессу, отвечающему за некоторый этап решения задачи,
какое количество процессорного времени необходимо выделить.
Слайд 34Существует два класса ОС, кардинально различающихся по подходу к задаче планирования
заданий:
ОС разделения времени,
ОС реального времени.
Системы первого класса каждому заданию выделяют столько времени, чтобы создать и поддерживать иллюзию монопольной работы в системе. К данному классу относятся ОС для домашнего использования или для рабочих станций.
Системы второго класса спроектированы для решения задач, для которых существует жесткое ограничение на время их решения. К примеру, задача управления транспортными потоками города.
Слайд 35Таким образом, можно сделать заключение, что:
на этапе планирования заданий ОС
определяет, на какой этап решения задачи сколько процессорного времени выделять;
на этапе планирования процессов – сколько и каких ресурсов выделять конкретным процессам в соответствии с приоритетом заданий и самих процессов;
на этапе планирования ресурсов – как спланировать использование ресурсов с учетом потребностей всех процессов с максимальной эффективностью.