Характеристики современных ОС

В экспериментальных коммерческих ОС были опробованы различные подходы и структурные элементы, большинство из которых можно объединить в следующие категории:

– архитектура микроядра;

– многопоточность;

– симметричная многопроцессорность;

– распределенные ОС;

– объектно-ориентированный дизайн.

Многопоточность

Это технология, при которой процесс, выполняющий приложения, разделяется на несколько одновременно выполняющихся потоков.

Поток – это диспетчиризированная единица работы, включающая контекст процессора (куда входит счетчик команд и указатель на вершину стека), а также свою собственную область стека. Команды потока выполняется последовательно, и поток может быть прерван при переключении процессора на обработку другого потока. У потоков как правило общее адресное пространство, в отличии от процессов.

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

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

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

Потоки иногда называют облегченными процессами.

Что касается симметричная многопроцессорность. Этот термин относится к архитектуре аппаратного обеспечения компьютера, предполагающую наличие нескольких процессов (минимум 2), а также образу ОС, поддерживающей такую аппаратную архитектуру.

Симметричная многопроцессорность определяется следующими характеристиками:

1) В системе имеется несколько процессоров;

2) Процессоры соединены меду собой коммуникационной шиной и совместно используют одну и ту же основную память и одни и те же устройства ввода-вывода;

3) Все процессоры могут выполнять одни и те же функции.

Считается, сто многопроцессорные системы имеют несколько потенциальных преимуществ по сравнению с однопроцессорными:

- производительность;

- надежность;

- наращивание;

- масштабирование.

В действительности эти преимущества не всегда реализуются. В частности, если задача строго линейна (т.е. не распараллеливается), то и выигрыша никакого не будет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: