Операционные системы (шпаргалка)
|адресу, то следующее |процессов делаются ссылки на |фиксированными разделами |
|обращение по этому же адресу |один и тот же участок |данный метод обладает гораздо|
|с большой вероятностью |оперативной памяти, в который|большей гибкостью, но ему |
|произойдет в ближайшее время.|данный сегмент загружается в |присущ очень серьезный |
| |единственном экземпляре. |недостаток - фрагментация |
| |Виртуальный адрес при |памяти. Фрагментация - это |
| |сегментной организации памяти|наличие большого числа |
| |может быть представлен парой |несмежных участков свободной |
| |(g, s), где g - номер |памяти очень маленького |
| |сегмента, а s - смещение в |размера (фрагментов). |
| |сегменте. Физический адрес |Настолько маленького, что ни |
| |получается путем сложения |одна из вновь поступающих |
| |начального физического адреса|программ не может поместиться|
| |сегмента, найденного в |ни в одном из участков, хотя |
| |таблице сегментов по номеру |суммарный объем фрагментов |
| |g, и смещения s. |может составить значительную |
| |Недостатком данного метода |величину, намного превышающую|
| |распределения памяти является|требуемый объем памяти. |
| |фрагментация на уровне |Распределение памяти |
| |сегментов и более медленное |перемещаемыми разделами. |
| |по сравнению со страничной |Одним из методов борьбы с |
| |организацией преобразование |фрагментацией является |
| |адреса. |перемещение всех занятых |
| |Сегментно-страничное |участков в сторону старших |
| |распределение. Как видно из |либо в сторону младших |
| |названия, данный метод |адресов, так, чтобы вся |
| |представляет собой комбинацию|свободная память образовывала|
| |страничного и сегментного |единую свободную область. В |
| |распределения памяти и, |дополнение к функциям, |
| |вследствие этого, сочетает в |которые выполняет ОС при |
| |себе достоинства обоих |распределении памяти |
| |подходов. Виртуальное |переменными разделами, в |
| |пространство процесса делится|данном случае она должна еще |
| |на сегменты, а каждый сегмент|время от времени копировать |
| |в свою очередь делится на |содержимое разделов из одного|
| |виртуальные страницы, которые|места памяти в другое, |
| |нумеруются в пределах |корректируя таблицы свободных|
| |сегмента. Оперативная память |и занятых областей. Эта |
| |делится на физические |процедура называется |
| |страницы. Загрузка процесса |"сжатием". Сжатие может |
| |выполняется операционной |выполняться либо при каждом |
| |системой постранично, при |завершении задачи, либо |
| |этом часть страниц |только тогда, когда для вновь|
| |размещается в оперативной |поступившей задачи нет |
| |памяти, а часть на диске. Для|свободного раздела |
| |каждого сегмента создается |достаточного размера. |
| |своя таблица страниц, | |
| |структура которой полностью | |
| |совпадает со структурой | |
| |таблицы страниц, используемой| |
| |при страничном распределении.| |
| |Для каждого процесса | |
| |создается таблица сегментов, | |
| |в которой указываются адреса | |
| |таблиц страниц для всех | |
| |сегментов данного процесса. | |
| |Адрес таблицы сегментов | |
| |загружается в специальный | |
| |регистр процессора, когда | |
| |активизируется | |
| |соответствующий процесс. | |
|13.Кэш-память. Случайное |14.Кэш-память. Прямое |15.Двухуровневое кэширование.|
|отображение данных на кэш. |отображение данных на кэш. |Принцип работы. Выполнение |
|Выполнение запроса в системах|Выполнение запроса в системах|запроса с системах с |
|с кэш памятью. |с кэш памятью. |многоуревневой кэш памятью. |
|Кэш-память-способ организации|Кэш-память-способ организации|Каждый процессор для своей |
|совместного функц-ия двух |совместного функц-ия двух |работы использует |
|типов ЗУ, отличающихся |типов ЗУ, отличающихся |двухуровневый кэш со |
|временем доступа и стоимостью|временем доступа и стоимостью|свойствами охвата. Это |
|хранения данных, кот. |хранения данных, кот. |означает, что кроме |
|позволяет уменьшить время |позволяет уменьшить время |внутреннего кэша первого |
|доступа к данным за счет |доступа к данным за счет |уровня (кэша L1), встроенного|
|динамического копирования в |динамического копирования в |в каждый процессор PowerPC, |
|"быстрое" ЗУ наиболее часто |"быстрое" ЗУ наиболее часто |имеется связанный с ним кэш |
|используемой информации из |используемой информации из |второго уровня (кэш L2). При |
|"медленного" ЗУ. |"медленного" ЗУ. |этом каждая строка в кэше L1 |
|На практике в кэш-память |На практике в кэш-память |имеется также и в кэше L2. В |
|считывается не один элемент |считывается не один элемент |настоящее время объем кэша L2|
|данных, к которому произошло |данных, к которому произошло |составляет 1 Мбайт на каждый |
|обращение, а целый блок |обращение, а целый блок |процессор, а в будущих |
|данных, это увеличивает |данных, это увеличивает |реализациях предполагается |
|вероятность так называемого |вероятность так называемого |его расширение до 4 Мбайт. |
|"попадания в кэш", то есть |"попадания в кэш", то есть |Сама по себе кэш-память |
|нахождения нужных данных в |нахождения нужных данных в |второго уровня позволяет |
|кэш-памяти. |кэш-памяти. |существенно уменьшить число |
|В реальных системах |В реальных системах |обращений к памяти и |
|вероятность попадания в кэш |вероятность попадания в кэш |увеличить степень локализации|
|составляет примерно 0,9. |составляет примерно 0,9. |данных. Для повышения |
|Высокое значение вероятности |Высокое значение вероятности |быстродействия кэш L2 |
|связано с наличием у данных |связано с наличием у данных |построен на принципах прямого|
|свойств: пространственной и |свойств: пространственной и |отображения. Длина строки |
|временной локальности. |временной локальности. |равна 32 байт (размеру |
|Пространственная локальность.|Пространственная локальность.|когерентной гранулированности|
|Если произошло обращение по |Если произошло обращение по |системы). Следует отметить, |
|некоторому адресу, то с |некоторому адресу, то с |что, хотя с точки зрения |
|высокой степенью вероятности |высокой степенью вероятности |физической реализации |
|в ближайшее время произойдет |в ближайшее время произойдет |процессора PowerPC, 32 байта |
|обращение к соседним адресам.|обращение к соседним адресам.|составляют только половину |
| | |строки кэша L1, это не меняет|
|Временная локальность. Если |Временная локальность. Если |протокол когерентности, |
|произошло обращение по |произошло обращение по |который управляет операциями |
|некоторому адресу, то |некоторому адресу, то |кэша L1 и гарантирует что кэш|
|следующее обращение по этому |следующее обращение по этому |L2 всегда содержит данные |
|же адресу с большой |же адресу с большой |кэша L1. |
|вероятностью произойдет в |вероятностью произойдет в |Кэш L2 имеет внешний набор |
|ближайшее время. |ближайшее время. |тегов. Таким образом, любая |
|В системах, оснащенных |В системах, оснащенных |активность механизма |
|кэш-памятью, каждый запрос к |кэш-памятью, каждый запрос к |наблюдения за когерентным |
|оперативной памяти |оперативной памяти |состоянием кэш-памяти может |
|выполняется в соответствии со|выполняется в соответствии со|быть связана с кэшем второго |
|следующим алгоритмом: |следующим алгоритмом: |уровня, в то время как |
|Просматривается содержимое |Просматривается содержимое |большинство обращений со |
|кэш-памяти с целью |кэш-памяти с целью |стороны процессора могут |
|определения, не находятся ли |определения, не находятся ли |обрабатываться первичным |
|нужные данные в кэш-памяти; |нужные данные в кэш-памяти; |кэшем. Если механизм |
|кэш-память не является |кэш-память не является |наблюдения обнаруживает |
|адресуемой, поэтому поиск |адресуемой, поэтому поиск |попадание в кэш второго |
|нужных данных осуществляется |нужных данных осуществляется |уровня, то он должен |
|по содержимому - значению |по содержимому - значению |выполнить арбитраж за |
|поля "адрес в оперативной |поля "адрес в оперативной |первичный кэш, чтобы обновить|
|памяти", взятому из запроса. |памяти", взятому из запроса. |состояние и возможно найти |
| | |данные, что обычно будет |
|Если данные обнаруживаются в |Если данные обнаруживаются в |приводить к приостановке |
|кэш-памяти, то они |кэш-памяти, то они |процессора. Поэтому |
|считываются из нее, и |считываются из нее, и |глобальная память может |
|результат передается в |результат передается в |работать на уровне тегов кэша|
|процессор. |процессор. |L2, что позволяет существенно|
| | |ограничить количество |
| | |операций наблюдения, |
| | |генерируемых системой в |
| | |направлении данного |
| | |процессора. Это, в свою |
| | |очередь, существенно |
| | |увеличивает |
| | |производительность системы, |
| | |поскольку любая операция |
| | |наблюдения в направлении |
| | |процессора сама по себе может|
| | |приводить к приостановке его |
| | |работы. |
|16.Способы загрузки программ.|21.Синхронизация параллельных|22. Семафор Дийкстры |
|Относительная и абсолютная |процессов. Проблема |представляет собой |
|загрузка. Оверлеи. |критических участков. Подходы|целочисленную переменную, с |
|Абсолютная загрузка. Самый |к решению проблемы |которой ассоциирована очередь|
|простой вариант состоит в |(прерывания, семафоры, |ожидающих процессов. Над |
|том, что мы всегда будем |сигналы, блокировка). |семафором возможно проведение|
|загружать программу с одного |Первой из проблем является |только двух операций - |
|и того же адреса. Это |проблема разделения ресурсов.|“открытия” и “закрытия”, |
|возможно если: система может |Действительно, представим |названных соответственно P- и|
|предоставить программе свое |себе две программы, |V- операциями. Существенно, |
|адресное пространство, |пытающиеся печатать что-то на|что операции над семафорами |
|Система может исполнять в |одном принтере их вывод на |являются неделимыми |
|каждый момент только одну |бумаге будет перемешан. Одним|(непрерываемыми), поэтому их |
|программу. Такой модуль |из разумных решений может |часто называют примитивами. |
|называется абсолютным |быть монопольный захват |Пытаясь пройти через семафор,|
|загрузочным модулем – это |принтера одной из программ |процесс пытается вычесть из |
|копия содержимого |Другая проблема - это |значения переменной 1. Если |
|виртуального пространства |проблема реентерабельности |значение переменной больше |
|проги в момент ее запуска. В |(reenterability - повтоpной |или равно 1, процесс проходит|
|системе UNIX используется |входимости, от re-enter) |сквозь семафор успешно |
|абсолютная загрузка. |разделяемых программ. |(семафор открыт). Если |
|Загружаемый файл начинается с|Представим себе, что две |переменная равна нулю |
|заголовка, который содержит: |задачи используют общий |(семафор закрыт), процесс |
|''магическое число'' - |программный модуль. |останавливается и ставится в |
|признак того, что это |Представим себе, что одна из |очередь. Таким образом, |
|загружаемый модуль, число |программ вызвала процедуру из|семафор выполняет роль |
|TEXT_SIZE - длину области |разделяемого модуля. После |вспомогательного критического|
|кода программы (TEXT), |этого произошло переключение |ресурса. Закрытие семафора |
|DATA_SIZE - длину области |задач, и вторая задача |соответствует захвату |
|инициализованных данных |обращается к тому же модулю. |ресурса, доступ к которому |
|программы (DATA), BSS_SIZE - | |контролируется этим |
|длину области |Очень широкий класс проблем -|семафором. Процесс, закрывший|
|неинициализованных данных |проблемы синхронизации, |семафор, захватывает ресурс. |
|программы (BSS), Стартовый |возникающие при попытках |Если ресурс захвачен, |
|адрес программы. За |организовать взаимодействие |остальные процессы вынуждены |
|заголовком следует содержимое|нескольких программ. |ждать его освобождения. |
|областей TEXT и DATA. Затем |Первая, состоит в вопросе - |Закончив работу с ресурсом, |
|может следовать отладочная |если одна задача производит |процесс увеличивает значение |
|информация. При загрузке |данные, а вторая их |семафора на единицу, открывая|
|система выделяет программе |потребляет, то как |его. При этом первый из |
|TEXT_SIZE байтов виртуальной |задача-потребитель узнает, |стоявших в очереди процессов |
|памяти, доступной для |что готова очередная порция |активизируется, вычитает из |
|чтения/исполнения, и копирует|данных? Или, что еще |значения семафора единицу, и |
|туда содержимое сегмента |интереснее, как она узнает, |снова закрывает семафор. Если|
|TEXT. Затем отматывается |что очередная порция данных |же очередь была пуста, то |
|DATA_SIZE байтов памяти, |еще не готова? |ничего не происходит, просто |
|доступной для чтения/записи, |Другая проблема называется |семафор остается открытым. |
|и туда копируется содержимое |проблемой критических секций.|Тогда первый процесс, |
|сегмента DATA. Затем |Например, одна программа |подошедший к семафору, |
|отматывается еще BSS_SIZE |вставляет данные в |успешно пройдет через него. |
|байтов памяти. После этого |разделяемый двунаправленный |Это действительно похоже на |
|выделяется пространство под |список, а другая достает их |работу железнодорожного |
|стек, в стек помещаются |оттуда. Те, кто знаком с |семафора, контролирующего |
|позиционные аргументы и среда|алгоритмом вставки в список, |движение поездов по |
|исполнения, и управление |легко поймут, что есть |одноколейной ветке. |
|передается на стартовый |момент, когда указатели |Наиболее простым случаем |
|адрес. Программа начинает |элементов показывают вовсе не|семафора является двоичный |
|исполняться. |туда, куда надо. Попытка |семафор. Начальное значение |
|Относительная загрузка. |произвести в этот момент |такого семафора равно 1, и |
|Загрузка состоит в том, что |какую-то другую операцию |вообще она может принимать |
|мы грузим программу каждый |изменения списка приведет к |только значения 1 и 0. |
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
|