История UNIX и UNIX-подобных ОС #

Васильев Андрей Михайлович, 2024

Версии презентации

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

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

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

diagram

Процесс #

Понятие процесса характеризует некоторую совокупность

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

, находящуюся под управлением операционной системы

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

Конкретные элементы, которые входят в понятие процесса, будут зависеть:

  • от устройства самого ядра ОС, предоставляемых им функций
  • от особенностей оборудования, которое выполняет процесс

Ядро ОС и служебные программы #

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

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

Приложение — это исполняемый код, который можно выполнить на процессоре и который использует системные вызовы ОС для доступа к ресурсам

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

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

Краткая история UNIX #

Актуальная версия истории UNIX-подобных ОС расположена на Википедии

  • 1969 - первоначальные исследования на основе Multics
  • 1970-e
    • переход на язык Си для написания ОС, адаптация под разные физические платформы
    • распространение в академической среде, UNIX - пример разработки ОС
  • 1980-е
    • создание множества UNIX-подобных ОС, лицензирование для других производителей
    • UNIX рассматривается как универсальная целевая ОС, первые попытки стандартизации
    • 1983 - антимонопольный комитет США позволяет закрыть свободный обмен исходными кодами UNIX между пользователями. Создание проекта GNU (GNU is not UNIX)
    • Microsoft выпускает UNIX-подобную ОС Xenix
    • Таненбаум развивает Minix, учебную UNIX-подобную ОС

Краткая история UNIX, продолжение #

  • 1990-e
    • Решение вопросов по стандартизации проприетарных версий UNIX
    • Замена оригинального исходного кода в проекте BSD на свободный
    • Завершение разработки оригинального BDS-проекта, создание коммерческих выпусков на основе BSD-кода
    • Линус выпускает ядро ОС для проекта GNU
  • 2000-e
    • Novell / SCO ведут патентные войны против различных производителей UNIX
    • Активное развитие FreeBSD, NetBSD, OpenBSD
    • Выпуск кодовой базы OpenSolaris и развитие проектов
    • Запуск Mac OS X, основанной на BSD-ядре Mach

Состояние UNIX-подобных ОС в наше время #

  • GNU/Linux и его дистрибутивы
    • Является крупнейшей ОС на серверном рынке
    • Существует множество коммерческих предложений (Red Hat, Suse, Oracle)
    • top500 суперкомпьютеров работают исключительно под данной ОС
    • Большинство Российских ОС являются дистрибутивами GNU/Linux или UNIX-подобными системами
  • Android
    • Основана на ядре GNU/Linux
    • Пользовательское окружение реализовано на собственных технологиях
  • iOS, macOS
    • Основаны на ядре Darwin, соответствующему BSD UNIX
    • Пользовательское окружение реализовано на собственных технологиях
  • Windows с 10-й предлагает WSL (Windows Subsystem for Linux) для удобного запуска Linux-окружения внутри Windows
  • Minix является частью любого современного процессора Intel

Свободные лицензии #

  • Свободное ПО делает сложные технологии доступными широкому кругу лиц и компаний
  • Компании могут обмениваться результатами сложных исследовательских проектов через код на свободных лицензиях
  • Свободная лицензия не гарантирует бесплатность ПО: Free as in free speech, not as in Free beer
  • Компетентные специалисты способны широко использовать исходный код, распространяемый на условиях свободных лицензий, как учёные способны использовать результаты из чужих научных статей

Цели изучения курса #

  • Научиться использовать классический и мощный командный интерфейс
  • Познакомиться с основными концепциями современных ОС
  • Разобраться в особенностях функционирования типичного дистрибутива GNU/Linux
  • Научиться устанавливать приложения
  • Научиться настраивать работу служб

Выбор дистрибутива для курса #

  • Существует более 600 активно поддерживаемых дистрибутивов Linux по всему миру
  • Существует минимум 6 активно развивающихся Российских марок дистрибутивов: Альт, Astra, Calculate, ОСнова, РОСА, РэдОС
  • Полностью самодостаточными являются решения Альт и РОСА, остальные в качестве основы используют наработки больших международных проектов Debian, RHEL и Gentoo
  • Каждый из них предоставляет решения для бесплатного коммерческого использования: Simply Linux от Альт и Rosa Fresh
  • Платные версии дистрибутивов Альт и РОСА входят в реестр ПО и помимо поддержки предоставляют расширенные конфигурации ОС для решения задач
  • Будем рассматривать Simply Linux