Операционные системы — что это такое, виды ОС и какую выбрать

Разбираемся, как работают операционные системы

Linux, Windows, Mac OS? Зачем они нужны? Понимание того, как работают операционные системы, поможет создавать качественные приложения.

Есть несколько причин, почему программистам стоит знать, как работают операционные системы. Одна из них – чтобы понимать, как работают программы. Представьте: вы пишете код, который кажется рабочим, но программа тормозит. Что делать? Можно попробовать разобраться с ограничениями операционной системы, но вы ведь не умеете!

Если стремитесь построить карьеру программиста, стоит понять, как работают операционные системы. Например, можно изучить курс «Введение в операционные системы» от Georgia Tech. В нем рассказывается, как работают ОС: механизмы работы, параллельное программирование (потоки и синхронизация), взаимодействие между процессами, распределённые ОС.

Осветим 10 наиболее важных принципов, о которых говорилось в курсе Udacity, и разберемся, как же работают операционные системы.

Операционная система — это самая главная программа на ПК

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

В компьютере, ноутбуке, планшете, телефоне обязательно есть операционная система.

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

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

  1. управляет свободными ресурсами оперативной памяти, жестких дисков или карт памяти;
  2. руководит загрузкой процессора;
  3. распределяет потоки процессов для создания многозадачности (одновременное открытие нескольких программ);
  4. устанавливает, обновляет и удаляет (при помощи пользователя или автоматически) программы и приложения.

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

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

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

Сюда же относятся самые популярные — Microsoft Windows, Linux, MacOS. У всех есть достоинства и недостатки. Рассмотрим каждую из них более подробно.

Состав

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

  6. Справочной системы – встроенная (офлайн) справка с описанием функций операционной системы, её модулей, решения проблем.

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

Положение ОС в многоуровневой иерархии организации компьютера¶

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

Рис. 2. Основные уровни устройства ПК

Рис. 2. Основные уровни устройства ПК

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

В целом, общей схемой это можно отобразить так:

Рис. 3. Место ОС в компьютерной системе

Рис. 3. Место ОС в компьютерной системе

  • App — пользователь ресурсов;
  • Hardware — оборудование;
  • Proc — Процессор;
  • Memory — Оперативная память;
  • I/O — Устройства ввода/вывода;

Интерфейс — набор правил и средств взаимодействия двух систем. Иными словами способ взаимодействия.

Kernel space — адресное пространство ядра ОС, в котором процессы имеют привилегированный доступ к ресурсам компьютера и другим процессам.

User space — адресное пространство, отведённое для пользовательских процессов (приложений), то есть не имеющих привилегированный доступ к ресурсам.

Mac OS – это ОС, созданная для профессионалов

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

Mac OS – это закрытая ОС на основе Unix-подобных систем (похожа на Linux), разница заключается в том, что исходный программный код закрыт, и она является платной операционной системой.

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

Операционка

Есть и существенный минус — практически полное отсутствие игр для этой операционки. Компьютеры фирмы apple – это платформы, сделанные и созданные не для дома, а для работы.

Список для классификации операционных систем

  • Windows 10
  • Windows 7
  • Windows XP Professional
  • Ubuntu
  • Macintosh OSX
  • Microsoft Vista
  • Fedora
  • Mac OS X Leopard
  • Microsoft Windows 1.0
  • Xandros Linux
  • Microsoft Windows 3.1
  • Unix
  • Linux

Майкрософт Виндовс

Microsoft Windows это серия программных операционных систем, основанных на графических пользовательских интерфейсах, разработанных Microsoft.

Различные версии Windows: Windows 1.0/2.0/3.0/95/98/XP/Vesta/7/10.

Mac OS

Mac OS это операционная система, разработанная Apple Computer Inc. Macintosh пользуется популярностью, потому что графический пользовательский интерфейс, был неотъемлемой частью системного программного обеспечения, впервые представленного в 1984 году.

Mac OS можно разделить на два семейства:

  • Mac OS Classic.
  • Mac OS X.

Он был разработан в 1969 году группой сотрудников AT&T Bell Labs. UNIX была разработана на ассемблере, но 1973 год был почти полностью переписан на C, что облегчило их разработку и переход на другое оборудование. Эта операционная система используется на мэйнфреймах и рабочих станциях корпоративных установок.

Linux

Linux берет свое начало от UNIX. Он был разработан в шестидесятых годах сотрудниками из AT&T Bell Labs.

Linux можно установить на любой компьютер, независимо от оборудования. Эта операционная система является ведущей серверной операционной системой и может работать с 10 самыми быстрыми суперкомпьютерами в мире. Самое лучшее в этой системе — это невозможность заражения вирусами и полная бесплатность.

Мобильные операционные системы

Управление памятью

Рассмотрим управление памятью в операционных системах подробнее.

Виртуальное адресное пространство процесса

  • Символьные имена — идентификаторы переменных и команд в программе, присваиваемые программистом.
  • Виртуальные адреса — условные адреса, присваиваемые транслятором.
  • Физические адреса — номера ячеек оперативной памяти, в которых находятся переменные и команды.
  1. Метки операторов заменяют для программиста адреса, по которым команды находятся в памяти.
  2. Имена переменных заменяют адреса, по которым данные находятся в памяти.
  3. Имя программы заменяет адрес, по которому первая команда программы находится в памяти.

Физическая память

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

Количество ячеек физической памяти ограничено и фиксировано.

Виртуальное адресное пространство

Совокупностью виртуальных адресов процесса называют виртуальным адресным пространством.

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

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

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

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

Размер назначенного адресного пространства может меняться во время выполнения процесса.

Отображение виртуального адресного пространства на физическую память

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

Память бывает разделяемая и неразделяемая.

Разделяемая память это память, которая видна более чем одному процессу или память, которая присутствует в виртуальном адресном пространстве более чем одного процесса.

Неразделяемая память это закрытая область для хранения собственных данных процесса.

На рисунке выше разделимый участок оперативной памяти отмечен серым цветом.

Для каждого процесса виртуальное адресное пространство делиться на две части:

  1. Системная часть – одинакова для всех процессов и содержит ядро операционной системы и разделяемые различными объектами процессы.
  2. Пользовательская часть – индивидуальна для каждого процесса и содержит коды и данные прикладной программы.

Системная часть разделяется на вытесняемую и не вытесняемую.

По сути: если памяти не хватает, то вытесняемая память переходит из оперативной памяти на жесткий диск. Как я писал ранее это очень любимая тема Windows 10.

Подведем итог. В операционной система подсистема управления памятью решает следующие задачи:

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

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

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

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

os1.jpg

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

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

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

Командный процессор (интерпретатор)

В чем разница между прошивкой и ОС

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

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

Граница между прошивкой и операционной системой также может быть немного размытой. Например, операционную систему для iPhone и iPads от Apple, называемую iOS, часто называют «прошивкой». Операционная система PlayStation 4 официально называется прошивкой.

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

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

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector