Cтраница 3
В некоторой файловой системе справочник файлов организован в виде упорядоченного двоичного дерева. Каждой вершине соответствует некоторый файл, здесь содержится имя файла и, кроме всего прочего, дата последнего обращения к нему, закодированная целым числом. Напишите программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до некоторой определенной даты. [31]
Каждой вершине соответствует некоторый файл, здесь содержится имя файла и, кроме всего прочего, дата последнего обращения к нему, закодированная целым числом. Напишите программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до некоторой определенной даты. [32]
В языке есть средство, позволяющее программисту избежать излишних обращений к диску при работе программы и сократить текст программы - неполный синтаксис. В форме неполного синтаксиса явно появляются только стрелка ( Л) и индексы, имя глобальной переменной предполагается известным из: последнего обращения к глобальному массиву. Отсюда следует, что обращение в форме неполного синтаксиса не должно стоять первым в программе. [33]
После того как какая-либо переменная была предложена для использования в качестве общей, связанные с ней правила доступа не должны изменяться. Таким образом, после отказа использовать некоторую переменную как общую и последующего предложения вновь использовать ее в качестве общей связанные с ней правила доступа останутся теми же, что были заданы при последнем обращении к функции [ ОПД. [34]
Некоторые флаги дополняют флаг - 1, уточняя информацию, выводимую о файлах. Так, при наличии флага - s вместо размера файла в байтах сообщается размер в блоках. Флаг - и требует сообщать время последнего обращения, а не последней модификации. Если одновременно используются флаги - t и и, вывод команды Is упорядочивается по времени последнего обращения к файлу. [35]
В некоторой файловой системе справочник файлов организован в виде упорядоченного двоичного дерева. Каждой вершине соответствует некоторый файл, здесь содержится имя файла и, кроме всего прочего, дата последнего обращения к нему, закодированная целым числом. Напишите программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до некоторой определенной даты. [36]
Каждой вершине соответствует некоторый файл, здесь содержится имя файла и, кроме всего прочего, дата последнего обращения к нему, закодированная целым числом. Напишите программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до некоторой определенной даты. [37]
Давно известно, что большинство программ не обращаются к своему адресному пространству равномерно; чаще всего ссылки группируются на небольшом количестве страниц. Обращение к памяти может быть выборкой команды, данных или сохранением данных. В любой момент времени t существует множество страниц, использовавшихся за k последних обращений к памяти. Это множество w ( k, t) и есть рабочий набор. Функция w ( k, t) ограничена для больших k, потому что программа не может обращаться к большему количеству страниц, чем содержится в ее адресном пространстве, кроме того, редкие программы обращаются ко всем страницам адресного пространства. [38]
Производительность и объем. [39] |
При функционировании виртуальной памяти программно-аппаратные средства автоматически реализуют динамическую переадресацию ( преобразование) виртуальных адресов в реальные. При этом, если реальный адрес при исполнении команды соответствует обращению к ВЗУ, автоматически организуется пересылка необходимой страницы в ОЗУ. Предварительно из ОЗУ в ВЗУ высылается страница, наименее интенсивно использовавшаяся в течение последних обращений к памяти. Производимые пересылки учитываются в специальных таблицах, описывающих соответствие реальных и виртуальных адресов и используемых при переадреса. [40]
Однако вполне возможно, что страница, помещенная при первом обращении в начало таблицы, и в дальнейшем продолжает активно использоваться. Очевидно, в таком случае размещение элементов в буфере не отражает последовательности адресации соответствующих страниц. Это не очень удобно, и поэтому приходится создавать специальные механизмы для упорядочения элементов буфера по времени последнего обращения. Необходимо внести некоторую динамику в механизм LRU, причем здесь возможны самые различные конструктивные решения. Нетрудно представить себе способ работы, при котором учитывается точное время каждого обращения к памяти, что позволяет при замещении одного из элементов TLB соответствующим образом упорядочить его содержимое. Существуют и некоторые компромиссные решения, не столь строгие, но простые в реализации. В частности, известны аппаратные способы упорядочения элементов по частоте обращения к ним. [41]
Некоторые флаги дополняют флаг - 1, уточняя информацию, выводимую о файлах. Так, при наличии флага - s вместо размера файла в байтах сообщается размер в блоках. Флаг - и требует сообщать время последнего обращения, а не последней модификации. Если одновременно используются флаги - t и и, вывод команды Is упорядочивается по времени последнего обращения к файлу. [42]
Четырехвходовая ассоциативная кэш-память. [43] |
Использование ассоциативной кэш-памяти с множественным доступом ставит разработчика перед выбором. Если нужно поместить новый элемент в кэш-память, какой именно из старых элементов нужно убрать. Имеется определенный порядок каждого набора ячеек, которые могут быть доступны из данной ячейки памяти. Всякий раз, когда осуществляется доступ к любой строке, в соответствии с алгоритмом список обновляется и маркируется элемент, к которому произведено последнее обращение. Когда требуется заменить какой-нибудь элемент, убирается тот, который находится в конце списка, то есть тот, который использовался давно по сравнению со всеми другими. [44]
Рассмотрим порядок назначения ячеек АЗУ для подмены строк таблицы страниц. Для уменьшения затрат времени на преобразование адресов в АЗУ следует хранить описания страниц, обращение к которым производится наиболее часто. Ячейка АЗУ может быть занята для представления некоторой страницы, если она свободна. Если все ячейки АЗУ заняты, то описание страницы может быть введено в АЗУ только при условии удаления из АЗУ описания самой старой страницы, последнее обращение к которой происходило позже, чем обращение к остальным представленным в АЗУ страницам. Информация о занятости ячеек АЗУ и порядке использования страниц во времени формируется и хранится в управляющем поле АЗУ. В управляющем поле с каждой ячейкой а связан разряд занятости za ячейки, принимающий значение га О, если ячейка а свободна, и значение za 1, если ячейка занята. Для определения степени используемости страницы 5а в программе ячейка а содержит поле иа, состоящее, например, из четырехразрядных слов. В вычислителе IBM / 360 принят следующий порядок изменения значений иа для фиксации интенсивности использования ячеек. В противном случае всем и присваиваются нулевые значения. [45]