Управляющие структуры операционной системы
Поскольку в задачи операционной системы входит управление процессами и ресурсами, она должна располагать информацией о текущем состоянии каждого процесса и ресурса. Универсальный подход к предоставлению такой информации прост: операционная система создает и поддерживает таблицы с информацией по каждому объекту управления. Общее представление об этом можно получить на основании рис. 3.8, на котором показаны четыре различных вида таблиц, поддерживающихся операционной системой: для памяти, устройств ввода-вывода,
файлов и процессов. Хотя детали в разных операционных системах могут различаться, по сути, все операционные системы поддерживают информацию по этим четырем категориям.
Таблицы памяти(memory tables) используются для того, чтобы следить за основной (реальной) и вторичной (виртуальной) памятью. Некоторая часть основной памяти резервируется для операционной системы, оставшаяся же — доступна для использования процессами. Процессы, которые находятся во вторичной памяти, используют некоторую разновидность виртуальной памяти либо простой механизм свопинга. Таблицы памяти должны включать такую информацию:
• объем основной памяти, отведенной процессу;
• объем вторичной памяти, отведенной процессу;
• все атрибуты защиты блоков основной или виртуальной памяти, как, например, указание, какой из процессов имеет доступ к той или иной совместно используемой области памяти;
• вся информация, необходимая для управления виртуальной памятью.
Подробно эти информационные структуры, используемые для управления памятью, рассматриваются в третьей части книги.
Таблицы ввода-вывода (I/O tables) используются операционной системой для управления устройствами ввода-вывода и каналами компьютерной системы. В каждый момент времени устройство ввода-вывода может быть либо свободно, либо отдано в распоряжение какому-то определенному процессу. Если выполняется операция ввода-вывода, операционная система должна иметь информацию о ее состоянии и о том, какие адреса основной памяти задействованы в этой операции в качестве источника вывода или места, куда передаются данные при вводе. Управление вводом-выводом рассматривается в главе 11, "Управление вводом-выводом и дисковое планирование".
Операционная система может также поддерживать таблицы файлов (file tables). В этих таблицах находится информация о существующих файлах, их расположении на магнитных носителях, текущем состоянии и других атрибутах. Большая часть этой информации, если не вся, может поддерживаться системой управления файлами. В этом случае операционная система мало знает (или совсем ничего не знает) о файлах. В операционных системах другого типа основная часть работы, связанной с управлением файлами, выполняется самой операционной системой. Эта тема обсуждается в главе 12, "Управление файлами".
Наконец, операционная система должна поддерживать таблицы процессов, чтобы иметь возможность управлять ими. В оставшейся части данного раздела рассматриваются требования к таблицам процессов (process tables). Перед тем как продолжить рассмотрение, сделаем два замечания. Во-первых, хотя на рис. 3.8 и показаны четыре разных вида таблиц, ясно, что все они должны быть связаны между собой или иметь перекрестные ссылки. В конце концов, управление памятью, устройствами ввода-вывода и файлами осуществляется для того, чтобы могли выполняться процессы, поэтому в таблицах процессов должны быть явные или неявные ссылки на эти ресурсы. Например, доступ к файлам, информация о которых хранится в таблицах файлов, осуществляется через устройства ввода-вывода, и эти файлы или их части в определенные моменты времени будут находиться в основной или виртуальной памяти. Сами таблицы должны быть доступны для операционной системы, поэтому место для них выделяется системой управления памятью.
Во-вторых, какие сведения необходимы операционной системе для создания этих таблиц? Конечно же, у нее должна быть информация по основной конфигурации системы, в которую входят сведения об объеме основной памяти, количестве и виде устройств ввода-вывода, а также их идентификаторах и т.п. Таким образом, во время инициализации операционной системы она должна иметь доступ к определенным данным конфигурации, которые определяют основные параметры вычислительной среды. Эти данные могут создаваться как вне операционной системы с участием оператора, так и с помощью каких-то программ, определяющих конфигурацию вычислительной системы.
Дата добавления: 2016-06-05; просмотров: 2011;