![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Хотя большая часть программного обеспечения ввода-вывода находится внутри ОС, некоторая его часть содержится в библиотеках, связываемых с пользовательскими программами. Системные вызовы, включающие вызовы ввода-вывода, обычно делаются библиотечными процедурами*.
*Библиотека программ – совокупность отдельных программ, которые предназначены для всеобщего пользования в какой-либо определенной среде. Компоненты библиотеки не обязательно должны быть связанными. Типичная библиотека может содержать трансляторы, обслуживающие программы, пакеты программ для математических расчетов и др. Обычно бывает необходимо просто обратиться к библиотеке программ, чтобы она была автоматически включена в состав программы пользователя.
*Процедура – часть программы, выполняющая некоторую четко определенную операцию над данными. Процедура (подпрограмма) может быть вызвана из любой точки программы и при каждом вызове могут пересылаться различные параметры.
Если программа, написанная на языке С, содержит вызов
count = write (fd, buffer, nbytes),
то библиотечная процедура write будет связана с программой. Набор подобных процедур является частью системы ввода-вывода. В частности, форматирование ввода или вывода выполняется библиотечными процедурами. Примером может служить функция printf языка С, которая принимает строку формата и, возможно, некоторые переменные в качестве входной информации, затем строит строку символов ASCII и делает вызов write для вывода этой строки.
Стандартная библиотека ввода-вывода содержит большое число процедур, которые выполняют ввод-вывод и работают как часть пользовательской программы.
Другой категорией программного обеспечения ввода-вывода является подсистема спулинга (spooling). Спулинг – это способ работы с выделенными устройствами в мультипрограммной системе. Рассмотрим типичное устройство, требующее спулинга – строчный принтер. Хотя технически легко позволить каждому пользовательскому процессу открыть специальный файл, связанный с принтером, такой способ опасен из-за того, что пользовательский процесс может монополизировать принтер на произвольное время. Вместо этого создается специальный процесс – монитор, который получает исключительные права на использование этого устройства. Также создается специальный каталог, называемый каталогом спулинга. Чтобы напечатать файл, пользовательский процесс помещает выводимую информацию в этот файл и помещает его в каталог спулинга. Процесс-монитор по очереди распечатывает все файлы, содержащиеся в каталоге спулинга.
Вопрос 35. Что такое файловая система? Имена и типы файлов. Древовидная и сетевая иерархия каталогов. Логическая организация файла.
Дата публикования: 2015-01-26; Прочитано: 442 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!