Будь умным!


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

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

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

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

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

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

от 25%

Подписываем

договор

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

Скидка 25% при заказе до 20.5.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. Лабораторна робота Студентки 1го курсу Групи ПО12 Охріменко Ніни КупалаКупайлиця Виступ Голови
2. Ru Все книги автора Эта же книга в других форматах Приятного чтения Данияр Сугралинов Кирпичи
3. тематичного сподівання ВВ
4. НАИМЕНОВАНИЯ СРЕДСТВ ПАРФЮМЕРИИ И КОСМЕТИКИ В РУССКОМ ЯЗЫКЕ XI XXI вв- ЭТИМОЛОГИЯ, СТРУКТУРА, СЕМАНТИКА
5. Правовое воспитание дошкольников.html
6. Виробництво будівельних матеріалів і виробів з природної сировини
7. Банкте вексель ~стаушыны~ вексельді ~абылдау кезінде дисконты вексель сомасын беретін операция ~алай атал
8. Коммуникации в менеджменте и их роль Коммуникации между организацией и ее средой Организация функцион
9. знание о незнании
10. задание 10 баллов
11. Тысяча замечательных вещей
12. Сантехник его кот жена и другие подробности 2
13. Корень и его функции. Ткани корня и их функции. Ризосфера. Симбиоз корней с другими организмами (грибами, бактериями)
14. Повести временных лет является- -Нестор; 3Азовские походы Петра I проходили -В 1696~1697 гг
15. Розрахунки за податками
16. договірну теорію походження держави й теорію природного права
17. Я глубоко благодарен тем кто жил рядом со мною и наполнял содержанием идеи этой книги
18. При принятии платы за товар посредством банковских карт оформляются в трех экземплярах товарные чеки сли
19. Лекция ХI 1. Сильно вырожденный ферми газ
20. е годы возникли- группа С