Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
If (SmbWRITE) or (Очередь(PermWRITE))Содержание книги Поиск на нашем сайте
then Wait(PermREAD); {ожидание сигнала - читать разрешается} READERS: = READEARS+1; Signal(PermREAD); {сигнал, оповещающий о возможности чтения} end; Procedure Конец_Чтения; Begin READERS:=READERS-1; If READERS=0 then Signal(PermWRITE); {сигнал, оповещающий о возможности записи} end; Procedure Начало_Записи; Begin if (READERS>0) or (SmbWRITE) then Wait(PermWRITE); {ожидание сигнала - писать разрешается} SmbWRITE:=true end; Procedure Конец_Записи; Begin SmbWRITE:=false; If Очередь(PermREAD) then Signal(PermREAD) {сигнал, оповещающий о возможности чтения} else Signal(PermWRITE); {сигнал, оповещающий и возможности записи} end; Begin READERS:=0; SmbWRITE:=false end; Билет №11 Распределение статическими и динамическими разделами Для организации мультипрограммного режима необходимо обеспечить одновременное расположение в оперативной памяти нескольких задач. Самая простая схема распределения памяти предполагает, что память, незанятая ядром ОС, сожжет быть разбита на несколько непрерывных разделов. Разделы характеризуются именем, типом, границами (начало, конец и длина). Разбиение на несколько непрерывных разделов может быть фиксированным (статическим), либо динамическим (выделение нового раздела происходит при появлении новой задачи). Рис.2. Распределение памяти разделами с фиксированными границами
Основным недостатком такого способа распределения памяти является наличие достаточно большого объема неиспользуемой памяти (рис. 2). Такие потери называют фрагментацией памяти. Избежать этого можно двумя способами:
· · Управление внешней памятью Управление внешней памятью реализуется с помощью файловой системы, которая содержит такие программные компоненты:
1. Средства взаимодействия с процессами пользователей, обеспечивающие прием и интерпретацию запросов на обработку файлов. В операционной системе MS-DOS это файл программы command.com. 2. Средства доступа к составным элементам файла. 3. Средства распределения внешней памяти для хранения данных. 4. Средства учета расположения как файла в целом, так и отдельных его составных компонентов.
Существуют такие логические структуры файлов:
1. Последовательная. 2. Индексно–последовательная, при которой каждая логическая запись, входящая в файл, содержит ключ. Все записи упорядочиваются по значению ключа. Для быстрого поиска существуют группы записей, которым присваиваются индексы, и поиск осуществляется по индексу, а потом по ключу. 3. Библиотечная структура файлов, содержащая учетный и информационный уровни. Используются поименованные файлы, информация о которых хранится в каталогах.
Рандеву в языке Ада Как один из механизмов обеспечения надежного межзадачного обмена данными и взаимной синхронизации работы задач, Ада предоставляет механизм рандеву. Основополагающая идея механизма рандеву достаточно проста. В спецификации задачи публикуются различные входы (entry) в задачу, в которых она готова ожидать обращения к ней от других задач. Далее, в теле задачи указываются инструкции принятия обращений к соответствующим входам, указанным в спецификации этой задачи. Необходимо обратить внимание на несимметричность такого механизма взаимодействия. Это означает, что в процессе взаимодействия одна из задач рассматривается как сервер, а вторая - как клиент, причем задача-сервер не может быть инициатором начала взаимодействия. В простейшем случае, когда рассматривается взаимодействие только двух задач, задача-клиент, желающая обратиться к другой задаче (задаче-серверу), инициирует обращение к входу задачи-сервера. После этого задача-сервер откликается на обращение задачи-клиента, принимая обращение к этому входу. Таким образом, взаимодействие двух задач осуществляется в ситуации, когда задача-клиент обратилась к входу, а задача-сервер готова принять это обращение. Этот способ взаимодействия двух задач называется рандеву. Поскольку задача-клиент и задача-сервер выполняются независимо друг от друга, то нет никакой гарантии, что обе задачи окажутся в точке осуществления рандеву одновременно. Поэтому, если задача-сервер оказалась в точке рандеву, но при этом нет ни одного обращения к входу (запроса на взаимодействие), то она должна ждать появления такого обращения. Аналогично, если задача-клиент обращается к входу, а задача-сервер не готова обслужить такое обращение, то задача-клиент должна ждать, пока задача-сервер обслужит это обращение. В процессе ожидания как задача-клиент, так и задача-сервер не занимают ресурсы процессора, находясь в состоянии, которое называют приостановленным или состоянием блокировки. В случаях, когда вызовы к входу задачи-сервера осуществляют сразу несколько задач-клиентов, эти вызовы ставятся в очередь. Порядок обслуживания такой очереди зависит от соответствия конкретной реализации Ада-системы требованиям приложения D (Annex D) стандарта Ada95, в котором указываются требования для систем реального времени. Если реализация Ада-системы не обеспечивает соответствия этим требованиям, то очередь обслуживается в порядке поступления вызовов (FIFO - First-In-First-Out). Билет № 12 1) Сегментный способ организации виртуальной памяти Естественным способом разбиения программы на части является её разбиение на логические фрагменты - сегменты. Обычно сегментом является модуль или совокупность программных модулей. Логическое обращение к элементам программы будет означать указание имени сегмента, и смещения относительно его начала. Каждый сегмент, размещенный в памяти, имеет информационную структуру – дескриптор сегмента. Операционная система строит для каждого выполняемого процесса таблицу дескрипторов сегмента и при размещении каждого из сегментов в ОЗУ или внешней памяти в дескрипторе отмечается его текущее местоположение. Для этого используется бит присутствия. В поле «Адрес» диспетчер памяти записывает адрес физической памяти, с которого начинается сегмент, а в поле «Длина сегмента» его размер в байтах. Это поле используется для того, чтобы избежать наложения сегментов друг на друга и для того, чтобы контролировать, не обращается ли подзадача за пределы текущего сегмента (если это так то генерируется прерывание). Если сегмент находится во внешней памяти, то поля адреса и длины используются для указания адреса сегмента в координатах внешней памяти. В дескрипторе сегмента также содержатся данные о его типе (код или данные), права доступа, отметка об обращениях к сегменту. При передаче управления следующей задаче операционная система заносит в соответствующий регистр микропроцессора адрес таблицы дескрипторов сегментов этой задачи. Сама таблица дескрипторов сегмента также является сегментом данных, которые обрабатываются диспетчером памяти.
|
||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 199; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.184.236 (0.006 с.) |