Реклама:

Как уже отмечалось, современный компьютер организован в виде иерархии уровней, каждый из которых добавляет определенные функции к нижележащему уровню. Мы рассмотрели цифровой логический уровень, уровень микроархитектуры и уровень архитектуры команд. Настало время перейти к следующему уровню - уровню операционной системы.

С точки зрения программиста, операционная система - это программа, добавляющая ряд команд и функций к командам и функциям, предлагаемым уровнем архитектуры команд. Обычно операционная система реализуется программно, но нет никаких веских причин, по которым ее, как микропрограммы, нельзя было бы реализовать аппаратно. Уровень операционной системы показан на рис. 6.1.

Глава 6. Уровень операционной системы

Рис. 6.1. Положение уровня операционной системы в иерархии

Хотя и уровень операционной системы, и уровень архитектуры команд абстрактны (в том смысле, что не являются реальными устройствами), между ними есть важное различие. Все команды уровня операционной системы доступны для прикладных программистов. Это - практически все команды более низкого уровня, а также новые команды, добавленные операционной системой. Новые команды называются системными вызовами. Они вызывают предопределенную службу операционной системы, в частности одну из ее команд. Обычный системный вызов считывает какие-нибудь данные из файла.

Уровень операционной системы всегда интерпретируется. Когда пользовательская программа вызывает команду операционной системы, например чтение данных из файла, операционная система выполняет эту команду шаг за шагом, точно так же, как микропрограмма выполняет команду ADD. Однако когда программа вызывает команду уровня архитектуры команд, эта команда выполняется непосредственно уровнем микроархитектуры без участия операционной системы.

В этой книге мы можем рассказать об уровне операционной системы лишь в общих чертах. Мы сосредоточимся на трех важных особенностях. Первая особенность - это виртуальная память. Виртуальная память используется многими операционными системами. Она позволяет создать впечатление, будто у машины больше памяти, чем есть на самом деле. Вторая особенность - файловый ввод-вывод. Это понятие более высокого уровня, чем команды ввода-вывода, которые мы рассматривали в предыдущей главе. Третья особенность - параллельная работа (несколько процессов могут выполняться, обмениваться информацией и синхронизироваться). Понятие процесса является очень важным, и мы подробно рассмотрим его далее в этой главе. Под процессом можно понимать работающую программу и всю информацию о ее состоянии (памяти, регистрах, счетчике команд, вводе-выводе и т. д.). После обсуждения этих основных характеристик мы покажем, как они применяются к операционным системам двух машин из трех наших примеров: Pentium 4 (Windows ХР) и UltraSPARC III (UNIX). Поскольку процессор 8051 обычно используется для встроенных систем, у этой машины нет операционной системы.

Вопросы и задания5 || Оглавление || Виртуальная память