Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЭВМС.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
219.65 Кб
Скачать

2/Загрузочная запись (к дискам относится)

Информация о структуре диска – таблица разделов(partition table)- хранится в главной загрузочной записи MBR(Master Boot Record), находящейся в общеизвестном месте – цилиндр 0, головка 0, сектор 1. В начале этого сектора расположена программа главного загрузчика (master boot), а за ней имеется таблица разделов, причем в двух системах: CHS (координаты начала и конца) и LBA(начало и длина) Разделы, как правило, начинаются точно по границе цилиндра (координаты N,0,1), кроме первого, начинающегося обычно с первой головки нулевого цилиндра(0,1,1), поскольку под нулевой головкой расположен сектор с MBR. Заканчиваться разделы должны на границе цилиндра, что позволяет через номера конечной головки и конечного сектора определить число головок и секторов на треке.

Описатель задает и атрибуты раздела – системный код и флаг активности. Флаг активности указывает главному загрузчику, какой раздел ему следует загружать. Флаг активности может быть установлен только для одного раздела диска(или вообще не устанавливается). Системный код определяет тип раздела; операционная система для своей файловой системы может использовать разделы только известных ей типов. Таблица разделов может заполняться как сначала, так и с конца. Если разделов меньше четырех, то свободные описатели обнулены. Свободные описатели, равно как и занятые, могут располагаться в любом месте таблицы. Формирование таблицы раделов – конфигурирование жесткого диска – как правило, выполняется утилитой FDISK/

Билет №8

1/Понятие стека. Варианты стековой памяти.

Стек, это структура данных, основанная на принципе LIFO (last in – first out – последний зашёл, первый вышел). Т.е. добавление элемента возможно только в вершину стека, и считывание элемента возможно только с вершины стека. При чтении элемента он выталкивается из стека и более там не существует. Для организации стека нужно два указателя – на начало стека и на дно стека. Думаю остальное все знают из курса САОД. Рассмотрим стек с точки зрения ОЭВМ.

В ЦП I 8086 есть два регистра: SP и BP – это stack pointer и base pointer. Они предназначены для работы со стеком. SP указывает на вершину стека (в этом я точно уверен), а BP – указатель на базу стека. Надеюсь, что база - это тоже самое, что и дно. Сам же стек, который использует ЦП, хранится в оперативной памяти (нужно уточнить на консультации) и доступ к нему осуществляется по средствам обозначенных выше регистров.

Один из примеров стека ЦП – стек вызовов. В него ЦП записывает точки возврата для подпрограмм, которые были вызваны из другой программы. Т.е., например, выполняется одна программа, и ЦП нужно вызвать другую подпрограмму. Он записывает в стек место, ГД находится текущая команда, и переходит к выполнению подпрограммы. Выполнив подпрограмму, он смотрит в стеке свою запись, в которой хранится данное о том, где он остановился до вызова подпрограммы, возвращается туда и продолжает свою работу.

На случай “вдруг спросит”: через стек можно передавать параметры для вызываемой подпрограммы. Т.е. записать их в стек, затем вызвать подпрограмму, а подпрограмма вытащит из стека то что ей нужно (главное не сбить точку возврата). Это применяется в языках высокого уровня.

Арифметический со-процессор и программируемые калькуляторы используют стековую модель для вычислений.

Что понимается под “Варианты стековой памяти” нужно, опять же, уточнить у Игнатьева.