Основные понятия операционных систем (ОС). Операционные системы - основные понятия Операционная система DOS

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

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

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

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

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

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

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

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

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

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

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

По числу одновременно выполняемых задач выделяют ОС однозадачные (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 для них устанавливалась отдельно).

ОССО Н.Н.Люблинская

Лекция 1-2. Основные понятия ОС 2009

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

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

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

Этот принцип иллюстрируется рис.1.

Рис. 1. Операционная система, процессы, оборудование

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

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

Отделение процессов пользователя от оборудования преследует две цели.

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

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

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

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

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

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

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

1. Эволюция ОС

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

Второй период (1955 - 1965). С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы – полупроводниковых элементов. Компьютеры второго поколения стали более надежными, теперь они смогли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач. Именно в этот период произошло разделение персонала на программистов и операторов, эксплуатационщиков и разработчиков вычислительных машин.

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

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

Для этого периода характерно также создание семейств программно-совместимых машин. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Построенное в начале 60-х годов это семейство значительно превосходило машины второго поколения по критерию «цена-производительность». Вскоре идея программно-совместимых машин стала общепризнанной.

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

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

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

Четвертый период (1980 - настоящее время). Следующий период в эволюции операционных систем связан с появлением больших интегральных схем (БИС). В эти годы произошло резкое возрастание степени интеграции и удешевление микросхем. Компьютер стал доступен отдельному человеку. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса миникомпьютеров типа PDP-11.

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

На рынке операционных систем доминировали две системы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широко использовалась для компьютеров, построенных на базе микропроцессоров Intel 8088, а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIX доминировала в среде «неинтеловских» компьютеров, особенно построенных на базе высокопроизводительных RISC-процессоров.

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

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

2. Классификация ОС

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

2.1. Особенности алгоритмов управления ресурсами

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

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

- однозадачные (например, MS-DOS, MSX)

Многозадачные (OC EC, OS/2, UNIX, Windows 95, Windows NT).

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

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

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

- однопользовательские (MS-DOS, ранние версии OS/2);

- многопользовательские (UNIX, Windows NT).

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

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

- невытесняющая многозадачность (NetWare, Windows 3.x);

- вытесняющая многозадачность (Windows NT, OS/2, UNIX).

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

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

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

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

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

2.2. Особенности методов построения

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

К таким базовым концепциям относятся:

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

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

3) Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.

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

2.3.Особенности аппаратных платформ

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

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

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

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

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

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

2.4. Особенности областей использования

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

- системы пакетной обработки (например, OC EC),

- системы разделения времени (UNIX, VMS),

- системы реального времени (QNX, RT/11).

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

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

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

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

Задачи и упражнения

1. Какие события в развитии технической базы вычислительных машин стали вехами в истории операционных систем?

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

3. Может ли компьютер работать без операционной системы?

4. Как эволюционировало отношение к концепции мультипрограммирования на протяжении всей истории ОС?

5. Какое влияние на развитие ОС оказал Интернет?

6. Чем объясняется особое место ОС UNIX в истории операционных систем?

7. В чем состоят современные тенденции развития ОС?

Информатика, кибернетика и программирование

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

Операционные системы - основные понятия.

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

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

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

ОС нужны, если:

  1. вычислительная система используется для различных задач, причём программы, исполняющие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев ОС отвечает на неё реализацией файловой системы. Современные ОС, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
  2. различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, ОС предоставляют системные библиотеки часто используемых подпрограмм (функций);
  3. между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
  4. необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
  5. наконец, оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды, одна из которых — оболочка и набор стандартных утилит — является частью ОС (прочие, такие, как графическая операционная среда, образуют независимые от ОС прикладные платформы).

Таким образом, современные универсальные ОС можно охарактеризовать, прежде всего, как:

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

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

  1. ядро , содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
  2. системные библиотеки ;
  3. оболочка с утилитами .

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

  1. Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
  2. Загрузка программ в оперативную память и их выполнение.
  3. Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  4. Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
  5. Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
  6. Обеспечение пользовательского интерфейса.
  7. Сохранение информации об ошибках системы.

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

  1. Параллельное или псевдопараллельное выполнение задач (многозадачность).
  2. Эффективное распределение ресурсов вычислительной системы между процессами.
  3. Разграничение доступа различных процессов к ресурсам.
  4. Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
  5. Взаимодействие между процессами: обмен данными, взаимная синхронизация.
  6. Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
  7. Многопользовательский режим работы и разграничение прав доступа.

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

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

Компоненты операционной системы:

  1. Загрузчик
  2. Командный процессор (интерпретатор)
  3. Драйверы устройств
  4. Интерфейс.

1. Классификация ОС

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

Ниже приведена классификация ОС по нескольким наиболее основным признакам.

1.1 Особенности алгоритмов управления ресурсами

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

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

  1. однозадачные (например, MS-DOS, MSX) и
  2. многозадачные (OC EC, OS/2, UNIX, Windows 95 и т.д.).

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

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

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

  1. однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
  2. многопользовательские (UNIX, Windows NTи т.д.).

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

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

  1. невытесняющая многозадачность (NetWare, Windows 3.x);
  2. вытесняющая многозадачность (Windows NT, OS/2, UNIX и т.д.).

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

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

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

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft (и далее) и NetWare 4.1 фирмы Novell.

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

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

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

1.2 Особенности аппаратных платформ

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

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

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

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

Другие требования предъявляются к операционным системам кластеров. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Данной компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе UNIX-машин.

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

1.3 Особенности областей использования

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

  1. системы пакетной обработки (например, OC EC),
  2. системы разделения времени (UNIX, VMS),
  3. системы реального времени (QNX, RT/11).

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

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

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

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

1. 4 Особенности методов построения

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

К таким базовым концепциям относятся:

  1. Способы построения ядра системы - монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
  2. Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризованность системы, состоящей из набора хорошо определенных объектов.
  3. Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
  4. Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.

2. Ядро операционной системы

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

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

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

Объекты ядра ОС:

  1. Процессы
  2. Файлы
  3. События
  4. Потоки
  5. Семафоры
  6. Мьютексы
  7. Каналы
  8. Файлы, проецируемые в память.

3. Эволюция операционных систем и основные идеи

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

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

3.1 Пакетный режим

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

3.2 Разделение времени и многозадачность

Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.

Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.

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

3.3 Разделение полномочий

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

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

3.4 Реальный масштаб времени

Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.

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

3.5 Файловые системы и структуры

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

Файловая система — способ хранения данных на внешних запоминающих устройствах.

4. UNIX, стандартизация операционных систем и POSIX

К концу 1960-х годов отраслью и научно-образовательным сообществом был создан целый ряд ОС, реализующих все или часть очерченных выше функций. К ним относятся Atlas (Манчестерский университет), CTTS и ITSS (Массачусетский технологический институт, MIT), THE (Эйндховенский технологический университет), RS4000 (Университет Орхуса) и др. (всего эксплуатировалось более сотни различных ОС).

Наиболее развитые ОС, такие как OS/360 (IBM), SCOPE (CDC (англ.)) и завершённый уже в 1970-х годах MULTICS (MIT и Bell Labs), предусматривали возможность исполнения на многопроцессорных компьютерах.

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

Задуманная и реализованная в 1969 году Кеном Томпсоном при участии нескольких коллег (включая Денниса Ритчи и Брайана Кернигана), ОС UNIX (первоначально UNICS, что обыгрывало название MULTICS) вобрала в себя многие черты более ранних ОС, но обладала целым рядом свойств, отличающих её от большинства предшественниц:

  1. простая метафорика (два ключевых понятия: вычислительный процесс и файл);
  2. компонентная архитектура: принцип «одна программа — одна функция» плюс мощные средства связывания различных программ для решения возникающих задач («оболочка»);
  3. минимизация ядра (кода, выполняющегося в «реальном» (привилегированном) режиме процессора) и количества системных вызовов;
  4. независимость от аппаратной архитектуры и реализация на машиннонезависимом языке программирования (язык программирования Си стал побочным продуктом разработки UNIX);
  5. унификация файлов.

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

В конце 1970-х годов сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами TCP/IP. Их разработка стала известна под именем BSD (Berkeley Software Distribution).

Благодаря конкурентности реализаций архитектура ОС UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического — ISO/IEC 9945.

Только ОС, отвечающие спецификации Single UNIX Specification, имеют право носить имя UNIX. К таким системам относятся AIX, HP-UX, IRIX, Mac OS X, SCO OpenServer, Solaris, Tru64 и z/OS.

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

К UNIX-подобным ОС относятся системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD, OpenBSD, NetBSD), на основе Solaris (OpenSolaris, BeleniX, Nexenta), а также ОС GNU/Linux, разработанная в части утилит и библиотек проектом GNU и в части ядра — сообществом, возглавляемым Линусом Торвальдсом.

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

Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах.

5. Пост-UNIX-архитектуры операционных систем

Коллектив, создавший ОС UNIX, развил концепцию унификации объектов ОС, включив в исходную концепцию UNIX «устройство — это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно — это файл». Эта концепция стала одним из основных принципов ОС Plan9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса» Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году.

Кроме реализации всех объектов ОС в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8, на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует — доступ к локальным и к удалённым файлам единообразен. 9P — байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно — к унифицированным файлам, а не поблочно — к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в ОС контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.

ОС, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.

Новые концепции были использованы Робом Пайком в «Inferno».

На основе «Plan9» в Испании разрабатываются ОС Off++ и Plan B, носящие экспериментальный характер.

К попыткам создать пост-UNIX-архитектуру можно также отнести разработку системы программирования и операционной среды Оберон в Швейцарском федеральном технологическом институте (ETH Zurich) под руководством профессора Никлауса Вирта.

6. Существующие операционные системы

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

Проприетарные(запатентованные, частные)

Ранние

  1. CTSS (The Compatible TimeShare System, разработанная в MIT — Массачусетском технологическом институте).
  2. Incompatible Timesharing System (The Incompatible Timeshare System, разработаннаяв MIT длясерверов DEC 10 / 20).
  3. THE (разработана Эдсгером Дейкстрой и другими).
  4. MULTICS (проект Bell Labs, GE, и MIT).
  5. Master programme разработанная LEO computer, Leo III в 1962 году.
  6. Business Operating System (BOS) — кросс-платформенная, основанная на командной строке.
  7. Commodore PET, Commodore 64, и Commodore VIC-20.
  8. Sinclair Micro и QX, и подобные.
  9. TRS-DOS, ROM OS (улучшенный интерпретатор Microsoft BASIC с поддержкой файловой системы).
  10. TI99-4.
  11. FLEX от Technical Systems Consultants для микрокомпьютеров, построенных на Motorola 6800 и 6809: SWTPC, Tano, Smoke Signal Broadcasting, Gimix и других.
  12. HDOS — Heath DOS, для микрокомпьютеров.
  13. Cray Operating System длясуперкомпьютеров Cray Research.

Acorn

  1. Arthur
  2. MOS (на BBC Micro и BBC Master)
  3. RISC OS
  4. RISCiX

Atari ST

  1. MultiTOS

Apple

  1. Apple Darwin
  2. Apple DOS
  3. GS/OS
  4. Mac OS
  5. Mac OS 8
  6. Mac OS 9
  7. Mac OS X
  8. 10.0 Cheetah
  9. 10.1 Puma
  10. 10.2 Jaguar
  11. 10.3 Panther
  12. 10.4 Tiger
  13. 10.5 Leopard
  14. 10.6 Snow Leopard
  15. ProDOS

Корпорация Be

Control Data Corporation

  1. CDC KRONOS
  2. CDC NOS
  3. CDC SCOPE

DEC / Compaq / HP

  1. ITS (для PDP-6 и PDP-10)
  2. TOPS-10 (для PDP-10)
  3. TOPS-20 (для PDP-10)
  4. WAITS
  5. TENEX (от BBN)
  6. RSTS/E (работала на нескольких типах машин, в основном PDP-11)
  7. RSX-11 (многопользовательская многозадачная ОС для PDP-11)
  8. RT-11 (однопользовательская для PDP-11)
  9. RTE-II (система реального времени для HP-2000/2100 и ДОС РВ для М-6000/7000, СМ-1)
  10. VMS (от DEC для серии компьютеров VAX, позднее переименована в OpenVMS)
  11. HP-UX от HP
  12. NonStop OS — разработана компанией Tandem Computers, впоследствии приобретённой фирмой Compaq
  13. OSF/1 (от DEC; дважды переименована, сначала в Digital UNIX, затем в Tru64 UNIX)

IBM

  1. IBSYS
  2. OS/2 v1.0 — Выпущена в декабре 1987 года. Одна из первых операционных систем с поддержкой многозадачного режима процессора 80286.
  3. OS/2 v1.10SE — Выпущена в октябре 1988 года. SE = Standard Edition.
  4. OS/2 v1.10EE — 1989 год.
  5. OS/2 v1.20 — 1989 год. Редакции SE и EE. Улучшенный Presentation Manager.
  6. OS/2 v1.30 — 1991 год. Также редакции SE и EE.
  7. OS/2 v2.00 — Весна 1992 года. Первая версия OS/2, которой для работы необходим процессор 80386 с его защищённым режимом.
  8. OS/2 v2.10 — Май 1993 года.
  9. OS/2 v2.11 — Конец 1993 года. Не содержит подсистемы Win-OS/2 и устанавливается поверх Windows 3.1. Стоит дешевле других версий OS/2.
  10. OS/2 v3.0 «Warp» и «Warp Connect» — Октябрь 1994 года.
  11. OS/2 v4.0 «Merlin» — Сентябрь 1996 года.
  12. OS/2 Warp 4.5 Server for E-business «Aurora» — Апрель 1999 года. Дальнейшие обновления получили имена CP1 и CP2 (Convenience Package) и базировались на Aurora.
  13. eComStation
  14. AIX — Unix-подобная ОС
  15. AIX/RT
  16. AIX/6000
  17. AIX PC
  18. AIX/ESA
  19. AIX/370
  20. AIX 5L
  21. OS/400
  22. DOS/360
  23. DOS/VSE
  24. OS/360 — первая ОС для архитектуры System 360
  25. MFT — позднее переименована в OS/VS1
  26. MVT — позднее переименована в OS/VS2
  27. MVS — разновидность MVT
  28. OS/390
  29. z/OS — следующая версия после IBM OS/390
  30. z/VM — разновидность VM
  31. z/VSE — разновидность VSE
  32. Basic Operating System — перваяОСдляархитектуры System 360
  33. PC DOS — OEM-версия MS-DOS, впоследствии дорабатывалась самостоятельно.
  34. ОС ЕС, СВМ, МВС, ДОС ЕС, МОС ЕС — IBM-совместимые операционые системы (клоны) советского производства

ICT/ICL

  1. GEORGE

Microsoft

  1. MSX-DOS
  2. MS-DOS
  3. Xenix — лицензированная версия Unix; продана SCO в 1990-х
  4. Microsoft Windows
  5. Windows 1.0
  6. Windows 2.0 (для 80286)
  7. Windows 3.0 — первая версия, имевшая коммерческий успех
  8. Windows 3.1
  9. Windows for Workgroups 3.11
  10. Windows 9x — версии Windows 4.x, новое семейство, сохранявшее преемственность с Windows 3.x
  11. Windows 95 (версия Windows 4.00.950)
  12. Windows 98 (версия Windows 4.10.1998)
  13. Windows Me (версия Windows 4.90.3000)
  14. Windows NT — ОС, разрабатываемая в Майкрософт с 1988 года командой во главе с Дэвидом Катлером под рабочим названием OS/2 Version 3.
  15. Windows NT 3.1 — первая версия Windows NT, выпущена 27 июля 1993
  16. Windows NT 3.5 (варианты поставки: Workstation — для рабочих станций и Server — для серверов)
    1. Windows NT 3.51 — отлаженная версия Windows NT 3.5
  17. Windows NT 4.0 (варианты поставки: Workstation — для рабочих станций и Server — для серверов)
  18. Windows 2000 (версия Windows NT 5.0)
  19. Windows XP (версия Windows NT 5.1 — внутреннеосновананаядре Windows 2000); вариантыпоставки: Home, Professional, Tablet PC Edition, Media Center Edition, Embedded
    1. Windows Server 2003 (версия Windows NT 5.2) — вариант Windows XP для работы на серверах
    2. Windows Compute Cluster Server 2003 — вариант Windows XP для работы в кластерных системах
    3. Windows XP Embedded — вариант Windows XP для встраиваемых систем
  20. Windows Vista (версия Windows NT 6.0)
    1. Windows Server 2008 (версия Windows NT 6.0) — вариант Windows Vista дляработынасерверах
    2. Windows HPC Server 2008 — замена Windows Compute Cluster Server 2003 длякластерныхсистем
    3. Windows Home Server
    4. Windows Vista for Embedded Systems — вариант Windows Vista длявстраиваемыхсистем
  21. Windows 7 (версия Windows NT 6.1)
    1. Windows Server 2008 R2 (версия Windows NT 6.1) — вариант Windows 7 для работы на серверах
  22. Windows CE (compact edition — компактная редакция) — Операционная система реального времени для встраиваемых систем, мобильных телефонов, наладонных компьютеров и даже роботов.
  23. Windows Mobile, Pocket PC — версии Windows CE для мобильных телефонов и наладонных компьютеров.
  24. Windows Embedded — версии Windows CE для встраиваемых систем, включая роботов.

Mediatek

  1. MtkOS — Операционная система для мобильных телефонов на MTK(ARM) процессорах

Novell

  1. NetWare — сетевая ОС
  2. NetWare 3.x, в том числе Netware v3.12
  3. NetWare 4.x
  4. NetWare 5.x
  5. NetWare 6.x
  6. Novell DOS (см.: Клоны MS-DOS)
  7. UnixWare — разработана на основе UNIX System V, в 1995 году Novell продала права на дальнейшую разработку компании Santa Cruz Operation.
  8. openSUSE — дистрибутив свободной операционной системы GNU/Linux, разработчиком которого является корпорация Novell, Inc.
  9. Open Enterprise Server — сетевая ОС, включает в себя Novell NetWare, openSUSE и набор сетевых служб.

Strawberry Development Group

  1. CapROS

Sun Microsystems

  1. SunOS — Unix-подобная ОС, основана на реализации BSD Unix
  2. SunOS 4.x — (Solaris 1.x)
  3. Solaris — Unix-подобная ОС, основана на реализации UNIX System V Release 4 + наработки из SunOS
  4. SunOS 5.x — (Solaris 2.x, 7.x и более поздние)
  5. OpenSolaris — SunOS 5.11
  6. Java Desktop System

Другие Unix-подобные и POSIX -совместимые

  1. Aegis/OS (Apollo Computer)
  2. CLIX от Intergraph
  3. Cromix (Unix-emulating OS from Cromemco)
  4. Coherent (Эмулирующая Unix ОС от Mark Williams Co. для персональных компьютеров)
  5. DYNIX — Unix-подобная ОС, разработана компанией Sequent Computer Systems, которая позже была поглощена IBM
  6. Idris
  7. IRIX от SGI
  8. NeXTStep — свое развитие получила в ОС Mac OS X после объединения компаний NeXT и Apple
  9. OPENSTEP
  10. OS-9 — Unix-подобная RTOS, эмулирующая Unix от Microware для процессора Motorola 6809
  11. OS-9/68k (Эмулирующая Unix от Microware для процессора Motorola 680x0; создана из OS-9)
  12. OS-9000 (портативная эмуляция Unix от Microware; одна из реализаций предназначена для Intel x86)
  13. QNX (POSIX, микроядерная операционная система; используется, в основном, во встроенных системах реального времени)
  14. Rhapsody
  15. RiscOS
  16. SCO UNIX (от Santa Cruz Operation, куплена компанией Caldera, позже переименованной в SCO)
  17. System V (реализация AT&T Unix, "SVr4" 4й релиз). Фактически последний «чистый» UNIX. Всё остальное обычно называют UNIX подобным…
  18. UNIflex (Эмулирующая Unix ОС от TSC для DMA-совместимых, Motorola 6809 с расширенной адресацией; например, SWTPC, GIMIX, …)
  19. Ultrix (первая версия Unix для VAX и PDP-11 от DEC, основана на BSD)
  20. Unicos (Unix длясуперкомпьютеров Cray Research Inc.)
  21. Venix

Свободные

Unix-подобные

  1. BSD (Berkeley Software Distribution, реализация Unix для DEC VAX) и её вариации:
  2. 386BSD
  3. DesktopBSD
  4. DragonFly BSD
  5. FreeBSD
  6. MidnightBSD
  7. NetBSD
  8. OpenBSD — основной акцент на безопасности
  9. PC-BSD
  10. TrianceOS
  11. TrueBSD
  12. GNU/Hurd (ОС, реализованная как набор серверов работающих на микроядре Mach)
  13. Hurd/L4 (ОС, реализованная как набор серверов работающих на микроядре L4)
  14. GNU/Linux
  15. Linux (наиболее популярное свободное Unix-подобное ядро)
  16. Cosmoe (основана на ядре «Linux» и использует много кода AtheOS, подобна BeOS)
  17. OpenSolaris (проект по открытию кодов Solaris)
  18. AuroraUX
  19. BeleniX
  20. Jaris
  21. MilaX
  22. marTux
  23. Nexenta OS
  24. NexentaStor
  25. OpenSolaris for System z
  26. OSUNIX
  27. Polaris
  28. SchilliX
  29. StormOS
  30. Plan 9 (распределённая ОС, разработана Bell Labs)
  31. Plan B (распределённая ОС, произошедшая от Plan 9)
  32. Off++ (распределённая ОС, произошедшая от Plan 9)
  33. Inferno (ОС на основе виртуальной машины, произошла от Plan 9)
  34. SSS-PC (разработана в Токийском Университете)

Windows-совместимые

  1. ReactOS

Исследовательские Unix-подобные

  1. UNIX (разработана Bell Labs в 1970 году, идея Кена Томпсона)
  2. Mach (от разработчиков ядер ОС в CMU; см.: NeXTSTEP)
  3. Minix (учебная ОС от Эндрю Таненбаума)
  4. K42 (разрабатывается в IBM)
  5. MISS (первая отечественная UNIX-подобная операционная система)
  6. ДЕМОС (советский клон UNIX)
  7. ИНМОС (Инструментальная мобильная операционная система — разработана в СССР в 1985 году в ИНЭУМ Институт электронных управляющих машин, Головное КБ Минприбора).

Исследовательские не-UNIX

  1. 3OS — Object Oriented Operation System
  2. Nemesis — исследовательская ОС от Кембриджского университета
  3. TUNES — 1994 год
  4. V (operating system) — Stanford, ранние 1980- е
  5. Microsoft Singularity
  6. Amoeba — разработка Амстердамского свободного университета.
  7. Фантом (ОС).

Клоны MS-DOS

  1. QDOS (Quick and Dirty Operating System) — клон CP/M, созданный в 1980 году Тимом Патерсоном (Tim Paterson) из Seattle Computer Products (SCP) для новых процессоров Intel 808x, был куплен Microsoft за 50 тыс. долл. и стал MS-DOS/PC-DOS.
  2. MS-DOS — разработана Microsoft для IBM PC-совместимых машин.
  3. PC-DOS — версия DOS от IBM.
  4. DR-DOS — ОС от Digital Research, потом Novell, Caldera, Siemens AG …; в настоящее время используется в специфических задачах.
  5. FreeDOS — свободная DOS, цель — 100 % совместимость с MS-DOS.
  6. PTS-DOS — ОС от PhysTechSoft (Россия).
  7. ROM-DOS — ОС от Datalight для встроенных систем.
  8. АДОС — советский клон для ПК Искра-1030.
  9. Альфа-ДОС — советский клон для ПК ЕС-1840.
  10. ЯНУС — советский клон для ПК ЕС-1840.
  11. OpenDOS - открытая

Авторские/внутренние, не-UNIX и другие

  1. A2 — новое название для Bluebottle (см. также: AOS)
  2. AOS — ОС созданная в рамках проекта «Oberon — операционная система и компилятор» (Оберон (операционная система))
  3. AROS (AROS Research Operating System), свободная портируемая (в том числе, для процессорной линейки x86) операционная система, идейный потомок AmigaOS
  4. AtheOS
  5. Bluebottle — развитие идей AOS, современное название A2.
  6. CP/M (Control Program/Monitor)
  7. CP/M-80 (CP/M для Intel 8080/8085 и Zilog Z80 от Digital Research))
  8. CP/M-86 (CP/M для Intel 8088/86 от Digital Research)
  9. MP/M-80 (многопрограммная версия CP/M-80 от Digital Research)
  10. MP/M-86 (многопрограммная версия CP/M-86 от Digital Research)
  11. МикроДОС (создана в СССР на основе CP/M 2.2)
  12. UCSD P-System (портативная среда программирования/операционная система/виртуальная машина, разработана студентами университетов Калифорнии в Сан-Диего; управляется профессором Ken Bowles, написана на языке Паскаль)
  13. FLEX9 — от TSC для Motorola 6809, наследница FLEX, работавшей на Motorola 6800.
  14. JavaOS — основным компонентом является Java VM.
  15. SSB-DOS — от TSC для Smoke Signal Broadcasting, разновидность FLEX.
  16. DESQView многозадачная надстройка над MS-DOS для запуска MS-DOS приложений в режиме вытесняющей многозадачности с API кооперативной многозадачности, 1985 год. Текстовый интерфейс. Последняя версия 2.70.
  17. DV/X — развитие DESQView, заимствовавшее интерфейс и протокол X Window System.
  18. NewOS open source
  19. Оберон (операционная система), разработана ETH-Zurich (Никлаусом Виртом и другими) для рабочих станций Ceres и Chameleon. См. также Оберон (язык программирования).
  20. osFree — open source вариант OS/2.
  21. TripOS, 1978
  22. VisiOn (первый графический пользовательский интерфейс для PC, коммерческого успеха не имел.)
  23. VME от International Computers Limited (ICL)
  24. MorphOS (на микроядре Quark, с поддержкой API AmigaOS 3.1)
  25. NetWare (от Novell)
  26. Pick (лицензирована и переименована)
  27. Primos от Prime Computer (иногдапишется PR1MOS или PR1ME)
  28. OSD/XC от Fujitsu-Siemens (BS2000 портированадляэмуляциина Sun платформы SPARC)
  29. OS-IV от Fujitsu (базируется на ранней MVS от IBM)
  30. MSP от Fujitsu (наследник OS-IV)
  31. Haiku — свободный клон BeOS
  32. SkyOS — коммерческая ОС для PC.
  33. Syllable (развивается на базе AtheOS)
  34. TinyOS
  35. TSX-32 многозадачная 32-битная операционная система для DOS-приложений, частично заимствовавшая идеи OS/2, DESQView и операционных систем фирмы DEC. ~1993 год. Отличалась самой быстрой реализацией файловой системы FAT16 из известных.

Siemens AG

  1. BS1000
  2. BS2000
  3. BS3000 (функционально похожа на OS-IV и MSP от Fujitsu)
  4. VM2000
  5. SINIX — Unix-подобная ОС, ранее называлась Reliant UNIX, разработана на основе DC/OSx
  6. DC/OSx — DataCenter/OSx, доставшаяся Siemens AG после поглощения компании Pyramid Technology

«Домашние» OS

  1. KolibriOS (проект основан на MenuetOS и помещается на одну дискету)
  2. LainOS — проект основан на FreeBSD. Навеян GUI Navi из Serial Experiments Lain
  3. MenuetOS (помещается на одну дискету)
  4. Miraculix
  5. Panalix
  6. Syllable (почти полностью совместима с POSIX)
  7. Trion Operating System
  8. Висопсис (VISOPSYS — Визуальная операционная система)
  9. UzhOS
  10. XSKernel — проект ядра операционной системы под кодовым названием XSystem.
  11. FOS — микроядерная операционная система.
  12. ExeOS (проект операционной системы, основанной на микроядерной архетикутре)
  13. SymbOS — многозадачная графическая ОС для Amstrad CPC, Amstrad PCW и MSX.
  14. FlopOS - open-source OS, написаная на чистом ассемблере (помещается на одну дискету).

Для БК

Операционные системы, работавшие на БК-0010, БК-0010-01, БК-0011 и БК-0011М

  1. ANDOS
  2. MK-DOS
  3. CSI-DOS
  4. ОС БК-11 (вариант RT-11)
  5. AO-DOS
  6. BASIS
  7. DOSB10
  8. PascalDOS
  9. MicroDOS
  10. DX-DOS
  11. HC-DOS
  12. RT-11 (во внешнем ПЗУ)
  13. NORTON-БК
  14. РАМОН
  15. Turbo-DOS
  16. BKUNIX

Для Spectrum

  1. +3DOS
  2. C-DOS
  3. Doors
  4. IS-DOS
  5. PinkFloyd
  6. TASiS
  7. TR-DOS

Прикладные системы

Наладонный компьютер (PDA)

  1. Palm OS от Palm Inc; теперь подразделения PalmSource
  2. Pocket PC, Windows Mobile от Microsoft
  3. EPOC — изначально от Psion (Великобритания), в настоящее время разрабатывается Symbian, под маркой Symbian OS.
  4. Windows CE от Microsoft
  5. GNU/Linux в Sharp Zaurus

Смартфоны

  1. Windows Mobile набазе Windows CE
  2. GNU/Linux
  3. Google Android в HTC T-Mobile G1;
  4. Palm webOS в Palm Pre;
  5. Maemo в Nokia 770 Internet Tablet, Nokia N800, N810 и Nokia N900;
  6. OpenMoko в устройствах Neo 1973 и Neo FreeRunner;
  7. MontaVista Mobilinux в Motorola A760, E680;
  8. EZX Linux в Motorola A1200, A1600, E6;
  9. MOTOMAGX в Motorola ZINE ZN5;
  10. LiMo Platform;
  11. Access Linux Platform в Edelweiss;
  12. Bada — ошибочно считается OS Linux от Samsung
  13. Symbian OS
  14. Apple iOS — ОСдля Apple iPhone, iPod touch, iPad
  15. BlackBerry OS
  16. JavaFX Mobile

 Windows Mobile набазе Windows CE

  1. Windows Phone 7

Нетбуки , смартбуки , MID

  1. EPOC32 Release 5 в Psion netBook 1999 года;
  2. Microsoft Windows CE в
  3. GNU/Linux
  4. Slackware;
  5. Xandros Linux;
  6. Xubuntu;
  7. Eeebuntu;
  8. Linpus Linux Lite в Acer Aspire One;
  9. Google Android в Acer Aspire One;
  10. Ubuntu Netbook Remix;
  11. Moblin for Netbooks;
  12. Google Chrome OS;
  13. Jolicloud.

 EPOC32 Release 5 в Psion netBook 1999 года;

 Microsoft Windows CE в Psion Teklogix netBook Pro 2003 года, в Elonex Smartbook идр.

  1. Microsoft Windows CE MID в Toshiba JournE;

Маршрутизаторы

  1. CatOS от Cisco
  2. IOS от Cisco
  3. IOS XR от Cisco на основе QNX
  4. JUNOS от Juniper Networks
  5. LinkBuilder от 3Com
  6. MikroTik RouterOS от MikroTik
  7. PIX OS от Cisco
  8. RapidOS от Riverstone Networks
  9. FreeSCO бесплатная замена Cisco на основе Linux
  10. ZyNOS от ZyXEL

МиниАТС

  1. Orix от Avaya

Для микроконтроллеров , встраиваемые и ОС реального времени

  1. Contiki
  2. FreeRTOS
  3. INTEGRITY
  4. ITRON
  5. LynxOS
  6. Montavista Linux
  7. Nucleus
  8. OS-9 — от Microware
  9. OS-9000 — от Microware
  10. OSA — для микроконтроллеров PIC (Microchip) и AVR (Atmel)
  11. OSE от ENEA
  12. RTEMS первоначальная разработка велась по заказу МО США, сейчас opensource (GPL-like лицензия)
  13. ThreadX
  14. TRON OS разработчик — Ken Sakamura
  15. uC/OS-II для микроконтроллеров
  16. scmRTOS — для микроконтроллеров
  17. μClinux
  18. VxWorks
  19. Salvo — для микроконтроллеров.

А также другие работы, которые могут Вас заинтересовать

6679. Диалекта материалистического понимания жизни. Уровни организации живой природы 19.73 KB
Диалекта материалистического понимания жизни. Уровни организации живой природы. Все живые организмы избирательно относятся к окружающей среде. Состав химических элементов живых систем отличаются от химических элементов земной коры. В земной коре O,S...
6680. Клеточная теория. Биология клетки 23.44 KB
Клеточная теория. Биология клетки. Конец XIX века - возникновение цитологии 1665 - англ. Роберт Гук, рассматривая срез пробки, увидел целлюлозные оболочки и ввел термин клетка. 1838 - 1839 - М. Шлейден и Т. Шванн предложили клет...
6681. Существование клеток во времени и пространстве. Клеточный цикл и его регуляция 21.53 KB
Существование клеток во времени и пространстве. Клеточный цикл и его регуляция. Универсальные химические соединения - нуклеиновые кислоты. Они состоят из 3 компонентов, связанных между собой: азоистого основания (А,Г,Ц,Т,У), 2-дезокси - Д...
6682. Размножение организмов. Гаметогенез. Закономерности ово - и сперматогенеза 22.43 KB
Размножение организмов. Формы размножения и их биологическое значение. Строение половых клеток. Гаметогенез. Закономерности ово - и сперматогенеза. Оплодотворение. Фазы и биологическая сущность. Размножение - приспособление организм...
6683. Генетика человека. Наследственно обусловленные различия людей 27.98 KB
Генетика человека. Наследственно обусловленные различия людей. Генетическая терминология. Основные нарушения кариотипа и их фенотипические проявления. Генетический мозаицизм. Структурные аномалии хромосом. Евгеник...
6684. Наследственность. Структурные уровни организации наследственного материала 22.72 KB
Наследственность. Структурные уровни организации наследственного материала. Наследственность. Структурные уровни организации наследственного материала. Регуляция экспрессии генов. Ген - единица наследственности. Наследст...
6685. Геном. Генотип. Фенотип 24.18 KB
Геном. Генотип. Фенотип. Фенотип как результат реализации генотипа в определенной среде. Количественная и качественная специфика проявления генов в признаках. Взаимодействие неаллельных генов. Геном - совокупность генов, харак...
6686. Изменчивость. Мутационная изменчивость и система браков 25.23 KB
Изменчивость. Модификационная изменчивость. Комбинативная изменчивость. Система браков. Мутационная изменчивость. Одним из признаков жизни является изменчивость. Любой живой организм отличается от других представителей вида...
6687. Элементы антропогенеза 27.81 KB
Элементы антропогенеза. Человек как объект генетики. Частные разделы генетики человека. Методы генетики человека. Существует специальность - клиническая генетика (МГМА, ТМУ, КГМА). Клиническая генетика - дисциплина, которая пр...

Основные понятия операционных систем (ОС)

Понятие ОС, операционной среды и операционной оболочки.

Любая Вычислительная система включает в себя:

    аппаратную часть (hardware от англ. твёрдое изделие) - набор устройств (процессор, память, монитор, дисковые устройства и т. д.), объединённых магистральным соединением - шиной; программное обеспечение (software от англ. мягкое изделие), которое делится на два вида:
системное - это совокупность программ, предназначенных для управления аппаратной частью компьютера и обеспечения взаимодействия пользователя с компьютером; прикладное (текстовые процессоры, электронные таблицы, базы данных и т. д.)

Программа - это записанный в определённом порядке набор команд, выполнение которых обеспечивает решение конкретной задачи.

Определение 1.1. Операционная система (ОС) - комплекс системных управляющих и обрабатывающих программ, которые:

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

Интерфейс (от англ. interface - согласование) в широком смысле - определённая стандартами граница между взаимодействующими независимыми объектами.

Мы под термином Интерфейс будем понимать конкретный способ взаимодействия пользователя с компьютером.

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

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

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

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

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

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

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

Файл - именованная часть пространства на носителе информации.

Назначение ОС:

Организация удобного интерфейса между пользователями и аппаратурой компьютера: Разработка программ : ОС предоставляет программисту разнообразные инструменты разработки приложений: редакторы, отладчики и т. п. Исполнение программ . Для запуска программы нужно выполнить ряд действий: загрузить в основную память программу и данные, инициализировать устройства ввода-вывода и файлы, подготовить другие ресурсы. ОС выполняет всю эту рутинную работу вместо пользователя. Доступ к устройствам ввода-вывода . Для управления каждым устройством используется свой набор команд. ОС предоставляет пользователю единообразный интерфейс, который скрывает все эти детали и обеспечивает программисту доступ к устройствам ввода-вывода с помощью простых команд чтения и записи. Контролируемый доступ к файлам . При работе с файлами управление со стороны ОС предполагает не только глубокий учёт природы устройства ввода-вывода, но и знание структур данных, записанных в файлах. Многопользовательские ОС, кроме того, обеспечивают механизм защиты при обращении к файлам. Системный доступ . ОС управляет доступом к совместно используемой или общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она обеспечивает защиту ресурсов и данных от несанкционированного использования и разрешает конфликтные ситуации. Обнаружение ошибок и их обработка . При работе компьютерной системы могут происходить разнообразные сбои за счёт внутренних и внешних ошибок в аппаратном обеспечении, различного рода программных ошибок (переполнение, попытка обращения к ячейке памяти, доступ к которой запрещен и др.). В каждом случае ОС выполняет действия, минимизирующие влияние ошибки на работу приложения (от простого сообщения об ошибке до аварийной остановки программы). Учёт использования ресурсов . Хорошая ОС имеет средства учёта использования различных ресурсов и отображения параметров производительности вычислительной системы. Эта информация важна для настройки (оптимизации) вычислительной системы с целью повышения её производительности. Организация эффективного использования ресурсов компьютера. ОС является своеобразным диспетчером ресурсов компьютера: ресурсы распределяются ОС между выполняемыми программами.

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

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

Кроме того, современные ОС имеют достаточно большой набор средств и способов диагностики и восстановления работоспособности системы. Сюда относятся:

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

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

Классификация ОС.

Рассмотрим основные классификационные признаки ОС.

По назначению ОС делятся на: Специализированные - работающие с фиксированным набором программ (функциональных задач); Универсальные - рассчитанные на решение любых задач пользователей. По способу загрузки можно выделить Загружаемые ОС (большинство); Системы, постоянно находящиеся в памяти вычислительной системы . Последние, как правило, специализированные и используются для управления работой специализированных устройств (например, в БЦВМ баллистической ракеты или спутника, научных приборах, автоматических устройствах различного назначения и др.). По особенностям алгоритмов управления ресурсами . Главным ресурсом системы является процессор, поэтому дадим классификацию по алгоритмам управления процессором: Поддержка многозадачности (многопрограммности) . По числу одновременно выполняемых задач ОС делятся на 2 класса:

    однопрограммные (однозадачные) - MS-DOS; многопрограммные (многозадачные) - Windows.

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

    однопользовательские (MS-DOS, Windows 3х); многопользовательские (Windows NT/2000/2003/XP/Vista).

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

    не вытесняющая многопрограммность (Windows 3.x) - активный процесс выполняется до тех пор, пока он сам не отдаст управление ОС; вытесняющая многопрограммность (Windows 2000/2003/ XP) - решение о переключении процессов принимает ОС.

Многопроцессорная обработка.

    ОС без поддержки многопроцессорной обработки (Windows 3.x, Windows 95); ОС с поддержкой многопроцессорной обработки (Windows NT/ 2000/2003/XP).

По области использования и форме эксплуатации: Системы пакетной обработки (OS/360, OC EC) предназначены для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности таких систем является максимальная пропускная способность, т. е. решение максимального числа задач в единицу времени. В Системах разделения времени (UNIX, VMS) каждому пользователю предоставляется терминал, с которого он может вести диалог со своей программой. Т. к. каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Системы реального времени (QNX, RT/11) предназначены для управления техническими объектами (станок, спутник и т. п.), где существует предельное время на выполнение программ, управляющих объектом. По аппаратной платформе (типу вычислительной техники) , для которой они предназначаются, ОС делят на следующие группы: ОС для смарт-карт. Некоторые из них могут управлять только одной операцией, например, электронным платежом. Встроенные ОС . Управляют карманными компьютерами (lialm OS, Windows CE - Consumer Electronics - бытовая техника), мобильными телефонами, телевизорами, микроволновыми печами и т. п. ОС для персональных компьютеров , например, Windows 9.x, Windows ХР, Linux, Mac OSX и др. ОС мини-ЭВМ , например, RT-11 для PDP-11 - OC реального времени, RSX-11 M для PDP-11 - ОС разделения времени, UNIX для PDP-7. ОС мэйнфреймов (больших машин) , например, OS/390, происходящая от OS/360 (IBM). Обычно ОС мэйнфреймов предполагает одновременно три вида обслуживания: пакетную обработку, обработку транзакций (например, работа с БД, бронирование авиабилетов, процесс работы в банках) и разделение времени. Серверные ОС , например, UNIX, Windows 2000, Linux. Область применения - ЛВС, региональные сети, Intranet, Internet. Кластерные ОС . Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений и представляющихся пользователю единой системной, например, Windows 2000 Cluster Server, Windows 2008 Server, Sun Cluster (базовая ОС - Solaris).

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

Форма организации взаимодействия между пользователем и операционной системой

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

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

Основные объекты операционной системы

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

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

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

Интерфейс

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

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

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

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

Окна: разновидности и доступные операции с ними

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

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

Элементы управления

И тут отдельно стоит остановиться на элементах управления. Главным элементом, если не учитывать планшетные ПК или смартфоны, а также сенсорные экраны, является курсор, при помощи которого можно перемещаться по всему интерфейсу, вызывать какие-то действия, производить изменение размеров и т. д.

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

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

Файлы и папки

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

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

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

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

Вместо итога

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