
- •Назначение, эволюция и основные принципы построения
- •Эволюция и основные идеи
- •Пакетный режим
- •Разделение времени и многозадачность
- •Разделение полномочий
- •Реальный масштаб времени
- •Файловые системы и структуры
- •Основные принципы построения ос
- •Основные концепции ос
- •Концепция виртуализации
- •Концепция прерывания
- •Отношения между процессами
- •Синхронизация процессов
- •Обобщенная структура ос
- •Операционная система ms-dos
Обобщенная структура ос
Операционная система представляет собой объединение множества
системных процессов, реализующих все ее функции.
Основные системные процессы, присутствуют в каждой ОС. Хотя в ря-
де ОС от некоторых типов процессов остались лишь одни следы, а в дру-
гих ОС те же системные процессы представлены явно.
Пользовательские
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│Процесс 1│ │Процесс 1│ │Процесс 1│ ...│Процесс 1│
└────────┬┘ └─────┬───┘ └────────┬┘ └────────┬┘
│ │ │ │
╔═ ═ ═ ═ ═ ═ ═ ═│═ ═ ═ ═ │═ ═ ═ ═ ═ ═ ═ │═ ═ ═ ═ ═ ═ ═ │═ ═ ═╗
║ ────────┴────────┴──┬───────────┴─┬─┬─────┬────┴─
│ │ │ ┌─┴───────┐ ║
║ │ │ │...│Процесс M│
ОС ╔═════════╧══════════╗ │┌┴───┴────┐────┘ ║
║ ║ Система управления ║ ┌┴┴───────┐2│
║ процессами ║ │Процесс 1│─┘ ║
║ ╚═══════════╤════════╝ └─────────┘Системные
┌────────────┬┴───────────────┐ ║
║╔══════════════╧════╗╔══════┴═══════════╗╔═══╧══════════════╗
║Система управления ║║Система управления║║Система управления║║
║║оперативной памятью║║ ресурсами ║║ файлами ║
╚══════════════╤════╝╚════════╤═════════╝╚═══╤══════════════╝║
║ └────────────┬─┴──────────────┘
╔══════════╧═════════╗ ║
║ ║ Система управления ║
║ вводом/выводом ║ ║
║ ╚═╤═╤═╤═╤═╤═╤═╤═╤═╤═╤╝
│ │ │ │ │ │ │ │ │ │ ║
╚═ ═ ═ ═ ═ ═ ═ ═ ═ ═│═│═│═│═│═│═│═│═│═│ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═ ═╝
┌─────────────────┴─┴─┴─┴─┴─┴─┴─┴─┴─┴────────────────┐
│ Аппаратные средства вычислительной системы. │
└────────────────────────────────────────────────────┘
ОСНОВНЫЕ КОМПОНЕНТЫ ОС
1.СИСТЕМА УПРАВЛЕНИЯ ПРОЦЕССАМИ или ИСПОЛНИТЕЛЬ.
Основной функцией исполнителя является диспетчеризация и коорди-
нация работы системных и пользовательских процессов ,с целью обеспече-
ния эффективного решение задач, возложенных на ВС.
Реализуется как подсистема ядра ОС.
2.СИСТЕМА УПРАВЛЕНИЯ ОПЕРАТИВНОЙ ПАМЯТЬЮ
Основные функции:
- динамическое распределение оперативной памяти для процессов или
заданий;
- оптимизирующая диспетчеризация запросов к памяти.
Реализуется как подсистема ядра ОС.
- 2 -
3.СИСТЕМА УПРАВЛЕНИЯ РЕСУРСАМИ.
Реализует функции:
- распределение активных и пассивных ресурсов;
- создание и уничтожение ресурсов;
- виртуализация ресурсов;
- управление синхронизацией и тупиковыми ситуациями;
- учет и контроль работоспособности твердых ресурсов;
- реконфигурации системы ресурсов.
4.СИСТЕМА УПРАВЛЕНИЯ ФАЙЛАМИ (или УПРАВЛЕНИЯ ДАННЫМИ)
Файл представляет собой определенную организацию данных. В про-
цессе выполнения заданий файлы создаются, уничтожаются, перемещаются,
преобразуются и т.п. Во многих вычислительных системах эти операции
осуществляются средствами специальных системных процессов управления
файлами.
5.СИСТЕМА УПРАВЛЕНИЯ ВВОДОМ - ВЫВОДОМ.
Представляет собой -совокупность служебных программ управления
механизмами ввода-вывода (драйверов) вместе со служебными программами
восстановления после сбоев и программами реализующими информационное
взаимодействие по операциям ввода-вывода с функциональными процессами.
Различная скорость работы устройств ВС, а также переменная или
неопределенная длина читаемых или записываемых данных на этих устройс-
твах, приводит к необходимости выделения специальных коммуникационных
областей в памяти, называемых буферами. Управление процедурами буфери-
зации может осуществляться или как часть общего процесса управления
вводом-выводом, или как функция процессов управления памятью.
ОСНОВНЫЕ ФУНКЦИИ ОС
1.Управление заданиями
Для выполнения каждого задания (дискретного набора задач, пред-
назначенных для выполнения) выделяется часть ресурсов ВС. Функция уп-
равления заданиями состоит в активизации требуемой последовательности
различных процессов, участвующих в выполнении задания.
2.Управление приоритетами.
Поскольку ресурсы системы ограничены для пользователей, то долж-
на быть установлена определенная система приоритетов, которая приобре-
тает особую важность в периоды пиковой загрузки. Приоритет задания мо-
жет меняться от момента к моменту. Манипуляции с такими показателями
как срочность, своевременность, изменяющиеся приоритеты составляют ос-
новное содержание работы ИСПОЛНИТЕЛЯ.
Наряду с приоритетами пользовательских процессов, существуют при-
оритеты системных процессов. При выполнении некоторого задания, в за-
висимости от того что делается в данный момент, приоритет процессов
может изменятся.
- 3 -
(Например: обработка прерываний, операции с дисками, вычисления
различной срочности). Приоритет определяет очередность предоставления
некоторого ресурса (центрального процессора).
3.Обеспечение безопасности.
Показатель власти определяет каким процессам (пользовательским и
системным) разрешено модифицировать те или иные файлы,изменять пара-
метры тем или иным процессам, в том числе и приоритеты процессов.
Власть это право на выполнение действий, результаты которых влияют на
характеристики системы.
Власть может быть автократической (самодержавие), демократической
или иерархической, постоянной или переменной. Власть может передавать-
ся, обходиться и отбираться. В вычислительных системах власть означает
тоже самое , что и в обществе людей.
Назначение средств безопасности - исключить нарушение власти, как
случайные так и преднамеренные. Требование безопасности может быть
внешним, то есть от пользователя, как в случае защиты файла от несанк-
ционированного доступа (секретность), так и внутренним, то есть дейс-
твовать в качестве защиты от дефектов ( ошибок) программ и данных.
4.Статистический анализ и учет
Изменение параметров процессов ( приоритета, периода запуска,
условий запуска и т.п.), осуществляется системными программами, либо
могут быть измерены этими же средствами (время выполнения процесса,
количество передаваемых данных по каналу связи и т.п.).
Системная (операционная) статистика собирается с целью определе-
ния требуемых изменений в системе во время ее рабочего функционирова-
ния или для подготовки новых технических требований для дальнейшей
модернизации системы или создания новой системы. (жизненные циклы).
Собранные статистические данные обрабатываются специальным про-
цессом статистики или же встроенными программами основного исполнителя
(диспетчера, функционального монитора)
ВС коллективного пользования, требуют введения процедур учета
использованных ресурсов системы. Результаты такого учета позволяют
правильно(справедливо) разделить(распределить) затраты на ее эксплуа-
тацию, то есть пропорционально степени использования. Функция учета во
многом перекрывается функцией контроля и сбора статистики.
5.Связь с оператором
ВС всегда находится под контролем и управлением человека-операто-
ра.При этом, несмотря на относительную медлительность оператора по
сравнению с машиной, неизбежные ошибки оператора, а иногда умышленно
недопустимые действия со стороны пользователей,
ВС должна выжить и продолжать поддерживать связь с оператором с
помощью имеющимися у нее программных и аппаратных средств.
6.Обслуживание
Как бы не были велики наши старания по проектированию ВС, очень
мала вероятность того,что в ходе эксплуатации системы не возникнет не-
- 4 -
обходимость в исправлении обнаруженных дефектов, добавлении новых опе-
раций или функций и т.п. В системах,не допускающих полное выключение
в процессе внесения подобных изменений (ПВО, резервирование биле-
тов),создаются для этих целей специальные процессы обслуживания.Эти
процессы обслуживания позволяют вносить изменения в реальных условиях
эксплуатации ВС.
7.Уаравление очередями
Очереди являются средством с помощью которого обслуживание зада-
ния передается от одного процесса к следующему.При этом очередями не-
обходимо управлять, осуществлять их обслуживание, выделять им необхо-
димые блоки памяти, контролировать их переполнение и т.п. Все это и
составляет функцию управления очередями.
8.Обслуживание связи
Обслуживание связи по существу является управлением вводом-выво-
дом, носящим некоторые специфические особенности. В некоторых ВС
управление связью осуществляется специально выделенными процессами.
9.Жизнеспособность
В любой вычислительной системе могут возникать отказы. задача
процесса обеспечения жизнеспособности состоит в том, чтобы при возник-
новении различных отказов(устройств или программ), поддерживать рабо-
чие характеристики ВС на максимально возможном уровне.
СИСТЕМА УПРАВЛЕНИЯ ДАННЫМИ (ФАЙЛОВАЯ СИСТЕМА)
Фалом называется обособленный и поименованный информационный объ-
ект, имеющий определенную внутреннюю структуру.
Файл является единицей хранения данных во внешней памяти.
Файловая система представляет собой интерфейс между программными
процессами и файлами.
Назначение ФС - предоставление системным и пользовательским про-
цессам комплекса услуг по управлению данными, хранимыми во внешней па-
мяти.
Информация, хранимая в файле может быть представлена на логичес-
ком и физическом уровне.
Физический уровень определяет реальное размещение файла на конк-
ретных физических элементах внешнего запоминающего устройства. При
этом файл рассматривается как некоторая конечная непрерывная последо-
вательность физических единиц хранения (байт, слов, и т.п.). Логичес-
кая структура данных в файле при этом игнорируется.
Логический уровень определяет внутреннюю структуру данных , хра-
нимых в файле. При этом файл рассматривается как некоторый массив,
структурированный под задачи пользователя этого файла. На этом уровне
абстрагируются от физической структуры файла и размещения его состав-
ных частей во внешней памяти.
ФС представляет собой виртуальную подсистему управления вводом вы-
водом. Строится на базе существующей системы управления вводом-выводом
с использованием специальных программно - аппаратных средств и специ-
альных информационных структур.
Программная часть ФС должна содержать следующие компоненты:
1.Средства взаимодействия с процессами пользователей. С помощью
этих средств ФС обеспечивает прием и интерпретацию запросов от пользо-
вателей на обработку файлов, а так же сообщает пользователям о резуль-
татах выполненной обработки.
2.Средства, реализующие методы доступа к файлу в целом и к его
внутренним составным элементам.
3.Средства учета и распределения внешней памяти для хранения фай-
лов и его составных частей
Основные типы логических структур данных
1.Последовательная .(РИС)
Файл рассматривается как одномерный массив, состоящий из элемен-
тов, называемых логическими записями (или блоками).
Длинна логической записи может быть как постоянной так и перемен-
ной и идентифицируется в составе файла своим порядковым номером.
Для организации доступа к данным в файле с последовательной орга-
низацией достаточно определить один указатель на текущую обрабатывае-
мую запись.
К последовательному файлу можно получить прямой или последова-
тельный доступ.
┌──────────────────┐───┬──
│ Запись 1 │ %
│ │ │
├──────────────────┤ │ Указатель на i-ю запись.
│ Запись 2 │ │ (смещение от начала файла
├──────────────────┤ │ до начала записи)
│ ... │ ^
├──────────────────┼───┴──
│ Запись i │
│ │
├──────────────────┤
│ ... │
├──────────────────┤
│ Запись n │
└──────────────────┘
При последовательном доступе элементы данных в файле помещают
один за другим, не зависимо от их длинны, разделяя эти элементы симво-
лами "разделителями" ( стандартно: сначала - ASCII 13 "возврат карет-
ки", затем - ASCII 10 "перевод строки").
Поскольку элементы данных могут иметь разную длину, то невозможно
заранее определить, где в файле находится конкретный элемент. Поэтому,
для того чтобы найти нужный элемент, программа должна читать файл, на-
чиная с начала и отсчитывая нужное количество символов разделителей.
При прямом доступа в файле заранее отводят фиксированное место
под каждый элемент данных. Если какой-то элемент данных не занимает
все отведенное пространство, то остаток заполняется пробелами. При
этом записи могут писаться в любом порядке по конкретному номеру.
При работе с файлами методом прямого доступа программа должна са-
ма вычислять значение указателя (смещения)требуемой записи.
(Например: при фиксированной длине записи смещение равно произведению
номера записи на фиксированную длину записи.)
2.Индексно-последовательная. (РИС)
Область индексов Основная область.
┌────────┬──────────┐ ╔════╤══════╤════╤══════╤═══╤════╤══════╗
│ A │Указатель ├──6║Ключ│Запись│Ключ│Запись│...│Ключ│Запись║
├────────┼──────────┤ ║ i │ │i+1 │ │ │ А │ ║
│ F │Указатель ├─┐ ╟────┼──────┼────┼──────┼───┼────┼──────╢
├────────┼──────────┤ │ ║Ключ│Запись│Ключ│Запись│...│Ключ│Запись║
│ ... │ ... │ └6║ j │ │j+1 │ │ │ F │ ║
├────────┼──────────┤ ╟────┴──────┴────┴──────┴───┴────┴──────╢
│ L │Указатель ├─┐ ║ ... ║
├────────┼──────────┤ │ ╟────┬──────┬────┬──────┬───┬────┬──────╢
│ ... │ ... │ └6║Ключ│Запись│Ключ│Запись│...│Ключ│Запись║
├────────┼──────────┤ ║ k │ │k+1 │ │ │ L │ ║
│ Q │Указатель ├─┐ ╟────┴──────┴────┴──────┴───┴────┴──────╢
└────────┴──────────┘ │ ║ ... ║
┌───────────────────┐ │ ║ ║
│ Область │ │ ╟────┬──────┬────┬──────┬───┬────┬──────╢
│ переполнения │ └6║Ключ│Запись│Ключ│Запись│...│Ключ│Запись║
│ │ ║ p │ │p+1 │ │ │ Q │ ║
└───────────────────┘ ╚════╧══════╧════╧══════╧═══╧════╧══════╝
Каждая логическая запись содержит ключ - некоторый идентификаци-
онный код. Все записи в файле упорядочены по значению ключей (напри-
мер: если ключ - двухсимвольное поле, то упорядочение может проводится
в алфавитном порядке).
Множество записей, ключи которых расположены подряд, образует не-
которую группу, идентифицируемую например по наибольшему значению клю-
ча в группе.
Каждая из этих групп хранится в некоторой локальной области внеш-
ней памяти. Для поиска группы строится специальная область индекса,
каждый элемент которой соответствует определенной группе из основной
области и содержит идентифицирующий группу ключ и указатель на началь-
ную запись в группе.
Для доступа к некоторой записи с определенным ключом, сначала об-
ращаются к области индекса файла и определить группу записей, в диапа-
зон значений ключей которой входит искомый ключ. Определив начало тре-
буемой группы, последовательным анализом ключей записей в этой группе
находят требуемую запись.
3.Библиотечная. (рис)
Предполагает две области: учетную и информационную.
В информационной области находится совокупность последовательных
наборов данных, каждый из которых имеет собственное имя в составе дан-
ного файла. Эти наборы добавляются по мере поступления и никак в общем
случае не упорядочены.
В учетной области находится каталог библиотеки, каждый элемент
которого содержит имя и расположение соответствующего набора данных из
информационной области. Все элементы каталога упорядочены в алфавитном
порядке следования имен наборов.
Любое обращение к каждому разделу выполняется через каталог.
┌────────┬──────────┐ ┌──────────────────┐
│ A │Указатель ├────┐┌─6│ Набор Q │
├────────┼──────────┤ ││ ├──────────────────┤
│ B │Указатель ├──┐ ││ │ Набор L │
├────────┼──────────┤ ┌┼─┼┼─6│ │
│ ... │ ... │ ││ ││ ├──────────────────┤
├────────┼──────────┤ ││ ││ │ ... │
│ L │Указатель ├─┘│ ││ ├──────────────────┤
├────────┼──────────┤ │ └┼─6│ Набор A │
│ ... │ ... │ │ │ │ │
├────────┼──────────┤ │ │ │ │
│ Q │Указатель ├──┼──┘ ├──────────────────┤
└────────┴──────────┘ │ │ ... │
│ ├──────────────────┤
└────6│ Набор B │
│ │
└──────────────────┘