Какое краткое определение можно дать операционной системе. Операционные системы. Проприетарные операционные системы

ОПРЕДЕЛЕНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ. МЕСТО ОС В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ


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

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

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

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

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

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

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

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

Процессоры,

Основная память,

Таймеры,

Наборы данных,

Накопители на магнитных лентах,

Принтеры,

Сетевые устройства и др.

Ресурсы распределяются между процессами.

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Подсистемы управления памятью,

Подсистемы управления файлами и внешними устройствами,

Подсистемы защиты данных и администрирования,

Интерфейс прикладного программирования,

Подсистемы пользовательского интерфейса.


Управление процессами

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

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

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

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

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

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

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

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

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

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

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

Операционная система обычно хранится во внешней памяти компьютера — на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ . Этот процесс называется загрузкой операционной системы.

В функции операционной системы входит:

основные функции (простейшие ОС) :

  • Загрузка приложений в оперативную память и их выполнение;
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода);
  • Управление оперативной памятью (распределение между процессами, виртуальная память);
  • Управление энергонезависимой памятью (Жёсткий диск, Компакт-диск и т.д.), как правило с помощью файловой системы;
  • Пользовательский интерфейс;

дополнительные функции (развитые современные ОС) :

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

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

К современным операционным системам предъявляются следующие требования:

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

По числу одновременно выполняемых задач выделяют ОС однозадачные (MS DOS, ранние версии PC DOS) и многозадачные (OS/2, UNIX, Windows).

В настоящий момент около 90% компьютеров используют КС Windows. Более широкий класс ОС ориентирован для использования на серверах. К этому классу ОС относятся семейство UNIX, разработки фирмы Microsoft (MS DOS и Windows), сетевые продукты Novell и корпорации IBM.


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

Недостаток UNIX — большая ресурсоемкость, и для небольших однопользовательских систем на базе персональных компьютеров она чаще всего является избыточной. целом ОС семейства UNIX ориентированы прежде всего на большие локальные (корпоративные) и глобальные сети, объединяющие работу тысяч пользователей. Большое распространение UNIX и ее версия LINUX получили в сети Интернет, где важнейшее значение имеет машинонезависимость ОС.

DOS (ДОС) — семейство операционных систем для компьютеров, расшифровывается как «дисковая операционная система», что означает её ориентированность на использование дисковых накопителей, таких как жёсткий диск и дискета.

Существовали операционные системы с таким названием для больших ЭВМ производства IBM и их клонов в 60-80-х гг. XX века.

DOS является однозадачной операционной системой. После запуска управление передаётся прикладной программе, которая получает в своё распоряжение все ресурсы компьютера и может осуществлять ввод/вывод посредством как функций предоставляемых операционной системой, так и функций базовой системы ввода/вывода, а также работать с устройствами напрямую. MS-DOS (сокр. от англ. Microsoft Disk Operating System — дисковая ОС от Microsoft) — коммерческая операционная система для персональных компьютеров фирмы Microsoft. MS-DOS — самая известная ОС из семейства DOS, ранее устанавливаемая на большинство компьютеров.

В настоящее время MS DOS для управления персональными компьютерами практически не применяется. Однако ее не следует считать полностью исчерпавшей свои возможности и потерявшей актуальность. Низкие требования к аппаратным ресурсам оставляют DOS перспективной для практического использования. Так, в 1997 г. компания СаШега начала работы по адаптации DR DOS (аналог MS DOS) к рынку встроенных ОС мелких высокоточных устройств, присоединяемых к Интернету и интрннет-сетям. К этим устройствам относятся кассовые аппараты, факсы, персональные цифровые ассистенты, электронные записные книжки и др.

Операционные системы Windows — это семейство операционных систем, включающих: Windows 3.1, Windows for Workgroups 3.11, Windows 9X, Windows NT, Windows 2000, Windows ME, WindowsXP (первые две обычно называют операционными оболочками, поскольку ОС DOS для них устанавливалась отдельно).

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

Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

Основные функции ОС:

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

Дополнительные функции:

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

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

В общем случае в состав ОС входят следующие модули:

  • Программный модуль, управляющий файловой системой.
  • Командный процессор, выполняющий команды пользователя.
  • Драйверы устройств.
  • Программные модули, обеспечивающие графический пользовательский интерфейс.
  • Сервисные программы.
  • Справочная система.

Драйвер устройства (device driver) – специальная программа, обеспечивающая управление работой устройств и согласование информационного обмена с другими устройствами.

Командный процессор (command processor) – специальная программа, которая запрашивает у пользователя команды и выполняет их (интерпретатор программ).

Интерпретатор команд отвечает за загрузку приложений и управление информационным потоком между приложениями.

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

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

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

Примечание

Состав модулей ОС, а также их количество зависит от семейства и вида ОС. Так, например, в ОС MS DOS отсутствует модуль, обеспечивающий графический пользовательский интерфейс.

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

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

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

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

Пример.
Базовый код API Win32 содержится в трех библиотеках динамической загрузки (Dynamic Link Library, DLL): USER32, GDI32 и KERNEL32.

Kernel модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.
GDI (Graphics Device Interface) — модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.
User — модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.

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

Примеры вспомогательных модулей:

  • Программа архивирования данных.
  • Программа дефрагментации диска.
  • Текстовый редактор.

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

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

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

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

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

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

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

Примечание

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

Объектами ядра ОС являются:

  • Процессы (рассмотрено в теме 2.3).
  • Файлы.
  • События.
  • Потоки (рассмотрено в теме 2.3).
  • Семафоры – объекты, позволяющие войти в заданный участок кода не более чем n потокам.
  • Мьютексы – одноместные семафоры, служащие в программировании для синхронизации одновременно выполняющихся потоков.
  • Файлы, проецируемые в память.