Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Кэширование дисков. Редактирование при интерактивном вводе

Редактирование при интерактивном вводе

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

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

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

В роли быстродействующей памяти (кэша) здесь выступает массив буферов, размещенный в системной памяти. Каждый буфер состоит из заголовка и блока данных, соответствующего по размеру блоку (сектору) диска. Заголовок буфера содержит адрес блока диска, копия которого в данный момент содержится в буфере, и несколько флагов, характеризующих состояние буфера.

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

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

Можно назвать три случая в которых выполняется «очистка» «грязных»буферов т.е. запись блока данных из кэш-буфера на диск

· Выбор блока для вытеснения из кэша.

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

· Операция принудительной очистки всех буферов либо только буферов, относящихся к определенному файлу.

Классы команд

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

1. Команды обработки данных

1.1 Короткие операции (один такт)

1.1.1 Логические: А) логическое сложение; Б) логическое умножение; В) инверсия; Г) логическое сравнение.

1.1.2 Арифметические: а) сложение операндов; б) вычитание; в) арифметическое сравнение.

1.2. Длинные операции (несколько тактов): а) сложение/вычитание с фиксированной точкой; б) умножение/деление с фиксированной точкой.

2. Операции управления: а) Безусловный переход; в) условный переход

3. Операции обращения к внешним устройствам (операции на запись/считывание информации)

Типовая структура трехадресной команды

 
 
КОП А1 А2 А3

 

 


Где А2 и А3-адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции; А1-адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.

Типовая структура двухадресной команды

 
 
КОП А1 А2

 

 


Где А1 – это обычно адрес ячейки (регистра), где храниться первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; А2 – это обычно адрес ячейки (регистра), где храниться второе участвующее в операции число.

КОП А1 А1
Типовая структура одноадресной команды

 

Где А1 в зависимости от модификации команды, может обозначать либо адрес ячейки (регистра), в которой храниться одно из чисел, участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число – результат операции.

Безадресная команда содержит только КОП, а информация для нее должна быть заранее помещена в определенные регистры машины.

Сосов 2

Баизегитов 2

Рахматуллина 2

 

<== предыдущая лекция | следующая лекция ==>
Согласование размеров логической и физической записи | 
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 304; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.