Для студентов згиа специальности 080403 ”Программное обеспечение




НазваниеДля студентов згиа специальности 080403 ”Программное обеспечение
страница19/34
Дата публикации25.02.2013
Размер3.71 Mb.
ТипМетодическое пособие
uchebilka.ru > Информатика > Методическое пособие
1   ...   15   16   17   18   19   20   21   22   ...   34
^

Элементы теории операционных систем

4.1 Понятие операционной системы, ее назначение и функции


Операционная система (ОС) – это программное обеспечение, реализующее связь между прикладными программами и аппаратными средствами компьютера [20, 21].

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

ОС как расширенная машина

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

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

ОС как распределитель ресурсов

ОС должна эффективно распределять ресурсы: процессорное время, дисковое пространство, память, средства доступа к внешним устройствам.

Различают два основных вида распределения ресурсов. 1)Пространственный. Часть ресурса доступна одному пользователю, часть – другому и т.д. Так распределяется память. 2)Временной. По очереди – весь ресурс. Так распределяется процессор.

^ Классификация современных ОС

Мы рассмотрим классификацию ОС в зависимости от области их применения.

  • Прежде всего отметим ОС больших ЭВМ (мейнфреймов). Пример – OS/390 фирмы IBM.

  • Серверные ОС. Главная характеристика: способность обслуживать большое количество запросов. Примеры: UNIX, Windows 2000/XP/2003

  • Персональные ОС. Windows 95/98/Me

  • ОС реального времени. Каждая операция гарантированно выполняется за заданное время. QNX, VxWorks.

  • Встроенные ОС. Это управляющие программы для различных микропроцессорных систем, которые используются в военной технике, системах бытовой электроники, смарт-картах и т.д. Примеры: Embedded Linux, Windows CE.


^ Функциональные компоненты ОС

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

Способ построения системы из составных частей и их взяимосвязь определяет архитектура ОС.

Функции ОС:

  • Управление процессами и потоками.

  • Управление памятью.

  • Управление вводом выводом. Используются драйверы утройств и др.

  • Управление файлами и файловыми системами.

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

  • Безопасность данных.

  • Интерфейс пользователя. Различают два типа средств взаимодействия с пользователем – командный интерпретатор (shell) и графический интерфейс пользователя (GUI).
^

4.2 Архитектура операционных систем


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

        Базовые понятия архитектуры ОС


4.2.1.1 Механизмы и политика

У ОС прежде всего надо выделить набор фундаментальных возможностей, которые предоставляют ее компоненты, эти базовые возможностисоставляют механизм (mechanism).

С другой стороны, необходимо принимать решение по использованию упомянутых возможностей; такие решения определяют политику (policy).

Итак, механизм показывает, что реалировано компонентом, а политика – как это можно использовать.

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

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


        1. ^ Ядро системы. Привилегированный режим и режим пользователя

Базовые компоненты ОС, которые отвечают за самые важные ее функции, обычно постоянно находящиеся в памяти и исполняемые в привилегированном режиме, называют ядром ОС (operating system kernel).

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

Ядро выполняется в привилегированном режиме. ОС должна иметь привилегии перед прикладными программами. Для реализации этих привилегий нужна аппаратная поддержка. Процессор должен поддерживать два режима работы – привилегированный (защищенный режим, режим ядра, kernel mode) и режим пользователя (user mode).

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

Каждое приложение запускается в режиме пользователя. Когда необходимо выполнить действие, реализованное в ядре, приложение выполняет системный вызов (system call). Ядро перехватывает его, переключает процессор в привилегированный режим, выполняет действие, переключает процессор назад в user mode и возвращает результат.

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

      1. ^

        Реализация архитектуры ОС


4.2.2.1 Монолитные системы

ОС, в которых все базовые функции сконцентрированы в ядре, называют монолитными системами [21].

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

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



        1. ^ Многоуровневые системы

Компоненты многоуровневой ОС образуют иерархию уровней (layers), каждый из которых опирается на функции предыдущего уровня [21]. Самый нижний уровень непосредственно взаимомодействует с аппаратным обеспечением, на самом высоком уровне реализуются системные вызовы.

Примером такой ОС является ОС Multics, разработанная в 60-тые годы. Практическое использование єтого подхода в настоящее время ограничено из-за невысокой продуктивности.

Уровни могут выделяться и в монолитном ядре:

  • Средства абстрагирования от оборудования.

  • Базовые средства ядра (запись блока данных на диск и др.).

  • Средства управления ресурсами (управление процессами, памятью, вводом-выводом и т.п.).

  • Интерфейс системных вызовов.



        1. Системы с микроядром

Одно из направлений в развитии современных ОС систоит в том, что в привилегированном режиме реализована небольшая часть функций ядра, которые составляют микроядро (microkernel) [21]. Другие функции ОС выполняются процессами режима пользователя (серверными процессами, серверами). Серверы могут отвечать за поддержку файловой системы, за работу с процессами, памятью и т.п.

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

Пример ОС: QNX. Микроядро занимает несколько килобайтов памяти.

http://www.george-sergeev.info/t02/10.jpg

Рис. 4.1. Выполнение системного вызова в архитектуре с микроядром

Преимущества микроядерного подхода:

  • небольшие размеры микроядра, что упрощает его разработку и отладку;

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

  • большая гибкость и расширяемость системы;

  • возможность адаптации к условиям сети.

Главный недостаток – снижение производительности.

        1. Концепция виртуальных машин

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

Впервые концепция виртуальных машин была реализована в 70-е годы в ОС VM фирмы IBM. В СССР вариант этой машины (VM/370) был широко распространен в 80-е годы и имел название Система виртуальных машин ЕС ЭВМ.

      1. Особенности архитектуры Windows 2000/XP



Рис. 4.2 Архитектура Windows 2000

Windows NT 3.1, Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista и Windows Server 2008 являются частью семейства операционных систем на ядре NT. Все они являются повторно используемыми операционными системами с приоритетным прерыванием. Они разработаны для работы как с однопроцессорными, так и с симметричными мультипроцессорными компьютерами. Для обработки запросов ввода\вывода используется пакетноуправляемый ввод\вывод, который применяет пакеты запросов ввода\вывода (IRP) и асинхронный ввод\вывод. Начиная с Windows XP существуют 64-битные версии — все предществующие были только 32-битные.

Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней — компоненты, работающие в режиме пользователя и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя имееют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT также называют гибридным ядром. Хотя этот термин под вопросом, так как все основные части системы выполняются в режиме ядра, создавая монолитное ядро по структуре схожее с микроядром. Архитектура включает в себя простое ядро, уровень аппаратных абстракций (HAL), драйвера и ряд служб (Executives), которые работают в режиме ядра.

Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода\вывода соответствующему драйверу режима ядра посредством менеджера ввода\вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированая подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера. И также предотвращает доступ к критическим зонам системы со стороны пользовательских служб и приложений.

1   ...   15   16   17   18   19   20   21   22   ...   34

Похожие:

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания к лабораторному практикуму для студентов згиа...
Методические указания к лабораторному практикуму для студентов згиа специальности 080403 «Программное обеспечение автоматизированных...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания для студентов специальности 080403
Згиа [8, 10] и других вузов [4]. Наиболее полно описаны курсовые, дипломные и квалификационные работы, однако большинство положений...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания к курсовой работе по дисциплине «Системное...
Методические указания к курсовой работе по дисциплине «Системное программирование и операционные системы» для студентов специальности...

Для студентов згиа специальности 080403 ”Программное обеспечение iconПравила использования программного обеспечения в рамках программы...
Используя программное обеспечение вы тем самым подтверждаете свое согласие придерживаться этих правил. Если вы не согласны, не используйте...

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания по выполнению лабораторных работ по курсу “
Информационные управляющие системы и технологии, 080403 – Программное обеспечение автоматизированных систем

Для студентов згиа специальности 080403 ”Программное обеспечение iconКлассификация программного обеспечения
В отличие от аппаратного обеспечения, программы, которые выполняются на нем, неосязаемы и классифицируются как программное обеспечение....

Для студентов згиа специальности 080403 ”Программное обеспечение iconКурсовая работа выполняется на основании 'Задания на курсовую работу'...
Целью курсовой работы является закрепление практических навыков самостоятельной постановки и решения задачи обработки данных с помощью...

Для студентов згиа специальности 080403 ”Программное обеспечение icon1. Классификация программного обеспечения
Назначением ЭВМ является выполнение программ. Программа содержит команды, определяющие порядок действии компьютера. Совокупность...

Для студентов згиа специальности 080403 ”Программное обеспечение iconОпорный конспект лекций по дисциплине Компьютерная графика для специальности...
Тема. Основные понятия компьютерной графики. Аппаратное и программное обеспечение

Для студентов згиа специальности 080403 ”Программное обеспечение iconМетодические указания и задание к выполнению курсового проекта по...
Методические указания и задание к выполнению курсового проекта по дисциплине «Алгоритмическое и программное обеспечение электротехнических...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
uchebilka.ru
Главная страница


<