Системные вызовы ввода-вывода — КиберПедия 

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Системные вызовы ввода-вывода

2020-06-05 174
Системные вызовы ввода-вывода 0.00 из 5.00 0 оценок
Заказать работу

  • блокирующиеся системные вызовы.

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

  • неблокирующиеся системные вызовы.

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

  • асинхронные системные вызовы.

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

Буферизация

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

Существует три причины, приводящие к использованию буферов в базовой подсистеме ввода-вывода:

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

Кэширование

  • Кэш (cache – "тайник, запас") - область быстрой памяти, содержащую копию данных, расположенных где-либо в более медленной памяти, предназначенную для ускорения работы вычислительной системы.

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

Буфер часто содержит единственный набор данных, существующий в системе, в то время как кэш содержит копию данных, существующих где-нибудь еще.

В ряде ОС имеется возможность указать в явном виде параметры кэширования, в то время как в других за эти параметры отвечает сама ОС.

В файле system.ini ОС Windows есть возможность в секции [VCACHE] прописать, например, следующие значения:

[vcache]

MinFileCache=4096

MaxFileCache=32768

ChankSize=512

В других ОС можно указывать больше параметров, определяющих работу подсистемы кэширования.

Spooling и захват устройств

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

*В современных вычислительных системах spool для ввода данных практически не используется, а в основном предназначен для накопления выходной информации.

В некоторых операционных системах вместо использования spooling для устранения «race condition» (гонки) применяется механизм монопольного захвата устройств процессами. Если устройство свободно, то один из процессов может получить его в монопольное распоряжение. При этом все другие процессы при попытке осуществления операций над этим устройством будут либо блокированы (переведены в состояние ожидание), либо получат информацию о невозможности выполнения операции до тех пор, пока процесс, захвативший устройство, не завершится или явно не сообщит операционной системе о своем отказе от его использования.

 

 

Задание для выполнения:

1. Ознакомиться с Лекцией №13 по ссылке

 https://drive.google.com/open?id=1JQFaCLLyP2f9_b8auih01JoCS9bWzyQP

Составить конспект лекции

 

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

* https://cloud.mail.ru/public/4h3C/5cCGjtb4t - ссылка на папку для сохранения файлов с ответами.

Имена файлов для сохранения смотреть в документах за соответствующую дату задания.

 


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.