
- •1. Определение системного программного обеспечения.
- •1. Ретроспектива развития спо.
- •2. Windows-динамически вызываемые библиотеки.
- •2. Характеристика системы прерывания.
- •Прерывания и способы их обработки
- •Драйверы устройств
- •2. Режимы пакетной обработки и разделения времени.
- •1. Принципы работы компилятора.
- •1. Принципы работы интерпретатора.
- •2. Программные прерывания.
- •2. Общая структура системы прерывания.
- •1. Объектный модуль.
- •1. Загрузочный модуль.
- •1. Перемещаемая объектная программа.
- •2. Программный и аппаратный таймер в пк.
- •1. Редактирование связей.
- •2. Общая постановка задачи управления памятью.
- •2. Мультипрограммные режимы и разделение памяти.
- •1. Загрузка программы.
- •2. Многозадачность и многопоточность.
- •2. Физическая и логическая структура памяти.
- •2. Таблица fat.
- •2. Управление файлами.
- •1. Подсистема ввода/вывода.
- •2. Графические файлы. Файлы bmp
2. Физическая и логическая структура памяти.
При страничной организации основная память делится на блоки фиксированного размера, обычно называемые рамка страниц. Каждая программа пользователя делится на блоки сответствующего размера, называемые страницами. Страницы организуются в логическом адресном пространстве, а рамки cтраниц - в физическом. Поскольку страницы и рамки страниц имеют различные идентификаторы, возникают интересные ситуации, касающиеся взаимосвязи между логическим адресным пространством (ЛАП) и физическим адресным пространством ФАП).
1. ЛАП < ФАП. В этом случае основной акцент делается на повышение эффективности использования памяти.
2. ЛАП = ФАП. Страничная организация служит не только для увеличения эффективности использования памяти, но и для расширения возможности разделенного использования процедур (т.е. несколькими пользователями). Возможно использование эффективного оверлейного механизма, реализованного аппаратно.
3. ЛАП > ФАП. Этот случай предполагает виртуальную память и дает наибольшие преимущества.
Мы будем рассматривать управление страницами применительно к последнему случаю. Выбор между случаями 1 и 2 обычно находится в зависимости от структуры Устройства Управления Памятью (УУП) и задач проектировщика операционной системы. Пользователь, располагая ЛАП из m страниц, будет иметь k страниц, отведенных под интерпретатор, и m - k страниц рабочего пространства. Описанный подход эффективен для системы с разделением времени.
23
1. Программные средства для управления видеопамятью.
2. Таблица fat.
Таблица размещения файлов является очень важной информационной структурой.
Можно сказать, что она представляет собой карту (образ) области данных, в которой описывается
состояние каждого участка области данных. Область данных разбивают на так
называемые кластеры. Кластер представляет собой один или несколько смежных секторов
в логическом дисковом адресном пространстве (точнее – только в области данных). В таблице
FAT кластеры, принадлежащие одному файлу, связываются в цепочки. Для указания
номера кластера в системе управления файлами FAT16 используется 16-битовое слово,
следовательно, можно иметь до 216 = 65536 кластеров (с номерами от 0 до 65536).
Кластер – это минимальная адресуемая единица дисковой памяти, выделяемая
файлу (или некорневому каталогу). Файл или каталог занимает целое число кластеров.
Последний кластер при этом может быть задействован не полностью, что приведет к заметной
потере дискового пространства при большом размере кластера. На дисках кластер
занимает один или два сектора, а на жестких дисках – в зависимости от объема раздела
(табл. 9.1)
Таблица 9.1
Соотношения между размером раздела и размером кластеров в FAT16
Емкость раздела, Мбайт Количество секторов в кластере
Размер кластеров, Кбайт
16-127 4 2
128-255 8 4
256-511 16 8
512-1023 32 16
1024-2047 64 32
Логическое разбиение области данных на кластеры как совокупности секторов взамен
использования одиночных секторов имеет следующий смысл: прежде всего, уменьшается
размер самой таблицы FAT; уменьшается возможная фрагментация файлов; ускоряется
доступ к файлу, так как в несколько раз длина цепочек фрагментов дискового пространства,
выделенных для него.
51
Однако слишком большой размер кластера ведет к неэффективному использованию
области данных, особенно в случае большого количества маленьких файлов, так как в
среднем на каждый файл теряется около половины кластера. Поэтому в современных
файловых системах HPFS, NTFS, FAT32 размеры кластеров ограничиваются (обычно – от
512 байт до 4 Кбайт). В FAT32 проблема решается за счет того , что собственно сама FAT
в этой файловой системе может содержать до 228 кластеров.
Идея файловой системы с использованием таблицы размещения файлов FAT
проиллюстрирована на рис. 9.3
На этом рисунке показано,что файл с именем MYFILE.TXT размещается, начиная
с восьмого кластера. Всего файл MYFILE.TXT занимает 12 кластеров. Цепочка кластеров
для этого примера может быть записана следующим образом: 8, 9, 0А, 0В, 15, 16, 17, 19,
1А, 1В, 1C, 1D. Кластер с номером 18 помечен специальным кодом F7 как плохой (bad),
он не может быть использован для размещения данных. При формировании обычно проверяется
поверхность магнитного диска, и те секторы, при контрольном чтении с которых
происходили ошибки, помечаются в FAT как плохие. Кластер 1D помечен кодом FF как
конечный (последний в цепочке кластер, принадлежащий данному файлу). Свободные
(незанятые) кластеры помечаются кодом 00; при выделении нового кластера для записи
файла берется первый свободный кластер.
Рис. 9.3 Основная концепция FAT.
Поскольку файлы на диске изменяются – удаляются, перемещаются, увеличиваются
или уменьшаются – то упомянутое правило выделения первого свободного кластера
для новой порции данных приводит к фрагментации файлов, то есть данные одного файла
могут располагаться не в смежных кластерах, а порой в очень удаленных друг от друга,
образуя сложные цепочки. Естественно, что это приводит к существенному замедлению
работы с файлами.
Так как FAT используется при доступе к диску очень интенсивно, она обычно загружается
в ОЗУ (в буфера ввода/вывода или кэш) и остается там настолько долго, насколько
это возможно.
В связи с чрезвычайной важностью FAT она обычно хранится в двух идентичных
экземплярах, второй из которых непосредственно следует за первым. Обновляются копии
начальный номер кластера
FAT одновременно. Используется же только первый экземпляр. Если он по каким-либо
причинам окажется разрушенным, то произойдет обращение ко второму экземпляру.
Структура системы файлов FAT является иерархической, то есть элементом каталога
может быть такой файл, который сам, в свою очередь, является каталогом.
24
1. Архитектура видео подсистемы.