У вас вопросы?
У нас ответы:) SamZan.net

буферизацию вводавывода

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.12.2024

12. Буферный ввод-вывод. Так как скорости работы центрального процессора и периферийных органов сильно различаются, применяют «буферизацию» ввода-вывода. Буфер – специальная область памяти которая служит передаточным звеном между программой пользователя и ПУ, используется для временного хранения передаваемых данных. Программа пользователя, обменивались данными с ПУ на самом деле считывает или записывает данные в буфер. В свою очередь буфер служит источником или приемником информации для ПУ. Например: для обмена данных между центральным процессором и магнитным диском используется буфер в оперативной памяти, а для вывода данных на принтер может быть использована буферизация на диске. Для изучения буферного ввода-вывода рассмотрим упрощенную модель, описываемую следующими спецификациями: при обмене с периферийными устройствами используются записи фиксированной длины; размер буфера фиксирован и составляет N записей; для программы пользователя обмен с буфером должен имитировать обмен с периферийным устройством, следовательно, должен сохраняться порядок передачи информации между буфером и периферийным устройством и ни одна запись не должна быть потеряна; бесполезное ожидание должно быть сведено к минимуму как для центрального процессора, так и для периферийного устройства; возможности носителей не ограничены: при чтении постоянно обеспечивается данными устройство ввода, при записи - устройство вывода; будем считать для нашей модели, что передача осуществляется без ошибок. В качестве буфера используется структура, работающая по принципу FIFO(первый вошел первый вышел), для работы с очередью будем использовать следующие функции: Поместить (запись, буфер) – поместить запись в буфер; Изъять (запись, буфер) – Изъять запись из буфера; Состояние очереди определяется переменными: Буфер_пустой, Буфер_полный. Состояние передачи канала или ПДП определяется переменной: Передача

Запрос прерывания от канала процессору проступает по окончанию передачи очередной записи.

ПРОЧИТАТЬ(ЗАПИСЬ)  {--вызов супервизора--}
If not БУФЕР_ПУСТОЙ then
begin
 
ИЗЪЯТЬ(ЗАПИСЬ,БУФЕР); If not ПЕРЕДАЧА then ЗАПУСТИТЬ_КАНАЛ;
end;

else
begin

If not ПЕРЕДАЧА then ЗАПУСТИТЬ_КАНАЛ; ОЖИДАНИЕ:=true; Сохранить контекст, перейти к другой активности end
{--обработчик прерывания--}
if not БУФЕР_ПОЛНЫЙ then  Запустить_канал;if ОЖИДАНИЕ
then 

Begin

:

Востоновить контекс, повторить чтение записи

:

End;

15. Понятие интерфейса, спецификации интерфейса.

Любой интерфейс связан либо с абстрактной машиной, либо с некоторым классом объектов. Он представляет пользователю инструкцию 3-х типов:

  1.  структура данных
  2.  Процедуры
  3.  3) правила пользования этими процедурами

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

Например:

  1.  ограничения на доступ к данным (только для чтения)
  2.  Ограничения на порядок выполнения процедур
  3.   Режим одновременного выполнения процедур или одновременного доступа к данным.

Пример спецификации интерфейса для процедур языка PASCAL

Динамическое выделения памяти.

Имя процедуры

GetMem (p,size)

Описание процедуры

Производит динамическое выделения памяти размера Size в куче (оставшееся от выделения стека для пок и сегмента данных для поб). Указатель на выделенную память присевается переменной p.

Формальные параметры:

Size – размер значения типа word, определяет размер требуемой памяти в битах.

Выходные параметры:

p- переменная типа pointer, которой присваивается длинный указатель на выделенную память.

Ошибки:

Если память требуемых размеров выделить не удалось, то параметр p  получает значение nil (нулевой адрес)

Побочные эффекты: нет

Замечание:

Выделенная данной процедурой память должна быть освобождена процедурой FreeMem

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

Для учета ошибок исходя из спецификации используется как правило 2 метода:

  1.  просмотр кодов ошибок.

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

  1.  Присоединение процедуры обработки.

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

17. Организация простейшей ОС для одного пользователя: машина ввода вывода.

Физическая организация.

Для упрощения будем считать, что формат диска фиксирован, диск разбит на N дорожек, каждая дорожка содержит n – секторов, каждый сектор содержит m байтов.

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

Предположим, что необходимо причитать сектор с номером nсект на дорожке с номером нд. Если один из буферов содержит эту дорожку, чтение происходит без обращения к диску с использованием соответствующего сектора из буфера.

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

Буфер копируется на диск только в 2 случаях:

  1.  когда буфер переназначается для загрузки новой дорожки в память
  2.  Когда происходит очистка буфера, вызываемая закрытием файла или требованием снятие тома (вынуть дискету из дисковода)

Стратегия выбора буфера.

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

В первую очередь – выбирается свободный, еще неиспользованный буфер

Во вторую очередь заменяемый буфер ни изменявшийся во времени заполнения.

В третью очередь – буфер среди оставшихся, который имеет самую раннюю ссылку на обращение к нему (дольше всего не использовавшийся).

система управления файлами.

Логическая организация. Для обнаружения файлов 2 уровневая схема. Имя файла имеет вид:

<имя носителя>:<идентификатор>.<тип>

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

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

  N- блоков

Таблица занятости, N битов, каждый бит соответствует своему блоку

Если блок свободен (вес), то таблица занятости 00000000

1 файл

2 файл

3 файл

 таблица занятости 11110000

Удаляем 2 файл, получаем

1 файл

3 файл

 таблица занятости 11010000

Если другой файл записать большего размера.

1 файл

3 файл

таблица занятости 11111000

Получаем фрагментацию файла.

19. Понятие процесса

Понятие процесса дает возможность моделировать активное состояние непрерывного выполнения программы на машине.

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

Событием назовем состояние машины, наблюдаемое в некоторый момент времени .

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

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

Контекстом процесса назовем ту информацию, которую действия процесса могут проверять или изменять.

Контекст процесса, связанного с выполнением программы, включает:

  1.  контекст процессора;
  2.  контекст памяти, или рабочее пространство;
  3.  совокупность атрибутов процесса, которая содержит следующие характеристики:
  4.  имя процесса, которое служит для его идентификации и обычно представляет некоторый уникальный номер;
  5.  приоритет процесса, который служит для упорядочения выделения процессора процессам;
  6.  права процесса, которые определяют перечень разрешенных операций, обеспечивающий защиту используемой информации.




1. Связи с общественностью САНКТПЕТЕРБУРГ 2011 ББК Учебномето
2. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата економічних наук Терно
3. Тема 5 Регулирование рисков как сфера экономической и управленческой деятельности- микро и макроуровень у
4. Разработка экспертной системы
5. эффективность Собственность как экономическая и юридическая категори
6. Учет продажи готовой продукции растениеводства
7. тема оплаты труда работников предприятия и ее совершенствование Выполнила учащаяся 1 курса
8. Модульний контроль з навчальної дисципліни Структуровані кабельні системиrdquo; Модуль 1
9. тема Практичне завдання 1
10. Лекция по основам торговой деятельности
11. Экономические основы деятельности подрядной строительной организации
12. е переработанное и дополненное Допущено Министерством образования Российской Федерации в качестве уче
13. варіант виготовлення ліжок будьяких розмірів
14. Сущность правосудия
15. Мотивіаційні теорії та принципи підвищення продуктивності праці
16. Российский государственный гуманитарный университет в г
17. Виды профессиональной информационной деятельности человека с использованием технических средств и информационных ресурсов
18. тематичне моделювання АВТОРЕФЕРАТ дисертації на здобуття наукового ступеня кандидата екон
19. ХЕРСОНСЬКИЙ ДЕРЖАВНИЙ АГРАРНИЙ УНІВЕРСИТЕТ ІНСТИТУТ ПІСЛЯДИПЛОМНОЇ ОСВІТИ ТА ДОРАДНИЦТВА Кафед
20. і Іноді заходи охорони можуть бути вжиті відносно майна померлого деякі спадкоємці якого проживали разом з