Операционные системы и оболочки
2026-2027 учебный год
Источники
-
metanit.com
Полное руководство по C# 14 и .NET 10
-
youtube.com
Youtube-канал Тимофей Хирьянов, 2020 Практика программирования на Python 3. 15 видео.
Литература
Основная
-
icdlib.nspu.ru
Вяткин, А. И. Операционные системы, среды и оболочки : учебное пособие / А. И. Вяткин ; Тюменский гос. ун-т, Ин-т дополнительного проф. образования. — Тюмень : ТюмГУ, 2011. — 272 с.
-
iprbookshop.ru
Гостев, И. М. Операционные системы : учебник и практикум для вузов / И. М. Гостев. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2025. — 164 с.
-
iprbookshop.ru
Кондратьев, В. К. Операционные системы и оболочки : учебное пособие / В. К. Кондратьев, О. С. Головина. — Москва : Евразийский открытый институт, Московский государственный университет экономики, статистики и информатики, 2007. — 172 с.
Дополнительная
-
iprbookshop.ru
Гриценко, Ю. Б. Операционные среды, системы и оболочки : учебное пособие / Ю. Б. Гриценко. — Томск : Томский государственный университет систем управления и радиоэлектроники, 2005. — 281 с.
-
iprbookshop.ru
Кондратьев, В. К. Введение в операционные системы : учебное пособие / В. К. Кондратьев. — Москва : Евразийский открытый институт, Московский государственный университет экономики, статистики и информатики, 2007. — 232 с.
-
iprbookshop.ru
Курячий, Г. В. Операционная система UNIX : учебное пособие / Г. В. Курячий. — 5-е изд. — Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2026. — 258 с.
4. Операционные системы : учебное пособие / составители Н. В. Тутова. — Москва : Московский технический университет связи и информатики, 2011. — 40 c. — Текст : электронный // Цифровой образовательный ресурс IPR SMART : [сайт]. — URL: https://www.iprbookshop.ru/63343.html (дата обращения: 31.03.2025).
5. Филиппов, М. В. Операционные системы : учебно-методическое пособие / М. В. Филиппов, Д. В. Завьялов. — Волгоград : Волгоградский институт бизнеса, 2014. — 163 c. — Текст : электронный // Цифровой образовательный ресурс IPR SMART : [сайт]. — URL: https://www.iprbookshop.ru/56020.html (дата обращения: 31.03.2025). — Режим доступа: для авторизир. пользователей
СЕМЕСТР 3
Лекция 1.
Тема. Общие сведения об операционных системах. Функции и структура операционной системы.
Краткая аннотация к лекции.
Определение операционной системы. Эволюция (история развития) операционных систем. Классификация ОС. Требования, предъявляемые к ОС. Понятие процесса. Состояния процессов. Причины создания и завершения процессов. Описание процессов (таблицы процессов, памяти, файлов, вода/вывода). Описание процессов (образ процесса, элементы управляющего блока). Операционные системы мэйнфреймов. Серверные операционные системы. Многопроцессорные операционные системы. Операционные системы для персональных компьютеров. Операционные системы реального времени. Встроенные операционные системы. Операционные системы для смарт-карт.
Лекция 2.
Тема. Управление процессами.
Краткая аннотация к лекции.
Процессы. Модель процесса. Создание процесса. Завершение процесса. Иерархия процессов. Состояния процессов. Реализация процессов. Потоки. Модель потока. Использование потоков. Реализация потоков в пространстве пользователя. Реализация потоков в ядре. Смешанная реализация. Активация планировщика. Всплывающие потоки. Как сделать однопоточную программу многопоточной. Межпроцессное взаимодействие. Состояние состязания. Критические области. Взаимное исключение с активным ожиданием. Примитивы межпроцессного взаимодействия. Семафоры. Мьютексы. Мониторы. Передача сообщений. Барьеры. Классические проблемы межпроцессного взаимодействия. Проблема обедающих философов. Проблема читателей и писателей. Проблема спящего брадобрея. Планирование. Введение в планирование. Планирование в системах пакетной обработки данных. Планирование в интерактивных системах. Планирование в системах реального времени. Политика и механизм. Планирование потоков. Изучение процессов и потоков.
Лекция 3.
Тема. Управление памятью.
Краткая аннотация к лекции.
Страничная организация виртуальной памяти: двухуровневая иерархическая таблица страниц, буфер поиска трансляции, трансляция виртуального адреса в физический. Сегментная организация виртуальной памяти. Комбинация сегментации и страничной организации. Стратегии ОС для виртуальной памяти: стратегия выборки, стратегия размещения, стратегия замещения. Стратегии ОС для виртуальной памяти: управление резидентным множеством, стратегия очистки, управление загрузкой. Размер резидентного множества. Стратегия фиксированного и переменного распределения. Область видимости замещения.
Лекция 4.
Тема. Ввод-вывод и файловая система.
Краткая аннотация к лекции.
Управление вводом-выводом: устройства ввода-вывода, организация функций ввода-вывода. Управление вводом-выводом: логическая структура функций ввода-вывода, буферизация операций ввода-вывода. Дисковое планирование: параметры производительности диска, стратегии дискового планирования. Повышение производительности дисковой подсистемы – использование RAID-массивов. Дисковый кэш. Управление файлами. Файлы, системы управления файлами, архитектура файловой системы, элементы управления файлами. Организация файлов и доступ к ним: критерии выбора способов организации файлов, способы организации файлов. Каталоги файлов: содержимое, структура, присвоение имен. Совместное использование файлов. Записи и блоки.
Лекция 5.
Тема. Конкретные реализации операционных систем. История развития и характеристики операционных систем семейства Windows.
Краткая аннотация к лекции.
Операционные системы семейства Windows. Особенности файловой системы. Принципы построения и функционирования. Архитектура операционной системы.
Процессы и потоки (состояния потоков). Процессы и потоки (виды организации потоков). Управление памятью: требования к управлению (перемещение, защита, совместное использование, логическая и физическая организация). Управление памятью. Распределение основной памяти (фиксированное, динамическое). Распределение основной памяти (страничная организация, сегментация). Страничная организация виртуальной памяти: структура таблицы страниц, буфер поиска трансляции, размер страницы.
Лекция 6.
Тема. История развития и характеристики операционных систем UNIX и Linux.
Краткая аннотация к лекции.
Архитектура ОС Unix. Архитектура ОС Linux. Командная строка Linux. Настройка Linux. Сетевое администрирование Linux. Отечественные операционные системы.
Лекция 7.
Тема. Распределенные операционные системы.
Краткая аннотация к лекции.
Распределенные системы. Сетевое аппаратное обеспечение. Сетевые службы и протоколы. Промежуточное программное обеспечение, основанное на документе. Промежуточное программное обеспечение, основанное на файловой системе. Промежуточное программное обеспечение, основанное на совместно используемых объектах. Промежуточное программное обеспечение, основанное на координации.
Лекция 8.
Тема. Программные средства человеко-машинного интерфейса. Операционные среды и оболочки.
Краткая аннотация к лекции.
Концепция процесса. Алгоритмы планирования. Понятие оптимального планировщика. Статические алгоритмы планирования. Планирование на основе приоритета (динамическое планирование) Динамическое планирование со статическими приоритетами. Алгоритмы RM и DM назначения приоритетов. Их оптимальность. Динамическое планирование с динамическими приоритетами. Алгоритмы EDF, LLF, SJF.
Практическое занятие 1.
Тема. Общие сведения об операционных системах. Функции и структура операционной системы.
Определение операционной системы. Эволюция (история развития) операционных систем. Классификация ОС. Требования, предъявляемые к ОС. Понятие процесса. Состояния процессов. Причины создания и завершения процессов. Описание процессов (таблицы процессов, памяти, файлов, вода/вывода).
Практическое занятие 2.
Тема. Общие сведения об операционных системах. Функции и структура операционной системы.
Описание процессов (образ процесса, элементы управляющего блока). Операционные системы мэйнфреймов. Серверные операционные системы. Многопроцессорные операционные системы.
Практическое занятие 3.
Тема. Общие сведения об операционных системах. Функции и структура операционной системы.
Операционные системы для персональных компьютеров. Операционные системы реального времени. Встроенные операционные системы. Операционные системы для смарт-карт.
Практическое занятие 4.
Тема. Управление процессами.
Модель процесса. Создание процесса. Завершение процесса. Иерархия процессов. Состояния процессов. Реализация процессов. Потоки. Модель потока. Использование потоков. Реализация потоков в пространстве пользователя. Реализация потоков в ядре. Смешанная реализация. Активация планировщика. Всплывающие потоки. Как сделать однопоточную программу многопоточной.
Практическое занятие 5.
Тема. Управление процессами.
Процессы. Межпроцессное взаимодействие. Состояние состязания. Критические области. Взаимное исключение с активным ожиданием. Примитивы межпроцессного взаимодействия. Семафоры. Мьютексы. Мониторы. Передача сообщений. Барьеры. Классические проблемы межпроцессного взаимодействия. Проблема обедающих философов. Проблема читателей и писателей. Проблема спящего брадобрея.
Практическое занятие 6.
Тема. Управление процессами.
Планирование. Введение в планирование. Планирование в системах пакетной обработки данных. Планирование в интерактивных системах. Планирование в системах реального времени. Политика и механизм. Планирование потоков. Изучение процессов и потоков.
Практическое занятие 7.
Тема. Управление памятью.
Страничная организация виртуальной памяти: двухуровневая иерархическая таблица страниц, буфер поиска трансляции, трансляция виртуального адреса в физический.
Практическое занятие 8.
Тема. Управление памятью.
Сегментная организация виртуальной памяти. Комбинация сегментации и страничной организации. Стратегии ОС для виртуальной памяти: стратегия выборки, стратегия размещения, стратегия замещения.
Практическое занятие 9.
Тема. Управление памятью.
Стратегии ОС для виртуальной памяти: управление резидентным множеством, стратегия очистки, управление загрузкой. Размер резидентного множества. Стратегия фиксированного и переменного распределения. Область видимости замещения.
Практическое занятие 10.
Тема. Ввод-вывод. Файловая система.
Управление вводом-выводом: устройства ввода-вывода, организация функций ввода-вывода. Управление вводом-выводом: логическая структура функций ввода-вывода, буферизация операций ввода-вывода. Дисковое планирование: параметры производительности диска, стратегии дискового планирования.
Практическое занятие 11.
Тема. Ввод-вывод. Файловая система.
Повышение производительности дисковой подсистемы – использование RAID-массивов. Дисковый кэш. Управление файлами. Файлы, системы управления файлами, архитектура файловой системы, элементы управления файлами.
Практическое занятие 12.
Тема. Ввод-вывод. Файловая система.
Организация файлов и доступ к ним: критерии выбора способов организации файлов, способы организации файлов. Каталоги файлов: содержимое, структура, присвоение имен. Совместное использование файлов. Записи и блоки.
Практическое занятие 13.
Тема. Конкретные реализации операционных систем. История развития и характеристики операционных систем семейства Windows.
Процессы и потоки (состояния потоков). Процессы и потоки (виды организации потоков). Управление памятью: требования к управлению (перемещение, защита, совместное использование, логическая и физическая организация).
Практическое занятие 14.
Тема. Конкретные реализации операционных систем. История развития и характеристики операционных систем семейства Windows.
Управление памятью. Распределение основной памяти (фиксированное, динамическое). Распределение основной памяти (страничная организация, сегментация). Страничная организация виртуальной памяти: структура таблицы страниц, буфер поиска трансляции, размер страницы. Операционные системы семейства Windows. Особенности файловой системы.
Практическое занятие 15.
Тема. Конкретные реализации операционных систем. История развития и характеристики операционных систем семейства Windows.
Принципы построения и функционирования. Архитектура операционной системы.
Практическое занятие 16.
Тема. История развития и характеристики операционных систем UNIX и Linux.
Архитектура ОС Unix. Установка ОС в виртуальной машине. Архитектура ОС Linux. Командная строка Linux.
Практическое занятие 17.
Тема. История развития и характеристики операционных систем UNIX и Linux.
Язык командного интерпретатора. Скрипты bash. Автоматизация обслуживания ОС и пользователей. Настройка Linux. Сетевое администрирование Linux.
Практическое занятие 18.
Тема. История развития и характеристики операционных систем UNIX и Linux.
Утилиты командной строки. Настройка Linux. Сетевое администрирование Linux. Работа с репозиториями ОС. Пакетные менеджеры. FreeBSD. Debian. CentOS. Mandriva. RedHat. AltLinux. Платформа МЦСТ Эльбрус. Реализации ядра ОС Linux. Ядро Linuх в мобильных и встраиваемых системах.
Практическое занятие 19.
Тема. Распределенные операционные системы.
Распределенные системы. Сетевое аппаратное обеспечение. Сетевые службы и протоколы. Кластеры. Грид-системы. Технология блокчейн.
Практическое занятие 20.
Тема. Распределенные операционные системы.
Промежуточное программное обеспечение, основанное на документе. Промежуточное программное обеспечение, основанное на файловой системе.
Практическое занятие 21.
Тема. Распределенные операционные системы.
Промежуточное программное обеспечение, основанное на совместно используемых объектах. Промежуточное программное обеспечение, основанное на координации.
Практическое занятие 22.
Тема. Программные средства человеко-машинного интерфейса. Операционные среды и оболочки.
Концепция процесса. Алгоритмы планирования. Понятие оптимального планировщика. Статические алгоритмы планирования. Файловый менеджеры Far, Midnight Commander.
Практическое занятие 23.
Тема. Программные средства человеко-машинного интерфейса. Операционные среды и оболочки.
Планирование на основе приоритета (динамическое планирование) Динамическое планирование со статическими приоритетами. Алгоритмы Rate Monotonic и Deadline Monotonic, RM и DM, назначения приоритетов. Их оптимальность.
Практическое занятие 24.
Тема. Программные средства человеко-машинного интерфейса. Операционные среды и оболочки.
Динамическое планирование с динамическими приоритетами. Алгоритмы планирования Earliest Deadline First, Least Laxity First, Shortest Job First, EDF, LLF, SJF.
Контроль самостоятельной работы 1.
Тема. Конкретные реализации операционных систем. История развития и характеристики операционных систем семейства Windows
Операционные системы Mac OS, iOS, Android, SelfishOS, ChromeOS, Harmony OS, Fuchsia OS. Платформа Microsof Azure. Командная оболочка PowerShell, реестр Windows, оснастки ОС Windows, утилиты диагностики, сопровождения, планирования и резервного копирования.
Контроль самостоятельной работы 2.
Тема. История развития и характеристики операционных систем UNIX и Linux
Атаки системы снаружи. Сценарии нанесения ущерба вирусами. Как работает вирус. Как распространяются вирусы. Антивирусные программы и антивирусная технология. Интернет-черви. Мобильные программы. Безопасность в системе Java.
Механизмы защиты. Домены защиты. Списки управления доступом. Перечни возможностей. Отечественные операционные системы Альт, Astra Linux, РЕД ОС, Аврора, РОСА, ОСнова.
Контроль самостоятельной работы 3.
Тема. Распределенные операционные системы.
Понятие безопасности. Угрозы. Злоумышленники. Случайная потеря данных. Аутентификация пользователей. Аутентификация с использованием паролей. Аутентификация с использованием физического объекта. Аутентификация с использованием биометрических данных. Контрмеры. Основы криптографии. Шифрование с секретным ключом. Шифрование с открытым ключом. Необратимые функции. Цифровые подписи. Атаки изнутри системы. Троянские кони. Фальшивая программа регистрации. Логические бомбы. Потайные двери. Переполнение буфера. Атака системы безопасности. Печально знаменитые дефекты системы безопасности.
Контроль самостоятельной работы 4.
Тема. Программные средства человеко-машинного интерфейса. Операционные среды и оболочки.
Атаки системы снаружи. Сценарии нанесения ущерба вирусами. Как работает вирус. Как распространяются вирусы. Антивирусные программы и антивирусная технология. Интернет-черви. Мобильные программы. Безопасность в системе Java. Механизмы защиты. Домены защиты. Списки управления доступом. Перечни возможностей.
Типовая контрольная работа
1. Запустите shell. Произведите очистку экрана. Получите подробную информацию обо всех активных процессах.
2. Используя текстовый редактор, создайте два текстовых файла (с расширением ТХТ). Запустите shell. Просмотрите их содержимое на экране.
3. Используя текстовый редактор, создайте два текстовых файла (с расширением ТХТ). Объедините текстовые файлы в единый файл и посмотрите его содержимое на экране.
4. Создайте командный файл (sh). Перейдите в другой каталог, сформируйте файл с листингом каталога и вернитесь в исходный каталог.
5. Запустите shell. Используя текстовый редактор, создайте три текстовых файла Добавьте для всех трех файлов право выполнения членам группы и остальным пользователям. Просмотрите атрибуты файлов.
6. Запустите файловый менеджер Linux (MC). Создайте в домашнем каталоге папку PRIMER. Создайте в каталоге PRIMER подкаталог MOD. Наполните каталог MOD различными файлами. Определите объем, который занимают все файлы каталога MOD. Отсортируйте файлы каталога MOD поочередно 1) по алфавиту; 2) размеру; 3) времени последней модификации; 4) расширению.
Примерные вопросы и задания к экзамену
Теоретические вопросы
1. Определение операционной системы. Эволюция (история развития) операционных систем
2. Классификация ОС. Требования, предъявляемые к ОС.
3. Понятие процесса. Состояния процессов.
4. Причины создания и завершения процессов.
5. Описание процессов (таблицы процессов, памяти, файлов, вода/вывода).
6. Описание процессов (образ процесса, элементы управляющего блока).
7. Управление процессами (виды процессов, переключение процессов).
8. Варианты построения ОС (ядро вне процессов, выполнение в составе пользовательских процессов, ОС на основе процессов).
9. Планирование в однопроцессорной системе (виды планирования, критерии краткосрочного планирования).
10. Принципы взаимного блокирования (виды ресурсов, условия возникновения, способы предотвращения).
11. Принципы взаимного блокирования (устранение и обнаружение взаимоблокировок).
12. Механизмы поддержки взаимоисключений (семафоры, мониторы, виды мониторов).
13. Процессы и потоки (состояния потоков).
14. Процессы и потоки (виды организации потоков).
15. Управление памятью: требования к управлению (перемещение, защита, совместное использование, логическая и физическая организация).
16. Управление памятью. Распределение основной памяти (фиксированное, динамическое).
17. Распределение основной памяти (страничная организация, сегментация).
18. Страничная организация виртуальной памяти: структура таблицы страниц, буфер поиска трансляции, размер страницы.
19. Страничная организация виртуальной памяти: двухуровневая иерархическая таблица страниц, буфер поиска трансляции, трансляция виртуального адреса в физический.
20. Сегментная организация виртуальной памяти.
21. Комбинация сегментации и страничной организации.
22. Стратегии ОС для виртуальной памяти: стратегия выборки, стратегия размещения, стратегия замещения.
23. Стратегии ОС для виртуальной памяти: управление резидентным множеством, стратегия очистки, управление загрузкой.
24. Стратегии ОС для виртуальной памяти: основные алгоритмы управления резидентным множеством.
25. Управление вводом-выводом: устройства ввода-вывода, организация функций ввода-вывода.
26. Управление вводом-выводом: логическая структура функций ввода-вывода, буферизация операций ввода-вывода.
27. Дисковое планирование: параметры производительности диска, стратегии дискового планирования. Повышение производительности дисковой подсистемы – использование RAID-массивов. Дисковый кэш.
28. Управление файлами. Файлы, системы управления файлами, архитектура файловой системы, элементы управления файлами.
29. Организация файлов и доступ к ним: критерии выбора способов организации файлов, способы организации файлов.
30. Каталоги файлов: содержимое, структура, присвоение имен. Совместное использование файлов. Записи и блоки.
Практика (одна из задач)
1. Запустите файловый менеджер Linux (MC). Создайте в домашнем каталоге папку PRIMER. В каталоге PRIMER создайте файл symvol (3-4 строки). Присвойте файлу symvol статус «скрытый». Установите режим показа всех «скрытых» файлов (если он не установлен). Произвольному файлу каталога PRIMER назначьте статусы «только для чтения» и «скрытый». Выполните в командной строке команду просмотра содержимого текущего каталога (папки).
2. Запустите файловый менеджер Linux (MC). Создайте в домашнем каталоге папку PRIMER. Найдите архив. Войдите в него и просмотрите его содержимое. Скопируйте из него 2-3 файла в папку PRIMER. Из папки PRIMER скопируйте 2-3 файла в архив.
3. Создайте командный файл (sh). Организуйте запрос и ввод имени пользователя, сравнение с текущим логическим именем пользователя и вывод сообщения: верно/неверно.
4. Запустите shell. Выведите полную информацию обо всех файлах и проанализируйте уровни доступа (атрибуты файлов).
5. Запустите shell. Используя текстовый редактор, создайте три текстовых файла Добавьте для всех трех файлов право выполнения членам группы и остальным пользователям. Просмотрите атрибуты файлов.
6. Используя текстовый редактор, создайте два текстовых файла (с расширением ТХТ). Запустите shell. Объедините текстовые файлы в единый файл и посмотрите его содержимое на экране. Создайте еще один каталог. Установите дополнительную связь объединенного файла с новым каталогом, но под другим именем.
7. Создайте два файла. Запустите shell. Создайте символическую связь между файлами. Выведите на экран содержимое символической связи.
8. Запустите shell. Произведите поиск заданной последовательности символов в файлах текущей директории и получите перечень соответствующих файлов на экране.
9. Создайте командный файл (sh). Сформируйте файл со списком файлов в домашнем каталоге, выведите на экран этот список в алфавитном порядке и общее количество файлов.
10. Создайте командный файл (sh). Организуйте запрос и ввод имени файла в текущем каталоге и вывод сообщения о типе файла.
11. Создайте командный файл (sh), который выводит на экран список параметров командной строки с указанием номера каждого параметра.
12. Создайте командный файл (sh). Перейдите в другой каталог, сформируйте файл с листингом каталога и вернитесь в исходный каталог.
13. Запустите shell. Произведите очистку экрана. Определите день недели, в который Вы родились.
14. Запустите shell. Произведите очистку экрана. Получите подробную информацию обо всех активных процессах.
15. Используя текстовый редактор, создайте два текстовых файла (с расширением ТХТ). Запустите shell. Просмотрите их содержимое на экране.
16. Запустите shell. Получите информацию о работающих пользователях, подсчитайте их количество и запомните в файле.