История UNIX и UNIX-подобных ОС
#
Васильев Андрей Михайлович, 2024
Версии презентации
Что такое операционная система
#
Ядро операционной системы — это программа, обеспечивающая рациональное
использования оборудования компьютера удобным для пользователя образом
- Ядро ОС является менеджером физических ресурсов
- Ядро ОС предлагает единый программный интерфейс для приложений
- Процессы общаются с ядром ОС с помощью системных вызовов
Процесс
#
Понятие процесса характеризует некоторую совокупность
- набора исполняющихся команд
- ассоциированных с ним ресурсов
- выделенная для исполнения память или адресное пространство, стеки
- используемые файлы и устройства ввода-вывода и т. д.
- текущего момента его выполнения
- значения регистров, программного счетчика
- состояние стека и значения переменных
, находящуюся под управлением операционной системы
Процесс является вторым центральным элементом ОС, для их множества ядро ОС
обеспечивает конкурентный доступ к общим вычислительным ресурсам
Конкретные элементы, которые входят в понятие процесса, будут зависеть:
- от устройства самого ядра ОС, предоставляемых им функций
- от особенностей оборудования, которое выполняет процесс
Ядро ОС и служебные программы
#
Помимо ярда ОС, решающего ключевые задачи обеспечения работы вычислительной
системы, ОС также включает ряд служебных приложений и процессов:
- Предоставляющих средства запуска процессов (служб)
- Предоставляющих средства общения между процессами
- Обеспечивающих доступ к специальному оборудованию: видеокарта, принтер и т.д.
Приложение — это исполняемый код, который можно выполнить на процессоре и
который использует системные вызовы ОС для доступа к ресурсам
- Приложения зависят от бинарной архитектуры процессора
- Приложения зависят от системных вызовов ядра ОС
- Приложения зависят от других приложений, служб, предоставляемых ОС
Перенос приложений в бинарной форме между разными ОС без дополнительных действий
невозможен, но возможно создание разных бинарных файлов из одного набора
исходных кодов
Краткая история 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