Logo GenDocs.ru

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

Загрузка...

Ответы на экзамен по ОС - файл Шпора.doc


Ответы на экзамен по ОС
скачать (275.9 kb.)

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

Шпора.doc361kb.19.03.2010 00:29скачать
22.html15kb.19.03.2010 00:29скачать
3.html22kb.19.03.2010 00:29скачать
OS.log
OS.wcp
Thumbs.db
wclogo.gif3kb.19.03.2010 00:29скачать

Шпора.doc

1   2   3   4

ОС как интерфейс между пользователем и компьютером (виртуальная машина).

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

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

^ ОС как менеджер ресурсов.

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

^ ОС как защитник пользователей и их программ.

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

^ ОС как постоянно функционирующее ядро.

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

Однако, во многих современных ОС постоянно работает на компьютере лишь часть ОС которую принято называть ядром ОС.
^ 30. Потоки. Нити исполнения.

Усилия, направленные на ускорение решения задач в классических ОС, привели к появлению совершенно иных механизмов, к изменению самого понятии процесса.

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

Ввести массив А

Ввести массив В

Ввести массив С

А=А+В

С=А+С

Вывести массив С

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

Процесс 1 процесс 2

Создать процесс

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

Выделение общей памяти

Ожидание ввода А и В

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

Выделение общей памяти

Input A

Wait end of i/o

Input b

Wait end of i/o

Input C

Wait end of i/o

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

А=А+В

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

С=А+С

Output C

Wait end of i/o

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

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

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

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

Процесс находится в состоянии исполнения, если одна из его нитей находится в состояние исполнения. Процесс находится в состояние ожидания, если все его нити находятся в состоянии ожидания. Наконец, процесс находится в состоянии завершил исполнение, если все его нити находятся в состоянии завершил исполнение.

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

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

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

^ 31. Связь логического и физического адресов при сегментной организации памяти.



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

Если выполняется процесс обращения к логическому адресу V(p,d), механизм отображения ищет номер страницы р в таблице страниц и определяет, что эта страница находиться в страничном кадре р’; формирует реальный адрес из р’ и р. Таблица страниц адресуется при помощи специальных регистров процесса и позволяет определить номер кадра по логическому адресу. Помимо этой задачи при помощи атрибутов, записанных в строке таблицы страниц, организуется контроль доступа к конкретной странице и её защита. Процесс пользователя не имеет возможности адресовать память за пределами своей таблицы страниц, который включает только его собственные страницы. Для управления физической памятью ОС создаёт таблицу кадров, она имеет одну запись на каждый физический кадр показывающая его состояние.

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

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

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

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

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

Аппаратная поддержка используется в основном в процессорах Intel. В большинстве ОС сегментация реализована на программном уровне. Т. к. хранить в памяти сегменты большого размера целиком неудобно, то они разбиваются на страницы.

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

1) таблица сегмента, связывающая номер сегмента с таблицей страниц.

2) отдельная таблица страниц для каждого сегмента.

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

Функционир-ие любой ВС сводится к выполнению 2-х видов работ: обработка инф-ии и операция по осуществлению её вв/выв. С т.зр. программера под обработкой инф-ии понимается выполнение команд ЦП над данными, лежащими в памяти независимо от уровня иерархии в регистрах, КЭШе, оперативной или вторичной памяти. Под операциями вв/выв программер понимает обмен данными м/у памятью и устройствами внеш. по отношению к памяти и ЦП. С т.зр. ОС обработка инф-ии явл-ся только операцией, соверш-ой ЦП над данными, находящимися в памяти на уровне иерархии не ниже, чем ОП. Всё остальное относ-ся к операциям вв/выв. Чтобы выполнять опер-и над данными, располож-ми во вторичной памяти, ОС сначала производит их подкачку в ОП, и лишь затем ЦП совершает необходимые действия. В то время как память м. представить в виде послед-ти пронумерованных ячеек, локализ-ых внутри одной микросхемы, то к устройствам вв/выв подобный подход неприменим. Внеш. устройства разнесены пространственно и м. подключаться к локализ-ой магистрали в одной точке или множ-ве точек, получивших назв-ие портов вв/выв. Порты вв/выв. м. взаимно однозначно отразить в др. адресное пространство вв/выв. При этом каждый порт вв/выв получает свой номер или адрес в этом пространстве. В некот-ых случаях, когда адресное пр-во памяти задействовано не полностью, часть портов вв/выв м.б. отражена в адресное простр-во памяти(видеопамять дискет). Тогда эти порты не принято называть портами. Когда порты вв/выв прямо отображ-ся в памяти, действия, необходимые для записи инф-ии ничем не отлич-ся от действий, производимых для передачи инф-ии м/у ОП и ЦП, и для их выполнения исп-ся те же самые команды. Если порт отображен в адресное простр-во вв/выв, то процесс обмена инф-ей выполн-ся спец. командами вв/выв и включает в себя след. действия:

1)на адресной шине ЦП д. выставить сигнал, соотв-й адресу порта

2)на шине данных ЦП д. выставить сигналы, соответ-ие передаваемой инф-ии

3)после выполн-ия действий 1 и 2 на шину упр-ия выставл-ся сигналы, соотв-ие операциям записи и работе с устр-ми вв/выв, что приведет к передаче необх-ой инф-ии в нужный порт
Существ. отличие памяти от устр-в вв/выв: занесение инф-ии в память явл-ся окончанием опер-ии записи, в то время как занесение инф-ии в порт представляет собой инициализ-ию реального выполн-ия опер-ий вв/выв. Что именно д. делать устройства, приняв инф-ию через порт и каким именно образом они д. поставлять инф-ию для чтения из порта, опердел-ся устр-ом, получившим назв-ие контроллер. Контроллер м. непосредственно управлять отдельным устр-ом, а м. и несколькими, связанными с их контроллерами посредством спец. шин вв/выв (IDE, SCSI). Совр. ОС м. иметь разнообр-ую арх-ру, множ-во шин и магистралей, мосты для перехода инф-ии от одной шины к др. и т.п. Но всегда выполн-ся след. важные моменты:

1) устр-во вв/выв. подключ-ся к системе ч/з порты

2) м. сущ-ть 2 адресных простр-ва: простр-во памяти и простр-во вв/выв.

3) порты отображ-ся в адресном простр-ве вв/выв, и иногда непосредственно в адресное простр-во памяти

4) использ-ие того или иного адр. простр-ва определ-ся типом команды, выполн-ых ЦП, или типом её операндов

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

Все в выч-х системах организовано как набор процессов. Реально на однопроцессорной системе в люб. момент времени м. выполняться только 1 процесс. Д/мультипрофильных выч. систем псевдопаралл-я обработка нескольких процессов достигается с помощью переключения процессора с одного процесса на другой. Пока 1 пр. выполняется, другие ждут своей очереди, поэтому люб. процесс м. нах-ся как минимум в двух состояниях : процесс исполняется и не исполняется.

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

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

1)ОС прекращает его деятельность

2)он не м. продолжить свою работу, пока не произойдёт некот. событие и ОС переведёт его в сост. ожидания

3)в рез-те возникновения прерывания в ОС

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

1) «рождение»

2) «исполнение»

При рождении процесс получает в своё распоряжение адресное пространство, в кот. загружается прога подпроцесса, ему выделяется стек и сист. ресурсы. Устанавлив-ся начальные значения программного счётчика этого процесса и т.д. родившийся процесс переводится в сост. «готовность». При завершении своей деят-ти процесс из сост. «исполнение» попадает в сост. «закончил исполнение». В конкретных ОС сост. процесса м.б. ещё более детализированным, м. появл-ся некоторые новые варианты переходов из 1 в др. сост.(напр., NT-7разл. сост.,Linux-9 ), тем не менее все ОС подчиняются изложенной выше модели.
^ 35. Статические и динамические параметры планированиия.

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

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

1)владелец процесса

2)приоритет вып-ия

3)запрошенное процессорное время

4)соотнош-ие проц-го врем-и и врем-и,необходимого для оперции вв/выв.

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

Для среднесрочн. планир-ия в кач-ве таких хар-к исп-ся след.информация:

1)ск-ко врем-и прошло с момента выгрузки проц-а на диск или его загрузки в ОП

2)ск-ко ОП занимает проц-с

3)ск-ко проц-го врем-и уже предоставлено проц-су

Для краткоср-го планир-ия использ-ся ещё 2 динамич. параметра. Деят-ть любого проц-са можно представить как послед-ть циклов использ-ия ЦП и ожидания завершения операции вв/выв. Промежуток врем-и непрерывного исп-я ЦП носит назв-ие CPU burst, а непрерывного ожидания - I/О burst. Знач-ие продолжит-ти последних и очередных этих параметров явл-ся важными динамич. пар-ми проц-а.
^ 36. Страничная память

В современных системах управления памятью не принято размещать процесс в оперативной памяти одним непрерывным блоком. В самом простом и наиболее распространённом случае в страничной организации памяти, как логическое, так и физическое адресное пространство представляется состоящим из набора блоков или страниц одинакового размера. При этом образуются логические страницы (Page), а соответствующие единицы физической памяти называются страничными кадрами (page frames). Страницы и страничные кадры имеют фиксированную длину, являются степенью числа 2. Каждый кадр содержит одну страницу данных. При такой организации внешняя фрагментация отсутствует, а потери из-за внутренней фрагментации ограничиваются частью последней страницей процесса. Логический адрес в страничной системе - это упорядоченная пара (p, d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы р, на которой размещен адресный элемент.

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

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

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

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

2) Алгоритм выборки с упреждением осуществляет опережающее чтение, т.е кроме страницы, вызвавшей исключительную ситуацию в памяти, также загружается несколько страниц окружающих её. Такой алгоритм призван уменьшить накладные расходы, связанные с большим количеством исключительных ситуаций, возникших при работе со значительными объемами данных или кода. Кроме того, оптимизируется работа с диском.
^ Стратегия размещения определяет, в какой участок первичной памяти поместить поступающую страницу. В системе со страничной организацией она помещается в любой свободный страничный кадр. В случае системы с сегментной организацией необходима стратегия, аналогичная стратегии с динамическим распределением.
^ Стратегия замещения определяет, какую страницу надо вытолкнуть во внешнюю память, чтобы освободить место в ОП. Стратегия позволяет хранить в памяти самую нужную информацию и тем самым снизить частоту страничных нарушений. Замещение должно происходить с учетом выделенного каждому процессу количества кадров. Кроме того, надо решить должна ли замещаемая страница принадлежать процессу, который вызвал замещение или она должна быть выбрана среди всех кадров основной памяти.
^ 38. Структура контроллера устройств.

К. устр-в вв/выв различны по своему внутр. строению, так и по использ-ию, поскольку им приходиться управлять совершенно разными приборами. Тем не менее, каждый К. имеет 4 внутр. регистра, назв-х регистрами состояния, управления, вх. данных и вых. данных. Для простоты счит-ся, что каждому регистру соотв-т свой блок. Регистр состояния сод-т биты, значение кот. определ-ся состоянием устр-ва вв/выв и кот. доступны только для чтения. Эти биты индуцируют завершение выполн-ия текущей команды на устр-ве(бит занятости), наличие очередного данного в регистре вых. данных(бит готовности данных), возникновении ошибки при выполнении команд(бит ошибки). Регистр управл-ия получает данные, кот. записыв-ся ВС для инициализации устр-ва вв/выв или выполнение очередной комадны, а также изменение режима работы устр-в. Часть битов в этом регистре отводиться под код выполняемой команды, часть битов под режим работы устр-ва, бит готовности команды говорит о том, что приступить к её выполнению. Регистр вых. данных служит для размещения данных, предназначенных для чтения ВС, а регистр вх. данных предназначен для помещения в него инф-ии, кот. д.б. выведена на устр-во. Если ЦП ожидает освобождения устр-ва, непрерывно опрашивая вид занятости, то такой способ взаимод-ия ЦП и контроллера получил назв-ие pooling или способ опроса устр-в. Если ск-ть работы ЦП и устр-в вв/выв примерно равны, то это не приводит к существенному уменьшению полезной работы, совершаемой ЦП. Если ск-ть работы устр-ва < ск-ти работы ЦП, то эта техника резко снижает производительность системы и необходимо применять архитектурный подход. Для того, чтобы ЦП не дожидался сост. готовности устр-ва в цикле, а мог выполнять в это вр. др. работу, необходимо, чтобы устр-во само умело сигнализировать ЦП о своей готовности. Технич. механизм, кот. позволяет внеш. устр-ву оповещать ЦП о завершении команды вв/выв, получил назв-ие механизма прерывания.

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

Методы работы с дисковым пространством дают общее представление о служебных данных, необходимых для описания файловой системы.

Структура служебных данных типовой файловой системы (Unix) на одном из разделов диска может состоять из 4 основных частей:



В начале раздела находится суперблок. Он содержит описание файловой системы:

1)тип файловой системы;

2)размер файловой системы в блоках;

3)размер массива индекса дескрипторов;

4)размер логического блока.

Эти структуры данных создаются на диске в результате его форматирования. Например, утилитами make fs, format и др. Их наличие позволяет обращаться к данным на диске как к файловой системе, а не так, как к обычной последовательности блоков. В файловой системе современных ОС для повышения устойчивости поддерживается несколько копий суперблоков.

Массив индексных дескрипторов содержит список индексных дескрипторов, соответствующих файлам данной файловой системы. Его размер определяется администратором при установке ОС. Максимальное число файлов, которое могут быть созданы в файловой системе, определяется числом индексных дескрипторов. В блоках данных хранятся реальные данные файла. Размер блока данных задается при форматировании файловой системы. Заполнение диска информацией предполагает использование блоков хранения данных для файлов директорий и обычных файлов и имеет следствием изменение или модификацию индексных узлов и данных, описывающих пространство диска. Отдельно взятый блок данных может принадлежать одному и только одному файлу файловой системы.
^ 40. Cхема с переменными разделами

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

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

Для выбора раздела распространены три стратегии:

1) Стратегия первого подходящего (first fit). Т.е. процесс помещается в первый подходящий по размеру раздел.

2) Стратегия наиболее подходящего (best fit). Процесс помещается в тот раздел, где после его загрузки останется меньше всего свободного места

3) Стратегия наименее подходящего (Worst fit). При помещении в самый большой раздел в нем остается достаточно места для размещения еще одного процесса.
Моделирование показало, что доля полезно использованной памяти в первых двух случаях больше, при этом первый способ несколько быстрее.

Перечисленные стратегии широко применяются и другими компонентами ОС, например, для размещения файлов на диске.

Недостатки этой схемы: число одновременно выполняемых процессов ограничено числом разделов. Схема страдает от внутренней фрагментации – потери части памяти, выделенной процессу, но не используемой им.

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

Защита адресного пространства ОС от пользовательской программы может быть организована при помощи одного граничного регистра содержащего адрес границы ОС. 36
1   2   3   4



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

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

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