Logo GenDocs.ru

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


Загрузка...

Шпора на экзамен по ОС, Лянцев - файл 1.doc


Шпора на экзамен по ОС, Лянцев
скачать (277.5 kb.)

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

1.doc278kb.12.12.2011 21:21скачать

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

1.doc

1   2   3
Реклама MarketGid:
Загрузка...
16. Многоразовые операции. Одноразовые операции приводят к изменению количества процессов, находящихся под управлением операционной системы, и всегда связаны с выделением или освобождением определенных ресурсов. Многоразовые операции, напротив, не приводят к изменению количества процессов в операционной системе и не обязаны быть связанными с выделением или освобождением ресурсов. 1)Запуск процесса. Из числа процессов, находящихся в состоянии готовность, операционная система выбирает один процесс для последующего исполнения. Для избранного процесса операционная система обеспечивает наличие в оперативной памяти информации, необходимой для его дальнейшего выполнения. Далее состояние процесса изменяется на исполнение, восстанавливаются значения регистров для данного процесса, и управление передается команде, на которую указывает счетчик команд процесса. Все данные, необходимые для этого восстановления контекста, извлекаются из PCB процесса, над которым совершается операция. 2)Приостановка процесса. Работа процесса, находящегося в состоянии исполнение, приостанавливается в результате какого-либо прерывания. Процессор автоматически сохраняет счетчик команд и, возможно, один или несколько регистров в стеке исполняемого процесса и передает управление по специальному адресу обработки данного прерывания. На этом деятельность hardware по обработке прерывания завершается. По указанному адресу обычно располагается одна из частей операционной системы. Она сохраняет динамическую часть системного и регистрового контекстов процесса в его PCB, переводит процесс в состояние готовность и приступает к обработке прерывания, то есть к выполнению определенных действий, связанных с возникшим прерыванием. 3)Блокирование процесса. Процесс блокируется, когда он не может продолжать свою работу, не дождавшись возникновения какого-либо события в вычислительной системе. Для этого он обращается к операционной системе с помощью определенного системного вызова. Операционная система обрабатывает системный вызов и, при необходимости, сохранив необходимую часть контекста процесса в его PCB, переводит процесс из состояния исполнение в состояние ожидание. 4)Разблокирование процесса. После возникновения в системе какого-либо события, операционной системе нужно точно определить какое именно событие произошло. Затем операционная система проверяет: находился ли некоторый процесс в состоянии ожидание для данного события и, если находился, переводит его в состояние готовность, выполняя необходимые действия, связанные с наступлением события.

^ 17. Многоуровневые ОС. В этом случае ОС составляют набор модулей, образующих иерархию между интерфейсом пользователя и аппаратным обеспечением. 5 интерфейс пользователя 4 управление вводом выводом 3 управление памятью 2 планирование задач и процессов 1 аппаратное обеспечение. Слоёные системы хорошо реализуются, тестир-ся, модифицируются. При необходимости м. заменить один слой, не трогая другой, но трудно правильно определить порядок слоёв и что к какому слою относится. Слоёные системы менее эфф-ны, чем монолитные, т.к. д/выполнения операций вв/выв необходимо послед-но проходить все слои от верхнего к нижнему.

^ 18. Многоуровневые очереди. Для сист., в кот. проц-сы м.б. отсортированы по разн. группам, был разработан др. класс алг-ов планир-ия. Для кажд. группы проц-ов созд-ся своя очередь проц-ов, находящ-ся в сост. «готовность» К этим очередям приписыв-ся фиксир-ые приоритеты. Внутри этих очередей для планир-ия м. примен-ся самые разн. алг-мы. Напр, для больш. счётных проц-ов, не требующих взаимод-ия с юзером м. использ-ся алг-м FCFS. Для интерактивных проц-ов – алг-м RR. Подобный подход, получивший назв-ие многоуровневых очередей, повышает гибкость планир-ия: для проц-ов с разл. Хар-ми примен-ся наиболее подходящий алг-м. Многоур-ые очереди с обратной свзью. Дальнейшим развитием алг-ма многоур-ых очередей явл-ся добавл-ие к нему механизма обратной связи. Здесь проц-с не постоянно приписан к опред. очереди, а м. мигрировать из одной очереди в др. в зависимости от своего поведения. Пусть проц-сы в сост. «готовность» организованы в 4 очереди. Планир-ие проц-са между очередями осуществл-ся на основе вытесняющего приоритетного механизма. Чем выше располаг-ся очередь, тем выше её приоритет. Проц-сы в очереди 1 не м. исполн-ся, если в очереди 0 есть хотя  бы один проц-с. Проц-сы в очереди 2 не будут выбраны для исполн-ия, пока есть хоть один проц-с в очередях 0 и 1. Если при работе проц-са появл-ся др. проц-с к-л. более приоритетной очереди, исполняющийся проц-с вытесн-ся новым. Родившийся проц-с поступает в очередь 0. При выборе на исполн-ие он получает в своё распоряжение квант вр. размером 8 единиц.   Если продолжительность его времени непрерывного выполнения меньше этого кванта времени, процесс остаётся в очереди 0, в противном случае он переходит в очередь 1. Для процессов из очереди 1 квант времени имеет величину 16, если он в процессе не укладывается в это время, то он переходит в очередь 2, если укладывается, то остаётся в очереди 1. В очереди 2 величина кванта времени = 32 ед. Если для непрерывной работы процесса и этого времени мало процесс посылается в очередь 3, для которой квантование времени не применяется. Чем больше значение продолжительности времени непрерывной работы, тем в менее приоритетную очередь он попадёт, но тем на большее процессорное время он может рассчитывать. Т.о. ч/з некоторое время все процессы, требующие малого  времени работы процессора, окажутся в высоко приоритетных очередях, а все процессы, требующие большого расчёта – низкого приоритета. Миграция процессов в обратном направлении может осуществляться по разным принципам. Например, после завершения ожидания ввода с клавиатуры процессы из очередей 1-2 и 3 могут перемещаться в очередь 0. После завершения дисковых операций, процессы могут перемещаться в очередь 1, а после завершения ожидания всех других событий из очереди 3 в очередь 2. Перемещение процессов из очереди с низким приоритетом позволяет более полно учитывать изменение поведения процессов с течением времени. Многоуровневые очереди с обратной связью представляют собой наиболее общий подход планирования процесса. Они наиболее трудны при реализации, но обладают наибольшей гибкостью.

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

^ 20. Мультипрограммирование в ОС. Появление мультипрограммирования привело к росту эффективности работы процессора. Суть его в том, что пока одно программа выполняет ввод/вывод, ЦП не простаивает, а выполняет другую программу. Когда ввод/вывод заканчивается ЦП снова выполняет 1-ую программу. При этом каждая программа загружается в свой участок памяти, называемой разделом и не должна влиять на выполнение других программ. Важную роль здесь играет аппаратная поддержка. При мультипрограммном режиме ОС отвечает за следующие операции: 1) Организация интерфейса между прикладными программами и ОС при помощи системных вызовов 2) Обеспечение средствами коммуникаций для обмена данными между заданиями 3) Планирование использования процессора заключается в организации очереди из заданий в памяти и выделения процессора одному из заданий 4) Создание контекста заданий, т.е. сохранение содержимого регистра и структуры данных необходимы при выполнении задания при переключение с одного задания на другое 5) Реализация стратегии управления памятью, замещения и выборку информатии из памяти по-скольку память это ограниченные ресурсы 6) Организация хранения информации на внешних носителях в виде файлов и их защита от несанкционированного доступа 7) Решение конфликта между конкурирующими программами и координация программами своих действий, т.е. обеспечение синхронизации Мультипрограммная система обеспечивает возможность более эффективного использования системных ресурсов. Логическим  расширением мультипрограммной системы стали системы разделения времени. В них ЦП переключались между заданиями не только во время операции ввода/вывода но и по происшествии определенного времени. эти переключения происходили достаточно часто, чтобы пользователи могли взаимодействовать со своими заданиями во время их выполнения, т.е интерактивно.

^ 21. Общая структура файловой системы: Логическая подсистема: - поддержка иерархической древовидной структуры; - системные вызовы, работающие с полным именем файла; - защита файлов. Базисная подсистема: - алгоритмы выделения блоков диска и соответствующие структуры данных; - менеджер свободного пространства; - системные вызовы, работающие с дескриптором файла; - таблицы открытых файлов; - монтирование файловых систем; - реализация разделяемых файлов. Нижний уровень - оборудование. Это в первую очередь,  магнитные диски с подвижными головками - основные устройства внешней памяти, представляющие собой пакеты магнитных пластин, между которыми на одном рычаге двигается пакет магнитных головок. Шаг движения пакета головок является дискретным и каждому положению пакета головок логически соответствует цилиндр магнитного диска. Цилиндры делятся на дорожки, а каждая дорожка размечается на одно и то же количество блоков. Диски могут быть разбиты на блоки фиксированного размера, и можно  непосредственно получить доступ к любому блоку. Непосредственно с устройствами взаимодействует  система ввода-вывода. Система ввода-вывода предоставляет используемое дисковое пространство в виде непрерывной последовательности блоков фиксированного размера. Система ввода-вывода имеет дело с физическими  блоками диска, которые характеризуются адресом. Файловая система имеет дело с логическими блоками, каждый из которых имеет номер. В структуре системы управления файлами можно выделить  базисную подсистему, которая отвечает за выделение дискового пространства  конкретным файлам,  и более высокоуровневую логическую подсистему, которая  использует структуру дерева  директорий для  предоставления модулю базисной подсистемы необходимой ей информации исходя из символического имени файла. В современных ОС далее принято разбивать диски на логические диски, иногда называемые  разделамиСтандартный запрос на открытие или создание файла поступает от прикладной программы к логической подсистеме.

^ 22. Оверлейная структура В случае, когда размер логического адресного пространства процесса может быть больше, чем размер выделенного ему раздела, используется техника, называемая Overlay или организация структуры с перекрытием. Основная идея: держать в памяти только те инструкции программы, которые нужны в данный момент. Организация структуры с перекрытием:



Можно поочередно загружать в память ветви АВ, АСD, ACE  в программу. Коды ветвей Overlay структуры находятся на диске как абсолютные образы памяти и считываются драйвером Overlay при необходимости. Для описания Overlay структуры используются специальный язык. (Overlay Description Language (ODL)) (.odl) Совокупность файлов исполняемой программы добавляются к файлу с расширением .odl., описывающих дерево вызовов внутри программы A – (B,C)   C – (D,Е). В современных 32-х разрядных системах, где виртуальное адресное пространство измеряется гигабайтами, проблемы с нехваткой памяти решаются другими способами.

^ 23. Одноразовые операции. Жизненный путь процесса в ПК начинается с его рождения. Любая ОС, поддерживающая концепцию процесса, должна обладать средствами для их создания. В очень простой системе все процессы могут быть порождены на этапе старта системы. Более сложные ОС создают процессы динамически по мере их необходимости. Инициатором могут выступать либо процесс пользователя, совершивший специальный системный вызов, либо сама ОС, т.е. тоже некоторый процесс. Процесс, инициировавший создание нового процесса, называется процессом родительским, а вновь созданный потомком. Процессы потомки могут в свою очередь порождать потомков. Все пользовательские процессы вместе с некоторыми процессами ОС принадлежат одному и тому же дереву этого процесса. Система заводит новый РСВ при рождении и начинает его заполнять. Новый процесс получает свой идентификационный номер. Число одновременно существующих процессов в ОС ограничено. Обычно, для выполнения своих функций, процесс-потомок требует ресурсов (памяти, файлов). Два подхода к их выделению: Новый процесс может получить свое распоряжение, некоторую часть родительских ресурсов, разделяя с процессом-родителем и другими процессами-потомками права на них. Или может получить свои ресурсы независимо от ОС. Информация у выделенных ресурсов заносится в РСВ. После наделения их ресурсами необходимо занести в его адресное пространство программный код, значение данных, установить программный счетчик.

^ 24. Операции над процессами. Процесс не может перейти из одного сост. в др. самостоятельно. Изменением сост-й процессов занимается ОС, совершая операции над ними. Кол-во таких операций совпадает с кол-вом стрелок на диаграмме состояний. Удобно соединить их в 3 пары: 1)создание процесса - завершение процесса; 2)приостановка (перевод из сост. «исполнение» в сост. «готовность») - запуск (из сост. «готовность» в  сост. «исполнение»); 3)блокир-ие процесса (перевод из сост. «исполнение» в сост. «ожидание») - разблокирование; Сущ-ет ещё 1 операция, не имеющая пару: изменение приоритета процесса. Операции создания и завершения процесса явл-ся одноразовыми, т. к.  применяются к процессу не более 1 раза. Все остальные операции, связанные с изменением сост. процесса, явл-ся многоразовыми. Чтобы ОС могла выполнять операции над процессам, каждый процесс представляется в ней некоторой структурой данных, содержащей информацию специф-ую д/данного процесса: 1) состояние, в котором нах-ся процесс; 2) программный счётчик процесса, т.е. адрес команды, кот. д.б. выполнена следующей; 3) содержимое регистров в процессорах; 4) данные, необходимые д./планирования использования процессора и управления памятью; 5) учетные данные (id номер процесса, какой юзер инициировал процесс, общее время исполнения процесса данным процессором) 6) сведения об устройствах вв/выв, связанных с процессом; состав этой структуры, ее строение зависят от конкретной ОС.

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

^ 26. Основные понятия, концепции ОС. Системные вызовы – это интерфейс между ОС и пользовательской программой. Они создают, удаляют и используют различные объекты, главные из которых процессы и файлы. Программа запрашивает услуги ОС, осуществляя системный вызов Существуют библиотеки процедур, которые передают управление обработчику данного вызова, входящего в состав ядра ОС. Цель этих библиотек - сделать системный вызов похожим на обычный вызов подпрограмм. При системном вызове задача переходит в защищенный режим или режим ядра, поэтому системные вызовы называются программным прерыванием, в отличие от аппаратных. Обычно системный вызов осуществляется компьютерной программой прерывания INT. Прогр.  прерывание - синхронное событие. Прерывание –сигнал, генерируемый внешним устройством для немедленной реакции ЦП на событие, либо для извещения о завершении асинхронной операции ввода/вывода. Каждый тип аппаратных прерываний имеет номер однозначно определяющий источник прерываний. Аппаратное прерывание – асинхронное событие, т.е. оно возникает вне зависимости от кода программы. Исключительная ситуация – это событие, возникающее при выполнении программной команды, которая по каким-то причинам не может быть выполнена до конца. Исключительная ситуация – синхронное событие. Исключительные ситуации бывают исправимые и неисправимые. Возникновение первых является нормальным явлением. Неисправимые исключительные ситуации возникают в результате ошибок в программе. В этих случаях ОС завершает выполнение такой программы. Файлы. Файлы предназначены для хранения информации на внешних носителях, т.е. принято, что информация должна находится внутри файла. Под файлом понимают именованную часть пространства на носителе информации. Главная задача файловой системы скрыть особенности ввода/вывода и дать абстрактную модель файлов независимо от устройства. С организацией файловой системы связаны такие понятия как каталог, текущий каталог, корневой каталог и путь. Процессы. Нити. Под процессом понимается экземпляр, выполняющийся в ОС задачи со всеми ее данными. Понятие процессов как основных динамических объектов, над которыми системы выполняют  опер-е действия явл-ся фундаментальными понятиями д/изучения работы ОС. Д/выполнения проги ОС должна выделить определённое кол-во опер. памяти. Вместо терминов «прога» и  «задание » используется термин «процесс». Понятие процесса хар-ет нелин-ую сов-ть набора исполняющих команд, связанных с ним ресурсов (выделенная д/исполнения память или адресное прост-во в стеке , использ-е файлы, устр. вв/выв и т.д.) и текущего момента его выполнения, находящихся под управлением ОС. Не сущ-ет взаимнооднозначного соответствия м/у процессами и прогами, выполняемыми  вычислительной системой. Была введена такая абстракция внутри понятия процесса – нить исполнения. Нити процесса разделяют его программный код, глобальные переменные и системные ресурсы, но каждая нить имеет свой собственный программный счетчик, свое содержимое регистров и свой стек. Теперь процесс представляется как совокупность взаимодействующих нитей и выделенных ему ресурсов. Процесс, содержащий всего одну нить исполнения, идентичен процессу в традиционном смысле.

^ 27. Основные функции классических ОС. Можно выделить 6 основных функций, которые выполнили классические ОС: 1) Планирование заданий и использование процессора; 2) Обеспечение программ средствами коммуникации и синхронизации 3) Управление памятью; 4) Управление файловой системой; 5) Управление вводом выводом; 6) Обеспечение безопасности. Каждая из этих функций реализована в виде подсистемы, является структурным компонентом ОС. Они не были изначально придуманы как составные части ОС, а появились в процессе развития. ОС существуют потому, что на данный момент это разумный способ использования вычислительных систем

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

^ 29. Понятие ОС. ОС – программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя способом. ОС состоит: 1. техническое обеспечение: память, процессор, монитор, диски и др, объединённые магистральным соединением – шиной. 2. вычислительная система, состоящая из ПО, которое делится на прикладное и системное. Прикладное ПО– разнообразные банковские и бизнес - программы, игры, текстовые редакторы. Системное ПО – программы, способствующие функционированию и разработке прикладных прог. Любой из компонентов прикладного ПО обязательно работает под управлением ОС. Под УТИЛИТАМИ понимают специальные системные программы с помощью которых можно обслуживать ОС, выполнять обработку данных, выполнять оптимизацию данных на носителе и т.д. К утилитам относятся программа разбиения магнитных дисков на носители, программа форматирования, программа переноса основных системных данных.  Утилиты могут работать только в соответствующей ОС. существует много точек зрения на то что такое ОС. Невозможно дать ей адекватное строгое определение. Проще сказать не что есть ОС, а для чего она нужна и что она делает. ОС как интерфейс между пользователем и компьютером (виртуальная машина). Абстрагирование является важным методом упрощения разработке ОС, и позволяет сконцентрироваться на взаимодействии высокоуровневых компонентов систем, игнорируя детали их реализации. В этом смысле ОС представляет собой интерфейс между пользователем и компьютером. Архитектура большинства компьютеров на уровне машинных программ очень неудобна для использования прикладным программистом.. Средний программист не в состоянии учитывать все особенности работы оборудования, а должен иметь простое высокоуровневое абстрактное представление. С помощью простых абстракций скрывается от программиста все подробности организации прерываний работы таймера, управление памятью и т.д. Т.о. ОС представляется пользователю как интерфейс, или виртуальная машина с которой проще работать чем непосредственно с оборудованием компьютера. ОС как менеджер ресурсов. ОС предназначена для управления всеми частями весьма сложной архитектуры компьютера. Пусть на одном компе несколько прог  будут пытаться одновременно осуществить вывод на принтер Без управления со стороны ОС была бы мешанина строчек и страниц. ОС предотвращает такого рода хаос за счет буферизации информации предназначенной для печати на диске и организации очереди на печать. Для многопользовательских компьютеров необходимость управления ресурсами и их защиты еще более очевидна. ОС как менеджер ресурсов осуществляет упорядочение и контролирование распределения процессора, памяти и других ресурсов между различными программами.  ОС как защитник пользователей и их программ. При совместной работе нескольких пользователей на одной вычислительной системе возникает проблема организации их безопасной деятельности. Необходимо обеспечивать сохранение информации на диске чтобы никто не мог удалить или повредить чужие файлы. Программы одних пользователей не должны производить вмешательства в программы других пользователей, а так же нужно пресекать попытки несанкционированного использования вычислительной системы. Эту деятельность осуществляет ОС как организатор безопасной работы пользователей и их программ. ОС как постоянно функционирующее ядро. ОС это программа постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами.

^ 30. Потоки. Нити исполнения. Усилия, направленные на ускорение решения задач в рамках классических ОС, привели к появлению совершенно иных механизмов, к изменению самого понятия “процесс”. Нити процесса разделяют его программный код, глобальные переменные и системные ресурсы, но каждая нить имеет свой собственный программный счетчик, свое содержимое регистров и свой собственный стек. Процесс представляется как совокупность взаимодействующих нитей и выделенных ему ресурсов. Нити, как и процессы, могут порождать нити-потомки, правда, только внутри своего процесса, и переходить из состояния в состояние. Состояния нитей аналогичны состояниям традиционных процессов. Из состояния рождение процесс приходит содержащим всего одну нить исполнения. Другие нити процесса будут являться потомками этой нити прародительницы. Мы можем считать, что процесс находится в состоянии готовность, если хотя бы одна из его нитей находится в состоянии готовность и ни одна из нитей не находится в состоянии исполнение и т.д. Поскольку нити одного процесса разделяют существенно больше ресурсов, чем различные процессы, то операции создания новой нити и переключения контекста между нитями одного процесса занимают существенно меньше времени, чем аналогичные операции для процессов в целом. Различают операционные системы, поддерживающие нити на уровне ядра и на уровне библиотек. Распределение использования процессора по нитям в рамках выделенного процессу временного интервала осуществляется средствами библиотеки. В таких системах блокирование одной нити приводит к блокированию всего процесса, ибо ядро операционной системы ничего не знает о существовании нитей. По сути дела, в таких вычислительных системах просто имитируется наличие нитей исполнения.

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

^ 32. Сегментная и сегментно-страничная организация памяти. 1) сегменты в отличие от страниц могут иметь переменные размеры. При сегментной организации виртуальный адрес по-прежнему является двумерным и состоит из двух полей: номера сегмента и смещение внутри сегмента. Однако, в отличие от страничной организации, где линейный адрес преобразован в двумерный ОС для удобства отображения, здесь двухмерность адреса является следствием представления программиста о процессе не в виде линейного массива байтов, а как набор сегментов переменного размера. Логическое адресное пространство - это набор сегментов, каждый сегмент имеет имя, размер и другие параметры. Каждый сегмент - это линейная последовательность адресов, начиная с нуля. Максимальный размер сегмента определяется разрядностью процессоров. Размер сегмента может изменяться динамически. В элементе таблицы сегментов помимо физического адреса начала сегмента содержится и его длина. Если размер смещения виртуального адреса выходит за пределы размера сегмента, возникает прерывание. Логический адрес - это упорядоченная пара, номер сегмента и смещение внутри него. В системах, где сегменты поддерживаются аппаратно, эти параметры хранятся в таблице дескрипторов сегментов, и программа обращается к этим дескрипторам по номерам, эти номера называются селекторами. При этом в контекст каждого процесса входит набор сегментных регистров, содержащие селекторы текущих сегментов кода, стека и данных, и определяющие какие сегменты будут использоваться при разных видах обращения к памяти. Это позволяет процессу уже на аппаратном уровне определять допустимость обращений к памяти, упрощая реализацию защиты информации от несанкционированного доступа. В большинстве ОС сегментация реализована на программном уровне. Т. к. хранить в памяти сегменты большого размера целиком неудобно, то они разбиваются на страницы. 2) сегментно-страничная: при сегментно-страничной организации памяти происходит двухуровневая трансляция виртуального адреса в физический; в этом случае логический адрес состоит из 3 полей: номер сегмента, номер страницы внутри сегмента и смещение внутри страницы. Используются 2 таблицы отображения: 1) таблица сегмента, связывающая номер сегмента с таблицей страниц. 2) отдельная таблица страниц для каждого сегмента. Сегментно-страничная и страничная организация памяти позволяет осуществить совместное использование одних и тех же данных и программного кода разными задачами. Для этого различные логические блоки памяти разных процессов отображают в один и тот же блок физической памяти, где размещаются разделяемые фрагменты кода и данных.

^ 33. Системы управления вв/выв. Функционир-ие любой ВС сводится к выполнению 2-х видов работ: обработка инф-ии и операция по осуществлению её вв/выв. Под операциями вв/выв программист понимает обмен данными м/у памятью и устройствами внеш. по отношению к памяти и ЦП. С т.зр. ОС обработка инф-ии явл-ся только операцией, соверш-ой ЦП над данными, находящимися в памяти на уровне иерархии не ниже, чем ОП. Всё остальное относ-ся к операциям вв/выв. Чтобы выполнять опер-и над данными, располож-ми во вторичной памяти, ОС сначала производит их подкачку в ОП, и лишь затем ЦП совершает необходимые действия. В то время как память м. представить в виде послед-ти пронумерованных ячеек, локализ-ых внутри одной микросхемы, то к устройствам  вв/выв подобный подход неприменим. Внеш. устройства разнесены пространственно и м. подключаться к локализ-ой магистрали в одной точке или множ-ве точек, получивших назв-ие
1   2   3



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

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

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