Различия между версиями 2 и 4 (по 2 версиям)
Версия 2 от 2016-10-16 20:14:23
Размер: 5420
Редактор: FrBrGeorge
Комментарий:
Версия 4 от 2016-10-16 20:56:06
Размер: 6995
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 24: Строка 24:
Дополнение 3: составной продукт (например, дистрибутив), образованный как ''сборник'' без модификации компонентов, ''не обязан'' иметь свободную лицензию, если все его компоненты всё-таки ''распространяются'' по свободной лицензии
Строка 59: Строка 59:
'''Дистрибутив''': комплект ПО для развёртывания и сопровождения программного продукта, решающего определённый широкий класс задач

Дистрибутив ОС?

'''ОС''': программный комплекс для
 * Унификации
 * Разделения
 * Учёта
ресурсов ЭВМ

Ресурсы:
 * Машинное время
 * Оперативная память
 * Внешние устройства

Итак, архитектура
 * Supervisor mode
  * Ядро: базовые функции
   * Модули (загружаемые компоненты ядра)
  * Ядро предоставляет ''программный интерфейс'' (обозначим « → {1} » использования программного интерфейса) — т. н. «системные вызовы»
 * User mode (знаком « :-? → » отмечен ''командный интерфейс'')
  * :-? → Утилиты → {1}
  * {1} → Библиотеки → {1}
   *

Струкура ОС (+повторение)

(повторение) Свободное лицензирование

  1. Право использования
  2. Право изучения и изменения
  3. Право распространения
  4. Право распространения изменённых версий

Так выглядит «разрешительная» лицензия.

Для защиты от злоупотреблений (превращения свободного кода в несвободный) ∃ дополнительный пункт

  1. (Копилефт) При распространении производная лицензия должна включать все 5 пунктов

Например, GNU Pulilc License.

Дополнение 1: лицензирование библиотек для того, чтобы с ними можно было собирать несвободные программы.

  • Строго говоря, GPL не подходит, хотя изменения в исходный текст библиотек не вносятся. Дело в h-файлах (для Си, например): формально исходный текст библиотеки использовался для сборки (в случае C++ даже код какой-то сгенерировался)

  • Лицензия LGPL разрешает такое использование
    • Результат: проприетарные программы не на ЧЗЧ, а на Qt

Дополнение 2: лицензирование исходного кода веб-сервисов и вообще всего, что не распространяется

  • Строго говоря, GPL не предписывает распространять модифицированные программы и их код, разрешая модифицировать и запускать. Поэтому исходный код всяких одноразовых веб-сервисов, от Google до мелких стартапов, недоступен

  • Лицензия AGPL предписывает раскрывать исходный код общедоступных сервисов
    • Это полезно также для аудита кода

Дополнение 3: составной продукт (например, дистрибутив), образованный как сборник без модификации компонентов, не обязан иметь свободную лицензию, если все его компоненты всё-таки распространяются по свободной лицензии

(повторение) Свободное сообщество

  1. Ядро (костяк) — ответстенность
  2. Разработчики (актив) *10 — грамотность
  3. Пользователи (аура) *100+ — активность

Основания:

  1. Информационная связность
    • в т. ч. использование технических средств
  2. Произвольность мотивации
    • в т. ч. свобода входа-выхода
  3. Динамическая иерархия
  4. Предоставление технологических преимуществ членам сообщества

«Сетевая мораль» свободного сообщества:

  • Никто никому ничего не должен
    • ⇒ Каждый сам принимает на себя посильную личную ответственность
    • Свобода входа-выхода
  • Общее дело
  • Цель дела — каждый из сообщества, т. е. «все люди», начиная с тебя самого
    • Т. е. примерно так: «надо, чтобы было хорошо сообществу, а это значит, что как минимум в тех областях, в которых я ответственен, хорошо мне»;
    • (Например, сопровождающий пакет сам этим пакетом пользуется)

Обратная сторона: мы не судим человека на основании того, что он делает вне сообщества

Ср. Иммануил Кант и его категорический императив (т. е. «безусловный моральный закон», хорошая статья, кстати). Этот закон имеет две формулировки

  1. Предписывающая («Основы метафизики нравственности», 1785):
    • Поступай только согласно такой максиме, руководствуясь которой ты в то же время можешь пожелать, чтобы она стала всеобщим законом
  2. Фильтрующая («Критика практического разума», 1788):
    • Поступай так, чтобы ты всегда относился к человечеству и в своем лице, и в лице всякого другого также как к цели и никогда не относился бы к нему только как к средству

Заметим, как эти непохожие формулировки сходятся в сетевой морали.

Архитектура ОС

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

Дистрибутив ОС?

ОС: программный комплекс для

  • Унификации
  • Разделения
  • Учёта

ресурсов ЭВМ

Ресурсы:

  • Машинное время
  • Оперативная память
  • Внешние устройства

Итак, архитектура

  • Supervisor mode
    • Ядро: базовые функции
      • Модули (загружаемые компоненты ядра)
    • Ядро предоставляет программный интерфейс (обозначим « → {1} » использования программного интерфейса) — т. н. «системные вызовы»

  • User mode (знаком « :-? → » отмечен командный интерфейс)

    • :-? → Утилиты → {1}

    • {1} → Библиотеки → {1}

TODO

LecturesCMC/Distro2016/02_OSArchitecture (последним исправлял пользователь FrBrGeorge 2016-10-16 22:32:04)