Темы к экзамену по курсу «Программное обеспечение Linux»

Замечание для сдающих экзамен: это не развёрнутые планы самих тем, а только их формулировки (в первых строках) и некоторые частные вопросы, которые стоит поднять. Иногда — просто список некоторых наиболее интересных подтем. Нередко чтобы объяснить эти частные вопросы и подтемы, надо сначала объяснить более очевидные вещи.

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

  1. Что такое «дистрибутив GNU/Linux»?
    • Что означают все эти три слова по отдельности?
  2. Сходства и различия дистрибутивов на базе GNU/Linux
    • Откуда берутся те и другие и чем полезны/вредны?
  3. Особенности нематериального производства.
    • Сущность, польза и вред «безущербного копирования».
  4. Открытая (академическая) и закрытая разработка.
    • Цель разработки и вытекающие из неё требования к процессу: информационное пространство, состав разработчиков, отношение к ©.
  5. Свободное лицензирование.
    • 4 свободы им. тов. Столлмана. Копилефт. Множественное лицензирование.
  6. Терминал.
    • Откуда взялся и зачем нужен (в т. ч. зачем нужен в данном курсе).
  7. Командная строка.
    • Принципы организации, достоинства и недостатки.
  8. Файловая система.

    • FHS. Устройства и другие спецфайлы. Принцип «всё — файл».
  9. Процессы и управление ими.
    • Что происходит при нажатии Ctrl+C?
  10. Права доступа.
    • Доступ — это чего к чему доступ? Использование SETUID.
  11. Попытка стандартов прикладного уровня в распространённом ПО для Linux.
    • Udev, DBus, PolicyKit etc.

  12. Пакеты.
    • Архив, регистрация, сопутствующие сценарии, триггеры. Зависимости и конфликты.
  13. Установщик и диспетчер пакетов.
    • Что выполняет их роль в source-based дистрибутиве?
  14. Изолированное (a-lá MacOS X) и «самодостаточное» (a-lá Windows) пакетирование
    • Достоинства и недостатки.
  15. ПО не из пакетной базы.
    • Недостатки сторонних пактов, бинарной установки и ручной сборки. Запуск программ для других ОС.
  16. Хранилище пакетов и глобальное пакетирование.
    • Достоинства, недостатки глобального пакетирования. Почему оно вообще возможно? Роль хранилища как среды сборки, проверки и хранения.
  17. Сборка ПО.
    • Этапы сборки ПО из исходника. Понятие «upstream».
  18. Обязанности сопровождающего пакет (maintainer). Сборка пакета.
    • Этапы сборки пакета. Помещение пакета в хранилище. При каких условиях сопровождать пакет самому проще, чем не сопровождать?
  19. Свободное сообщество.
    • Принципы формирования свободного сообщества. Сообщество вокруг свободного программного продукта: ядро → разработчики → пользователи. Требования ко всем группам.
  20. ЖЦ дистрибутива
    • Хранилище → ветка → дистрибутив
  21. Информационные ресурсы сообщества.
    • Документация в дистрибутиве → специализированные сайты → Google. Списки рассылки и форумы, правила поведения в них.
  22. Установка дистрибутива на ПК.
    • Этапы установки.
  23. Разметка диска.
    • Что нужно для установки Linux второй системой?
  24. Досистемная загрузка.
    • BIOS → Первичный загрузчик → Вторичный загрузчик → Ядро ОС → ОС. Роль стартового виртуального диска в «реальной» последовательности загрузки.
  25. Современные дистрибутивы GNU/Linux.
    • Базовые, производные и модифицированные дистрибутивы. Критерии выбора дистрибутива.

LecturesCMC/GnuLinuxSoftware2011/Exam (последним исправлял пользователь FrBrGeorge 2011-12-21 11:00:35)