- •Понятие операционной системы
- •Характеристики современных ос
- •Многопоточность (multithreading)
- •Симметричная многопроцессорность
- •Распределенные ос
- •Концепция ос на основе микроядра
- •Функции микроядра
- •Принципы построения ос
- •1. Частотный принцип.
- •2. Принцип модульности.
- •3. Принцип функциональной избирательности.
- •4. Принцип генерируемости.
- •5. Принцип функциональной избыточности.
- •6. Принцип по умолчанию.
- •7. Принцип перемещаемости.
- •8. Принцип защиты.
- •9. Принцип независимости программ от внешних устройств.
- •Концептуальные основы ос
Характеристики современных ос
В экспериментальных и коммерческих ОС были опробованы различные подходы и структурные элементы, большинство из которых можно объединить в следующие категории:
– архитектура микроядра;
– многопоточность;
– симметричная многопроцессорность;
– распределенные ОС;
– объектно-ориентированный дизайн.
Многопоточность (multithreading)
Это технология, при которой процесс, выполняющий приложения, разделяется на несколько одновременно выполняющихся потоков.
Поток – это диспетчеризируемая единица работы, включающая контекст процессора (куда входит счетчик команд и указатель на вершину стека), а также свою собственную область стека. Команды потока выполняется последовательно, и поток может быть прерван при переключении процессора на обработку другого потока. У потоков как правило общее адресное пространство, в отличии от процессов.
Процесс – это набор из одного или нескольких потоков, а также связанных с этими потоками системных ресурсов, таких как область памяти для хранения кода и данных, открытые файлы, различные устройства.
Концепция процесса близка к концепции выполняющейся программы. Разбивая приложения на несколько потоков, программист получает преимущество модульности приложения и возможность управления связанными с приложением временными событиями.
Многопоточность оказывается полезной для приложений, выполняющих несколько независимых заданий, которые не требуют последовательного выполнения.
Потоки иногда называют облегченными процессами.
Симметричная многопроцессорность
(symmetric multiprocessing)
Этот термин относится к архитектуре аппаратного обеспечения компьютера, предполагающую наличие нескольких процессов (минимум 2), а также образу действия ОС, поддерживающей такую аппаратную архитектуру.
Симметричная многопроцессорность определяется следующими характеристиками:
1) в системе имеется несколько процессоров;
2) процессоры соединены меду собой коммуникационной шиной и совместно используют одну и ту же основную память и одни и те же устройства ввода-вывода;
3) все процессоры могут выполнять одни и те же функции.
Считается, сто многопроцессорные системы имеют несколько потенциальных преимуществ по сравнению с однопроцессорными:
- производительность;
- надежность;
- наращивание;
- масштабируемость.
В действительности эти преимущества не всегда реализуются. В частности, если задача строго линейна (т.е. не распараллеливается), то и выигрыша производительности не будет.
Распределенные ос
Сущность этой концепции состоит в том, что создается так называемый кластер, состоящий из нескольких отдельных компьютеров, каждый из которых обладает собственной основной и вторичной памятью и своими устройствами ввода-вывода.
Кластер - группа взаимосвязанных и совместно-работающих компьютеров, представляющих собой единый ресурс и способных создавать иллюзию работы единой вычислительной системы.
Распределенные ОС создают видимость единого пространства основной и вторичной памяти и единой файловой системы.
К таким системам относятся системы типа клиент-сервер.
