Cтраница 2
![]() |
Блоки данных файла на диске. [16] |
Буферизация по хронологическому признаку эффективна в случае редактирования больших файлов ( или текстов программ), которые не помещаются в оперативной памяти. Однако при работе с базами данных такой порядок доступа совсем не обязателен. [17]
Буферизация команд и данных в УУ ( и в более общем плане - в процессорах) МВС создает по меньшей мере три полезных эффекта. Во-первых, как показано в § 2.4, буферизация заявок к оперативной памяти ( ОП) в УУ является структурным средством повышения пропускной способности внутрисистемного интерфейса МВС; буфера источников ( БИ) выступали здесь как элемент сопряжения этого интерфейса с УУ. Во-вторых, буферная память традиционно используется в ЭВМ и, в частности, в МВС для сглаживания различий между быстродействием ОП и скоростью выполнения операций в устройствах обработки ( к тому же изменяющейся на операциях различных типов); с этой целью в высокопроизводительных ЭВМ и МВС широко используется буферная память для опережающего чтения команд, для подготовки порций данных, к которым предполагается обращение выполняемой программы. Аналогичные функции - сглаживание различий во времени выполнения операций - выполняют вспомогательные буфера или регистры, устанавливаемые на входах и / или выходах взаимосвязанных функциональных блоков УУ. [18]
Буферизация АЦП разгружает компьютер от выполнения рутинной работы по сбору данных в отдельных дискретах программ в реальном масштабе времени. Это позволяет персональному компьютеру обрабатывать множество сигналов от прибора и выполнять другие операции в то время, когда происходит газохромато-графический анализ. Модульная структура таких систем с персональным компьютером позволяет использовать сначала малую систему, постепенно увеличивая возможности оборудования. Таким образом, снижаются исходные затраты на оборудование. Со-вершенстование системы достигается путем введения в нее новых моделей. [19]
Буферизацию еще называют спулингом, а буферные устройства - спулерами. Название это появилось от сравнения процесса - буферизации с наматыванием данных на катушку ( spool - по-английски значит катушка), чтобы их сохранить, и затем сматывания данных с этой воображаемой катушки по мере их распечатки принтером. Буквально так и происходил этот процесс в ранних компьютерных системах. Данные, предназначенные для печати, сначала записывались на магнитную ленту, намотанную на большие катушки лентопротяжных устройств. [20]
При буферизации по требованию перед выполнением каждой операции ввода-вывода для нужд этой операции выделяется буфер. Выделенный буфер используется следующим образом. Для считывания данных с внешнего устройства выдается макрокоманда READ ( читать блок), по которой операционная система считывает с внешнего устройства указанный блок набора данных и помещает его целиком во входной буфер. Однако при этом операционная система не осуществляет автоматический контроль за завершением операции ввода, как это было в методах доступа с очередями, а только инициирует операцию ввода, после чего продолжается выполнение программы, выдавшей макрокоманду READ. Для контроля завершения операции чтения в том месте программы, где нужны входные данные для обработки, программист выдает макрокоманду CHECK или WAIT. По этим макрокомандам выполнение программы пользователя приостанавливается до тех пор, пока не будет завершена операция чтения. В случае успешного завершения операции чтения во входном буфере оказывается блок набора данных, указанный в макрокоманде READ для ввода, и программист может использовать данные из этого блока. Логические записи из блока выделяет ( разблокирует записи) программист. [21]
При буферизации по требованию буфера для нужд операции ввода-вывода могут выделяться одним из трех способов. [22]
После буферизации все три входных аналоговых сигнала преобразуются поочередно в цифровую форму под управлением микроконтроллера в цикле программы последовательного приближения. Каждое преобразование занимает около 3 мс. [23]
Для буферизации символов обычно применяются два метода. В первом случае в драйвере содержится центральный пул буферов, в каждом из которых хранится около 10 символов. С каждым терминалом связана структура данных, содержащая, среди прочего, указатель на цепочку буферов, в которых находятся символы, введенные с данного терминала. Чем больше символов введено, тем больше выделяется буферов, соединенных в цепь. Когда символ передается программе пользователя, буферы удаляются и память возвращается центральному пулу. [24]
Применяются простая буферизация при вводе и выводе, макрокоманды GET в режиме указания и PUT в режиме пересылки. [25]
Если двойная буферизация повышает эффективность использования CPU, повысит ли тройная буферизация ее еще больше. [26]
Для буферизации символов обычно применяются два метода. В первом случае в драйвере содержится центральный пул буферов, в каждом из которых хранится около 10 символов. С каждым терминалом связана структура данных, содержащая, среди прочего, указатель на цепочку буферов, в которых находятся символы, введенные с данного терминала. Чем больше символов введено, тем больше выделяется буферов, соединенных в цепь. Когда символ передается программе пользователя, буферы удаляются и память возвращается центральному пулу. [27]
Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с различными устройствами. [28]
Метод буферизации позволяет согласовать ввод-вывод со скоростью работы внешнего запоминающего устройства без замедления самой программы. При интерактивной среде ввод-вывод, как правило, менее гибок, поскольку все входные данные должны генерироваться программистом на терминале в то время, как выполнение программы приостанавливается и никакая буферизация невозможна. [29]
Описатели буферизации, обозначаемые ключевыми словами BUFFERED и UNBUFFERED, применимы только для файла с описателями SEQUENTIAL и RECORD и определяют, необходимо или нет пользоваться промежуточной памятью ( буфером) во время обмена данными между памятью и внешними носителями. [30]