unix.linux
.pdfТекстовый ввод-вывод
●Машинное слово — 8 бит
●Использование текста для представления всего, что только можно
Программа выполняет одну функцию
●Каждая программа отвечает за одну функцию, однако выполняет её правильно и оптимально
●Позволяет строить конвейеры обработки данных произвольной длины и сложности
Повторное использование
●В системе присутствует только одна копия библиотеки, необходимой нескольким программам
●Позволяет централизованно закрывать уязвимости в библиотеке
●Порождает зависимости
Модель процессов
●Каждая программа выполняется в отдельном процессе
●Для запуска других программ используется клонирование процесса (fork()) и замена кода клонированного процесса
●Все процессы выстроены в дерево клонирования, корень дерева — процесс init с PID=1
●Все процессы, кроме init, равны между собой
Сигналы
●Можно отправить выполняющейся программе сигнал — информационное сообщение с определённым кодом
●Набор сообщений фиксирован и одинаков для всех программ
●Алгоритм обработки сигнала задаётся программистом
●Некоторые сигналы не могут игнорироваться
Дистрибутивы
Что такое дистрибутив
●Способ распространения программного обеспечения
●Набор пакетов программного обеспечения, включающий базовые компоненты операционной системы (в том числе ядро), некоторую совокупность прикладного и системного ПО (в том числе пакетный менеджер) и программу установки
Что такое пакетный менеджер
●Пакетный менеджер управляет установкой, обновлением и удалением ПО
●Пакет включает всё необходимое для правильной работы программы (init-скрипт, пример настройки, специфичные для дистрибутива патчи, …)
●Пакеты хранятся в безопасном репозитории разработчика дистрибутива
●Пакетный менеджер отслеживает и может разрешать зависимости
Популярные пакетные менеджеры
●pkgtool
●RPM
●apt
●pacman
Классификация дистрибутивов
●По типу пакетов:
●Source-based — пакеты представляют собой сценарии сборки ПО из исходных текстов
●Binary — пакеты представляют собой скомпилированные программы
●По системе загрузки:
●BSD init
●System V init
●По модели разработки
●Ветви (branch)
●Rolling-release