Намотка
В вычислительной технике буферизация — это специализированная форма мультипрограммирования с целью копирования данных между различными устройствами. В современных системах [а] он обычно используется в качестве посредника между компьютерным приложением и медленным периферийным устройством , например принтером . Буферизация позволяет программам «передавать» работу, которую должно выполнить периферийное устройство, а затем переходить к другим задачам или не начинать работу до тех пор, пока ввод не будет расшифрован. Специальная программа, спулер , поддерживает упорядоченную последовательность заданий для периферийного устройства и передает ему данные со своей собственной скоростью. И наоборот, для периферийных устройств с медленным вводом , таких как устройство считывания карт , спулер может поддерживать последовательность вычислительных заданий, ожидающих данных, запуская каждое задание, когда доступны все соответствующие входные данные; см. пакетную обработку . Сама катушка . относится к последовательности заданий или к области хранения, в которой они хранятся Во многих случаях спулер способен управлять устройствами на полной номинальной скорости с минимальным влиянием на другие процессы обработки.
Буферизация представляет собой комбинацию буферизации и организации очереди .
Буферизация печати
[ редактировать ]В настоящее время наиболее распространенным применением спулинга является печать: документы, отформатированные для печати, сохраняются в очереди со скоростью компьютера, затем извлекаются и печатаются со скоростью принтера. Несколько процессов могут без ожидания записывать документы в спул, а затем выполнять другие задачи, в то время как процесс «спулер» управляет принтером. [1]
Например, когда крупная организация готовит чеки по заработной плате, расчет занимает всего несколько минут или даже секунд, но процесс печати может занять несколько часов. Если бы программа расчета заработной платы печатала чеки напрямую, она не смогла бы перейти к другим расчетам, пока не были бы напечатаны все чеки. Аналогичным образом, до того, как буферизация была добавлена в ПК операционные системы , текстовые процессоры не могли делать ничего другого, включая взаимодействие с пользователем во время печати.
Программное обеспечение спулера или управления печатью часто включает в себя множество связанных функций, таких как разрешение назначать приоритеты заданиям на печать, уведомление пользователей о том, что их документы распечатаны, распределение заданий на печать между несколькими принтерами, выбор подходящей бумаги для каждого документа и т. д.
Сервер печати применяет методы буферизации, позволяющие множеству компьютеров использовать один и тот же принтер или группу принтеров.
Баннерная страница
[ редактировать ]Диспетчеры печати [б] можно настроить на добавление титульной страницы , также называемой пакетной страницей , листом задания или разделителем принтера , в начало и конец каждого документа и задания. Эти документы отделены друг от друга, идентифицируют каждый документ (например, по его названию ) и часто также указывают, кто его напечатал (например, по имени пользователя или названию должности ). Баннерные страницы ценны в офисах, где многие люди используют небольшое количество принтеров. Они также полезны, когда в рамках одного задания может быть создано несколько документов. В зависимости от конфигурации страницы баннеров могут создаваться на каждом клиентском компьютере, на централизованном сервере печати или на самом принтере.
На принтерах, использующих непрерывные фальцованные формы, первая титульная страница часто печаталась дважды, так что одна копия всегда располагалась лицевой стороной вверх при разделении заданий. Страница может содержать линии, напечатанные по сгибу, которые будут видны по краю стопки отпечатанных материалов, что позволит оператору легко разделять задания. Некоторые системы также печатали баннерную страницу в конце каждого задания, гарантируя пользователям, что они собрали всю свою распечатку.
Другие приложения
[ редактировать ]Буферизация также используется для обеспечения доступа к устройствам чтения и перфорации перфокарт , накопителям на магнитной ленте и другим медленным устройствам последовательного ввода-вывода. Это позволяет приложению работать на скорости ЦП, одновременно работая с периферийными устройствами на полной номинальной скорости.
Система пакетной обработки использует буферизацию для поддержания очереди готовых к выполнению задач, которые можно запустить, как только у системы появятся ресурсы для их обработки.
Некоторые системы хранения и пересылки сообщений, такие как uucp , использовали «spool» для обозначения очередей входящих и исходящих сообщений, и эта терминология до сих пор встречается в документации по электронной почте и программному обеспечению Usenet .
История
[ редактировать ]Периферийные устройства всегда были намного медленнее основных процессоров. Это была особенно серьезная проблема для ранних мэйнфреймов . Например, задание, которое непосредственно считывало перфокарты или создавало печатную продукцию, было вынуждено выполняться со скоростью медленных механических устройств. Первые программы буферизации, такие как IBM «SPOOL System» (7070-IO-076), копировали данные с перфокарт на магнитную ленту, а с ленты обратно на перфокарты и принтеры. Жесткие диски , которые предлагали более высокую скорость ввода-вывода и поддержку произвольного доступа , начали заменять использование магнитной ленты для намотки в середине 1960-х годов, а к 1970-м годам практически полностью заменили ее.
Поскольку оборудование единичной записи на мэйнфреймах IBM начала 1960-х годов было медленным, в более крупных системах было обычным использовать небольшой автономный компьютер, такой как IBM 1401 вместо буферизации .
Термин «катушка» может происходить от термина «Операции одновременного периферийного оборудования в режиме онлайн». [2] [3] (SPOOL) программное обеспечение; [4] однако этот вывод неясен. Синхронные периферийные операции в режиме онлайн могут быть бэкронимом . [5] [ нужна проверка ] Другое объяснение состоит в том, что это слово относится к «катушкам» или катушкам с магнитной лентой, хотя слово «катушка» используется нечасто.
Список систем намотки
[ редактировать ]- Система IBM SPOOL, 7070-IO-076
- Интегрированное средство различных операционных систем, например, GCOS , OS/360.
- Подключенный процессор поддержки (ASP) [6] в OS/360 и OS/VS2 (SVS) .
- Хьюстонский приоритет автоматической буферизации (HASP) [7] в OS/360 и SVS, получивших известность в 1960-х годах.
- Подсистема ввода заданий (JES, также известная как JES1) в OS/VS1
- Подсистема ввода заданий 2 (JES2), [8] последователь HASP
- Подсистема ввода заданий 3 (JES3), [9] последователь АСП
- Приоритетные устройства записи вывода, исполнительные процессоры и считыватели ввода (POWER) [10] [11]
- ПОНЯТЬ
- The Spooler , IBM DOS/360 , DOS/VS , and DOS/VSE spooler, 1975–1980s
- Система печати Беркли (lpr/lpd)
- ЧАШКИ
- VM/370 RSCS (подсистема удаленной буферизации связи)
- Симбионты и кооперативы в серии SDS Sigma компьютерах [12]
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Лундин, Ли; Стоунман, Дон (1977). спулера Руководство пользователя (2-е изд.). Харрисонбург: DataCorp из Вирджинии.
- ^ Система IBM 7070 SPOOL , Бюллетени системы обработки данных 7070 (второе издание), IBM, J28-6047-1
- ^ Донован, Джон Дж. (1972). Системное программирование . п. 405. ИСБН 0-07-085175-1 .
- ^ Джеймс Л. Петерсон; Авраам Зильбершац (июль 1984 г.). «1.4.3 Буферизация». Концепции операционной системы . Аддисон-Уэсли . п. 18. ISBN 0-201-06097-3 .
- ^ Таненбаум, Эндрю С. Современные операционные системы . 3-е изд. Пирсон Эдьюкейшн, Инк., 2008. ISBN 978-0-13-600663-3
- ^ Асимметричная многопроцессорная система IBM System/360 и System/370: Руководство по общей информации, номер программы 360A-CX-15X , IBM, GH20-1173
- ^ Система HASP, 26 февраля 1971 г. HASP II (360D-05.1-014) V3M1 , версия 3, уровень модификации 1, IBM, 26 февраля 1971 г.
- ^ z/OS V1R9.0 Введение в JES2 , IBM, SA22-7535-06
- ^ Обзор JES3 (первое издание), IBM, декабрь 1980 г., SC23-0040-0
- ^ Установка и эксплуатация DOS/VS POWER/VS (PDF) (второе издание), IBM, сентябрь 1974 г., GC33-5403-1
- ^ Расширенное виртуальное хранилище / устройства записи приоритетного вывода, процессоры выполнения и считыватели ввода ; ВСЕ/СИЛА - 5686-CF9-03
- ^ Программное обеспечение CP-V: Руководство по концепциям и возможностям (PDF) . Ханивелл. 1976. с. 2-7 . Проверено 6 декабря 2023 г.