Задание 5 Параграф 9 ГДЗ Босова 10 класс (Информатика)
На диск требуется записать файлы: файл А размером 20 Кбайт, затем файл В размером 30 Кбайт, затем файл С размером 65 Кбайт, и наконец — файл D размером 60 Кбайт.
Операционная система для хранения каждого файла пытается искать смежные (соседние) свободные кластеры, чтобы избежать фрагментации файла — рассеивания содержимого файла по диску, приводящего к уменьшению производительности.
В какие кластеры может быть записано содержимое файлов при соблюдении этого условия?
Размер каждого кластера 16 Кбайт.
Записать файлы по возможности без фрагментации.
4 кластера это 16*4=64 Кбайт (2 области)
3 кластера это 16*3=48 Кбайт (1 область)
2 кластера это 16*2=32 Кбайт (1 область)
Файл А в кластеры 35, 36 (32 – 20=12) – все кластеры заняты;
Файл В в кластеры 12,13 (32 – 30=2), кластер 14 – свободный;
Файл D в кластеры 76, 77, 78, 79 (64 – 60=4) – все кластеры заняты.
Файл С не удается заместить без фрагментации, нет такого места на диске, Один фрагмент, размером 60 Кбайт размещаем в кластерах 52, 53, 54, 55, другой фрагмент – 5 Кбайт в кластер 14.
Можно и по-другому:
А и В в 52, 53, 54, 55, а D в 12, 13, 14 и 35, 36
Размер одного кластера равен $$16$$ Кбайт, поэтому для каждого файла подбираем минимальное число подряд идущих свободных кластеров, чтобы вместить файл без фрагментации.
Найдём, сколько кластеров нужно каждому файлу:
- файл $$A$$: $$20$$ Кбайт, значит нужно $$2$$ кластера, так как $$16 \cdot 2 = 32$$ Кбайт;
- файл $$B$$: $$30$$ Кбайт, значит нужно $$2$$ кластера, так как $$16 \cdot 2 = 32$$ Кбайт;
- файл $$C$$: $$65$$ Кбайт, значит нужно $$5$$ кластеров, так как $$16 \cdot 4 = 64$$ Кбайт недостаточно, а $$16 \cdot 5 = 80$$ Кбайт;
- файл $$D$$: $$60$$ Кбайт, значит нужно $$4$$ кластера, так как $$16 \cdot 4 = 64$$ Кбайт.
По схеме диска можно выбрать такие свободные подряд идущие кластеры:
- $$A$$ — кластеры $$35$$ и $$36$$;
- $$B$$ — кластеры $$12$$ и $$13$$;
- $$D$$ — кластеры $$76$$, $$77$$, $$78$$ и $$79$$;
- для $$C$$ подряд идущего участка из $$5$$ свободных кластеров нет, поэтому без фрагментации файл записать нельзя.
Если разрешить фрагментацию, то файл $$C$$ можно разместить, например, так: один фрагмент $$60$$ Кбайт в кластерах $$52$$, $$53$$, $$54$$, $$55$$, а оставшиеся $$5$$ Кбайт — в кластере $$14$$.
Ответ
$$A$$ — $$35, 36$$; $$B$$ — $$12, 13$$; $$D$$ — $$76, 77, 78, 79$$. Файл $$C$$ без фрагментации записать нельзя.