Экзаменационные вопросы по курсу "Операционные системы" (гр. 231) |
экзаменационные вопросы по курсу
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Бакалавриат, 2011/12 учебный год, III семестр
Теория операционных систем
Лектор А.В.Столяров
- История вычислительной техники и история развития операционных систем. Задачи современных операционных систем.
- ОС Unix. История создания и основные современные представители семейства unix'оподобных систем.
- ОС Unix. Понятие командного интерпретатора. Примеры команд, перенаправление ввода-вывода, конвейеры.
- ОС Unix. Понятие пользовательской учетной записи. Права доступа к файлу.
- Мультизадачный режим. Основные виды мультизадачности.
- Аппаратная поддержка мультизадачного режима: прерывания, виды прерываний.
- Аппаратная поддержка мультизадачного режима: привилегированный и ограниченный режимы.
- Аппаратная поддержка мультизадачного режима: защита памяти.
- Ядро операционной системы. Понятие системного вызова.
- Иерархия запоминающих устройств; задачи подсистемы управления оперативной памятью
- Понятия виртуальной памяти и подкачки. Простейшая модель виртуальной памяти (база-предел).
- Сегментная организация виртуальной памяти.
- Страничная организация виртуальной памяти.
- Ввод-вывод. Две точки зрения на ввод-вывод. Структура вычислительной системы с точки зрения управления вводом-выводом.
- Ввод-вывод. Понятие драйвера устройства. Способы загрузки драйвера.
- Буферизация ввода-вывода.
- Файловый ввод-вывод. Системные вызовы файлового ввода-вывода в ОС Unix. Стандартные потоки ввода/вывода.
- Основные понятия файловых систем в ОС Unix: каталоги и индексные дескрипторы, свойства файла, жесткие и символические ссылки.
- Файловый интерфейс внешних устройств в ОС Unix. Классификация устройств.
- Понятие процесса, основные свойства процесса.
- Свойства процесса в ОС Unix.
- Жизненный цикл процесса в ОС Unix.
- Системные вызовы управления процессами в ОС Unix.
- Управление свойствами процесса в ОС Unix (текущая и корневая директория, окружение, параметр umask).
- Манипуляция таблицей файловых дескрипторов в ОС Unix. Перенаправление ввода-вывода.
- Общая классификация средств взаимодействия процессов в ОС Unix.
- Взаимодействие процессов: сигналы.
- Взаимодействие процессов: неименованные каналы; особые ситуации при работе с каналами.
- Взаимодействие процессов: именованные каналы (FIFO).
- Использование неименованных каналов для построения конвейеров.
- Взаимодействие процессов: вызов mmap и его использование для создания сегмента разделяемой памяти.
- Взаимодействие процессов: виртуальный терминал.
- Сокеты: понятие семейства адресации; семейства AF_INET и AF_UNIX.
- Сокеты: понятие типа взаимодействия; дейтаграммное и потоковое взаимодействие.
- Системные вызовы для взаимодействия через сокеты передачи дейтаграмм.
- Организация взаимодействия "клиент-сервер" с помощью потоковых сокетов. Проблема очерёдности действий и возможные подходы к её решению.
- Построение многопользовательского сервера с обслуживающими процессами.
- Мультиплексирование ввода-вывода в ОС Unix; вызов select. Понятие событийно-ориентированного программирования.
- Группы процессов и сеансы в ОС Unix. Программы-демоны.
- Проблемы, возникающие при работе с разделяемыми данными. Понятие "ситуации состязания" (race condition). Примеры.
- Понятия критической секции и взаимоисключения. Требования к системе с взаимоисключениями.
- Методы взаимоисключения с активным ожиданием. Алгоритм Петерсона.
- Мьютексы. Различные возможные подходы к реализации мьютексов. Команда TSL.
- Понятие семафора Дейкстры. Задача "производители-потребители".
- Тупиковые ситуации. Задача о пяти философах. Понятие графа ожидания.
- Задача "читатели-писатели".
- Легковесные процессы в ОС Unix. Основные средства библиотеки pthread.
- Легковесные процессы в ОС Unix. Мьютексы POSIX. Семафоры POSIX.
- Cистема X Window. Понятия X-протокола, X-клиента и X-сервера.
- Система X Window. Понятие X-терминала и сервера приложений. Организация терминального комплекса на основе X Window.
Язык Си
Лектор И.Н.Полякова
- Особенности языка Си. Структура программы. Примеры.
- Имена, переменные, константы и их виды.
- Типы и размеры данных.
- Преобразования типов в Си.
- Операции и выражения языка Си (бинарные операции).
- Операции и выражения языка Си (унарные операции).
- Приоритеты и порядок выполнения операций.
- Побочные эффекты и точки последовательных вычислений.
- Управление в Си. Синтаксис и семантика операторов языка (составной, пустой, оператор-выражение, if, switch).
- Управление в Си. Синтаксис и семантика операторов цикла.
- Простейший ввод-вывод. Примеры.
- Побитовые операторы и их особенности.
- Ввод- вывод символов. Символьные массивы.
- Понятие функции. Механизм передачи параметров. Рекурсия.
- Области видимости и существования переменных.
- Препроцессор.
- Указатели в Си. Адресная арифметика.
- Многомерные массивы. Массив указателей, указатель на массив.
- Структуры в Си.
- Объединения в Си.
- Интерпретация сложных деклараций. Оператор typedef.
- Структуры со ссылками на себя. Динамическое распределение памяти.
- Аргументы командной строки.
- Высокоуровневый ввод-вывод.
- Высокоуровневый доступ к файлам.