Рефераты

Операционные системы (шпаргалка)

| |происходит чтение из таблицы | |

| |страниц информации о | |

| |виртуальной странице, к | |

| |которой произошло обращение..| |

|Многослойная архитектура. | | |

|Вычислительную систему можно |* Гарантированное время | |

|рассматривать как систему, |реакции на внешнее событие | |

|составленную из трех |является отличительным | |

|иерархических слоев. Нижний |признаком систем РВ. | |

|слой образует аппаратура. |Требование гарантированного | |

|Промежуточный – ядро ОС. |времени реакции налагает | |

|Верхний слой – утилиты, |специфические требования на | |

|обрабатывающие программы и |архитектуру ОС; большинство | |

|приложения. |современных ОС общего | |

|Ядро ОС имеет также сложную |назначения непригодно для | |

|структуру и может содержать |задач РВ. | |

|следующие слои |* | |

|средства аппаратной поддержки|Любопытно, что новомодное | |

|ОС |течение в компьютерной | |

|машинно-зависимые модули |технике - multimedia - при | |

|базовые механизмы ядра |качественной реализации | |

|менеджеры ресурсов |предъявляет к системе те же | |

|интерфейс системных вызовов. |требования, что и | |

|Средства аппаратной поддержки|промышленные задачи реального| |

|включают в себя несколько |времени. В multimedia | |

|пунктов |основной проблемой является | |

|средства поддержки |синхронизация изображения на | |

|привилегированного режима |экране со звуком. Именно в | |

|средства трансляции адресов |таком порядке. Звук обычно | |

|средства переключения |генерируется внешним | |

|процессов |аппаратным устройством с | |

|системный таймер |собственным таймером, и | |

|система прерываний |изображение синхронизуется с | |

|средства защиты областей |ним же. Человек способен | |

|памяти |заметить довольно малые | |

| |временные неоднородности в | |

| |звуковом потоке. Напротив, | |

| |пропуск кадров в визуальном | |

| |потоке не так заметен, а | |

| |расхождение звука и | |

| |изображения заметно уже при | |

| |задержках около 30 мс. | |

| |Поэтому системы качественного| |

| |multimedia должны | |

| |обеспечивать синхронизацию с | |

| |такой же или более высокой | |

| |точностью, что мало | |

| |отличается от систем мягкого | |

| |реального времени | |

| |Кросс-загрузчики | |

| |Это системы - полностью | |

| |ориентированные на работу с | |

| |host-машиной. Чаще всего они | |

| |используются для написания и | |

| |отладки кода, позднее | |

| |прошиваемого в ПЗУ. Это | |

| |системы программирования | |

| |микроконтроллеров семейства | |

| |Intel 8048 и подобных им, TDS| |

| |(Transputer Development | |

| |System) фирмы Inmos, и многие| |

| |другие. Такие системы, как | |

| |правило, включают в себя | |

| |набор компиляторов и | |

| |ассемблеров, работающих на | |

| |host-системе (реже - | |

| |загружаемых с host-машины в | |

| |целевую систему), библиотеки,| |

| |выполняющие большую часть | |

| |функций ОС при работе | |

| |программы (но не загрузку | |

| |этой программы!), и средства | |

| |отладки. | |

| |Системы промежуточных типов | |

| |Существуют системы, которые с| |

| |первого взгляда нельзя | |

| |отнести к одному из | |

| |вышеперечисленных классов. | |

| |Такова, например, система | |

| |RT-11, которая, по сути | |

| |своей, является ДОС, но | |

| |позволяет одновременное | |

| |исполнение нескольких | |

| |программ с довольно богатыми | |

| |средствами взаимодействия и | |

| |синхронизации. Другим | |

| |примером промежуточной | |

| |системы являются | |

| |MS Windows 3.x и Windows 95 | |

| |которые, как ОС, используют | |

| |аппаратные средства | |

| |процессора для защиты и | |

| |виртуализации памяти и даже | |

| |могут обеспечивать некоторое | |

| |подобие многозадачной работы,| |

| |но не защищают себя и | |

| |программы от ошибок других | |

| |программ. | |

| |В последнее время вошел в | |

| |употребление еще один термин:| |

| |сетевые ОС, или сокращенно | |

| |NOS (Networking Operating | |

| |System). На взгляд авторов, | |

| |сложившееся использование | |

| |этого термина несколько | |

| |неудачно. Его можно | |

| |употреблять в двух различных | |

| |смыслах: | |

| |Системы, предназначенные для | |

| |предоставления сетевых услуг,| |

| |аналогично тому, как ДОС | |

| |предназначена для | |

| |предоставления средств работы| |

| |с диском. Под такое понимание| |

| |NOS подходят | |

| |узкоспециализированные | |

| |системы, такие как Novell | |

| |Netware, K9Q или программное | |

| |обеспечение маршрутизаторов | |

| |Cisco. | |

| |Системы, способные | |

| |предоставлять сетевые услуги.| |

| |Под такое определение | |

| |подходят практически все | |

| |современные ОС общего | |

| |назначения. | |

| |Судя по тому, что большинство| |

| |``обзоров сетевых | |

| |операционных систем'' в | |

| |компьютерных журналах | |

| |сравнивают не маршрутизатор | |

| |Cisco с K9Q, а Windows NT с | |

| |SunSoft Solaris или OS/2, | |

| |термин NOS в этих публикациях| |

| |понимается во втором смысле. | |

| |Как уже говорилось, | |

| |практически все современные | |

| |ОС и некоторые ДОС способны | |

| |предоставлять сетевые | |

| |сервисы, поэтому этот термин | |

| |почти эквивалентен словам | |

| |``Современная ОС общего | |

| |назначения'' и, таким | |

| |образом, почти не несет | |

| |полезной информации. | |

| | | |

| |[pic] | |

| |[pic] | |

|2.Если данные обнаруживаются |На производительность системы|. Распределение памяти |

|в кэш-памяти, то они |со страничной организацией |разделами переменной |

|считываются из нее, и |памяти влияют временные |величины(динамическими). В |

|результат передается в |затраты, связанные с |этом случае память машины не |

|процессор. |обработкой страничных |делится заранее на разделы. |

|3. Если нужных данных нет, то|прерываний и преобразованием |Сначала вся память свободна. |

|они вместе со своим адресом |виртуального адреса в |Каждой вновь поступающей |

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

|памяти в кэш-память, и |распределение. Этот метод |ей память. Если достаточный |

|результат выполнения запроса |позволяет дифференцировать |объем памяти отсутствует, то |

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

|копировании данных может |частям программы (сегментам).|выполнение и стоит в очереди.|

|оказаться, что в кэш-памяти |Например, если два процесса |После завершения задачи |

|нет свободного места, тогда |используют одну и ту же |память освобождается, и на |

|выбираются данные, к которым |математическую подпрограмму, |это место может быть |

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

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

|вытеснения из кэш-памяти. |копия этой подпрограммы |момент времени оперативная |

|Если вытесняемые данные были |Виртуальное адресное |память представляет собой |

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

|нахождения в кэш-памяти, то |на сегменты, размер которых |занятых и свободных участков |

|они переписываются в |определяется программистом с |(разделов) произвольного |

|оперативную память. Если же |учетом смыслового значения |размера. Например в момент t0|

|эти данные не были |содержащейся в них |в памяти находится только ОС,|

|модифицированы, то их место в|информации. Отдельный сегмент|а к моменту t1 память |

|кэш-памяти объявляется |может представлять собой |разделена между 5 задачами, |

|свободным. |подпрограмму, массив данных и|причем одна из задач, |

|В кэш считывается не один |т.п. При загрузке процесса |завершаясь, покидает память. |

|элемент данных, к которому |часть сегментов помещается в |На освободившееся место после|

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

|блок данных. Это уменьшит |сегментов размещается в |другая задача, поступившая в |

|время доступа к данным. Т.к. |дисковой памяти(если нет |момент t3. Задачами |

|среднее время доступа к |места в оп. памяти). Сегменты|операционной системы при |

|данным в системе с |одной программы могут |реализации данного метода |

|кэш-памятью линейно зависит |занимать в оперативной памяти|управления памятью является: |

|от вероятности нахождение |несмежные участки. Во время |(1) ведение таблиц свободных |

|нужных данных в кэш. |загрузки система создает |и занятых областей, в которых|

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

|вероятность попадания в кэш |(аналогичную таблице |и размеры участков памяти; |

|составляет примерно 0,9. |страниц), в которой для |(2)при поступлении новой |

|Высокое значение вероятности |каждого сегмента указывается |задачи - анализ запроса, |

|нахождения данных в |начальный физический адрес |просмотр таблицы свободных |

|кэш-памяти связано с наличием|сегмента в оперативной |областей и выбор раздела, |

|у данных объективных свойств:|памяти, размер сегмента, |размер которого достаточен |

|пространственной и временной |правила доступа, признак |для размещения поступившей |

|локальности. Пространственная|модификации, признак |задачи; (3) загрузка задачи в|

|локальность: если произошло |обращения к данному сегменту |выделенный ей раздел и |

|обращение по некоторому |за последний интервал времени|корректировка таблиц |

|адресу, то с высокой степенью|и некоторая другая |свободных и занятых областей;|

|вероятности в ближайшее время|информация. Если виртуальные |(4) после завершения задачи |

|произойдет обращение к |адресные пространства |корректировка таблиц |

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

|локальность: если произошло |один и тот же сегмент, то в |По сравнению с методом |

|обращение по некоторому |таблицах сегментов этих |распределения памяти |

|адресу, то следующее |процессов делаются ссылки на |фиксированными разделами |

|обращение по этому же адресу |один и тот же участок |данный метод обладает гораздо|

|с большой вероятностью |оперативной памяти, в который|большей гибкостью, но ему |

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

| |единственном экземпляре. |недостаток - фрагментация |

| |Виртуальный адрес при |памяти. Фрагментация - это |

| |сегментной организации памяти|наличие большого числа |

| |может быть представлен парой |несмежных участков свободной |

| |(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, 2, 3, 4


© 2010 БИБЛИОТЕКА РЕФЕРАТЫ