Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Шпора по ОС - файл Шпора по ОС.doc


Шпора по ОС
скачать (63.3 kb.)

Доступные файлы (1):

Шпора по ОС.doc348kb.14.01.2009 15:42скачать

содержание
Загрузка...

Шпора по ОС.doc

  1   2   3
Реклама MarketGid:
Загрузка...
1 Process Control Block и контекст процесса

Чтобы ОС могла выполнять операции над процессам, каждый процесс представляется в ней некоторой структурой данных, содержащей информацию специф-ую д/данного процесса:

1)состояние, в котором нах-ся процесс;

2)программный счётчик процесса, т.е. адрес команды, кот. д.б. выполнена следующей;

3)содержимое регистров процессора;

4)данные, необходимые д./планирования и использования процессора и управления памятью; (приоритет процесса, расположение адресного пространства и т.д.)

5)учетные данные (идентификационный номер процесса, какой юзер инициировал процесс, общее время использ-ия процессора данным процессом)

6)сведения об устройствах вв/выв, связанных с процессом;

состав этой структуры, ее строение зависят от конкретной ОС.

Во многих ОС инфа, характеризующая процесс, хранится не в одной, а в нескольких связанных структурах данных. Эти структуры могут иметь различные наименования, содержать дополнительную инфу или наоборот, лишь часть описанной информации. Важно то, что для люб. процесса вся ин-фа, необходимая для совершения операции над ними, доступна ОС. Для простоты считаем, что она хранится в одной структуре данных, называемой process control block, или блоком управления процесса. Он является моделью процесса для ОС. Каждая операция производимая ОС над процессом вызывает определенные изменения РСВ. В рамках принятой модели состояния процессов содержимое РСВ остается постоянным. Информацию в РСВ удобно разделить на две части. Содержимое всех регистров процессора, включая значение программного счетчика, называется регистровым контекстом процесса, а все остальное – системным контекстом процесса. Знание регистрового и системного контекста процесса достаточно для того, чтобы управлять его работой в ОС, совершая над ним операции. Однако, этого недостаточно, чтобы полностью охарактеризовать процесс. ОС не интересуют какими именно вычислениями занимается процесс, т.е. какой код, какие данные находятся в его адресном пространстве. С точки зрения юзера, наоборот: наибольший интерес представляет содержимое адресного пространства – проги, определяющие последовательность преобразования данных и полученные результаты.

Код и данные, находящиеся в адресном пространстве процесса, называются его пользовательским контекстом. Совокупность регистрового, пользовательского, системного контекстов принято для краткости называть просто контекстом. В любой момент времени процесс полностью характеризуется своим контекстом.
2 Алгоритмы планирования процессов

Одним из наиболее огромных ресурсов вычислительной системы является проц. память. Для его распределения между многими процессами системы приходится применять процедуру планирования процессов. По степени длительности влияния планирования на поведение вычислительных систем различают короткосрочное, среднесрочное и долгосрочное планирование процессов. Конкретные алгоритмы планирования процессов зависят от поставленных целей, класса решаемой задачи, и операций на статистические и динамические параметры процессов и комп. систем. Различают вытес-ий и невыт-ий режимы планирования. При не вытесняющем планировании использующийся процесс уступает процессам другому процессу только по собственному желанию. При вытесняющем планировании вытесняющий процесс может быть вытеснен из состояния исполн-ия помимо своей воли.

Простейшим алгоритмом планирования является не вытесняющий алгоритм FCFS, который, однако, может существенно задержать короткие процессы, перешедшие в состояние готовности. В системах разделения времени широко применяется вытесняющая версия этого алгоритма (RR).

Среди всех, не вытесняющих алгоритма оптимален с т. зр. среднего времени ожидания процессов является алгоритм. SJF. Существует и вытесняющий вариант этого алгоритма. В интерактивных системах часто используется алгоритм гарантированного планирования, обеспечивающий пользователю равные части проц. времени.

Алгоритм SJF и алгоритм гарантированного планирования является частными случаями планирования с использованием приоритетов. В более общих методах приоритетного планирования применяется многоуровневые очереди процессов готовых к исполнению и многоуровневые очереди с обратной связью. Будучи наиболее сложными, в реализации эти способы планирования обеспечивают гибкое поведение вычислительных систем и их адаптивность к решению задач различных классов.

3 Архитектура ОС

В построении ОС осуществляются различные подходы:

Монолитное ядро; т.к ОС- это обычная программа, то можно её организовать так же как всякую другую из процедур и функций. В этом случае компоненты ОС являются несамостоятельными модулями, а составными частями одной большой программы. Такая схема ОС называется монолитным ядром. Монолитное ядро это набор процедур, которые могут вызывать друг друга. Они работают в защищенном режиме. Для монолитных ОС ядро совпадает со всей системой. Это старейший способ организации ОС.

Многоуровневые системы. В этом случае ОС составляют набор модулей, образующих иерархию между интерфейсом пользователя и ПО.

5 интерфейс пользователя

4 управление вводом выводом

3 управление памятью

2 планирование задач

1 hardware

Слоёные системы хорошо реализуются, тестир-ся, модифицируются. При необходимости м. заменить один слой, не трогая другой, но трудно правильно определить порядок слоёв и что к слою относится. Слоёные системы менее эфф-ны, чем монолитные, т.к. д/выполнения операций вв/выв необходимо послед-но проходить все слои от верхнего к ниж.

Микроядерная архитектура(МяА).

Микроядер. cхема построений ОС отражает совр. тенденции в разработке ОС и сост. в перенесении значит-ой части сист. на уровне пользования и минимизация ядра, при этом большинство сост-х ОС явл-ся самостоятельными прогами и взаим-е м\у ними обеспечивает специальный модуль ядра - микроядро. Микроядро обеспечивает взаимодействие м\у прогами планир-я и использования ЦП, первичную обработку прерываний операций вв/выв и базовое управление памятью.

Остальные компоненты взаимодействуют др с другом передавая сообщения ч/з микроядро. Основные достоинства микроядра ОС - это выс. степень модульности ядра, что упрощает добавление в него нов. компонентов, упрощает отладку и повышает надёжность ОС.

Поскольку ошибка на уровне пользовательской проги менее опасна, чем отказ на уровне режима ядра. МяА ОС менее производительна из-за необх-ти формировать сообщение.

4 ^ Взаимодействие процессов. Причины их взаимодействия

Для нормального функционирования процесса ОС старается максимально обособить их друг от друг. Каждый процесс имеет собственное адресное пространство нарушение, которого приводит к аварийной остановке процесса. Каждому процессу по возможности предоставляется свои дополнительные ресурсы . Тем не менее для решения некоторых задач процессы могут объединить свои усилия. Причины их взаимодействия следующие:

1)Повышение скорости работы, пока один процесс ожидает наступление некоторого события, другие могут заниматься полезной работой направленное на решение общих задач. В многопроц. системах проги разбивается на отдельные кусочки, каждая из которых будет выполняться на своём процессоре.

2)Совместное использование данных. Различные процессы могут работать с одной и той же динамической базой данных или с разделённым файлом, совместно изменяя их содерж-ие.

3)Реализация модульной конструкции системы. Примером может служить микроядерный способ построения ОС. Когда различные её части представляют отдельные процессы, взаимодействующие путём передачи сообщений через микроэл-т.

4)Повышение удобства работы пользователя желающего, например, редактировать и отлаживать программу одновременно. В этой ситуации редактора и отладчика должны взаимодействовать друг с другом.

Процесс который оказывает влияние на поведение друг друга принято называть кооперативным или взаимодействующими процедурами. В отличии от независимых процессов не оказывающих друг на друга никакого воздействия.

Процессы могут взаимодействовать друг, с другом только обменившись информацией. По объёму предаваемой информации и степенью воздействия на поведение другого процесса можно разделить на 3 категории:

1.Сигнальная. Передаётся минимальное количество информации 1 бит, да или нет. Используется, как правило, для извещения процесса о наступлении какого либо события. Степень воздействия на поведение процесса полученного информацию минимальную. Всё зависит от того, знает ли он, что означает полученный сигнал, надо ли на него реагировать и каким образом.

2.Канальная. “Общение” процессов происходит через линии связи предоставленной ОС. Объём передаваемой информации в 1 времени ограничен пропускной способностью линей связи. С увеличением количества информации возрастает и возможность влияния на поведение другого процесса.

3.Разделяемая память. 2 или более процесса могут совместно использовать некоторую область адресного пространства. Созданием разделяемой памятью занимается ОС. Использование разделяемой памяти для передачи и получении информации осуществляется с помощью средств обычных языков программирования, в то время как в сигнальным и канальным средствам коммуникации, для этого необходимы специальные системные вызовы. Разделяемая память представляет собой наиболее быстрый способ взаимодействования процессов в одной вычислительной системе.
5 Вытесняющее и невытесняющее планирование процессов

Проц-с планир-ия осущ-ся частью ОС,наз-ой планировщиком.Плани-к м. принимать знач-ия о выборе использ-ия нов. проц-а из числа находящихся в сост. готовность в след. 4 случаях.

1.Проц. перевод-ся из сост.исполн. в сост .заверш. исполн-ия.

2. Проц. перевод-ся из сост.исполн. в сост. ожидания

3. Проц. перевод-ся из сост.исполн. в сост. готовность(н-р,проц- с прерывания таймера)

4. Проц. перевод-ся из сост. ожид-ия в сост. готовность(н-р,завершилась операция вв/выв или произошло др.событие)

В случаях 1 и 2 проц-с,находящ-ся в сост.использ-ия,не м. дальше использ-ся и уже выполнившийся необходимо выбрать нов. проц-с.В случаях 3 и 4 планир-ия м. не пров-ся. Проц-с,кот. исполн-ся до прерываний м. продолжать своё выполн-ие после обработки прерывания. Если планир-ие осуществл-ся т.о. в случаях 1 и 2 говорят,что емеет место невытесняющее планир-ие(nonpreemptive). В прот. Случае говорят о вытесняющее планир-ие.Термин “вытесняющее планир-ие” возникло п.,ч. сполняющ-ся проц-с помимо своей воли м. б. вытесне из сост исполн-ия в др. сост.

Невытесняющее планир-ие использ-ся в сист-х MS Windows, Apple Macintosh.

При таком режиме планир-ия проц-с м. занимать столько проц-го времени,ск-ко ему необходимо.При этом переключение проц-ов возникает т.о. при исполн-ии самого исполн-ся проц-а передать управление(для ожидания, заверш-ия опер-ий вв/выв. или по окончании работы)

Этот метод планир-ия проц-а м. занимать относит-но просто реализ-ся и достаточно эффективен,т.к. позволяет до минимума сократить затраты переключения контекста. Однако при невытесняющем планир-ии возникает возможность полного захвата ЦП одним проц-ом, кот .вследствие к-л. причин зацикливается и не м. передать управл-ие др. проц-у.Вытесняющее планир-ие обычно использ-ся в сист-х разделения времени. В этом режиме проц-с м.б. приостановлен в любой момент при исполнении. ОС устанавливает спец. таймер для генерации сигнала прерывания по истечении некот-го интервала времени – кванта. После прерывания ЦП передаётся в распоряжение след. проц-су. Времен. прерывания помогают гарантировать примерное время откликов проц-ов для пользований работающих в диалоговом режиме и предотвращают зависание комп. сист. из-за зацикливания программы.

6 ^ Динамическое распределение памяти. Свопинг

Системы с разделением времени возможна ситуация когда память не в состоянии содержать все пользовательские процессы приходиться прибегать к (swapping) перемещение процесса из главной памяти на диск и обратно целиком. Частичная выгрузка процессов на диск осуществляется в системах со страничной организацией (paging). Swapping не имеет непосредственного отношения к управлению памятью, скорее он связан с подсистемой планирования процессов. Время переключения контекста, время выгрузки может быть сокращено за счет организации специально отведенного пространства на диске. Раздел для Swapping. Обмен с дисками осуществляется блоками большего размера, т. Е. быстрее чем через стандартную файловую систему. Система Swapping может базироваться на фиксированных разделах. Более эффективной является схема с переменными разделами, которая используется в тех случаях когда все процессы целиком помещены в память, т.е. в отсутствие Swapping. В этом случае вначале вся память свободна и не разделена на разделы. Вновь поступающей задаче выделяется строго необходимое количество памяти. После выгрузки процесса память освобождается. По истечении некоторого времени память представляет собой переменное число разделов разного размера смежные свободные участки могут быть объединены. Этот метод более глубок по сравнению с методом фиксированных разделов однако ему присуща внешняя фрагментация, т.е. наличие большого числа фрагментов не использующих памяти не выделяемой ни одному процессу. Статистический анализ показывает, что пропадает примерно 1/3 памяти

7 ^ Директории в MS-DOS

В этой ОС типовая запись директории имеет

вид:

8

3

1

10

2

2

2

4

Имя файла

Расширение

Атрибуты

Резерв

Время

Дата

№ 1-го блока

Размер
В ОС MS DOS директории могут содержать поддиректории, которые определяются битом атрибутов, что позволяет конструировать произвольное дерево директорий файловой системы. Номер 1-го блока используется в качестве индекса в FAT. Далее по этой таблице могут быть найдены остальные блоки.

8 ^ Директории в ОС UNIX

2

14

Номер индексного дескриптора

Имя файла

Каждая запись содержит имя файла и номер его индексного дескриптора. Вся остальная информация о файле и номера дисковых блоков находятся в индексном дескрипторе. В более поздних версиях UNIX структура кода записи претерпела ряд изменений. Например, имя файла записывается в структуру. Но суть осталась прежней.

роллер прерываний заносит в регистр состоянияи выставляет на шину прерываний для чтения ЦП. Номер прерывания служит индексом спец. таблиц прерываний, хранящейся по адресу, задаваемому при инициализ-ии ВС и содержащий адреса прог обработки прерываний- векторы прерывания. Для распределения устр-в по номерам прерываний необходимо, чтобы от каждого устр-ва контроллера прерываний была спец. линия, соотв-ая одному номеру прерывания. При наличии множ-ва устр-в такое подключение становится невозможным и на один проводник(один номер прерывания) подключ-ся неск-ко устр-в. В этом случае ЦП при обработке прерываний вынужден заниматься опросом устр-в для определения устр-ва, вызвавшего прерывание, но в меньшем объеме. Обычно при установке к системам нового устр-ва вв-выв. требуется аппаратно или программно определить каким будет номер прерывания, вырабатываемый этим устр-вом.

9 ^ Дисковые индексные дескрипторы в ОС

Наиболее распространенный метод выделения файла, блоков диска – это связать с каждым файлом небольшую таблицу, называемую индексом дискриптера или индексным узлом, который перечисляет атрибуты и индексные адреса блоков файла. Запись директории, относящейся к файлу содержит адрес индексного дескриптора.

Индексирование поддерживает прямой доступ к файлу без ущерба от внеш. фрагментации. Индексированное размещение широко распространено и поддерживает как последовательный, так и прямой доступ к памяти. Обычно применяется комбинация одноуровневых и многоуровневых индексов. Первые несколько адресов блоков файлов хранятся непосредственно в индексном дискриптере. Т. о. д/маленьких файлов индексный дескриптор хранит всю необх. инфу об адресах блоков. д/больших файлов один из адресов индекс. дескриптора указывает на блок косвенной адресной. Этот блок содержит адреса дополнительных блоков дисков, если этого недостаточно, то использ-ся блок двойной косвенной адресации., который содержит адреса блоков косвенной адресации. Если этого не хватает, то используется третья косвенная адресация. Данную схему используют Unix и файловые системы HPFS, NTFS.

Такой подход позволяет при фиксированном относительно небольшом размере индексного дескриптора, поддерживать работу с файлами, размер которых изменяется от неск. байтов до нескольких Гбайтов.

Существенно, что д/малых файлов используется только прямая адресация, обеспечивающая максм-ю производительность.

10 ^ Категории средств обмена информацией между процессами

Процессы могут взаимодействовать друг, с другом только обменившись информацией. По объёму предаваемой информации и степенью воздействия на поведение другого процесса можно разделить на 3 категории:

1.Сигнальная. Передаётся минимальное количество информации 1 бит, да или нет. Используется, как правило, для извещения процесса о наступлении какого либо события. Степень воздействия на поведение процесса полученного информацию минимальную. Всё зависит от того, знает ли он, что означает полученный сигнал, надо ли на него реагировать и каким образом.

2.Канальная. “Общение” процессов происходит через линии связи предоставленной ОС. Объём передаваемой информации в 1 времени ограничен пропускной способностью линей связи. С увеличением количества информации возрастает и возможность влияния на поведение другого процесса.

3.Разделяемая память. 2 или более процесса могут совместно использовать некоторую область адресного пространства. Созданием разделяемой памятью занимается ОС. Использование разделяемой памяти для передачи и получении информации осуществляется с помощью средств обычных языков программирования, в то время как в сигнальным и канальным средствам коммуникации, для этого необходимы специальные системные вызовы. Разделяемая память представляет собой наиболее быстрый способ взаимодействования процессов в одной вычислительной системе.

11 ^ Классификация операционных систем

Развитие компьютеров привело к развитию ОС. Сейчас насчитывается более 100 ОС.

По назначению ОС принято делить на семь уровней.

1. Мэйнфреймы (mainframe)

У них отличаются от ПК возможности I/O. Обычно мэйнфреймы содержат тысячи дисков и терабайты ОЗУ. Они используются в виде мощных web-серверов, серверов для крупномасштабных коммерческих сайтов и серверов для транзакций в бизнесе. ОС для мэйнфреймов ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций I/O. Обычно они предполагают три вида обслуживания:

пакетную обработку. Система выполняет стандартные задания без присутствия пользователей. В пакетном режиме обрабатываются иски страховых компаний и составляются отчеты о продаже в магазине;

обработку транзакций (групповые операции: обработка и запись данных). Система обработки транзакций управляет очень большим количеством маленьких запросов (например, контролирует процесс работы в банке, бронирует авиабилеты). Каждый отдельный запрос невелик, но система должна отвечать на тысячи запросов в секунду;

разделение времени. Системы, работающие в режиме разделения времени, позволяют множеству удаленных пользователей выполнять свои задания на одной машине, например, работать с большой БД. Все эти функции тесно связаны между собой и часто ОС мэйнфрейма выполняет их все. Примером ОС для мэйнфрейма является OS/390 (от IBM).

2. Серверные (сетевые) ОС

Работают на серверах, которые представляют собой или очень большие ПК, или рабочие станции, или даже мэйнфреймы. Они одновременно обслуживают множество пользователей и позволяют им делить программные и аппаратные ресурсы. Серверы представляют возможность работать с печатающими устройствами, файлами и Internet. Internet-провайдеры обычно запускают в работу несколько серверов, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входные запросы. Типичные серверные ОС: Windows 2000 и Unix. В этих целях в настоящее время стала использоваться и ОС Linux.

3. Многопроцессорные ОС (кластеры)

Наиболее часто применяемый способ увеличения мощности компьютера заключается в соединении ЦП в одну систему. В зависимости от вида соединения ЦП и разделения работы такие системы называются параллельными компьютерами, мультикомпьютерами или многопроцессорными системами. Для них требуются специальные ОС, но, как правило, такие ОС представляют собой варианты серверных ОС со специальными возможностями связи.

4. ОС для ПК

Работа этих ОС заключается в представлении удобного интерфейса для одного пользователя. Такие ОС широко используются для работы с текстом, электронными таблицами и доступа к Internet. Яркие примеры: Windows 98, 2000, MacOS, Linux.

5. ОС РВ

Главным параметром ОС РВ является время. Например, в СУ производством компьютеры, работающие в режиме РВ, собирают данные о промышленном процессе и используют их для управления машинами. Такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано/поздно, то он нанесет непоправимый вред. Если некоторое действие должно произойти в какой-то момент времени или внутри заданного диапазона времени, то говорят о жесткой системе РВ. Существует гибкая система РВ, в которой допустимы случающиеся время от времени пропуски сроков выполнения операций. В эту категорию попадает цифровое аудио и multimedia-системы. Примеры ОС: VxWorks, QNX.

6. Встроенные ОС

Карманный компьютер, или PDA (Personal Digital Assistant), - маленький компьютер, помещающийся в кармане брюк и выполняющий некоторые функции (записная книжка, блокнот). Примеры ОС: PalmOS, Windows CE (Consumer Electronics - бытовая техника).

7. ОС для Smart-карт (smart-cards - разумные карты)

Самые маленькие ОС работают на Smart-картах, представляющих собой устройство с ЦП. На такие ОС накладываются крайне жесткие ограничения по мощности ЦП и памяти. Некоторые из них могут управлять только одной операцией, но другие ОС на тех же самых Smart-картах выполняют сложные функции. Некоторые ОС являются Java-ориентированными, т.е. ПЗУ содержит интерпретатор виртуальной машины Java (ROM - Read Only Memory). Апплеты Java загружаются на карту и выполняются интерпретатором JVM (Java Virtual Machine). Некоторые из этих карт могут одновременно управлять несколькими Java-апплетами, что приведет к многозадачности и необходимости планирования. Также возникает необходимость в защите. Эти задачи обычно выполняет крайне примитивная ОС.


12 ^ Критерии надежности средств связи

Способ коммуникации называется надежным если при обмене данными выполняются 4 условия:

  1. не происходит потери информации

  2. не происходит повреждения информации

  3. не появляется лишней информации

  4. не нарушается порядок данных в процессе обмена

Передача данных через разделяемую память является надежным способом связи. То что сохранилось в разделяемой памяти будет считано другими процессами в первозданном виде.

Для обнаружения повреждения информации каждое передаваемое сообщение снабжается некоторой контрольной суммой вычисленной по посланной информации. При приеме сообщений контрольная сумма вычисляется заново и проверяется ее соответствие предыдущему значению.

Если данные не повреждены т.е. контрольные суммы совпадают то подтверждается правильность их получения. Если данные повреждены считается что сообщение не поступило.

Вместо контрольной суммы можно использовать специальное кодирование передаваемых данных с помощью кодов исправляющих ошибки. Такое кодирование позволяет при числе искажений не превышающих некоторое значение восстановить первоначально неискаженные данные.

Если по прошествии некоторого интервала времени подтверждение правильности полученной информации не поступило на передающий конец линии связи информация считается утерянной и посылается повторно.

Для гарантии правильности порядка получения сообщений они нумеруются. Эти действия могут быть возложены на

  1. ОС

  2. процессы, обменивающиеся данными

  3. совместно на ОС и процессы, разделяя их ответственность

ОС может обнаружить ошибки при передачи данных и извещать об этом взаимодействующие процессы для принятия ими решений о дальнейшем поведении.

13 ^ Логическая память вычислительной системы

Аппаратная организация памяти в виде линейного набора ячеек не соответствует представлениям программиста о том как организуется хранение программ и данных.

Большинство программ представляет собой набор модулей, созданных независимо друг от друга. Иногда все модули, входящие в состав процесса располагаются в памяти один за другим, образую линейное пространство адресов, чаще всего, однако, модули помещаются в различные области памяти и используются по разному. Схема управления памятью, поддерживающая этот взгляд пользователя на то как хранится программа, называется сегментация.

Сегмент – область памяти определенного назначения внутри которой поддерживается линейная адресация. Сегменты содержат процедуры, массивы, стэки или скалярные величины, но обычно не содержат информацию смешанного типа. Память таким образом перестала быть линейной и превратилась в двумерную. Адрес состоит из двух компонентов: номер сегмента и смещение внутри сегмента.

Оказалось удобным размещать в разных сегментах различные компоненты процесса ( код программы, данные, стэк и т.д.). Контролировать характер работы с конкретным сегментом можно, приписав ему атрибут, например, право доступа или типы операций, которые можно производить с данными, хранящимися в сегменте.

Большинство современных ОС поддерживают сегментную организацию памяти. В некоторых архитектурах, например Intel, сегментация поддерживается оборудованием. Адреса, к которым обращается процесс отличается от адресов реально существующих в ОП. В каждом конкретном случае, использованные программой адреса могут быть представлены различными способами. Например, адреса в исходных текстах обычно символьные. Компилятор связывает эти символьные адреса с перемещаемыми адресами ( такими как n байт от начала модуля).

Подобный адрес сгенерированный программой обычно называют логическим. В системах с виртуальной памятью он называется виртуальным адресом.

Логическое и физическое адресные пространства не по организации не по размеру не соответствуют друг другу. Максимальный размер логического адресного пространства обычно определяется разрядностью процессора, например 232 и в современных системах значительно превышает размер физического адресного пространства. Следовательно ЦП и ОС должны быть способны отобразить ссылки в ходе программы в реальные физические адреса соответствующие текущему расположению программы в основной памяти. Такое отображение адресов называют трансляцией адреса ( привязкой или связыванием адресов)

Связывание логического адреса порожденного оператором программы с физическим должно быть осуществлено до начала выполнения оператора или в момент его выполнения.

14-41 ^ Методы выделения дискового пространства в ОС

15 Многоразовые операции над процессами

Одноразовые операции приводят к изменению количества процессов, находящихся под управлением ОС и всегда связаны с выделением или освобождением определенных ресурсов. Многоразовые напротив не приводят к изменению количества процессов и не обязаны быть связанными с выделением ресурсов.

Действия при выполнении многоразовых операций над проц.:

1)Запуск процесса: из числа процессов, находящихся в состоянии «готовность», ОС выбирает один процесс для последующего исполнения. Для этого процесса ОС обеспечивает наличие оперативной памяти информации, необходимой для его выполнения. Далее состояние процесса изменяется на «выполнение», восстанавливается состояние регистра и управление передается команде, на которую указывает программный счетчик. Все данные, необходимые для восстановления контекста, извлекаются из РСВ процесса, над которым совершается операция.

2)Приостановка процесса: работа процесса, находящегося в состоянии процесса, останавливается в результате прерывания; процессор автоматически сохраняет программный счетчик и нужные регистры, стеки этого процесса, а затем передает управление по его специальному адресу обработки данного прерывания. По этому адресу располагается одна из частей ОС; она сохраняет динамическую часть системного и регистрового процесса в его РСВ, переводит процесс в состояние «готовность» и приступает к обработке прерывания, т.е к выполнению действий, связанных с возникновением прерывания.

3)Блокирование процесса: процесс блокируется, когда он не может продолжить работу, не дождавшись какого-либо события в вычислительной системе. Для этого он обращается к ОС с помощью определенного системного вызова. ОС обрабатывает системный вызов (инициализирует операцию ввода-вывода, вв/выв добавляет в очередь процессов и т.д.) и при необходимости, сохранив нужную часть контекста процесса, переводит ее в состояние ожидания.

4)Разблокирования процесса: после возникновения в системе какого-либо события ОС нужно определить какое точно событие произошло. Затем ОС проверит, находится ли некоторый процесс в состоянии ожидания для данного события. Для находящегося переводит его в состояние «готовность» действие.

Переключение контекста.

Деятельность мультипрограммной ОС состоит из цепочек, выполняемых над различными процессами и сопровождающихся переключением процессов с одного на др. Для корректного переключения процессов с одного на другой необходимо сохранить контекст исполнявшегося проц.и восст. контекст проц., на кот. будет переключен процесс. Такая процедура сохранения и восстановления работоспособности процесса называется переключением контекста. Время, затраченное на ПК, представляет собой накладные расходы, снижающие производительность системы и колеблется от 1 до 1000 мкс. Существенно сократить эти накладные расходы в современных ОС позволяет расширенная модель процесса,включ. понятия( Нити исполнения).

Итог: понятие процесса характеризует некоторая совокупность набора исполняющихся программ, ассоциированных с ним ресурсов и текущего момента его выполнения, находящегося под управлением ОС. В любой момент процесс полностью описывается своим контекстом; состоит из регистровой, системной и пользовательской частей. В ОС процессы представляются в РСВ (регистровый и системный контекст). Процессы могут нах-ся в 5 основных состояниях: рождение, готовность, исполнение, ожидание, закончил исполнение.

Из состояния в состояние пр-с переводит ОС в рез-те выполнения над ними операций.ОС м. выполнять след. операции:

-создание пр-са

-завершение пр-са

-простановка пр-са

-запуск пр-са

-блоки-ие пр-са

-разблокир-ие пр-са

-изменение приоритета пр-са

Между операциями содержимое РСВ не измен-ся. Деятельность мультипрогр-ой ОС сост. из цепочки перечисленных опер-ий, выполн-х под разн. проц. и сопров-ия процедурами восстановления и сохранения работоспособности пр-са, т.е. переполнение контекста. Переполнение контекста не имеет отношения к полезной работе выполненной процедурами,и время,затраченное на него сокращает полезное время ЦП.

16 Многоуровневые ОС

Многоуровневые системы. В этом случае ОС составляют набор модулей, образующих иерархию между интерфейсом пользователя и ПО.

5 интерфейс пользователя

4 управление вводом выводом

3 управление памятью

2 планирование задач

1 hardware

Слоёные системы хорошо реализуются, тестир-ся, модифицируются. При необходимости м. заменить один слой, не трогая другой, но трудно правильно определить порядок слоёв и что к слою относится. Слоёные системы менее эфф-ны, чем монолитные, т.к. д/выполнения операций вв/выв необходимо послед-но проходить все слои от верхнего к ниж.

17 ^ Многоуровневые очереди с обратной связью

Multilevel Queue.

Для сист., в кот. проц-сы м.б. отсортированы по разн. группам, был разработан др. класс алг-ов планир-ия. Для кажд. гр. проц-ов созд-ся своя очередь проц-ов, находящ-ся в сост. готовность.

К этим очередям приписыв-ся фиксир-ые приоритеты. Внутри этих очередей для планир-ия м. примен-ся самые разн. алг-мы. Н-р, для больш. счётных проц-ов, не требующих взаимод-ия с польз-ем(фоновые проц-сы) м. использ-ся алг-м FCFS. Для интерактивных проц-ов – алг-м RR. Подобный подход, получивший назв-ие многоуровневых очередей, повышает гибкость планир-ия: для проц-ов с разл. Хар-ми примен-ся наиболее подходящий алг-м.

Многоур-ые очереди с обратной свзью.

Multilevel Feedback Queue.

Дальнейшем развитием алг-ма многоур-ых очередей явл-ся добавл-ие к нему механизма обратной связи. Здесь проц-с не постоянно приписан к опред. Очереди, а м. мигрировать из одной очереди в др. в зависимости от своего повед-ия . Пусть проц-сы в сост. готовность организованы в 4 очереди. Планир-ие проц-са между очередями осуществл-ся на основе вытесняющего приоритетного мезанизма. Чем выше располаг-ся очередь, тем выше её приоритет. Проц-сы в очереди 1 не м. исполн-ся, если в очереди 0 есть хотя бы один проц-с. Проц-сы в очереди 2 не будут выбраны для исполн-ия, пока есть хоть один проц-с в очередях 0и 1. Если при работе проц-са появл-ся др. проц-с к-л. более приоритетноц очереди, исполняющийся проц-с вытесн-ся новым. Родившийся проц-с поступает в очередь 0. При выборе на исполн-ие он получает в своё распоряжение квант вр. размером 8 единиц.

Если продолжительность его времени непрерывного выполнения меньше этого кванта времени, процесс остаётся в очереди 0, в противном случае он переходит в очередь 1.

Для процессов из очереди 1 квант времени имеет величину 16, если процесс не укладывается в это время, то он переходит в очередь 2, если укладывается, то остаётся в очереди 1 В очереди 2 величина кванта времени = 32 ед. Если для неправильной работы проц-са и этого мало процесс поступает в очередь 3, и для которых квантование времени не применяется. Чем больше значение продолжительности времени непрерывной работы проц-са, тем в менее приоритетную очередь он попадет, но тем на большее проц-ое время он может рассчитывать. Т.о. ч/з некоторое время все проц-сы, требующие мало вр. и работы процессора окажутся разными в высоко приоритетных очередях, а все процессы требующие большого счёта – низкого приоритета.

Миграция процессов в обратном направлении может осуществляться по разл. принципам. Например, после завершения ожидания ввода с клавиатуры процессы из очередей 1-2 и 3 могут перемещаться в очередь 0. После завершения дисковых операций, процессы из оч 2 и3 могут перемещаться в очередь 1, а после завершения ожидания всех других событий из очереди 3 в очередь 2.

Перемещение процессов из очереди с низким приоритетом в оч с высоким приор.позволяет более полно учитывать изменение поведения процессов с течением времени.

Многоуровневые очереди с обратной связью представляют собой наиболее общий подход планирования процесса. Они наиболее трудны в реализации, но обладают наибольшей гибкостью. Существует много других разновидностей такого способа планирования Для полного описания их конкретной реализации необходимо указать:

  1. Количество очередей для процесса находящихся в состоянии готовности;

  2. Алгоритм планирования действий между очередями;

  3. Алгоритм планирования, действующие внутри очередей;

  4. Правило помещения родив-ся процесса в одну из очередей

  5. Правило перевода проц. из одной оч в др.


18 Модели передачи данных по каналам связи

Существует 2 модели передачи данных по каналам связи, поток в/вывода и сообщении.

При передачи данных с помощью потоковой модели операции передачи и приема информации не интересуется содержимым данных. Данные представляют собой простой поток байтов без какой либо интерпретации. Примеры потоковых каналов связи: pipe, FIFO.

Один из наиболее простых способы передачи информации между процессами по линии связи является передача информации через pipe(канал – труба - конвейер).

Информация о расположении команд в ОС обладает только процесс создавший его. Этой информацией он может поделиться только со своими наследниками – процессами-потомками. Поэтому использовать канал для связи могут только процессы, имеющие общего предка. Однако, если разрешить процессу создавшему канал сообщать о его местоположении в системе другим процессам, например зарегистрировать его в ОС под определенным именем, то полученный объект принято называть именованным каналом – FIFO(named pipe)/ Именованный канал может использоваться для организации связи между любыми процессами в ОС. В модели сообщений процессы налагают на передаваемые данные некоторую структуру. Весь поток информации они разделяют на отдельные сообщения, вводя между данными по крайней мере границы сообщений. Кроме того к передаваемой информации могут быть присоединены адреса получателей и отправителей. Все сообщения могут быть одинакового фиксированного размера или переменной длины.

В ВС используются разнообразные средства для передачи сообщений: очереди сообщений, гнезда. И потоковые линии связи и каналы сообщений всегда имеют буфер конечной длины. Емкость буфера для потоков данных измеряется в байтах, емкость буфера для сообщений измеряется в сообщениях.

19 ^ Мультипрограммирование в ОС

При мультипрограммном режиме ОС отвечает за следующие операции:

Организация интерфейса между прикладными программами и ОС при помощи системных вызовов

Планирование использования процессора заключается в организации очереди из заданий в памяти и выделения процессора одному из заданий

Создание контекста заданий, т.е. сохранение содержимого регистра и структуры данных необходимы при выполнении задания при переключение с одного задания на другое

Реализация стратегии управления памятью, замещения и выборку информатии из памяти по-скольку память это ограниченные ресурсы

Организация хранения информации на внешних носителях в виде файлов и их защита от несанкционированного доступа

1)Обеспечение средствами коммуникаций для обмена данными между заданиями

2)Решение конфликта между конкурирующими программами и координация программами своих действий, т.е. обеспечение синхронизации

Мультипрограммная система обеспечивает возможность более эффективного использования системных ресурсов, но они ещё долго оставались пакетами. Появление электронных дисплеев решило эту проблему. Логическим расширением мультипрограммной системы стали системы разделения времени. В них ЦП переключались между заданиями не только во время операции ввода вывода но и по происшествии определенного времени. эти переключения происходили достаточно часто, чтобы пользователи могли взаимодействовать ос своими заданиями во время их выполнения, т.е интерактивно. Появлялась возможность работы нескольких пользователей на одной компьютерной системе, чтобы уменьшить ограничение на количество пользователей была испльзована идея неполного нахождения выполнимой программы в памяти. Основная часть программы находится на диске, а фрагмент, который необходим в данный момент выполнить может быть загружен в ОП., а ненужный выкачен обратно на диск. Это реализуется с помощью механизма виртуальной памяти. Создается иллюзия неограниченного времени, отладка программы ведется в интерактивном режиме и информация вводится на диск с Клавы. Появление online файлов пивело к разработке развитых файловых систем.

20 ^ Общая структура файловой системы
  1   2   3



Скачать файл (63.3 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru