#факты | Какие бывают операционные системы?

Олег Довбня

Когда вы включаете свой компьютер, то первым делом ждете, когда в оперативную память загрузится операционная система. И только потом обращаетесь к необходимым вам приложениям. Большая часть всего, что пользователь делает со своим компьютером, совершается посредством операционной системы. Ее следует рассматривать в качестве управляющего центра компьютера. Большая часть современных персональных компьютеров работает под управлением операционных систем Microsoft Windows. Mac поставляются с уже предустановленной системой OS X, которая до недавнего времени называлась Mac OS X. Многие корпоративные серверы управляются операционными системами Linux и UNIX.

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

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

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

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

Что такое операционная система?

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

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

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

  • Позволяет выполнять различные задачи
  • Обеспечивает взаимодействие пользователя с устройством на более сложном уровне
  • Поддерживает в порядке изменения, вносимые пользователем

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

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

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

Функции операционной системы

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

Если сильно упростить описание выполняемых операционной системой задач, то можно выделить две основные:

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

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

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

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

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

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

Все огромное множество существующих операционных систем можно разделить на четыре основных типа:

  1. Операционные системы реального времени (Real-time operating system, RTOS). Операционные системы реального времени предназначены для управления машинным оборудованием, научными инструментами и промышленными системами. Обычно пользовательский интерфейс таких систем не балует дизайнерскими изысками, а утилиты, ориентированные на конечного пользователя, отсутствуют. Это готовая к использованию «закрытая коробка». Важнейшей задачей такого типа операционной системы является следить за тем, чтобы определенная операция выполнялась в определенный отрезок времени. И эти отрезки были равными. В сложных машинах нельзя допустить, чтобы их элементы двигались быстрее чем нужно, поскольку система располагает «лишними» ресурсами. Или, наоборот, не двигались вовсе по причине занятости системы
  2. Однопользовательские однозадачные операционные системы (Single-user, single task). Как следует из их названия, эти операционные системы ориентированы на выполнение одним пользователем одной задачи в один период времени. Ярким примером системы такого типа может служить Palm OS для наладонников Palm. Эти устройства пользовались определенной популярностью до того как началось массовое распространение смартфонов
  3. Однопользовательские многозадачные операционные системы (Single-user, multi-tasking). Системы этого типа управляют большинством современных настольных и портативных компьютеров. И Microsoft Windows, и Apple OS X относятся именно к этому типу. Например, пользователь Windows может одновременно писать заметку в текстовом редакторе и загружать файл из Интернета. В это же самое время принтер может печатать, а почтовый клиент принимать электронную корреспонденцию
  4. Многопользовательские операционные системы (Multi-user). Многопользовательские операционные системы позволяют нескольким пользователям одновременно получать доступ к ресурсам устройства. Операционной системе приходится удерживать баланс между теми требованиями, которые предъявляют разные пользователи. При этом операционной системе приходится следить за тем, чтобы у каждой из работающих программ было достаточно ресурсов, и задача, решаемая одним из пользователей, не мешала другим пользователям. В качестве ярких примеров многопользовательских систем можно привести Unix, VMS и операционные системы для больших ЭВМ, подобные MVS

Важно внести ясность в некоторые тонкости, которые могут затруднить определение типа операционной системы. Существуют многопользовательские операционные системы и системы, поддерживающие сетевые соединения. И это различные операционные системы. Например, Windows 2000 и Novell Netware поддерживали сотни и даже тысячи сетевых соединений. При этом их нельзя считать истинно многопользовательскими. Единственным настоящим пользователем Windows 2000 и Netware является системный администратор. Сетевая поддержка и все удаленные аккаунты пользователей включены в общий план операционной системы, программно определяемый ее администратором.

Компьютерные операционные системы

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

Когда вы включаете питание компьютера, первой запускающейся программой становится набор инструкций, содержащийся в постоянной памяти компьютера (ПЗУ, ROM). Этот код тестирует системное аппаратное обеспечение и убеждается в том, что все работает корректно. Этот процесс называется самотестированием при запуске (POST, power-on self test). В его ходе осуществляется проверка процессора, памяти и базовой системы ввода-вывода (БСВВ, BIOS) на ошибки. Результаты тестирования сохраняются в специальной области памяти. Если самотестирование завершилось успешно, запускается размещенное в постоянной памяти программное обеспечение. Оно известно под именем BIOS. Это программное обеспечение начинает активацию жестких дисков компьютера. В большинстве современных компьютеров при активации жесткого диска находится первый фрагмент операционной системы: начальный загрузчик (bootstrap loader).

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

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

Продолжение следует…

По материалам computer.howstuffworks.com