Тема 1. Дистрибутивы Unix и Linux. Установка Linux/FreeBSD. Операционные системы семейства Unix Linux. (История Unix. История Linux. Существующие дистрибутивы Unix и Linux. Дистрибутивы Unix/Linux, распространённые в России. Строение и состав дистрибутивов Unix/Linux)
Тема 2. Процесс загрузки ОС. Структура Unix/Linux. Документация в Unix. Установка Lmux/FreeBSD на ПЭВМ (Загрузчики lilo, grub. Процесс загрузки ОС схема SystemV, схема BSD. Стартовые скрипты rc. Скрипты каталога init.d, уровневые каталоги rc.N. Структура каталога «/». Дерево каталогов. Стандарт FHS. Назначение и содержание подкаталогов «/». Домашние каталоги пользователей)
Тема 3. Документация в Unix Linux. (Man, info, xman, handbook, документация в Internet)
Тема 4. Файловые системы. (Устройство винчестеров. Partition Table и MBR. Загрузчики Linux FreeBSD. Программа fdisk. Таблица разделов FreeBSD. Файловые системы на винчестерах и других устройствах хранения информации. Файловые системы ext3, ufs, ntfs. Структура файловой системы. Superblock и индексные таблицы, каталоги. Взаимосвязь индексной таблицы и каталогов. Команды и программы: fdisk, mkfs, fsck, mount, dd.)
Тема 5. Процессы, подпроцессы и потоки. (Создание процессов. Контекст процесса и РСВ. Жизненный цикл процесса. Функция fork(). Создание потоков. Управление потоками. Функция pthread().)
Тема 6. Управление процессами. (Диспетчер. Квантование времени. Планирование процессов: долгосрочное, среднесрочное, краткосрочное. Критерии планирования: справедливость, эффективность, время выполнения, время ожидания, время отклика. Режимы планирования процессами: невытесняющие, вытесняющие. Алгоритмы управления: fifo, «карусель», планирование с многоприоритетными очередями, гарантированный с динамическими приоритетами.)
Тема 7. Взаимодействие процессов (Методы: сигнальные, канальные, разделяемая память. Адресация взаимодействия: прямая, косвенная. Валентность. Буферизация в каналах связи. Надёжность взаимодействия: как и кто обеспечивает. Взаимодействие с установлением соединения и без. Синхронизация взаимодействия. Тупики. Средства и методы взаимодействия: pipe, FIFO, shared memory, socket, семафоры, сигналы).
Тема 8. Управление памятью. Страницы и сегменты. Виртуальная память. Свопинг.
Тема 9. Основные команды Unix. Консоль, терминал и командная строка. Часто используемые команды: Is, ps, pwd, mkdir, touch, rm, tail, cat, date, echo, df, du, mount и др.
Тема 10. Основные конфигурационные файлы Linux/FreeBSD. (Каталог /etc и его содержание. Каталог init.d. Конфигурационные файлы гс.* и уровневые каталоги rc.N. Файлы /etc/motd и /etc/issue - отображение информации о системе при входе в систему, /etc/fstab описание порядка монтирования устройств, /etc/exports - расшаривание устройств для NFS. /etc/crontab - управление запуском программ по времени (вариант - при включении системы). И др.)
Тема 11. Конфигурирование и перегенерация ядра Linux/FreeBSD. Исходные тексты ядра. Понятие patch.
Тема 12. Сетевая подсистема. Сеть. Стек протоколов и определение локальной сети. Разрешение имён и адресов (resolver). Сетевые сервисы. (Схема запуска сервиса посредством стартовых скриптов init.d. Схема запуска сервисов посредством суперсервера xinetd. Широкораспространённые сетевые сервисы и их запуск: telnet, ssh, ftp, dns, web, nfs, mail, ntp, nntp и др. Сетевое взаимодействие в гетерогенных сетях).
Тема 13. Задачи администратора (Останов системы и перезагрузка. Настройка сетевых интерфейсов. Установка дополнительных пакетов. Sysinstall, synaptic, apt- get - автоматическая установка из тарболлов. Ports - установка из исходников. Удаление программ из системы Обновления и их установка. Репозитарии ПО. Восстановление пароля root. Fsck - исправление файловой системы. Kernel -s - вход в однопользовательский режим. Управление процессами: ps, top, nice, kill. Управление пользователями: добавление пользователя, удаление пользователя, назначение и изменение пароля. Управление группами пользователей, добавление прав пользователям посредством включения в группы. Поддержка русского языка: русификация консоли, русификация X. Настройка системы дотирования: syslog.conf, newsyslog.conf. Управление доступом в систему: ttys - управление псевдотерминалами; passwd - назначение shell'a пользователю; hosts.allow, hosts.deny - определение host'OB, с которых можно; login.access - определение доступа к службам; login.conf - определение умолчаний среды, ресурсных ограничений. Запуск служб: inetd.conf, xinetd)
Тема 14. Протокол X. (Сервер X. Оконные менеджеры. Сервер X. Библиотеки xlib, qt. Удалённый доступ к host'y по протоколу X.)
Тема 15. Программирование в Linux/FreeBSD. Межпроцессное взаимодействие. Сокеты. (Разработка сетевых приложений в Linux. Процессы, подпроцессы и потоки. Функция fork(). Функция pthread(). Неименованный и именованный pipe. Socket. Использование socket для разработки сетевых клиент-серверных приложений.)