Операционные системы и оболочки
2018-2019 учебный год
Теоретические вопросы
1. Понятие и свойства операционной системы. Примеры. Общая характеристика объектов ОС
2. Понятие открытой информационной системы. Эволюция архитектурных моделей ОС
3. Признаки классификации локальных ОС: назначение, методы построения, типы аппаратных платформ, типы алгоритмов управления объектами. Примеры.
4. Понятие сетевой ОС. Общая характеристика взаимодействия открытых информационных систем на основе модели клиент/сервер.
5. Эволюция архитектурных моделей сетевых ОС. Примеры.
6. Принцип распределенного управления объектами ОС. Взаимодействие открытых информационных систем на основе модели клиент/агент/сервер.
7. Типовая структура современной ОС (на примере ОС UNIX: файл, процесс, поток данных, поток управления, непривилегированный и привилегированный пользователи, командный и программный интерфейсы).
8. Архитектура ядра операционной системы (на примере ОС UNIX).
9. Основные функции ядра ОС. Механизм взаимодействия приложений с ядром. Системные вызовы ОС UNIX.
10. Системные структуры данных. Механизм взаимодействия ядра ОС с платформой. Прерывания ОС UNIX.
11. Перспективные архитектуры ОС на основе ядра. Иерархия типов ядер ОС. Сервисы ОС. Примеры.
12. Понятие процесса. Обобщенный граф состояний процесса. Абсолютный и относительный приоритеты процесса.
13. Понятие нити (для ОС UNIX) и потока (для ОС Windows). Сравнительная характеристика параметров и алгоритмов управления процессами и нитями (потоками).
14. Диаграмма состояний процесса в ОС UNIX.
15. Системные структуры данных процесса в ОС UNIX. Пространство процесса. Таблица процессов.
16. Понятие дескриптора и контекста процесса. Характеристика пользовательского, регистрового и системного контекстов.
17. Функции управления состоянием процесса в ОС UNIX. Синхронное взаимодействие процессов.
18. Асинхронное взаимодействие процессов. Сигналы в ОС UNIX.
19. Основные этапы загрузки ОС. Примеры. Порядок порождения процессов в ОС UNIX.
20. Планирование и диспетчеризация процессов в многозадачных ОС: задачи, алгоритмы, параметры. Примеры.
21. Планирование процессов на основе принципа «карусели с многоуровневой обратной связью».
22. Планирование процессов на основе принципа «справедливого раздела».
23. Планирование процессов в ОС реального времени.
24. Понятие временной шкалы в ОС. Типы временных шкал. Примеры.
25. Синхронизация процессов. Блокирующие переменные и семафоры. Критическая секция.
26. Тупики (взаимные блокировки процессов): условия формирования и способы разрешения. Задача о пяти обедающих философах.
27. Классификация способов взаимодействия процессов (в локальных и сетевых ОС). Примеры.
28. Основные примитивы (средства) локального взаимодействия процессов.
29. Взаимодействие процессов на основе механизма разделяемой памяти.
30. Взаимодействие процессов на основе механизма семафоров.
31. Взаимодействие процессов на основе механизма очередей сообщений.
32. Взаимодействие процессов на основе механизма программных каналов. Неименованные и именованные каналы.
33. Основные примитивы (средства) удаленного взаимодействия процессов.
34. Взаимодействие процессов на основе механизма программных гнезд (sockets). Типы сокетов в ОС UNIX.
35. Взаимодействие процессов на основе механизма потоков (streams). Реализация потоков в ОС UNIX.
36. Взаимодействие процессов на основе механизма удаленного вызова процедур (RPC).
37. Middleware-технологии удаленного взаимодействия процессов (DCOM, Java/RMI, CORBA).
38. Типизация данных в ОС. Примеры.
39. Проблемы представления и адресации данных в ОС. Функции управления данными.
40. Методы распределения памяти без использования дискового пространства.
41. Понятие оверлея, виртуальной памяти, свопинга.
42. Методы распределения памяти с использованием дискового пространства.
43. Иерархия типов запоминающих устройств. Принцип кэширования данных. Пространственная и временная локальность.
44. Базовая архитектура файловой системы. Файлы и атрибуты файлов. Типизация файлов. Адресация (именование) файлов. Примеры.
45. Способы логической и физической организации файлов. Примеры.
46. Общая модель файловой системы. Проблемы доступа к файлам. Избирательный и мандатный доступ. Отображение файлов в память.
47. Обобщенная архитектура файловой системы. Понятие локальной, сетевой, виртуальной файловой системы. Примеры.
48. Архитектуры файловых систем ОС UNIX. Монтирование файловых систем.
49. Модели семантики разделяемых файлов.
Практические задания
1. Выполните резервное копирование системных конфигурационных файлов.
2. Выполните восстановление системных конфигурационных файлов.
3. Создайте точку восстановления
4. Определить день недели, в который Вы родились.
5. Получить подробную информацию обо всех активных процессах.
6. Используя редактор VI (см. приложение), создать два текстовых файла (с расширением TXT) и командой САТ просмотреть их на экране.
7. Получить информацию о работающих пользователях, подсчитать их количество и запомнить в файле.
8. Объединить текстовые файлы в единый файл и посмотреть его на экране.
9. Посмотреть приоритет своего процесса и уменьшить скорость его выполнение за счет повышения номера приоритета.
10. Используя редактор VI, написать программу на языке СИ и запустить ее на трансляцию в фоновом режиме.
11. Показать преподавателю исходный текст программы на языке СИ, текстовый файл, файл с сохранением количества пользователей.
12. Продемонстрировать выполнение СИ - программы.
13. Удалить свои файлы и выйти из системы.
14. Используя команды ОС LINUX, создать два текстовых файла.
15. 3. Полученные файлы объединить в один файл и его содержимое просмотреть на экране.
16. Создать новую директорию и переместить в нее полученные файлы.
17. Вывести полную информацию обо всех файлах и проанализировать уровни доступа.
18. Добавить для всех трех файлов право выполнения членам группы и остальным пользователям.
19. Просмотреть атрибуты файлов.
20. Создать еще один каталог.
21. Установить дополнительную связь объединенного файла с новым каталогом, но под другим именем.
22. Создать символическую связь.
23. Сделать текущим новый каталог и вывести на экран расширенный список информации о его файлах.
24. Произвести поиск заданной последовательности символов в файлах текущей директории и получить перечень соответствующих файлов.
25. Получить информацию об активных процессах и имена других пользователей.
26. Составьте и выполните shell - программы, включающей следующие действия:
1. Вывод на экран списка параметров командной строки с указанием номера каждого параметра.
2. Присвоение переменным А, В и С значений 10, 100 и 200, вычисление и вывод результатов по формуле D=(A*2 + B/3)*C.
3. Формирование файла со списком файлов в домашнем каталоге, вывод на экран этого списка в алфавитном порядке и общего количества файлов.
4. Переход в другой каталог, формирование файла с листингом каталога и возвращение в исходный каталог.
5. Запрос и ввод имени пользователя, сравнение с текущим логическим именем пользователя и вывод сообщения: верно/неверно.
6. Запрос и ввод имени файла в текущем каталоге и вывод сообщения о типе файла.
7. Циклическое чтение системного времени и очистка экрана в заданный момент.
8. Циклический просмотр списка файлов и выдача сообщения при появлении заданного имени в списке.