Чтобы было возможно писать программы, работающие в любой системе unix, был разработан стандарт posix

Вид материалаЛекции

Содержание


Классификация ОС
Невытесняющая, кооперативная многозадачность
Вытесняющая многозадачность
Приоритетная многозадачность
По аппаратной платформе ОС
Таблица соответствия фирм и архитектур процессоров CISC
Подобный материал:
1   2   3   4   5

Классификация ОС


Классифицировать ОС можно по различным признакам:
  1. Алгоритму управления ресурсами
  2. Аппаратной платформе
  3. Архитектуре ядра
  4. Принципу обработки заданий



  1. Типы ОС по алгоритмам управления ресурсами:



    1. Однозадачные (MS-DOS, DR-DOS, Palm OS и т.д.). Как правило, ограничиваются предоставлением пользователю виртуальной машины, управлением периферией и файлами и не позволяют переключаться между задачами до окончания их выполнения;
    2. Многозадачные (Windows, Unix, MS Pocket PC, Symbian и др.). Поддерживается параллельное исполнение нескольких задач. Обеспечивается управление разделяемыми ресурсами (процессор, память, периферия, файлы):
      1. Невытесняющая, кооперативная многозадачность (Windows 3.x, Mac OS). Все управление отдано системе. В такой системе легче программировать, но она менее эффективна. Реализовано оно следующим образом: обработав очередное сообщение, приложение передает управление операционной системе, которая может передать управление другому приложению. Это вид многозадачности, при котором операционная система передает управление от одного приложения другому не в любой момент времени, а только когда текущее приложение отдает управление системе.
      2. Вытесняющая многозадачность (Unix, Windows 9x). Это означает, что процесс или, точнее, его поток, который в данный момент активен, имеет преимущество перед другими конкурирующими потоками с одинаковым приоритетом. При этом операционная система действительно контролирует и управляет процессами, потоками и их переключением. Способность операционной системы прервать выполняемый поток практически в любой момент времени и передать управление другому. Реализация ее выглядит так: все существующие в данный момент потоки, часть из которых может принадлежать одному и тому же процессу, претендуют на процессорное время и, с точки зрения пользователя должны выполняться одновременно. Для создания этой иллюзии система через определенные промежутки времени забирает управление, анализирует свою очередь сообщений, распределяет сообщения по другим очередям в пространстве процессов и, если считает нужным, переключает потоки.
      3. Приоритетная многозадачность (Windows NT)

Многозадачная многопользовательская.
Однопользовательская
однозадачная.

    1. Многонитевые. Процессорное время делится между отдельными ветвями задач;
    2. Одно- (MS-DOS, DR-DOS, Windows 3.x/9x, Pocket PC) и многопользовательские (Windows NT, Unix, RSX, OS/360, Solaris);

Наиболее существенное отличие между этими ОС заключается в наличии у многопользовательских систем механизмов защиты персональных данных каждого пользователя.
    1. Мультипроцессорные (Windows XP, Unix, ¼, BSD, Solaris):
      1. Асимметричные ОС;

В асимметричных ОС процессоры неравноправны. Обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.
      1. Симметричные ОС.

В симметричных ОС на каждом процессоре функционирует одно и то же ядро, и задача может быть выполнена на любом процессоре, то есть обработка полностью децентрализована. При этом каждому из процессоров доступна вся память.
    1. Сетевые – поддерживают использование сетевых ресурсов:
      1. Справочник о сетевых ресурсах, серверах;
      2. Средства адресации процессов в сети;
      3. Прозрачность доступа к ресурсам;
      4. Разделение и безопасность данных.



  1. Типы ОС по аппаратной платформе:


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

1. Мэйнфреймы (mainframe)

У них отличаются от ПК возможности ввода/вывода. Обычно мэйнфреймы содержат тысячи дисков и терабайты ОЗУ. Они используются в виде мощных web-серверов, серверов для крупномасштабных коммерческих сайтов и серверов для транзакций в бизнесе. ОС для мэйнфреймов ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций ввод/вывод (I/O). Обычно они предполагают три вида обслуживания:
    1. пакетную обработку. Система выполняет стандартные задания без присутствия пользователей. В пакетном режиме обрабатываются иски страховых компаний и составляются отчеты о продаже в магазине;
    2. обработку транзакций (групповые операции: обработка и запись данных). Система обработки транзакций управляет очень большим количеством маленьких запросов (например, контролирует процесс работы в банке, бронирует авиабилеты). Каждый отдельный запрос невелик, но система должна отвечать на тысячи запросов в секунду;
    3. разделение времени. Системы, работающие в режиме разделения времени, позволяют множеству удаленных пользователей выполнять свои задания на одной машине, например, работать с большой БД. Все эти функции тесно связаны между собой и часто ОС мэйнфрейма выполняет их все. Примером ОС для мэйнфрейма является OS/390 (от IBM).

2. Серверные (сетевые) ОС

Работают на серверах, которые представляют собой или очень большие ПК, или рабочие станции, или даже мэйнфреймы. Они одновременно обслуживают множество пользователей и позволяют им делить программные и аппаратные ресурсы. Серверы представляют возможность работать с печатающими устройствами, файлами и Internet. Internet-провайдеры обычно запускают в работу несколько серверов, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входные запросы. Типичные серверные ОС: Windows 2003 и Unix. В этих целях в настоящее время стала использоваться и ОС Linux.

3. Многопроцессорные ОС (кластеры)

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

4. ОС для ПК

Работа этих ОС заключается в представлении удобного интерфейса для одного пользователя. Такие ОС широко используются для работы с текстом, электронными таблицами и доступа к Internet. Яркие примеры: Windows 98, 2000, MacOS, Linux.

5. ОС РВ

Главным параметром ОС РВ является время. Например, в СУ производством компьютеры, работающие в режиме РВ, собирают данные о промышленном процессе и используют их для управления машинами. Такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано/поздно, то он нанесет непоправимый вред. Если некоторое действие должно произойти в какой-то момент времени или внутри заданного диапазона времени, то говорят о жесткой системе РВ. Существует гибкая система РВ, в которой допустимы случающиеся время от времени пропуски сроков выполнения операций. В эту категорию попадает цифровое аудио и multimedia-системы. Примеры ОС: VxWorks, QNX.

6. Встроенные ОС

Карманный компьютер, или PDA (Personal Digital Assistant), - маленький компьютер, помещающийся в кармане брюк и выполняющий некоторые функции (записная книжка, блокнот). Примеры ОС: PalmOS, Windows CE (Consumer Electronics - бытовая техника).

7. ОС для Smart-карт (smart-cards - разумные карты)

Самые маленькие ОС работают на Smart-картах, представляющих собой устройство с ЦП. На такие ОС накладываются крайне жесткие ограничения по мощности ЦП и памяти. Некоторые из них могут управлять только одной операцией, но другие ОС на тех же самых Smart-картах выполняют сложные функции. Некоторые ОС являются Java-ориентированными, т.е. ПЗУ содержит интерпретатор виртуальной машины Java (ROM - Read Only Memory). Апплеты Java загружаются на карту и выполняются интерпретатором JVM (Java Virtual Machine). Некоторые из этих карт могут одновременно управлять несколькими Java-апплетами, что приведет к многозадачности и необходимости планирования. Также возникает необходимость в защите. Эти задачи обычно выполняет крайне примитивная ОС.

По аппаратной платформе ОС классифицируются в соответствии с тем, какая архитектура процессора используется для их работы. На данный все процессорные архитектуры делятся на 2 группы: RISC и CISC.

Это философия проектирования процессоров, которая во главу ставит следующий принцип: более компактные и простые инструкции выполняются быстрее.

Характерные особенности RISC-процессоров:
    • Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.
    • Одна инструкция выполняет только одну операцию с памятью — чтение или запись. Операции вида «прочитать-изменить-записать» отсутствуют.
    • Большое количество регистров общего назначения (32 и более).

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM, DEC Alpha, SPARC, ARM, AVR, MIPS, POWER и PowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектуры Intel x86 ранее являлись CISC-процессорами, однако новые процессоры, начиная с IntelPentium, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.

Микропроцессорная архитектура

Компания-разработчик

x86, x86-64

Intel, AMD, Cyrix, IDT, VIA, Transmeta

IA-64

Intel

PowerPC

Motorola, IBM, Apple

Power

IBM

PA

Hewlett-Packard

Alpha

DEC (поглащена Hewlett-Packard)

SPARC

SUN

MIPS

MIPS

Таблица соответствия фирм и архитектур процессоров
  • CISC (англ. Complex Instruction Set Computing) — философия проектирования процессоров, которая характеризуется следующим набором свойств:
    • Нефиксированным значением длины команды.
    • Исполнение операций, таких как загрузка в память, арифметические действия кодируется в одной инструкции.

Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, AMD Athlon, которые являются гибридными). Процессоры, основанные на такой архитектуре выпускает и компании VIA и Transmeta.

Таким образом, все архитектуры можно подразделить на x86-совместимые и x86-несовместимые. Не так давно появилась усовершенствованная и расширенная до 64 бит архитектура x86-64.

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

Выделяют операционные системы на 8-, 16-, 32- и 64-разрядные ОС. При этом подразумевается, что разрядность операционной системы не может превышать разрядности процессора.