
- •Назначение, эволюция и основные принципы построения
- •Эволюция и основные идеи
- •Пакетный режим
- •Разделение времени и многозадачность
- •Разделение полномочий
- •Реальный масштаб времени
- •Файловые системы и структуры
- •Основные принципы построения ос
- •Основные концепции ос
- •Концепция виртуализации
- •Концепция прерывания
- •Отношения между процессами
- •Синхронизация процессов
- •Обобщенная структура ос
- •Операционная система ms-dos
Основные концепции ос
ПРОЦЕСС
Определение процесса. При некотором обобщении, можно утверждать,
что архитектура современной многопрограммной ЭВМ является многопроцес-
сорной.
Под процессором при этом можно понимать любое устройство из сос-
тава ЭВМ, способное автономно выполнять допустимые для него операции в
определенном порядке, то есть по программе, хранимой в памяти и дос-
тупной этому устройству.
Тогда помимо центрального процессора (одного или нескольких),
процессором можно назвать канал или устройство работающее под управле-
нием канала. (При таком подходе можно и оператора рассматривать как
процесс.)
Любая работа или деятельность в ВС может быть представлена как
выполнение некоторой программы на некотором обобщенном процессоре.
В отношении каждого пользователя, претендующего на выполнение сво-
ей программы на некотором процессоре, и системы распределяющей этот
процессор среди среди множества пользователей, вводится понятие про-
цесс.
ПРОЦЕСС - это некоторая абстракция под которой понимается опре-
деленная деятельность, связанная с выполнением программы на процессо-
ре.
Таким образом, процесс не эквивалентен программе, а также не тоже
самое, что процессор, - это пара (процессор, программа).
Для процесса ( центральный процессор, программа) чаще всего разли-
чают следующие состояния:
порождение - подготовка условий для первого исполнения на на про-
цессоре;
активное состояние или состояние СЧЕТ - исполнение программы на
процессоре;
ожидание - программа не исполняется на процессоре по причине за-
нятости какого-либо требуемого ресурса;
готовность - программа не исполняется, но для исполнения предос-
тавлены все необходимые на данный момент времени ресурсы, кроме цент-
рального процессора;
окончание - нормальное или аварийное завершение исполнения прог-
раммы, после которого процессор и другие ресурсы ей не предоставляются.
Процесс находится в каждом из своих допустимых состояний в течение
некоторого времени, после чего переходит в какое-либо другое допусти-
мое состояние. Состав допустимых состояний, а также допустимые перехо-
ды из состояния в состояние могут быть заданы в форме графа существо-
вания процесса. ПРИМЕР.
┌─────────────────────────────┐
┌───────┐ ┌───^───┐ ┌───────┐ ┌───┴───┐
│ Порож-│ │ Готов-├<─────┤ Актив-│ │ Ожида-│
│ дение ├────>┤ ноcть ├─────>┤ ное ├─────>│ ние │
│ 1 │ │ 2 │ │ 3 │ │ 4 │
└───────┘ └───┬───┘ └───┬───┘ └────┬──┘
│ │ │
│ ┌──^─────┐ │
│ │ Оконча-│ │
└──────────>┤ ние ├<────────┘
│ 5 │
└────────┘
Свойства процессов.
Процесс может быть порожден в некоторый момент времени, и в неко-
торый момент может быть закончен. Интервал времени между этими двумя
моментами называется интервалом существования процесса.
Порядок и длительность пребывания процесса в допустимых состоя-
ниях на интервале существования называется трассой.
┌─────┬───────┬────┬───────────┬─────┬──────┬──────
│ 1 │ 2 │ 3 │ 4 │ 2 │ 3 │ 5 ...
─────┴─────┴───────┴────┴───────────┴─────┴──────┴───────────> t
t1 t2 t3 t4 t5 t6 t7
В момент порождения процесса, последовательность и длительность
пребывания его в каждом из своих состояний в общем случае не предска-
зуемы. Следовательно не предсказуема и длительность существования
Однако существуют такие виды процессов, которые требуют гаранти-
рованно завершить свою работу к некоторому моменту времени. Такие про-
цессы называются процессами реального времени.
Процессы, время существования которых должно быть не более допус-
тимой реакции ВС на запросы пользователя называются итерактивными.
Все остальные процессы называют пакетными.
Классификация процессов.
┌───────────────────────┐
│ П Р О Ц Е С С Ы │
└──────────╥────────────┘
╔════════╦══════════╦════╩═══════╦═══════════╦═════════╗
┌─────╨──┬─────╨─────┬────╨──────┬─────╨─────┬─────╨────┬────╨────┐
│По испол│По принадл.│Генеалогия │По результ-│По динами-│По связн-│
│проц-рам│ к ОС │(родословн)│ативности │ке развити│ости │
└────────┴───────────┴───────────┴───────────┴──────────┴─────────┘
1.По динамике развития.
┌──────────┐
│По динамик│
│развития │
└────┬─────┘
┌────────────┼──────────────┐
┌─────┴────┐ ┌────┴─────┐ ┌────┴─────┐
│Последова-│ │Параллель-│ │Комбиниро-│
│ тельные │ │ ные │ │ ванные │
└──────────┘ └──────────┘ └──────────┘
Если интервалы двух процессов не пересекаются во времени, то та-
кие два процесса называются последовательными.
Процеcc
├┬┬┬┬┬┬┬┬┐ ┌┬┐ ┌┬┬┬┐
А ├┴┴┴┴┴┴┴┴┴──────┴┴┴───┴┴┴┴┼───────────────────────────
│ └────────┬───┴──────┘ │
│ состояние активности │┌┬┬┬┐ ┌┬┬┬┬┬┬┬┬┬┐ ┌┬┐ ┌┬┐
В ├─────────────────────────┼┼┴┴┴┴──┴┴┴┴┴┴┴┴┴┴┴──┴┴┴─┴┴┼─
├─────────────────────────┤├─────────────────────────┤
Т(А) Т(В)
Если на рассматриваемом интервале времени существуют одновременно
два процесса, то они на этом интервале являются параллельными.
├┬┬┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┬┬┬┐
А ├┴┴┴┴┴┴┴┴┴┴──────┴┴┴┴┴┴┴┴┴┴┴───────┴┴┴┴┴┴┴┴┴┼──────
│ │
├┬┬┬┬┬┬┬┐ ┌┬┐ ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬─┤
В ├┴┴┴┴┴┴┴┴────────┴┴┴────────┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┼─────────
├───────────────────────────────────────────┤
t1 T(А)=Т(В)=t2 - t1 t2
Если на рассматриваемом интервале найдется хотя бы одна точка, в
которой существует один процесс, но не существует другой , и хотя бы
одна точка, в которой оба процесса существуют одновременно, то такие
два процесса называюся комбинированными.
├┬┬┬┬┐ ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ ┌┬┬┬┬┬┐
А ├┴┴┴┴┴──┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴─────┴┴┴┴┴┴┼───────────────
│ │
│ ┌┬┬┬┬┬┬┬┬┬┬┬┐ │ ┌┬┬┬┐ ┌┬┬┐
В ├────────────────────┼┴┴┴┴┴┴┴┴┴┴┴┴─┼───┴┴┴┴┴──┴┴┴┼─
│ ├─────────────┼─────────────┤
├──────────────────────────────────┤ Т(В)
T(А)
2.По исполнительным процессорам.
┌──────────────┐
│По исполнитель│
│проц-рам │
└───────┬──────┘
┌───────┴───┐
┌──┴─────┐ ┌──┴─────┐
│Внутрен-│ │Внешние │
│ ние │ │ │
└────────┘ └────────┘
Процессы, которые развиваются на центральном процессоре называют-
ся программными или внутренними. Все остальные процессы, проходящие
под контролем и управлением ОС, на процессорах отличных от центрально-
го называются внешними.(например процесс ввода-вывода в канале.)
3.По принадлежности к ОС.
┌───────────┐
│По принадл.│
│ к ОС │
└─────┬─────┘
┌──────┴──────┐
┌────┴─────┐ ┌────┴─────┐
│Системные │ │Пользова- │
│ │ │тельские │
└──────────┘ └──────────┘
Если процесс развивается по программе из состава ОС, то такой
процесс называется системным , а если по программе пользователя, то
пользовательским.
4.По родословной
┌───────────┐
│Генеалогия │
│(родословн)│
└─────┬─────┘
┌───────┴────┐
┌───┴─────┐ ┌───┴─────┐
│Пораждаю-│ │Поражден-│
│щие │ │ ные │
└─────────┘ └─────────┘
В ОС по требованию существующего или существовавшего процесса мо-
гут выполнятся действия по порождению процесса. Процесс задающий данное
требование называется порождающим, а создаваемый процесс - порождекн-
ным.
5.По результативности
┌───────────┐
│По результ-│
│ативности │
└─────┬─────┘
┌──────────────┬──────┴──────┬─────────────┐
┌─────┴─────┐ ┌─────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
│Различные │ │Эквивалент-│ │Тождестве-│ │ Равные │
│ │ │ ные │ │ нные │ │ │
└───────────┘ └───────────┘ └──────────┘ └──────────┘
Два процесса, которые имеют одинаковый конечный результат обра-
ботки одних и тех же исходных данных, по одной и той же или различным
программам , на одном и том же или различных процессорах, называют эк-
вивалентными.
Если в каждом из эквивалентных процессов обработка данных проис-
ходит по одной и той же программе, но трассы в общем случае не совпа-
дают, то такие процессы называют тождественными.
При совпадении трасс у тождественых процессов их называют равны-
ми. Во всех остальных случаях процессы всегда различны.
5.По связности.
┌─────────┐
│По связн-│
│ости │
╘────┬────┘
┌─────────────┬──────┴─────┬──────────────┐
┌─────┴─────┐ ┌─────┴─────┐ ┌────┴──────┐ ┌────┴─────┐
│Изолирован-│ │Информац.- │ │Взаимодейс-│ │Конкуриру-│
│ ные │ │-независимы│ │вующие │ │ющие │
└───────────┘ └───────────┘ └───────────┘ └──────────┘
Процессы могут быть взаимосвязанными или изолированными друг от
друга. Два процесса являются взаимосвязанными, если между ними поддер-
живается с помощью системы управления процессами какого-либо рода свя-
зи: функциональные, управляющие, информационные и т п. В противном
случае они являются изолированными или слабо связанными.(например:про-
цесс ввода-вывода через канал с некоторого внешнего устройства может
изменить трассу внутреннего процесса, который хочет породить на этом
же канале собственный внешний процесс.)
Если два взаимосвязанных процесса ( например: один запускает дру-
гой) при своем развитии совместно используют некоторые ресурсы, но не
обмениваются информацией, то такие процессы называются информацион-
но-независимыми.
При наличии информационных связей между двумя процессами их назы-
вают взаимодействующими.
Когда необходимо подчеркнуть связь двух процессов, использующих
одинаковые ресурсы, то их называют конкурирующими.
Дискрипторы процессов
Любому процессу, несмотря на его абстрактную природу, присущи две
реальные части:
- программа по которой будет развиваться процесс в активном сос-
тоянии;
- дискриптор процесса,- информационная структура, в которой сос-
редоточена управляющая информация, необходимая и достаточная для уп-
равления процессом средствами ОС.
Процесс в динамике своего развития может запрашивать , использо-
вать и освобождать ресурсы.
Информацию, которая хранится в дискрипторе процесса, можно разде-
лить на следующие функциональные группы:
Идентификационная информация. - содержит уникальное имя процесса
для реализации операций управления над процессами как над поименован-
ными объектами.
Информация о ресурсах. - содержит информацию о затребованных или
используемых ресурсах.
Информация о состоянии процесса. - содержит информацию о текущем
состоянии и возможность перехода на следующее.Например:в состояниях
отличных от активного хранится слово-состояние программы (содержимое
регистров и адрес продолжения программы)
Информация о родственных связях. - используется для корректного
окончания процессов, связанных родственными связями, для установления
информационных связей.(Например: имя процесса "родителя" и информацион-
ное поле содержащие качественный результат выполнения процесса- "по-
томка" (нормально/не нормально/код ошибки и т.п.)
Информация для планирования и учета работы процесса. - содержит
адресные ссылки на дискрипторы других процессов, если процесс находится
в какой-либо очереди, приоритет процесса, информацию о времени следую-
щей активизации процесса и т. д.
Р Е С У Р С Ы.
Общее определение. Всякий потребляемый обьект, не зависимо от
формы существования, обладающий некоторой практической ценностью для
потребителя, является ресурсом.
ВС можно представить в виде ограниченной последовательности функ-
циональных элементов, обладающих потенциальными возможностями выполне-
ния с их помощью или над ними действий, связанных с обработкой, хране-
нием или передачей данных.
Такие элементы потребляются другими элементами, в качестве пос-
ледних в ВС выступают процессы.
Все элементы ВС ,выделяемые по запросам от процессов, отождест-
вляются с понятием ресурса.
Таким обрапзом РЕСУРСОМ - является средство вычислительной систе-
мы, которое может быть выделено процессу на определенный интервал вре-
мени.
Свойства и классификация ресурсов.
╔════════════════════════════════════╗
╔══════════════════╣ Р Е С У Р С Ы ╠══════════════════╗
║ ╚════════════════════════════════════╝ ║
║ ╔═══════════════╗┌────────────────┐ ┌────────────────┐╔═══════════════╗ ║
║ ║По реальности ╟┤ Физический │ │Дорогой ├╢ По функциональ║ ║
╠═╣существования ║├────────────────┤ ├────────────────┤║ ной ╠═╣
║ ║ 1 ╟┤ Виртуальный │ │Дешевый ├╢ избыточности 6║ ║
║ ╚═══════════════╝└────────────────┘ └────────────────┘╚═══════════════╝ ║
║ ╔═══════════════╗┌────────────────┐ ┌────────────────┐╔═══════════════╗ ║
║ ║ По возможности╟┤Эластичный │ │Простой ├╢ По структуре ║ ║
╠═╣ расширения ║├────────────────┤ ├────────────────┤║ ╠═╣
║ ║ свойств 2 ╟┤Жесткий │ │Составной ├╢ 7║ ║
║ ╚═══════════════╝└────────────────┘ └────────────────┘╚═══════════════╝ ║
║ ╔═══════════════╗┌────────────────┐ ┌────────────────┐╔═══════════════╗ ║
║ ║ По степени ╟┤Активный │ │Воспроизводимый ├╢ По восстанавли║ ║
╠═╣ активности ║├────────────────┤ ├────────────────┤║ ваемости ╠═╣
║ ║ ╟┤Пассивный │ │Потребляемый ├╢ 8 ║ ║
║ ╚═══════════════╝└────────────────┘ └────────────────┘╚═══════════════╝ ║
║ ╔═══════════════╗┌────────────────┐ ┌────────────────┐╔═══════════════╗ ║
║ ║ По времени ╟┤Постоянный │ │Параллельно-исп.├╢ По характеру ║ ║
╠═╣ существования ║├────────────────┤ ├────────────────┤║ использования ╠═╣
║ ║ 4 ├┤Временный │ │Последовательно-├╢ 9 ║ ║
║ ╚═══════════════╝└────────────────┘ └────────────────┘╚═══════════════╝ ║
║ ╔═══════════════╗┌────────────────┐ ┌────────────────┐╔═══════════════╗ ║
║ ║ По степени ╟┤Главный │ │Мягкий ├╢ По форме ║ ║
╚═╣ важности ║├────────────────┤ ├────────────────┤║ реализации ╠═╝
║ 5 ╟┤Второстепенный │ │Твердый ├╢ 10║
╚═══════════════╝└────────────────┘ └────────────────┘╚═══════════════╝
1.Под физическим понимают ресурс, который реально существует и
при распределении его среди пользователей обладает всеми присущими ему
физическими характеристиками.
Под виртуальным ресурсом понимают некоторую программно-аппарат-
ную модель физического ресурса. Используя один физический ресурс можно
построить на его основе несколько виртуальных.
2.Физический ресурс, который допускает "виртуализацию", то есть
моделирование своих свойств, называется эластичным.
Неэластичным или жестким ресурсом называют физический ресурс,
который по своим внутренним свойствам не допускает "виртуализацию"
3.Активный ресурс способен выполнять действия по отношению к дру-
гим ресурсам (или даже в отношении самого себя),которые в результате
выполнения этих действий, в общем случае, изменяются.(пример: цент-
ральный процессор)
Пассивный ресурс такими свойствами не обладает. Над таким ре-
сурсом можно производить допустимые для него действия, приводящие к
изменению его состояния или характеристик, но сам он не способен вы-
полнять подобных действий с другими ресурсами.(пример: оперативная па-
мять)
4.Если ресурс существует до момента порождения процесса и досту-
пен для использования на всем протяжении интервала существования про-
цесса, то такой ресурс называют постоянным для данного процесса.(нап-
ример: файл со справочными данными, изменение содержимого которого для
нашего процесса запрещено).
Временный ресурс может появлятся, создаваться или уничтожаться
динамически в течение интервала существования процесса. Причем созда-
ние или уничтожение временного ресурса может производится как самим
процессом, так и другими процессами системными или пользовательскими.
(пример: временный файл - некоторый набор данных с промежуточными ре-
зультатами работы процесса, который уничтожается перед окончанием про-
цеса)
Таким образом, некоторый ресурс может выступать для одних процес-
сов как постоянный, а для других как временный.
5.Ресурс является главным по отношению к конкретному процессу,
если без его выделения процесс принципиально не может развивать-
ся.(пример: центральный процессор и оперативная память).
Ресурсы, которые допускают некоторое альтернативное развитие
процесса, если они не будут выделены, являются второстепенными.(напри-
мер: процесс загрузки ПЭВМ может проходить либо с использованием жест-
кого или гибкого диска)
6.Разделение ресурсов на дорогие и дешевые является результатом
реализации принципа функциональной избыточности. Процесс может исполь-
зовать для своего выполнения любой из нескольких типов ресурсов. Каж-
дый тип ресурса позволяет выполнить процесс, но с различным качеством.
Альтернативные ресурсы имеют различные цены за их использование,
как правило чем выше цена используемого ресурса, тем выше качество вы-
полнения процесса.( пример: два транслятора одного и того же языка,
которые отличаюся степенью оптимизации по времени счета или занимаемой
памяти для транслируемой программы. Каждый транслятор - это альтерна-
тивный ресурс, отличающийся друг от друга различным временем выполне-
ния трансляции, а следовательно и ценой за его использование.)
7.Ресурс является простым если не содержит составных элементов, и
рассматривается при распределении как единое целое.(процессор)
Простой ресурс может быть в состоянии "ЗАНЯТ", когда он выделен
для использования некоторому процессу, либо "СВОБОДЕН", в противном
случае.
Составной ресурс содержит в своем составе ряд однотипных эле-
ментов, обладающих с точки зрения пользователя одинаковыми характерис-
тиками.(оперативная память.)
Может находится в состоянии "СВОБОДЕН", если не один из его
составных элементов не распределен для использования. Если все элемен-
ты составного ресурса выделены для использования, то он находится в
состоянии"ЗАНЯТ". Если распределена только часть составных элементов,
то ресурс находится в состоянии "ЧАСТИЧНО ЗАНЯТ".
8.В отношении каждого ресурса процесс-пользователь выполняет три
типа действий: ЗАПРОС, ИСПОЛЬЗОВАНИЕ, ОСВОБОЖДЕНИЕ. При выполнении
действия ЗАПРОС операционная система либо выделяет ресурс либо отказы-
вает в распределении, если ресурс занят либо по какой-то другой причи-
не.
Если ресурс после выполнения действия ЗАПРОС распределен процес-
су, и переведен в состояние "занят", то процесс может выполнять дейс-
твие "ИСПОЛЬЗОВАНИЕ". Действие ОСВОБОЖДЕНИЕ выполняется по требованию
процесса после завершения его использования и сводится к переводу ре-
сурса в состояние"свободен.
Если при распределении системой ресурса допускается многократное
выполнение действий в последовательности: ЗАПРОС - ИСПОЛЬЗОВАНИЕ - ОС-
ВОБОЖДЕНИЕ, то такой ресурс называется воспроизводимым.(аналогия с
пунктом проката )
В отношении некоторой категории ресурсов возможно выполнение
действий в следующем порядке: ОСВОБОЖДЕНИЕ - ЗАПРОС - ИСПОЛЬЗОВАНИЕ,
после чего ресурс, который в этом случае называется потребляемым, изы-
мается из сферы потребления.
Например: если один процесс производит сообщения, а другой пот-
ребляет их, то каждое разовое сообщение рассматривается как потребляе-
мый ресурс. При этом предполагается, что процессы параллельные, разви-
ваются с разными скоростями и обмениваются сообщениями через некоторо-
го процесса-посредника.
Выполнение действия ОСВОБОЖДЕНИЕ сводится к тому, что про-
цесс-производитель вырабатывает (то есть делает доступным, свободным
для использования) очередное сообщение и помещает его с помощью про-
цесса-посредника в буфер.
Действие ЗАПРОС инициируется по инициативе процесса-потребителя,
и заключается в извлечении из буфера одного из хранимых сообщений.
После обработки принятого сообщения, что равносильно действию ИС-
ПОЛЬЗОВАНИЕ, оно теряет смысл и изымается из системы как ресурс.
В отношении процесса-потребителя и процесса-производителя потреб-
ляемые ресурсы являются временными.
9.Если в отношении некоторого ресурса допустимо строго последова-
тельное во времени выполнения цепочек действий: ЗАПРОС-ИСПОЛЬЗОВА-
НИЕ-ОСВОБОЖДЕНИЕ каждым процессом-потребителем этого ресурса, то та-
кой ресурс называется последовательно-используемым.
(пример:принтер.Для сохранения логической целостности печатаемого
текста, каждый процесс освобождает принтер только после вывода всего
текста).
Ресурс позволяющий одновременное использование более чем одним
процессом - называется параллельно-используемым.
Пример: массив данных в оперативной памяти, допускающий только
чтение данных из него. В любой момент каждый из параллельных процессов
может использовать такой ресурс, то есть считать данные, не заботясь о
том делают ли это же другие процессы.
10.Твердыми ресурсами называют аппаратные компоненты ЭВМ, а также
человеческие ресурсы.
Все остальные ресурсы называют мягкими, среди которых условно вы-
деляют два типа: программные и информационные.
Существенно разным для твердых и мягких ресурсов помимо сложности
и стоимости является подверженность сбоям, отказам и последующее восс-
тановление.
В отличии от твердых мягкие ресурсы не теряют своей работоспособ-
ности со временем. Программа или массив данных не может износится при
сколь угодно длительном использовании, а центральный процессор через
некоторое время его эксплуатации может выйти из стоя.
Мягкие ресурсы легко тиражируются ( копированием), при этом копи-
руются и все ошибки и неточности содержащиеся в оригинале. Поэтому
способ замены отказавшего ресурса его функционально эквивалентной ко-
пией для обеспечения работоспособности системы, естественен для "твер-
дых" ресурсов и не приемлем для мягких .