Linux
В отличии от Mac OS, Linux имеет открытых исходный код. Это позволяет изменять и распространять ОС по всему миру. Например, Windows может распространять исключительно компания Microsoft. Операционная система была названа в честь ее создателя Линуса Торвальдса. Основа для Linux была заложена в 1991 году. Ее основные версии:
- Ubuntu
- Mint
- Fedora.
Каждая из версий имеет свой графический дизайн. По состоянию на 2014 год статистика пользователей Linux достигает около 2%. Большинство серверов работают на Linux из-за ее гибкости и легкости в настройках. Она состоит из пакетов, а главное сердце – ядро с установленной поддержкой драйверов.
Преимущества
- Бесплатное пользование;
- Программы и игры на Windows запускаются в Linux с помощью эмулятора;
- Возможность писать собственные программы при наличии знания языков программирования;
- Бесплатное программное обеспечение;
- Высокий уровень надежности и безопасности;
Недостатки
- Ограниченное количество игр и программ с поддержкой Linux;
- Ограниченная поддержка аппаратного обеспечения;
- Низкая доступность советов в случае проблем с программами или драйверами;
- Сложность в освоении;
Важно: одним из главных факторов низкой популярности Linux заключается в сложности освоения интерфейса и принципа работы ОС для рядовых пользователей ПК
Виды операционных систем
Вообще ОС можно классифицировать на Windows и UNIX-подобные. Это два основных вида/направления/технологии в которых делаются операционные системы.
Обычно операционные системы разделяют на:
- Многопользовательские — когда может быть несколько пользователей
- Однопользовательские — когда разных пользователей создать нельзя
Типы ОС:
- Графические и текстовые
- Платные и бесплатные
- Открытые и закрытые
- Клиентские и серверные
- Высокой или низкой стабильности к сбоям аппаратного обеспечения
- По разрядности: 16, 32 или 64 битные, раньше были вообще 8 битные
- С высоким или низким уровнем безопасности
- Мобильные или настольные
Также их можно классифицировать и по другим признакам, но именно это основные. Рассмотрим самые популярные ОС, которые есть на данный момент.
Windows
Самая популярная операционная система в мире для компьютеров, ноутбуков и планшетов. Ей пользуется более 90% всех пользователей. Первая версия данной ОС вышла еще в 1 985 году.
На данный момент последняя номерная версия — Windows 10 и компания больше не планирует выпускать другие номерные версии. Выходят лишь маленькие и крупные обновления, которые зачастую могут иметь кардинальные изменения в функционал и внешний вид.
Особенности:
- Закрытая OS
- Платная
- Поддержка огромного количества аппаратного обеспечения
- Быстрая работа
- Качественный интерфейс
- Управление различными устройствами ввода
- Простая установка программного обеспечения
- Удобство в управлении
- В новых версиях — хорошая защита
- Огромное количество программ и игр
Mac OS
Операционная система от компании Apple для компьютеров и ноутбуков их бренда. Является закрытой ОС и устанавливается исключительно на продукцию компании.
Красивая и удобная, на данный момент ею пользуется примерно 10% пользователей домашних ПК и ноутбуков. Большинство считают, что использовать ее можно для специфических задач, к примеру, в дизайне или архитектуре. Но это не так, это простая и функциональная ОС, которая скорее не популярна в виду того, что устанавливается только на ПК от Apple.
Особенности:
- Закрытая OS
- Устанавливается только на ПК и ноутбуки Apple
- Платная
- Удобная
- Не подходит для геймеров
- Быстрая работа
- Отличная защита от всевозможных угроз
- Надежность в использовании
- Эффективное распределение ресурсов ПК
Linux
Открытая и бесплатная операционная система для компьютеров и ноутбуков. Пользуется популярностью среди небольшой доли пользователей. Довольно сложная в настройке, не подходит для игр, так как они банально на нее практически не выходят.
Есть множество разных дистрибутивов Линукса, которые могут кардинально отличаться друг от друга. Но большинство выбирает именно Ubuntu, за ее простоту, красивый интерфейс и быструю скорость работы.
Особенности:
- Открытая ОС
- Бесплатная
- Бесплатное ПО
- Программы от Виндовс можно запускать в эмуляторе
- Обеспечивает отличную степень безопасности
- Эффективное распределение ресурсов ПК
- Не подходит для геймеров
- Не такой широкий выбор программного обеспечения
- Сложность в настройке и освоении
- Для кого-то — используемые шрифты
- Как решить, какой-либо вопрос — тяжело найти ответ
- Ограниченная поддержка аппаратного обеспечения
IOS
Операционная система для мобильных устройств компании Apple. Устанавливается на все смартфоны компании. Очень удобная в управлении, быстро работает и красива. Является эталоном для мобильных устройств.
Для многих именно эта ОС является главным важным критерием при выборе себе нового смартфона. Действительно качественное программное обеспечение с множеством возможностей.
Особенности:
- Закрытая OS
- Устанавливается только на iPhone
- Быстро работает
- Управление жестами
- Отличная степень защиты
- Более миллиона приложений
- Частые обновления
- Нет стороннего магазина, только App Store
Android
ОС от компании Google для мобильных устройств. Устанавливается на огромное количество современных смартфонов и занимает львиную долю рынка. Является открытой операционной системой, удобна в работе и очень функциональна.
Появилась, как альтернатива IOS. Постоянно обновляется и является действительно функциональной ОС. В магазине Google Play есть тысячи различных приложений и игр, которые можно установить себе на девайс.
Особенности:
- Открытая ОС
- Бесплатная
- Более миллиона приложений
- Приложения можно устанавливать из сторонних источников
- Поддержка тысяч моделей смартфонов
- Частые обновления
- Хорошая скорость работы
- Удобный интерфейс
- Управление жестами
- Разные оболочки/лаунчеры для управления
В заключение
Теперь вы знаете, какие операционные системы существуют и что они из себя представляют. Все они заслуживают внимания и постоянно обновляются.
Классификация операционных систем по компонентам
Система состоит из набора программного обеспечения (ПО), которое можно использовать для управления взаимодействием с оборудованием. В этот набор ПО обычно входят следующие элементы:
Ядро: это основные функции операционной системы, такие как управление памятью, процессы, файлы, входы основные выходы и функции связи.
Оболочка: обеспечивает связь с операционной системой через язык управления, позволяя пользователю управлять устройством, не зная характеристик оборудования, управления физическими адресами и т. д.
Первая операционная система была разработана IBM молодым человеком по имени Билл Гейтс. Она могла работать на разных компьютерах от разных производителей и называлась DOS. DOS была просто текстовым экраном с командной строкой, которая сообщала нам о каталоге и ждала от нас руководства. Вы должны были «знать», что писать, чтобы машина «что-то делала». Не было контекстного меню и графических дисплеев, которые могли бы нам помочь.
Вначале только люди, обладающие большими компьютерными знаниями, могли пользоваться компьютерами.
В 80-е годы появляются системы Mac OS и MS-DOS, Windows. Экспоненциальный рост пользователей, большинство из которых не знают языков программирования, начался в 80-х годах. Приоритетом разработки операционной системы стала простота использования, что привело к появлению первых пользовательских интерфейсов.
Macintosh это имя, под которым мы в настоящее время называем любой персональный компьютер, спроектированный, разработанный, построенный и продаваемый Apple Inc.
Macintosh 128K был выпущен 22 июля 1984 г. и был первым успешно проданным персональным компьютером, в котором использовались графический интерфейс и мышь, вместо интерфейса с командной строкой.
Графический интерфейс пользователя использует среду WIMP (windows, icons, menus and pointer – окна, значки, меню и указатель). Фон экрана стал называться рабочим столом и содержать изображения, называемые иконками.
В 1984 году Apple выпустила Macintosh — первый компьютер с мышью и графическим пользовательским интерфейсом (GUI — graphical user interface, графический пользовательский интерфейс).
Несколько лет спустя Microsoft запустил Windows, еще одну операционную систему, основанную на графике и интуитивно понятных инструментах.
Какие операционные системы существуют
Microsoft Windows
Это первая операционная система, имеющая интерфейс, к которому привык современный пользователь. Windows была выпущена в 1985 году. До этого существовал MS DOS, имеющий вид оболочки, в которую вводятся команды.
Выглядело это вот так.
А вот так выглядела первая версия Windows.
На данный момент новейшей версией является Windows 10
Преимущества Windows
- Её просто установить и легко использовать.
- Драйвера всех популярных программ работают на этой платформе.
- Имеет привлекательный интерфейс.
- Эта ОС поддерживает многие устройства.
- Удаленная иформация легко восстанавливается.
- Получение помощи технической поддержки.
- Из-за своей популярности эта ОС часто подвергается атакам вредоносного ПО, то есть хватает вирусы.
- Операционная система платная и стоит дорого.
- Чтобы стабилизировать работу, приходится постоянно читстить мусор.
Linux
Эту ОС выпустили в 1991 году. Попытки конкуренции с Windows оказались неудачными, популярность эта операционная система так и не завоевала.
Плюсы
- Открытость исходного кода. То есть, ОС является бесплатной.
- Угроза от вирусов практичеки отсутствует.
- Системных ресурсов требуется значительно меньше.
Минусы
- Сложно освоить новичку.
- Создана в основном для программистов, поэтому отсутствуют игры и многие программы.
- Возникает проблема права доступа.
Эту ОС поддерживает только техника Apple, она не совместима с устройствами других производителей.
Достоинства
- Интерфейс удобный и имеет много функций, которые делают работу легкой.
- Безопасность и надежная защита от вирусов.
- Преимущество в стабильной работе.
Основные виды ОС
Используя ПК дома, вы даже не задумываетесь, какая именно стоит ОС. А эту информацию знать необходимо хотя бы, потому что если вы вдруг захотите установить, какую ни будь программу, то вам придется выбрать именно ту, которая будет совместима с вашей системой.
Приступим к небольшому обзору трех самых популярных операционных систем.
Windows
Самая востребованная это Microsoft Windows выпущенная корпорацией Microsoft а сама система Windows в переводе означает – окна.
В настоящее время поддерживаются производителем несколько версий:
- Windows 7 с пакетом обновления 1 – обслуживаться будет до 14 января 2020 года
- Windows 8.1 – обслуживаться будет до 10 января 2023 года
- Windows 10 – с 2015 года розничные продавцы предоставляют компьютеры именно с этой предустановленной версией
Но не пугайтесь, у кого сейчас установлены версии 7 и 8.1. Прекращение обслуживания не означает, что у вас они перестанут работать, корпорация просто прекратит выпускать обновления для них. Я знаю людей, которые до сих пор работают с Виндовс XP, хотя обновления для нее прикатились выпускаться еще в 2014 году.
Располагается операционная система на жестком диске, в большинстве случаях это раздел «Локальный диск С» где при установке создаются такие папки как:
- Windows – располагается сама ОС со всеми настройками.
- Program Files – здесь находятся папки с установленными на ПК программами.
- Users (пользователи) – папка где хранятся профили пользователей
- PerfLogs – хранит файлы отчетов о производительности системы
Теперь давайте подробнее разберем, как узнать свою версию Windows.
1. На рабочем столе находим значок «Компьютер» или «Этот компьютер»
Если этого значка у вас нет, то мы можем за несколько кликов вывести его на рабочий стол.
Для этого кликаем правой кнопкой мыши на свободной области рабочего стола, в открывшемся меню выбираем пункт персонализация.
В открывшемся окне для виндовс 7 и 8 ищем пункт «Изменение значков рабочего стола»
Для виндовс 10 пункт будет называться «Темы» и уже в правой части открытого окна ищем и жмем на «Параметры значков рабочего стола»
В появившемся окне (для всех Windows оно практически одинаковое) ставим галочку возле надписи компьютер и жмем кнопку «ок». Вот и все, значок мой компьютер на рабочем столе.
2. Наводим курсор мыши на значок компьютера, жмем правую кнопку и в открывшемся меню выбираем «свойства»
В открывшемся окне внимательно изучаем информацию о системе, которая установлена на ваш ПК.
У меня это Windows 10 Pro. Помимо этого есть информация о процессоре, объеме оперативной памяти, о типе системы, а также об активации моей Windows.
И так с виндовс разобрались, теперь переходим разбору остальных систем.
Apple Mac Os X
Mac Os специально выпускается компанией Apple (в переводе с английского — яблоко) с 1984 года для компьютеров Macintosh сокращенно «Mac».
Так как данная ОС устанавливается только на продукцию Apple а эти устройства стоят дорого, среди пользователей большей популярностью пользуется виндовс ведь она может работать на любых компьютерах.
Для того чтобы посмотреть какая версия Mac Os установлена нужно курсор мыши навести в левый верхний угол на кнопку Apple или значок «яблока» и нажать левой кнопкой. В открывшемся меню выбрать пункт «Об этом Mac»
Linux
Отличительной чертой Linux является то, что эта ОС с открытым исходным кодом, который может изменить любой пользователь, в связи с этим сейчас существует много версий этой ОС, каждая из которых имеет свой собственный внешний вид.
Вот три самых популярных версий (дистрибутив) Linux:
- Ubuntu
- Fedora
- Mint
Есть несколько преимуществ Линукс:
- Она бесплатная
- Все программы установлены в одном месте
- Можно забыть про вредоносное ПО, так как вирусы пишут в основном для виндовс.
Если у вас установлен Linux но вы не знаете какой именно дистрибутив используется то следует в консоли ввести следующие команды:
- cat /etc/*release
- cat /etc/*version
- cat /etc/issue
Основные абстракции¶
Процесс — совокупность инструкций и данных, что находятся в оперативной памяти и обрабатываются процессором. Другими словами — исполнение программы в целом (не путать с потоком исполнения).
Примечание
Компьютерная программа сама по себе — лишь пассивная последовательность инструкций. В то время как процесс — непосредственное выполнение этих инструкций.
В рамках ОС, это абстракция, которая предоставляет иллюзию персональной машины. То есть то, что данный исполнимый код полностью владеет всеми вычислительными ресурсами машины.
Состояние (контекст) процесса
- С внешней стороны, процесс можно описать следующим:
-
-
- Состояние
-
- Состояние памяти
- Содержимое регистров процессора
- Адрестное пространство — у каждого процесса своё.
- Состояние исполнения — то, исполняется ли этот процесс на процессоре в данный момент или ожидает чего-либо.
- CPU — величина использовния процессорного времени.
-
Изнутри, процесс можно условно разделена на четыре части: Stack, Heap (кучу), Text (код) и данные (Data).
Рис 7. Сегменты памяти процесса
Состояния исполнения
Когда процесс выполняется, он проходит через разные состояния. Эти этапы могут различаться в разных операционных системах.
Общая картина выглядит так:
Рис 8. Состояния исполнения процесса
Примечание
- Новый: начальное состояние при создании процесса.
- Готов: процесс ожидает исполнения на процессоре. В течение работы процессор может переключаться между процессами, переводя одни в режим готовности, другие – в режим исполнения.
- Исполнение: непосредственное выполнение инструкций на процессоре.
- Ожидает: процесс переходит в состояние ожидания. Например, ждёт ввода данных или получения доступа к файлу.
- Завершен: как только процесс завершится, он перейдёт в это состояние и будет ожидать удаления.
Информация о процессе
Вся информация о процессе содержится в специальной структуре данных, поддерживаемой операционной системой для каждого процесса – PCB (Process Control Block) — Блок управления процессов.
Рис 9. Process Control Block
Примечание
- Process ID: идентификатор каждого из процессов в ОС.
- State: текущее состояние процесса.
- Privileges: разрешения доступа к системным ресурсам.
- Pointer: указатель на родительский процесс.
- Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
- Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
- CPU registers: регистры процессора, необходимые для состояния исполнения.
- Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
- I/O Information: список ресурсов, использующих чтение и запись.
Информацию о процессах в целом, ОС хранит в специальной таблице процессов.
Процесс может делиться на потоки (threads). Они обеспечивают параллелизм, то есть одновременное исполнение нескольких потоков инструкций, на уровне программы.
Поток выполнения (нить, thread) — последовательность исполнения инструкций. Ход исполнения программы**.
Процесс является контейнером ресурсов (адресное пространство, процессорное время и тд), а поток – последовательность инструкций, которые исполняются внутри этого контейнера.
Примечание
Реализация потоков выполнения и процессов в разных операционных системах отличается друг от друга, но в большинстве случаев поток выполнения находится внутри процесса.
Рис 10. Многопоточный процесс
Потоки, существующие в рамках одного процесса, в его адресном пространстве, могут совместно использовать ресурсы процесса, например такие как память или файл. Тогда как процессы не разделяют этих ресурсов, так как каждый существует в своём адресном пространстве.
Также поток называют легковесный процесс.
Сегодня потоки широко применяются в работе серверов и многопроцессорных устройств с общей памятью.
Рассмотрим на примере утилиты htop.
Рис 11. Вывод утилиты мониторинга процессов htop
Примечание
PID — Process ID; Уникальное число идентификатор для каждого процесса
TGID — Tread Group ID; Индентификатор группы потоков
На скриншоте, процесс 2881 имеет множество потоков, отношение которых к нему можно определить по тому, что TGID у этих потоков имеет значение PIDа этого процесса — 2881. Таким образом, один процесс разбивается на множество потоков, в которых инструкции исполняются параллельно.
Что делает операционная система
Операционная система является основным набором программного обеспечения на устройстве, которое поддерживает все вместе. Операционные системы взаимодействуют с оборудованием устройства. Они обрабатывают все с клавиатуры и мыши до Wi-Fi-радио, устройств хранения и отображения. Другими словами, операционная система обрабатывает устройства ввода и вывода. Операционные системы используют драйверы устройств, написанные разработчиками оборудования для связи со своими устройствами.
Операционные системы также включают в себя множество программных продуктов, таких как общие системные службы, библиотеки и интерфейсы прикладного программирования (API), которые разработчики могут использовать для написания программ, работающих в операционной системе.
Операционная система находится между приложениями, которые Вы запускаете, и оборудованием, используя аппаратные драйверы в качестве интерфейса между ними. Например, когда приложение хочет что-то напечатать, оно переносит эту задачу в операционную систему. Операционная система отправляет инструкции на принтер, используя драйверы принтера для отправки правильных сигналов. Приложению, которое печатает, не нужно заботиться о том, какой принтер у Вас есть, или понять, как он работает. ОС обрабатывает детали.
ОС также обрабатывает многозадачность, выделяя аппаратные ресурсы среди нескольких запущенных программ. Операционная система контролирует, какие процессы выполняются, и распределяет их между различными ЦП, если у Вас есть компьютер с несколькими процессорами или ядрами, позволяя нескольким процессам работать параллельно. Он также управляет внутренней памятью системы, выделяя память между запущенными приложениями.
Операционная система — это одна большая часть программного обеспечения, которая отвечает за многое. Например, операционная система также контролирует файлы и другие ресурсы, к которым могут обращаться программы.
Большинство программных приложений написано для операционных систем, что позволяет операционной системе делать много работы. Например, при запуске Minecraft Вы запускаете его в операционной системе. Minecraft не должен точно знать, как работает каждый отдельный аппаратный компонент. Minecraft использует различные функции операционной системы, а операционная система переводит их в низкоуровневые аппаратные инструкции.
Зачем нужна операционная система и везде ли она нужна
Не на всех компьютерах установлена операционная система. Компьютер, который управляет микроволновкой у Вас на кухне, к примеру, не нуждается в операционной системе. У него есть определенный четкий набор функций, незамысловатое устройство ввода (кнопки с цифрами и несколько кнопок, запрограммированных на определенное действие) и простое оборудование, которое он контролирует, причем это оборудование никогда не меняется. Ведь максимум, что Вы делаете с микроволновкой, это открываете-закрываете дверцу, нажимаете кнопки, включаете в сеть. Для такого компьютера операционная система будет ненужным багажом, который только усложнит производство и увеличит цену. Вместо операционной системы в микроволновке постоянно работает одна программка.
Для других устройств операционная система дает возможность: – использоваться для разных целей – взаимодействовать с пользователями более сложным образом (чем с той же микроволновкой, к примеру) – соответствовать потребностям, которые со временем меняются
Во всех настольных компьютерах есть операционная система. Операционная система – это первая вещь, которая устанавливается на компьютер – без операционной системы компьютер бесполезен. Давайте узнаем, какие есть виды операционных систем (рядом будут логотип той или иной ОС, чтобы Вы могли его узнать, если встретится)
Кратко об истории операционных систем
была создана в 1956 году компанией General Motors для единственного компьютера IBM. Остальные владельцы этих компьютеров последовали примеру и начали создавать собственные ОС.
Как можно догадаться, первые ОС сильно отличались друг от друга. Почти на каждом компьютере стояла своя система. Хоть они и облегчали написание программ, использовать такие программы можно было только на одном компьютере.
В 1960-х годах IBM стала первой выпускающей компьютеры компанией, которая взяла на себя процесс написания ОС под свои же компьютеры. Компания начала распространять компьютеры вместе со своей операционной системой.
В эти же годы компании Control Data Corporation, Computer Sciences Corporation, Burroughs Corporation, GE, Digital Equipment Corporation и Xerox тоже начали реализовывать свои ОС.
В конце 60-х была разработана первая версия ОС Unix. Написанная на Си, свободно доступная первые годы, Unix привлекала всё больше внимания и аудитории. Она легко портировалась на новые системы и начала набирать обороты.
Многие современные ОС, включая Apple OS X и все разновидности Linux-систем, являются дальними потомками Unix.
Microsoft Windows, в свою очередь, была написана для ряда персональных компьютеров IBM.
Первая ОС от Microsoft называлась не Windows, а MS-DOS. Эта система была создана в 1981 году, когда систему 86-DOS купили у компании Seattle Computer Products и модифицировали её под требования IBM.
Всем привычное название Windows появилось в 1985, когда MS-DOS обзавелась графическим интерфейсом.
Apple OS X, Microsoft Windows и ряд Linux-систем (включая Android) сейчас контролируют большую часть рынка операционных систем.
Пост-UNIX-архитектуры
Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство — это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно — это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса» Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году.
Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8, на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует — доступ к локальным и к удалённым файлам единообразен. 9P — байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно — к унифицированным файлам, а не поблочно — к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.
Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.
Новые концепции были использованы Робом Пайком в Inferno.
На основе Plan 9 в Испании разрабатываются системы Off++ и Plan B, носящие экспериментальный характер.
К попыткам создать пост-UNIX-архитектуру можно также отнести разработку системы программирования и операционной среды Оберон в Швейцарской высшей технической школе (ETH Zurich) под руководством профессора Никлауса Вирта.
> См. также
- Хронология операционных систем
- Операционное окружение
- Аппаратная платформа компьютера
- Открытая операционная система
> Примечания
- Свежая версия ISO/IEC 9945 принята Международной организацией по стандартизации (ISO) в 2003 году.
Понятие
Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры, содержащиеся во многих бытовых приборах, автомобилях (иногда по десятку в каждом), простейших сотовых телефонах, постоянно исполняют лишь одну программу, запускающуюся по включении. Многие простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске.
Операционные системы нужны, если:
- вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев операционная система отвечает на неё реализацией файловой системы. Современные системы, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции;
- различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, операционные системы предоставляют системные библиотеки часто используемых подпрограмм (функций);
- между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей;
- необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени». При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам);
- оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды — оболочка и наборы утилит — они могут являться частью операционной системы.
Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:
- использующие файловые системы (с универсальным механизмом доступа к данным),
- многопользовательские (с разделением полномочий),
- многозадачные (с разделением времени).
Многозадачность и распределение полномочий требуют определённой иерархии привилегий компонентов самой операционной системе. В составе операционной системы различают три группы компонентов:
- ядро, содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;
- системные библиотеки;
- оболочка с утилитами.
Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.
В определении состава операционной системы значение имеет критерий операциональной целостности (замкнутости): система должна позволять полноценно использовать (включая модификацию) свои компоненты. Поэтому в полный состав операционной системы включают и набор инструментальных средств (от текстовых редакторов до компиляторов, отладчиков и компоновщиков).
Эволюция и основные идеи
Предшественником операционных систем следует считать служебные программы (загрузчики и мониторы), а также библиотеки часто используемых подпрограмм, начавшие разрабатываться с появлением универсальных компьютеров 1-го поколения (конец 1940-х годов). Служебные программы минимизировали физические манипуляции оператора с оборудованием, а библиотеки позволяли избежать многократного программирования одних и тех же действий (осуществления операций ввода-вывода, вычисления математических функций и т. п.).
В 1950—1960-х годах сформировались и были реализованы основные идеи, определяющие функциональность ОС: пакетный режим, разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
Пакетный режим
Необходимость оптимального использования дорогостоящих вычислительных ресурсов привела к появлению концепции «пакетного режима» исполнения программ. Пакетный режим предполагает наличие очереди программ на исполнение, причём система может обеспечивать загрузку программы с внешних носителей данных в оперативную память, не дожидаясь завершения исполнения предыдущей программы, что позволяет избежать простоя процессора.
Разделение времени и многозадачность
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие как массивные вычисления) — в пакетном режиме.
Разделение полномочий
Распространение многопользовательских систем потребовало решения задачи разделения полномочий, позволяющей избежать возможности изменения исполняемой программы или данных одной программы в памяти компьютера другой программой (намеренно или по ошибке), а также изменения самой системы прикладной программой.
Реализация разделения полномочий в операционных системах была поддержана разработчиками процессоров, предложивших архитектуры с двумя режимами работы процессора — «реальным» (в котором исполняемой программе доступно всё адресное пространство компьютера) и «защищённым» (в котором доступность адресного пространства ограничена диапазоном, выделенном при запуске программы на исполнение).
Реальный масштаб времени
Основная статья: Операционная система реального времени
Применение универсальных компьютеров для управления производственными процессами потребовало реализации «реального масштаба времени» («реального времени») — синхронизации исполнения программ с внешними физическими процессами.
Включение функции реального масштаба времени позволило создавать решения, одновременно обслуживающие производственные процессы и решающие другие задачи (в пакетном режиме и/или в режиме разделения времени).
Файловые системы и структуры
Постепенная замена носителей с последовательным доступом (перфолент, перфокарт и магнитных лент) накопителями произвольного доступа (на магнитных дисках).
Файловая система — способ хранения данных на внешних запоминающих устройствах.
> Существующие операционные системы Основная статья: Список операционных систем