Cтраница 4
Размещение и поиск записей в файле выполняется с использованием хеш-адресации. Равномерность распределения записей по блокам файла зависит от равномерности значений ключей в записях файла, от свойств хеш-функции и схемы разрешения коллизий. [46]
Основным параметром кэширования, выбираемым администратором системы, является размер кластера кэша. Размер кластера кэша определяет, сколько дисковых блоков файла будут помещаться в кэш при обращении программы к диску. Администратор должен выбрать обоснованное соотношение кластера кэша с кластером диска. Например, если кластер кэша меньше кластера диска, то в кэш при обращении к диску помещаются не все данные кластера кэ-ширу эмого файла. А если размер кластера кэша больше кластера диска, то для его заполнения требуется не одно, а несколько физических обращений к диску. [47]
Для последнего ключа k &i второго блока одного из таких файлов FA производятся сравнения перед считыванием 3-го блока. Иными словами, окончание обработки текущих блоков файлов FC и FD производится после окончания обработки 2-го блока файла FA. Таким образом, если в момент, показанный на рис. 3.24, а, следующим считывается файл с наименьшим значением из & лз, & В2, kci, koi, то не производится затрат времени на ожидание ввода. [48]
Каждый блок файла содержит 8 записей, одинаковых по структуре. Таким образом, в одном блоке файла хранятся данные о 7 рабочих файлах. [49]
Первая запись считывается с МД, вторая независимо от первой формируется в рабочих регистрах ОЗУ по параметрам файла. Процесс контроля позволяет не только выявить блоки файла с искаженными записями в служебной области, но и выполнить проверку функционирования МД и ЭВМ. При многократном повторении искажений в служебной области записи, где обнаружен сбой, цилиндр или сектор МД выбраковывается и подлежит исключению из числа используемых на данном диске. Процедура контроля служебной части файла и отбраковка сбойных секторов МД практически совмещена в одном программном рабочем модуле. [50]
Средства разделяемых файлов позволяют программе получить полный контроль над одним или несколькими блоками файла. Для этого программа должна заблокировать нужные ей блоки файла. После блокировки другие программы, работающие с теми же файлами, не смогут работать с этими блоками, пока первая программа не разблокирует их. Возможна блокировка всего файла. [51]
Другое отличие системы MS-DOS от СР / М состоит в том, что дисковые адреса файлов не хранятся прямо в их описателях, возможно, поскольку разработчики системы понимали, что большие жесткие диски ( обычные в то время на мини-компьютерах) однажды появятся в мире MS-DOS. Вместо этого файловая система MS-DOS хранит номера блоков файла в специальной таблице размещения файлов, в оперативной памяти. В каталоговой записи хранится номер первого блока файла. Этот номер используется в качестве индекса для 64 К1 элементов FAT-табли-цы, хранящейся в оперативной памяти. Все блоки файла могут быть найдены, если проследовать по цепочке элементов таблицы. [52]
Здесь следует сказать несколько слов. Во-первых, данный способ представления информации о расположении блоков файла на диске не накладывает никаких дополнительных ограничений на размер файла. При отсутствии сжатия адреса для каждой пары требуется два 64-разрядных числа, что составляет 16 байт на пару. Однако одна пара может указывать на миллион последовательных блоков. Например, 20-мегабайтный файл, состоящий из 20 сегментов по 1 млн килобайтных блоков каждый, легко может быть описан всего одной записью MFT, тогда как 60-килобайтный файл, состоящий из 60 изолированных блоков, не может. [53]