Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций ОС.docx
Скачиваний:
57
Добавлен:
14.04.2019
Размер:
17.75 Mб
Скачать

Тема 1.2. Классификация операционных систем. Структура операционной системы.

  1. Классификация операционных систем.

  2. Структура операционной системы.

Классификация операционных систем

ОС классифицируют по следующим признакам:

  • по назначению,

  • по режиму обработки задач,

  • по способу взаимодействия с системой,

  • по способам построения (архитектурным особенностям системы).

Прежде всего, традиционно различают ОС общего и специального назначения. ОС специального назначения, в свою очередь, подразделяются на ОС для переносных микрокомпьютеров и различных встроенных систем, организации и ведения баз данных, решения задач реального времени и т. п. Еще не так давно операционные системы для персональных компьютеров относили к ОС специального назначения. Сегодня современные мультизадачные ОС для персональных компьютеров уже многими относятся к ОС общего назначения, поскольку их можно использовать для самых разнообразных целей — так велики их возможности.

По режиму обработки задач различают ОС, обеспечивающие однозадачный и многозадачный режимы.

  • однозадачные (например, MS-DOS, MSX) и

  • многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.

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

При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских и многопользовательских (мультитерминальных) ОС:

  • однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

  • многопользовательские (UNIX, Windows NT).

В мультитерминальных ОС с одной вычислительной системой одновременно могут работать несколько пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из них имеется собственная вычислительная система. Очевидно, что для организации мультитерминального доступа к вычислительной системе необходимо обеспечить мультипрограммный режим работы. В качестве одного из примеров мультитерминальных операционных систем для персональных компьютеров можно назвать Linux. Некая имитация мультитерминальных возможностей имеется и в системе Windows XP. В этой операционной системе каждый пользователь после регистрации (входа в систему) получает свою виртуальную машину. Если необходимо временно предоставить компьютер другому пользователю, вычислительные процессы первого можно не завершать, а просто для этого другого пользователя система создает новую виртуальную машину. В результате компьютер будет выполнять задачи и первого, и второго пользователя. Количество параллельно работающих виртуальных машин определяется имеющимися ресурсами.

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

К таким базовым концепциям относятся:

  • Способы построения ядра системы – монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.

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

  • Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.

  • Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.

Структура операционной системы

В состав операционной системы входят следующие подсистемы:

  1. Управление процессами.

  2. Управление основной памятью.

  3. Управление внешней памятью.

  4. Управление устройствами ввода/вывода.

  5. Управление файлами.

  6. Защита системы.

  7. Сетевая поддержка.

  8. Командный интерфейс системы.

Управление процессами

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

  • создание и удаление процессов;

  • приостановку и возобновление процессов;

  • обеспечение механизмов для синхронизации процессов;

  • обеспечение механизмов для взаимодействия процессов.

Управление основной памятью

Память представляет собой большой массив слов или байт, каждый из которых имеет собственный адрес. Это хранилище данных, к которым обеспечивается быстрый доступ, распределенный между процессором и устройствами ввода/вывода. Основная память – энергозависимое устройство, которое теряет содержимое в случае выключения системы. ОС отвечает за следующие действия в связи с управлением памятью:

  • ведет учет того, какая часть памяти в настоящий момент занята;

  • принимает решение о загрузке процессов при освобождении пространства ОП;

  • распределяет и освобождает пространство ОП в соответствии с действующими стратегиями.

Управление внешней памятью

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

  • управление свободным пространством;

  • распределение памяти;

  • управление диском.

Подсистема управления устройствами ввода/вывода состоит из:

  • системы кэширования-буферирования;

  • общего интерфейса драйверов устройств;

  • драйверов специализированных устройств.

Подсистема управления файлами

Файл представляет собой набор взаимосвязанной информации, определенной при создании. Кроме собственно данных, файлы представляют программы, как в исходном, так и в объектном виде.

Подсистема ОС отвечает за следующие действия в связи с управлением файлами:

  • создание файлов;

  • создание и удаление подкаталогов;

  • поддержку операций для манипулирования с файлами и подкаталогами;

  • представление файлов во внешней памяти;

  • выгрузку файлов на другие внешние устройства.

Защита системы

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

Механизм защиты должен:

  • различать авторизованное и не авторизованное использование;

  • определить элементы управления, которые будут задействованы в защите системы;

  • обеспечить средства реализации защиты.

Сетевое обеспечение

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

Командный интерфейс системы

Множество команд в ОС предназначено для выполнения функций управления, которые обеспечивают:

  • создание и управление процессов;

  • управление вводом/выводом;

  • управление внешней памятью;

  • управление основной памятью;

  • доступ к файловой системе;

  • защиту;

  • поддержку работы сети.

Программа, которая вводит и интерпретирует команды управления, в различных системах имеет разные названия:

  • интерпретатор управляющих карт;

  • процессор команд консолей;

  • shellUnix).

Функцией команды является прием и выполнение введенного утверждения.