
- •Методические указания
- •Содержание
- •Введение
- •1 Управление заданиями
- •1.1 Теоретическая часть
- •1.2 Исходные условия для задач
- •1.3 Пример решения
- •1.4 Варианты задач
- •2 Управление процессами
- •2.1 Теоретическая часть
- •2.2 Исходные условия для задач
- •2.3 Пример решения
- •2.4 Варианты задач
- •3 Управление памятью
- •3.1 Теоретическая часть
- •3.1.1 Распределение оперативной памяти
- •3.1.2 Алгоритмы замещения процессов
- •3.2 Исходные условия для задач
- •3.3.2 Пример задачи по использованию алгоритмов замещения
- •2 3 2 1 5 2 4 5 3 2 5 2.
- •3.4 Варианты задач
- •3.4.1 Варианты задач распределения оперативной памяти
- •3.4.2 Варианты задач алгоритмов замещения
- •4 Управление файлами
- •4.1 Теоретическая часть
- •4.2 Исходные условия для задач
- •4.3 Пример решения
- •4.4 Варианты задач
- •5 Управление вводом-выводом
- •5.1 Теоретическая часть
- •5.2 Исходные условия для задач
- •5.3 Пример решения
- •Невытесняющая многозадачность
- •Вытесняющая многозадачность
- •5.4 Варианты задач
- •6 Перечень тем для проверки знаний
- •Литература
4 Управление файлами
4.1 Теоретическая часть
Все современные ОС имеют в своем составе системы управления файлами.
Для того чтобы можно было загрузить с магнитного диска ОС и с ее помощью и организовать работу системы управления файлами, приняты специальные системные соглашения о структуре диска.
Информация на магнитных дисках размещается и передается блоками, которые называют секторами, расположенными на концентрических дорожках поверхности диска. Каждая дорожка образуется при вращении магнитного диска под зафиксированной в некотором положении головкой чтения/записи.
Каждой головке соответствует своя поверхность диска.
Группы дорожек (треков) одного радиуса, расположенных на поверхностях магнитных дисков называются цилиндрами.
Размер сектора устанавливается контроллером или драйвером. Обычно его размер равен 512 байт.
Обмен информацией между ОЗУ и дисками физически осуществляется только секторами
Минимальная адресуемая единица дисковой памяти, выделяемая файлу – это кластер. Кластер представляет собой один или несколько смежных секторов. Файл или каталог занимает целое число кластеров. Последний кластер при этом может быть задействован не полностью, что приводит к потерям на кластеризацию.
Разбиение на кластеры взамен одиночных секторов уменьшает фрагментацию файлов и ускоряет доступ к ним. Однако слишком большой размер кластера ведет к неэффективному использованию области данных, особенно в случае большого количества маленьких файлов. Поэтому в современных файловых системах размеры кластеров ограничиваются (обычно — от 512 байт до 4 Кбайт). Их максимальное количество определяется количеством бит, выделяемых для задания номера кластера. Так, например, для файловой системы FAT количество кластеров равно 216, а для FAT32 – 232.
4.2 Исходные условия для задач
Задан объем жесткого диска V, размер сектора равен 512 байт, для номера кластера выделяется R разрядов (16 или 32), размер может быть ограничен и равен K , это оказывает ограничение на размер логического диска и максимальный размер файла.
Необходимо:
определить возможный размер кластера при отсутствии ограничений;
оценить потери на кластеризацию P при количестве файлов, равном F ;
- оценить максимальный размер L логического диска при ограниченном размере кластера.
4.3 Пример решения
Заданы:
- объем жесткого диска V=200 Мбайт;
- количество разрядов для указания номера кластера R=16;
- размер кластера ограничен K=1024 байт;
- количество записанных файлов F=100.
Решение
1) Оценим предварительно возможный размер кластера без ограничений
k=200*1024*1024/216=3200 байт,
учитывая размер сектора 512 байт, оценим количество секторов
s=3200/512= 6.25,
так как кластер содержит целое количество смежных секторов, т.е. округляя в большую сторону, кластер будет содержать 7 секторов и окончательно размер кластера будет равен
K= 512*7=3584 байта.
2) Средние потери P на кластеризацию равны половине кластера на один файл и при количестве файлов равном 100 равны
P=3584*100=358 400 байт.
3) При ограничении размера кластера, то есть равном K=1024 и количестве, равном 216=65535 получим максимально возможный размер логического диска
L= 65535*1024=67107840, то есть примерно 67 Мбайт.