ОП.05 · новая дисциплина
Операционные системы
и среды
Практический курс о том, как установить, настроить и обслуживать операционную систему в безопасной виртуальной среде. Начинаем с Ubuntu Desktop в VirtualBox.
РАБОЧИЙ РЕПОЗИТОРИЙ · ШАБЛОН НА ВСЮ ДИСЦИПЛИНУos-environments-template
Репозиторий-шаблон GitHub: кнопка Use this template создаёт личную копию с чистой историей. В папке каждого занятия — ссылки на лекцию и практику и бланк домашней работы; снимки экрана кладутся в screens/, сдача — веткой и Pull Request.
Установка Ubuntu в VirtualBox
Полный маршрут: правильный пакет VirtualBox и ISO-образ, установка на Windows и macOS, создание виртуальной машины, настройка ресурсов и диска, запуск установщика Ubuntu, обновления, снимок состояния и разбор ошибок.
История, назначение и виды операционных систем
Что делает ОС и что пришлось бы писать без неё, граница режимов процессора и путь системного вызова, хроника от ENIAC до Android с ценой каждого решения, шесть функций ядра с живой демонстрацией планировщика и шесть признаков классификации.
Файловая система Linux
Дерево каталогов и пути, стандарт FHS, размещение программ и данных, файлы устройств, /proc и /sys, inode и ссылки, файловые системы и монтирование. Каждая часть — объяснение, команды в терминале и снимки экрана Ubuntu.
Практика: FHS — разложить сервер по местам
Сорок заданий по лекции на службе college-notify: разложить её файлы по дереву каталогов, перенести файлы с сервера плохого разработчика, убрать лишнее в корзину, собрать путь в адресной строке, нажать каталоги на дереве, освободить место в /var, прочитать вывод findmnt, PATH и /proc настоящей Ubuntu. После отправки — верные ответы и разбор каждого задания.
Проверка кодов практики — служебная страница преподавателя: пересчитать баллы, сверить контрольную сумму и уходы со вкладки
ЗАНЯТИЕ 4 · ПРАКТИЧЕСКОЕ ЗАНЯТИЕФайлы, маски, поиск и справка
Создание, копирование, перемещение и безопасное удаление файлов, маски имён и то, как их раскрывает оболочка, поиск find и locate, which и type, справка man, --help и help. Практическая работа № 3 — квест по разбору каталога inbox со скриптом проверки и журналом команд.
Пользователи, группы и sudo
Учётные записи и номера UID и GID, файлы /etc/passwd, /etc/shadow и /etc/group, root и sudo, журнал sudo, создание пользователей и групп для команды разработки, общий каталог с setgid и проверка доступа от имени каждого участника. Практическая работа — модель доступа команды mobile-app.
Практика: файлы, поиск и права доступа
Сорок заданий по двум лекциям. На учебном наборе inbox: отправить в корзину файлы, которые удалит маска или find, найти файлы на дереве, отличить ссылку от копии, выбрать команду справки. На команде devteam и практике mobile-app: подписать поля /etc/passwd и /etc/shadow, разобрать правило sudoers и права 2770, разложить действия пользователей на «разрешено» и «Permission denied». После отправки — верные ответы и разбор каждого задания.
Проверка кодов практики — служебная страница преподавателя: пересчитать баллы, сверить контрольную сумму и уходы со вкладки
ЗАНЯТИЕ 6 · ПРАКТИЧЕСКОЕ ЗАНЯТИЕПрава доступа, владельцы и umask
Что разрешают r, w и x файлу и каталогу, chmod буквами и числами, chown и chgrp, права новых файлов и umask, специальные биты setuid, setgid и sticky, списки доступа ACL. Практическая работа — каталог проекта shop для команды из трёх человек со скриптом проверки.
Процессы: PID, состояния и сигналы
Программа и процесс, PID и PPID, дерево процессов, состояния R, S, D, T и Z, фон и передний план, сигналы TERM, KILL, STOP и CONT, коды завершения и зомби. Практическая работа — набор процессов диспетчера, которые нужно завершить подходящими сигналами.
Диагностика процессов и управление ресурсами
Средняя нагрузка и число ядер, мониторы top и htop, поиск процесса, который занял процессор или память, приоритет nice и renice, измерение командой time, порядок действий при зависании и postmortem. Практическая работа № 5 — инцидент на учебном сервере: найти причину, вернуть сайту скорость и написать postmortem.
Эксплуатация Linux-сервера: три технических задания
Выкладка сервиса заявок с учётными записями, sudo и правами по матрице доступа; ночной инцидент на сервере платежей — заполненный раздел журналов, зависшая сверка, отладочный журнал; закрытие доступа уволенного администратора с аудитом файлов и setuid. Стенд разворачивает копию сервера в виртуальной машине, скрипт приёмки проверяет результат.