Для чего нужна буферная память в принтере
Интернет-
магазин
Партнерам
Память принтера
Ещё одна важная деталь, на которую просто необходимо обратить внимание при покупке принтера — его память. В каждом печатном устройстве имеется микросхема памяти, а в лазерном и струйном, кроме этого, есть встроенный процессор. Как говорят специалисты, памяти много не бывает.
Память принтера — это буфер для данных задания печати. В процессе создания изображения, шрифта и команд именно в ней сохраняется вся информация. Поэтому от объёма памяти принтера зависит масштаб и сложность заданий, которые могут быть на нём выполнены. Перед тем, как начать печать, принтер создаёт растровый аналог страницы в памяти. Каждый контур и векторное изображение должны быть растрированы. Для работы с простым текстом хватит и 8 Мб памяти. А вот большое количество графики и загруженных шрифтов, язык PS, если в процессе используются дополнительный модуль двухсторонней печати и большие форматы бумаги, а печать проходит в режиме ProRes1200, то объём памяти должен быть на самом деле солидным.
Что случается, если памяти всё же не хватает? Каша из графики и текста. Изображение может расчленяться на части, а некоторые шрифты вообще не будут отражены. Однако ситуацию всегда можно исправить с помощью дополнительных модулей памяти. Большинство принтеров работают со стандартными модулями SIMM или DIMM, а в некоторые потребуются специальные и более дорогие модели.
С дополнительной памятью принтер свободно принимает и выполняет объёмные задания. Кроме того, может значительно повыситься производительность системы. Только нужно учитывать, что, например, при печати в системе DOS с расширением памяти увеличения скорости не произойдёт. Только те многозадачные системы, которые могут печатать в фоновом режиме, будут использовать «бонусы» данного расширения.
Расширить объём памяти с помощью модуля можно только в лазерных и струйных принтерах. Матричные же работают совершенно по-другому. Из компьютера на принтер данные передаются в форме потока ASCII-символов, поэтому печатному устройству совершенно не нужно отражать страницу целиком. Исходя из этого, на них ставятся буферы объёмом всего в несколько килобайт. Таким же образом передаются на матричный принтер и графические изображения, поэтому установка модуля не даст улучшения уровня производительности.
Устройства вывода информации
Твердокрасочные
В таких принтерах применяются красители в твердой форме (твердые восковые красители с низкой температурой плавления).
На схеме изображены:
Сублимационные (термодиффузионные) принтеры
Для печати используются легко Испаряющиеся красители, нанесенные на специальную ленту. Лента протягивается между листом специальной бумаги и нагревательным элементом. Краситель с ленты испаряется и переходит на бумагу.
На рисунке обозначены:
Принтеры применяются для печати высокого качества и точной цветопередачи, но на одну страницу затрачивается около двух минут.
Принтеры специального назначения
Типа специализированных принтеров: принтеры для портативных компьютеров и принтеры большого формата (плоттеры).
Струйные плоттеры
Печатающая головка и система позиционирования дают возможность печатать с разрешением 1200×600 dpi, при этом отчетливо воспроизводятся линии толщиной до 0,05 мм. Вывод точек осуществляется с точностью +0,2% (0,38 мм), наилучшие результаты, по данным производителя, достигаются при температуре воздуха 23°С и относительной влажности 50-60%.
Для удобства принтеры оснащены устройством подачи рулонной бумаги и корзиной для готовых распечаток.
Также возможны расширяющие модули: дополнительный процессор, ОЗУ до 160Мб, поддержка системы AutoCAD.
Принт-сервер
Каждый принт- сервер NetWare 3.x может обслуживать до 16 принтеров, обслуживая очереди печати до 8 файл-серверов. Его экран отображает информацию о состоянии принтеров.
Принт- сервер может загружаться на файл-сервере или на выделенной рабочей станции. Разделение принт-сервера и файл-сервера снижает загрузку и повышает защиту последнего.
Для запуска этого устройства его необходимо подключить к локальной сети, присоединить к нему принтеры (или плоттеры). Далее на любой рабочей станции, зарегистрировавшись в сети с правами супервизора.
Зачем нужен буфер в пунктах меню Принтеры и Картриджи?
Иногда возникает потребность выделения каким либо образом важные принтеры и картриджи для которых требуется Ваше особое внимание. Для этого кликните по круглой кнопке в конце строки объекта. Например пометим произвольный картридж.
Иногда возникает потребность выделения каким либо образом важные принтеры и картриджи для которых требуется Ваше особое внимание. Для этого кликните по круглой кнопке в конце строки объекта. Например пометим произвольный картридж.
Помеченный картридж появится в таблице Картриджи – Буфер
При этом появляется дополнительная возможность печати наклеек с QR кодами для буферизированных объектов нажав на кнопку «Печать PDF». Например если прежняя наклейка частично повреждена или загрязнена.
Буферизированные картриджи и принтеры можно удалить по отдельности – это будет эквивалентно повторному клику на кнопочке по буферизации с отменой её подсветки жёлтым цветом. Также буфер можно очистить целиком нажав на кнопку «Очистить буфер». Стоит также отметить, что буферизация никаким образом не влияет картриджи и принтеры и в их истории событий никак не фиксируется.
Для чего нужна буферная память в принтере
Все вопросы и правила по ведению этой статьи были описаны в части 1. Автор ещё раз замечает, что он активно использует свои определения, и теоретические выкладки, которые никак не претендуют на официальный статус научных, но от этого хуже не становятся.
Буферы
Ещё один вид памяти, часто используемый, но нереализованный в виде API. Он берёт своё начало от вопросов по схемам редактирования файлов, что видимо, является темой последующих статей. Буферная память как следует из названия – это по сути дела то же, что и буферы. Но, в конце концов, такое понятие было обобщено и систематизировано, так как предлагаемая схема использования нашла себя и в других областях, отличных от вопросов буферизации. В общем случае темы буферизации и дефрагментирования являются довольно большими, очень скучно и нудно излагать их в одной статье, поэтому здесь будут лишь объяснения, связанные с буферной памятью, а все вопросы и причины, почему именно, так или иначе, таятся глубже.
Буферная память имеет несколько назначений.
Целью механизма буферной памяти, (или то же что «прокси- систем») является уменьшение потребляемых ресурсов объектом приёмником, требующего сравнительно больших затрат, путём уменьшения частоты поступления потока данных в объект- приёмник.
Целью механизма буферной памяти является создание участка оперативной памяти для отработки процессов рейдеринга памяти, и других процессов, время выполнения которых зависит от размеров памяти.
Читатель может заметить ещё одну цель создания буферов. Это проведение некоторого рода операций над файлами большого размера, которые не умещаются в оперативной памяти. Однако следует считать, что этот случай попадает под первое назначение буфера, так как нехватку оперативной памяти можно понимать как большие затраты ресурсов. Таким образом под затратой ресурсов следует понимать как источник хранения данных, так и время выполнения кода.
Буферной памятью называется – объект памяти, которым владеют одновременно два объекта, не связанные между собой.
В этом определении важно два слова: «ДВА ОБЪЕКТА» и «НЕ СВЯЗАННЫЕ». В случае нарушения одного из этих условий мы автоматически попадаем в неизведанный мир Оморфо программирования.
Обычно два объекта, владеющие буферной памятью, называются по типу их отношений с буфером: «источник» / «приёмник». Один объект «источник» помещает данные в буфер, а другой объект – «приёмник» снимает их с буфера. Но (. ) сами эти объекты не связаны между собой ни какой архитектурной зависимостью кода! Между прочим, такая модель взаимодействия получила название прокси, когда существует система-посредник между двумя системами. То есть буфер иными словами является прокси-объектом, а источник – буфер – приёмник – прокси-системой.
Рабочий цикл буфера.
Состоянием наполнения называется момент времени, в котором информация помещается в буфер.
Состоянием передачи называется процесс, когда информация из буфера перемещается в объект приёмник.
Состояние сброса является начальным состоянием буферной памяти, после того как она заказана и выделена. Буферную память, как правило, заказывает третье лицо, и назначает её владельцам: источнику и приёмнику. То есть источник, и приёмник не подозревают, что они работают через буфер. Очень часто буферную память заказывает и объект приёмник, который, по сути, управляет выходным хранилищем данных. В этом случае, он подключается к объекту источнику и передаёт ему буфер. Но никогда (. ) буферную память не заказывает объект источник, на это есть много веских причин, которые выходят за рамки повествования. Можно считать, что объект источник должен быть сконструирован так, чтобы он не подозревал, что работает с буфером. Конечно, на любое правило есть исключения, но в большинстве случаев, такое утверждение указывает на неоптимальность управляющего алгоритма, либо на возможность потенциальной ошибки в нём.
В первом случае источник заполняет буфер во время специальных периодов называемых сессиями, во втором случае буфер заполняет в каком-либо непрерывном цикле, и в третьем случае буфер заполняется в произвольный момент времени.
Если память в буфере занимается сегментно, то тогда возникает возможность предсказывать переполнение, и передать данные в приёмник в любой момент, когда он будет готов для приёма. В подобных алгоритмах активно используются асинхронные вызовы и событийные системы потенциалов, но можно ограничиться и традиционными способами.
Если заполнение выполняется сессиями, то возникает возможность освобождать буфер каждый раз после сессии, если приёмник готов к передачи, но этим не стоит злоупотреблять, так как система буферной памяти разрабатывалась именно чтобы сделать обращение к выделению основных блоков памяти менее частым. В этом случае можно использовать систему потенциальных предсказаний. В случае циклического заполнения процесс передачи осуществляется в зависимости после последнего гарантированного удачного помещения данных в буфер. Удачным гарантированным помещением в случае сегментной схемы считается – последний помещающийся в буфер сегмент.
Так же хочется отметить по-секторную модель, в которой имеется возможность одновременных процессов считывания и записи в буфер, это актуально при многониточном программировании, а так же в нелинейных системах. В этом случае буфер делиться на несколько секторов. Когда заполняется один сектор буфера, следующий переходит в состояние заполнения, а заполненный сектор переходит в состояние передачи.
Выделение памяти буферу.
Вопрос создания буфера открывается в момент создания объекта приёмника. И как нестранно такое утверждение – правило. Сколько же памяти следует отдавать на буфер? Вот довольно жёсткий принцип:
Размер буфера должен быть таким, чтобы суммарное время выполнения кода обслуживающее режим наполнения, было бы равно времени выполнения кода, выполняющего режим передачи. При этом код исполняемый объектом источником должен иметь приемлемое время исполнения.
В первой части определения разговор идёт касательно так называемого первого назначения буфера. Обычно код организующий выделение памяти средствами ОС является «тяжёлым кодом», то есть он требует сравнительно много времени на выполнение. Предположим, если вы выполняете какие-то циклические действия над потоком ввода из файла, то было бы чрезвычайно расточительно обращаться к диску за каждым байтом. В этом случае, с диска считывается сразу дамп памяти, а некая операция выполняется над этим дампом. Данный пример, аналогичен, так же если вместо источника диска, подставить источник – некую функцию, конвертирующую данные, либо что-то ещё.
Во второй части правила говориться о затратах на использование ресурсов источником, подобно примеру выше – это диск. Диск – медленное устройство и требует сравнительно большего времени для получения/передачи данных. Вместо диска можно подразумевать совокупность процедур, работающих с памятью, и время выполнения которых зависит от размера обрабатываемой памяти. Примером таких процедур могут служить процедуры рейдеринга памяти, выполняющих её дефрагментацию.
Однако, несмотря на всё вышесказанное, прямое использование этого правила не возможно, так как число влияющих факторов на выбор размера буфера намного больше из тех, что рассмотрены в правиле. На выбор размера буфера так же влияют: гранулярность памяти, физический размер страниц, методы выделения памяти, удобство работы обслуживающих алгоритмов, и др. Так же фактором выбора размера буфера является место его размещения и метод получения.
Буферную память можно разместить как статически, то есть заранее расположенную в секции неинициализированных данных, так и динамически выделенную.
В том случае, если буфер создаётся для кэширования вывода в файл, можно разместить буфер прямо на первых страницах файла, однако это чревато последствиями перекачки всех данных при сохранении файла. Можно размещать буфер и в хвосте файла, с каким-то запасом, и постепенно передвигать сам буфер по мере заполнения файла. Вот как это выглядит на практике:
Здесь серым цветом выделена заполняющаяся часть файла, а зелёным – буфер. Остальное – незанятое пространство. Если заполнение дойдёт до границ буфера и потребует большего пространства, тогда информация в буфере будет переработана, а сам буфер будет перемещён дальше, вот так:
По сути, данный метод является как бы обычной последовательной записью в файл, но с промежутками. И, тем не менее, это считается полноценным случаем буфера.
Буферную память целесообразно размещать в области виртуальной памяти, т.е. в файле подкачки. В любом случае размер буфера обязан быть кратен размеру страницы в данной системе. Однако гранулярность выделения памяти в Win32 является 64-bits, что создаёт жёсткие ограничения на размер буфера. Поэтому стоит выделять некоторое пространство памяти для нескольких буферов, и давать им размеры и базовые адреса по размерам страниц. (Более подробно о стратегиях выделения памяти в следующей части.)
Один буфер для многих и многоуровневая буферизация.
Широкий круг задач приходится выполнять жёстко последовательно. Например, ввод с клавиатуры может быть направлен в данный момент времени только в один источник. Этим можно воспользоваться для организации одного буфера для использования многими. Можно применить технологию ускользающих. В этом случае сброс буфера будет выполняться либо когда он наполнен, либо когда к буферу обращается другой объект-хозяин. Место под такой буфер можно зарезервировать в неинициализированном разделе, если он не превышает 8kb – 12kb оперативно памяти. Использование статических буферов является более эффективными по способу адресации, и тем эта эффективность выше, чем больше кода использует данный буфер. При этом при использовании статически размещённого буфера отпадает головная боль за слежением очистки мусора и выделения памяти, что сильно влияет на качество системы. Статические буфера желательно использовать, где только это возможно, хотя это возможно далеко не везде. К счастью существует метод многоуровневой буферизации. Как следует из названия, этот метод представляет собой наличие объекта хозяина у буфера, где объект хозяин сам является буфером. Буфер, который «стоит» ближе к действительному источнику именуется первым, а все последующие по порядку. Обычно каждый последующий буфер имеет меньшую частоту сброса, а значит, занимает больше памяти. Метод многоуровневой буферизации позволяет комбинировать достоинства нескольких приёмов размещения буферов. Например, первым буфером может являться буфер размещённый статически, а вторым – размещённый динамически. Примером использования многоуровневой системы буферизации может послужить API работы с файлами. Вы можете использовать кокой-то свой буфер для выполнения задач, когда система прозрачно для вас выполняет ещё одну буферизацию. А если вспомнить про физический буфер, находящийся в самом жёстком диске, то мы получим трёх уровневую систему буферизации ввода.
В качестве промежуточной памяти может выступать какой либо её блок, размещённый статически и работать по методике ускользающих. Такая система нашла широкое применение на практике, и мы рассмотрим её подробней несколько позже. Важно отметить следующее, что в данной многоуровневой системе, первый объект-буфер не является либо совсем буфером, либо является буфером неполноценным, так как не отвечает одному из назначений буфера, или не имеет буферного цикла.
API буферов.
Обычно всё-таки следует организовать некоторый локальный API по работе с буферной памятью. Первая важная функция, которая должна существовать это, конечно же, CreateBuffer. Вот возможный её прототип:
Жесткий диск в принтере/МФУ – удобство или излишество?
Жёсткий диск является неотъемлемым атрибутом любого персонального компьютера. Для чего он нужен там, прекрасно известно: в первую очередь — для хранения фильмов, музыки, фотографий, другого мультимедиа контента, а также установки игр. Ах, да, для операционной системы он обычно тоже нужен, но это уже малоинтересно. В последнее время жесткий диск иногда заменяется (или, по крайней мере, «аккомпанируется») накопителем SSD, но его предназначение от этого не меняется.
Однако жёсткие диски используются не только в компьютерах, но иногда еще и в принтерах и МФУ, в том числе — и у KYOCERA. Казалось бы — зачем? Для ответа на этот вопрос и обсуждения и пишется этот пост.
Итак, жёсткий диск (или SSD) в принтерах и МФУ используется с той же самой целью, что и в компьютере. Ну, то есть — почти той же самой: сохранения информации. Разумеется, не игр и фильмов, а немного другого типа данных.
Представим, что у нас есть сеть с некоторым количеством компьютеров, и вместе с ними — один сетевой МФУ, на котором печатают, копируют и сканируют все пользователи этих компьютеров. Представили?
А теперь представьте, что один из этих пользователей — вы.
1. Случай первый. Вам часто нужно печатать документы на бланках, причем видов бланков этих — довольно много.
К примеру — десяток. Представили? Как вы заранее заготавливаете эти бланки или создаете специальные шаблоны в различных приложениях, как пытаетесь впихнуть в них нужные документы или как они заканчиваются у вас в самый неподходящий момент? А теперь представьте, что все эти шаблоны и бланки (вместе с графикой, подписями и проч.) могут храниться прямо на МФУ (принтере), и добавляться к печатающимся документам по вашему выбору автоматически прямо при печати?
Так вот, эти шаблоны как раз и могут сохраняться на жёстком диске для дальнейшего использования.
2. Случай второй. МФУ стоит в специально отведённом месте, находится далеко от вашего рабочего места,
а вам надо отсканировать большое количество документов. Или на удаленном принтере нужно печатать какие-либо типовые документы (бланки) без доступа к ПК. Для этого существует так называемый «Пользовательский ящик» (Custom Box) на самом печатающем устройстве, куда можно отсканировать документы со сканера МФУ (и отправить их потом себе на почту), отправить на печать с ПК нужные типовые документы, распечатать отсканированные документы позднее, в общем — универсальное хранилище для документов. Содержимое этого хранилища может быть просмотрено с ПК с помощью утилиты Command Center.
Для хранения этих документов также используется жёсткий диск. При желании озаботиться конфиденциальностью информации можно задать пароль на ящик (собственно, он задается в любом случае, это четырехзначный пин-код)
или установить специальную опцию, шифрующую всю информацию на HDD и стирающую ее физически (вайп) при удалении документов.
3. В самом простом случае, когда необходимо отправить на печать документ, который потом нужно будет периодически копировать без участия ПК, не обязательно связываться с Пользовательским ящиком. Достаточно установить перед печатью в драйвере опцию «Quick Copy», и документ потом может быть распечатан в любой момент в любом количестве экземпляров.
4. При большом объеме печати многостраничного документа функция Proof&Print дает возможность задать общее количество копий, распечатать одну копию документа целиком (для финального прочтения с целью нахождения ошибок),
и только после подтверждения, что все окей — печатать остальные копии. Согласитесь, отпечатать 1000 копий прайс-листа,
а потом найти на пятой странице недостачу нолика в цене не очень приятно.
5. И напоследок — самый распространенный случай, встречающийся в офисе с общим принтером: вам надо распечатать документ, который ну ни в коем случае не должны увидеть ваши коллеги, даже те, которых можно попросить сбегать к принтеру и схватить документы сразу после печати по телефонному звонку. Например, только что пришедший
job-offer от конкурирующей компании. Для таких случаев и существует функция Private Print. Перед печатью документа
в драйвере задается 4-значный пин-код, вы спокойно самостоятельно идете к печатающему устройству,
и печатаете документ тогда, когда вам будет угодно только после ввода пин-кода. Разумеется, на работу самого устройства это никак не влияет. Оно получает задание, сохраняет его на жёсткий диск, и продолжает работать, как ни в чем не бывало.
Конечно, на принтерах и МФУ, предназначенных для домашнего использования или персонального использования в офисе все это не пригодится. Да и в стоимость подобного устройства жесткий диск никак не поместится. Тем более, что функция Private Print реализуется на бюджетных устройствах, пусть и в менее удобном виде, и без жесткого диска.
Однако речь идет, прежде всего, о сетевых печатных устройствах общего пользования, находящихся в офисе и несущую большую нагрузку. Это та область, где продукция KYOCERA традиционно наиболее распространена. Поэтому нам хочется узнать ваше мнение — считаете ли вы перечисленные выше возможности никому не нужными излишествами или все-таки приносящими пользу при вашей работе? Возможно, вы можете предложить какую-либо другую функцию, которую, вполне возможно, мы сможем добавить в нашу будущую продукцию.
Будем рады вашим комментариям и предложениям!