Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дудкин А.К. Конспект лекций по ОСиС / Раздел I. Основы и классификация ОС.doc
Скачиваний:
85
Добавлен:
02.05.2014
Размер:
195.07 Кб
Скачать
  1. Прерывания

Прерывание аппаратное (hardware interrupt)– это событие, генерируемое внешним (по отношению к процессору) устройством. Посредством аппаратных прерываний аппаратура либо информирует центральный процессор о том, что произошло какое-либо событие, требующее немедленной реакции (например, пользователь нажал клавишу), либо сообщает о завершении асинхронной операции ввода-вывода (например, закончено чтение данных с диска в основную память). Важный тип аппаратных прерываний – прерывания таймера, которые генерируются периодически через фиксированный промежуток времени. Прерывания таймера используются операционной системой при планировании процессов. Каждый тип аппаратных прерываний имеет собственный номерIRQ, однозначно определяющий источник прерывания. Аппаратное прерывание – этоасинхронное событие, то есть оно возникает вне зависимости от того, какой код исполняется процессором в данный момент. Обработка аппаратного прерывания не должна учитывать, какой процесс является текущим.

  1. Исключительные ситуации

Исключительная ситуация (exception)– событие, возникающее в результате попытки выполнения программой команды, которая по каким-то причинам не может быть выполнена до конца. Примерами таких команд могут быть попытки доступа к ресурсу при отсутствии достаточных привилегий или обращения к отсутствующей странице памяти. Исключительные ситуации, как и системные вызовы, являютсясинхронными событиями, возникающимив контексте текущей задачи. Исключительные ситуации можно разделить на исправимые и неисправимые. К исправимым относятся такие исключительные ситуации, как отсутствие нужной информации в оперативной памяти. После устранения причины исправимой исключительной ситуации программа может выполняться дальше. Возникновение в процессе работы операционной системы исправимых исключительных ситуаций считается нормальным явлением. Неисправимые исключительные ситуации чаще всего возникают в результате ошибок в программах (например, деление на ноль). Обычно в таких случаях операционная система реагирует завершением программы, вызвавшей исключительную ситуацию.

  1. Файлы

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

Главная задача файловой системы (file system) – скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов также имеется обширная категория системных вызовов (создание, удаление, открытие, закрытие, чтение и т.д.). Пользователям хорошо знакомы такие связанные с организацией файловой системы понятия, как каталог, текущий каталог, корневой каталог, путь. Для манипулирования этими объектами в операционной системе имеются системные вызовы.

Тема 3. Классификация ос

Перечислим основные наиболее популярные ОС, которые будут упоминаться в данном курсе:

  • OS/360/370/375, VM/370, MS-DOS, OS/2, Windows,

  • QNX, RSX, Windows XP Embedded, Windows CE, VxWorks, LynxOS,

  • Unix, Solaris, Linux, BSD, Xenix, SCO, Ultrix, Sun OS, Mac OS, BeOS, Novell Netware, HP-UX

  • Windows Pocket PC, Windows CE, Palm OS, Windows Mobile, Symbian OS.

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

Классифицировать ОС можно по различным признакам:

  1. Алгоритму управления ресурсами

  2. Аппаратной платформе

  3. Архитектуре ядра

  4. Принципу обработки заданий

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

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

    1. Однозадачные (MS-DOS, DR-DOS, Palm OS и т.д.). Как правило, ограничиваются предоставлением пользователю виртуальной машины, управлением периферией и файлами и не позволяют переключаться между задачами до окончания их выполнения;

    2. Многозадачные (Windows, Unix, MS Pocket PC, Symbian и др.). Поддерживается параллельное исполнение нескольких задач. Обеспечивается управление разделяемыми ресурсами (процессор, память, периферия, файлы):

      1. Невытесняющая, кооперативная многозадачность [nonpreemptive multitasking] (Windows 3.x, Mac OS). Все управление отдано системе. В такой системе легче программировать, но она менее эффективна. Реализовано оно следующим образом: обработав очередное сообщение, приложение передает управление операционной системе, которая может передать управление другому приложению. Это вид многозадачности, при котором операционная система передает управление от одного приложения другому не в любой момент времени, а только когда текущее приложение отдает управление системе.

      2. Вытесняющая многозадачность [preemptive multitasking] (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 NT, Unix, ¼, BSD, Solaris):

      1. Асимметричные ОС;

      2. Симметричные ОС.

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

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

    1. Сетевые – поддерживают использование сетевых ресурсов:

      1. Справочник о сетевых ресурсах, серверах;

      2. Средства адресации процессов в сети;

      3. Прозрачность доступа к ресурсам;

      4. Разделение и безопасность данных.

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

    1. ОС ПК,

    2. ОС мини и мега мини,

    3. ОС мейнфреймов,

    4. ОС кластеров ЭВМ,

    5. ОС сетевых устройств,

    6. мобильные ОС.

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

  • RISC (англ.Reduced Instruction Set Computing) — вычисления с сокращённымнабором команд.

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

Характерные особенности RISC-процессоров:

    • Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды.

    • Одна инструкция выполняет только одну операцию с памятью — чтение или запись. Операции вида «прочитать-изменить-записать» отсутствуют.

    • Большое количество регистров общего назначения (32 и более).

В настоящее время многие архитектуры процессоров являются RISC-подобными, к примеру, ARM,DEC Alpha,SPARC,ARM,AVR,MIPS,POWERиPowerPC. Наиболее широко используемые в настольных компьютерах процессоры архитектурыIntelx86ранее являлисьCISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются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 команд (исключая современные IntelPentium 4,AMDAthlon, которые являются гибридными). Процессоры, основанные на такой архитектуре выпускает и компанииVIAиTransmeta.

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

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

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

ОС для ПК, как правило, работают на x86 или x86-64 платформе, но бывают и исключения. Например, DOS, Windows и Linux работают на x86 и x86-64 платформе, а Mac OS – как RISC-процессоры PowerPC, так x86 Intel Core 2 Duo.

Для мини-ЭВМ могут использоваться Windows, Linux, Mac OS.

В качестве ОС для мейнфреймов используются различные версии Windows Server, Linux, Sun OS, BeOS, BSD, Solaris,Novell Netware.

ОС для кластеров – Solaris, BSD (FreeBSD, NetBSD, OpenBSD, DragonFlyBSD), Linux SuSE, Red Hat Enterprise Linux, Windows Compute Cluster Edition.

ОС сетевых устройств – Cisco IOS.

Мобильные ОС - Windows Pocket PC, Windows CE, Palm OS, Windows Mobile, Symbian OS.

ОС многопроцессорных ЭВМ обеспечивает параллельное выполнение на отдельных процессорах сети, как самой ОС, так и прикладных систем. Основные задачи следующие:

  1. Синхронизация процессов;

  2. Согласование доступа процессоров к общим ресурсам.

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

  1. Аппаратная поддержка кластера;

  2. Согласование доступа к разделяемым ресурсам;

  3. Обнаружение отказов и динамическая реконфигурация.

Сетевая ОС должна поддерживать обмен между ЭВМ по линиям связи с целью разделения ресурсов компьютера между удаленными пользователями. К сетевым относится большинство современных интерактивных ОС (с работой пользователя).

 

Мобильная (переносимая) ОС - ОС, которая сравнительно легко переносится между программно несовместимыми платформами. Ее характерные особенности:

  1. Четкая локализация аппаратно зависимого кода;

  2. Написание на языке высокого уровня.

  1. Типы ОС по архитектуре ядра:

    1. ОС с монолитным ядром:

      1. Монолитные ОС состоят из наборов процедур;

      2. Любая из процедур может вызывать требуемую, когда ей это нужно;

      3. Для построения такой ОС необходимо оттранслировать все процедуры и связать их с помощью компоновщика в единый исполняемый код;

      4. Примеры – большинство версий Unix, Linux, BSD, MS-DOS.

    1. ОС с микроядром:

      1. Основные функции ядра:

        1. Обмен сообщениями;

        2. Доступ к аппаратуре.

      2. Характерные особенности:

        1. Функции планирования выносятся в сервера;

        2. Сервера выполняются в режиме пользователя;

      3. Достоинства:

        1. Сокращение размеров;

        2. Упрощение разработки;

        3. Упрощение адаптации к обстановке (выбором только требуемых серверов);

        4. Упрощение сопровождения.

      4. Недостаток - понижение реактивности.

      5. Примеры – FreeBSD, Mac OS X, Minix, Hurd, QNX, и Symbian OS.

    1. Распределенное ядро (Распределенная ОС по процессорам сети):

      1. Сеть представляется в виде однопроцессорной ЭВМ;

      2. Единая служба времени;

      3. Удаленный вызов процедур (Remote Procedure Call - RPC) для прозрачного распределения процедур по ЭВМ;

      4. Единая подсистема контроля за разделяемыми ресурсами;

      5. Многонитевость;

      6. Симметричные и асимметричные ОС.

    1. Смешанное ядро (Множественность операционного окружения):

      1. Исполнение программ, написанных для других ОС и процессоров;

      2. Двоичная совместимость - на уровне готовых программ;

      3. Эмуляторы (низкая скорость);

      4. Имитация библиотек (вызовы те же, но код для ОС, на которой исполняется);

      5. Реализация требуемой прикладной среды;

      6. Примеры:

        1. Некоторые версии UNIX (фирмы Sun, IBM, HP) транслятор прикладных сред - на уровне прикладной программы;

        2. Windows NT (фирма Microsoft), Workplace OS (фирма IBM) модули прикладной среды уже тесно связаны с ОС, но все же относительно независимы;

        3. OS/2.2x (фирма IBM) – реализация прикладной среды встроена в ОС.

        4. ReactOS и DragonFly BSD

    1. Сетевое ядро:

      1. Общий случай - совокупность ОС отдельных ЭВМ, взаимодействующих по четко определенным протоколам с целью обмена сообщениями и обеспечения разделения ресурсов;

      2. Локальная ОС;

      3. Сервер для предоставления локальных ресурсов и услуг в общее пользование (ведение справочников сетевых ресурсов; обработка запросов удаленного доступа к локальным ресурсам; управление очередями запросов удаленного доступа к локальным периферийным устройствам);

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

      5. Коммуникационные средства, используемые для обмена сообщениями в сети (адресация и буферизация сообщений, выбор маршрутов, обеспечение надежности передачи и т.д.).

      6. Пример – Cisco IOS, ОС программируемых маршрутизаторов.