Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
спо_экзамен.docx
Скачиваний:
5
Добавлен:
27.09.2019
Размер:
3.3 Mб
Скачать
  1. Определение операционной системы

Прежде чем перейти к рассмотрению механизмов операционных систем, следует попытаться дать определение понятию «операционная система» (ОС). Сегодня существует большое количество разных типов операционных систем, отличающихся областями применения, аппаратными платформами и методами реализации. Естественно, что это обуславливает и значительные функциональные различия этих ОС. Даже у конкретной операционной системы набор выполняемых ею функций зачастую определить не так просто – та функция, которая сегодня выполняется внешним по отношению к ОС компонентом, завтра может стать её неотъемлемой частью, и наоборот. Поэтому при изучении операционных систем очень важно из всего многообразия выделить те функции, которые присущи всем операционным системам как классу продуктов. Заметим, что в литературе можно встретить различные определения операционной системы, в частности, определение ОС через список функций, которые на неё обычно возлагаются. Так, в работе [Barron 1971] операционная система определяется так: «Я не знаю, что это такое, но всегда узнаю её, если увижу».

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

повышение эффективности использования компьютера путём рационального управления его ресурсами в соответствии с некоторым критерием;

предоставление пользователю вместо реальной аппаратуры

23

компьютера расширенной виртуальной машины М), с которой удобней работать и которую легче программировать.

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

прикладные;

системные.

Операционная система составляет важную часть программ второго класса.

К числу основных ресурсов современных вычислительных систем могут быть отнесены: процессоры, основная память, таймеры, наборы данных, диски,

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

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

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

Процесс – это динамический объект, который возникает в операционной

системе после того, как пользователь или сама операционная система решает

«запустить программу на выполнение», т.е. создать новую единицу вычислительной работы. Например, ОС может создать процесс в ответ на

команду пользователя

run prog1.exe ,

где prog1.exe – это имя файла, в котором хранится код программы.

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

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

Критерий эффективности, в соответствии с которым ОС организует управление ресурсами ЭВМ, может быть различным, например, пропускная способность ВС, время её реакции. Соответственно выбранному критерию эффективности операционные системы по-разному организуют вычислительный процесс.

Управление ресурсами включает решение следующих общих, не зависящих от типа ресурса, задач:

24

Прикладные прог- рамммы (пользова- тельские приложения)

software

hardware

Утилиты, системные обрабатывающие про- грамммы, программы предоставления поль- зователю дополни- тельных услуг, библи- отеки процедур и т.д.

Операционная система

(ядро ОС)

Физическая машина

Системные программы (ОС)

Утилиты – программы, решающие отдельные задачи управления и соп- ровождения вычислительной системы, такие, например, как программы проверки дисков, их дефрагментации, архивации данных;

Системные обрабатывающие программы – текстовые и графические ре- дакторы, табличные процессоры, компиляторы, компонов- щики (редакторы связей), отладчики;

Программы предоставления пользователю дополнительных услуг – спе- циальный вариант пользовательского интерфейса, кальку- лятор, игры;

Библиотеки процедур различного назначения – упрощают разработку приложений, например, библиотека математических

функций, функций ввода-вывода и т.д.

Рисунок В.6 Схема вычислительной системы

планирование ресурса т.е. определение, какому процессу, когда и в каком количестве (если ресурс может выделяться частями) следует выделить данный ресурс;

удовлетворение запросов на ресурсы;

отслеживание состояния и учёт использования ресурса поддержание

25

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

разрешение конфликтов между процессами.

Для решения этих общих задач управления ресурсами разные ОС

используют различные алгоритмы, особенности которых в конечном счёте и

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

определяет, может ли ОС использоваться как система разделения времени,

система пакетной обработки или система реального времени.

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

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

Операционная система, кроме управления ресурсами системы,

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

превращается в виртуальную машину, выполняющую широкий набор гораздо

более мощных функций. Виртуальная машина тоже управляется командами, но это уже команды другого, более высокого уровня: удалить файл с определённым

именем, запустить на выполнение некоторую прикладную программу, повысить

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

Interface). От конечного пользователя эти функции скрыты за оболочкой

алфавитно-цифрового или графического интерфейса. Таким образом, разные пользователи одного и того же компьютера имеют дело, строго говоря, с

разными виртуальными машинами. Виртуальная машина является результатом

«наслоения» программного обеспечения на аппаратуру.