Реклама:

Операционную систему можно считать интерпретатором определенных особенностей архитектуры, которых нет на уровне архитектуры команд. Главными среди них являются виртуальная память, виртуальные команды ввода-вывода и средства поддержания параллелизма.

Виртуальная память нужна для того, чтобы позволить программам использовать больше адресного пространства, чем есть у машины на самом деле, или предоставить удобный механизм защиты и разделения памяти. Виртуальную память можно реализовать путем "чистого" разбиения на страницы, "чистой" сегментации или того и другого вместе. При страничной организации памяти адресное пространство разбивается на равные по размеру виртуальные страницы. Одни из них отображаются на физические страничные кадры, другие - нет. Обращение к отображенной странице преобразуется диспетчером памяти в правильный физический адрес. Обращение к неотображенной странице вызывает ошибку отсутствия страницы. Pentium 4 и UltraSPARC III имеют сложные диспетчеры памяти, поддерживающие виртуальную память и страничную организацию.

Самой важной абстракцией ввода-вывода на этом уровне является файл. Файл состоит из последовательности байтов, или логических записей, которые можно читать и записывать, не зная при этом о том, как работают диски и другие устройства ввода-вывода. Доступ к файлам может осуществляться последовательно, непоследовательно по номеру записи и непоследовательно по ключу. Для группирования файлов используются каталоги. Файлы могут храниться в последовательных секторах, а могут быть разбросаны по всему диску. В последнем случае требуются специальные структуры данных для нахождения всех блоков файла. Чтобы отслеживать свободное пространство на диске, можно использовать список пустот (неиспользуемых областей) или битовую карту (битовое отображение).

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

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

Примеры управления процессами || Оглавление || Вопросы и задания6