Сетевые операционные системы

Назначение и функции операционной системы

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

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

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

 

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

Задача организации эффективного совместного использования ресурсов несколькими процессами является весьма сложной, и сложность эта порождается в основном случайным характером возникновения запросов на потребление ресурсов. В мультипрограммной системе образуются очереди заявок от одновременно выполняемых программ к разделяемым ресурсам компьютера: процессору, странице памяти, к принтеру, к диску. Анализ и определение оптимальных дисциплин обслуживания заявок является предметом специальной области прикладной математики – теории массового обслуживания.

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

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

Наиболее важными подсистемами управления ресурсами являются подсистемы управления:

· процессами,

· памятью,

· файлами

· внешними устройствами

Общими для всех ресурсов являются подсистемы:

· интерфейса пользователя,

· защиты данных и администрирования.

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