Цель курса
Знакомство с основными концепциями и принципами построения операционных систем.
Литература
- В.Г. Олифер, Н.А. Олифер, Сетевые операционные системы, Санкт-Петербург, изд-во "Питер", 2001. ISBN 5-272-00120-6
- William Stallings, Operating systems: internals and design principles, 4th ed., Prentice Hall, 2001, ISBN 0-13-031999-6
- Andrew S. Tanenbaum, Modern Operating Systems, 2/e, Prentice Hall, 2001, ISBN 0-13-031358-0
- Большаков Т.Б., Иртегов Д.В., Операционные системы, Новосибирский гос. ун-т, Новосибирск, 1995
Другие ресурсы
- В.Г. Олифер, Н.А. Олифер, Сетевые операционные системы online
- Operating Systems, Fourth Edition
Зачет
Порядок сдачи:
Для сдачи зачета необходимо, чтобы были сданы все задания по лабораторным занятиям (shell)
Билеты. В билете один вопрос. Количество вопросов, на которые надо ответить для сдачи зачета, зависит от количества посещений практик. См. список вопросов и таблицу ниже.
Если данные о количестве посещений практик недоступны, то количество билетов определяется по посещениям лекций, или по рекомендации преподавателя, ведущего практики.
Ответ без подготовки, сразу после вытягивания билета
При неуспешном ответе можно тянуть дополнительные билеты. Количество дополнительных билетов - не более двух на одну попытку сдачи.
Вопросы к зачету 2007 г.
Количество вопросов, на которые необходимо ответить
кол-во посещений | был доклад | не было доклада |
---|---|---|
>2/3 | 1 | 1 |
1/2 - 2/3 | 1 | 2 |
<1/2 | 2 | 3 |
Посещения лекций и практик:
- 22203 - лекции, shell, практики
- 22204 - лекции, shell, практики
- 22205 - лекции, shell
- 22206 - лекции, shell
- 22303 - лекции
- 22304 - лекции
Дата, время, ауд.:
Группа | Дата | Время | Ауд. |
---|---|---|---|
22203 | 26 мая 2003 | 17:00 - 18:35 | 427 |
22204 | 28 мая 2003 | 17:00 - 18:35 | 304 |
22205 | 28 мая 2003 | 13.30 - 15.05 | 405 |
22206 | 27 мая 2003 | 13:30 - 15:05 | 427 |
22303 | 27 мая 2003 | 15:15 - 16:50 | 427 |
22304 | 27 мая 2003 | 17:00 - 18:35 | 427 |
Пересдача: пятница 30.05.2003 17:00 ауд. 304
Содержание лекций (устарело)
Лекции идут по книге "Сетевые операционные системы", поэтому содержание лекций в основном повторяет содержание книги (с отступлениями и различными комментариями и примерами).
12.02.2002
- Эволюция ОС. Системы пакетной обработки
- Мультипрограммные системы пакетной обработки. Рис. из Stallings (Chapter 2, Fig. 2.5). Системы разделения времени. Отступление про терминалы.
- ОС и глобальные сети
- Развитие ОС в 80-е годы (TCP/IP, MS-DOS, OS/2, варианты UNIX)
- Современный этап (корпоративные ОС, безопасность, удобство).
- Примеры классификации по различным критериям - одно/многопользовательская ОС, одно/многопроцессная, пакетной обработки, разделения времени, реального времени, DOS/OS и т.п.
19.02.2002
- Назначение и функции ОС. ОС как виртуальная машина. ОС как система управления ресурсами
- Функциональные компоненты ОС автономного компьютера. Управление процессами, памятью, файлами и внешними устройствами, защита данных, API, пользовательский интерфейс.
- Сетевые ОС. сетевые и распределенные ОС, пример вычислительной системы кафедры. значение термина "сетевая ОС".
26.02.2002
- Сетевые ОС, продолжение. Функциональные компоненты сетевой ОС
- Одноранговые сети, сети с выделенным сервером, гибридные сети.
- Требования к современным ОС.
4.03.2002
- Архитектура ОС. Ядро и вспомогательные модули ОС.
- Механизм системных вызовов. Переключение режимов.
- Многослойная структура ОС.
- Аппаратная зависимость и переносимость ОС.
5.03.2002
- Микроядерная архитектура. Недостатки монолитного ядра. Реентерабельность.
- Преимущества и недостатки микроядерной архитектуры.
- Двоичная совместимость и совместимость исходных текстов. Примеры эмуляторов (bochs, VmWare, hercules).
- Способы реализации прикладных программных сред.
12.03.2002
- Мультипрограммирование, определения, системы пакетной обработки
- Мультипрограммирование в системах разделения времени. Выбор размера кванта процессорного времени.
- Мультипрограммирование в системах реального времени.
- Мультипроцессорная обработка. Видеокарта как пример реализации асимметричного мультипроцессирования. SMP, кластеры.
26.03.2002
- Планирование процессов и потоков. Понятия "процесс" и "поток".
- Создание процессов и потоков. Дерево процессов. Завершение процессов, что при этом делать с потомками. Список процессов.
- Пример создания процессов в UNIX (fork, exec)
- Планирование и диспетчеризация потоков
- Состояния потока (выполнение, ожидание, готовность), граф переходов между состояниями
- Вытесняющие и невытесняющие алгоритмы, достоинства и недостатки
2.04.2002
- Алгоритмы планирования, основанные на квантовании.
- Приоритет в UNIX и Windows NT, алгоритмы планирования, основанные на приоритетах, относительные и абсолютные приоритеты.
- Смешанные алгоритмы планирования.
- Реальное время, hard, soft. Периодические и спорадические задачи.
- Планирование в системах реального времени. Необходимый критерий существования расписания.
- Алгоритм Liu, Layland. Алгоритм с deadline.
- Примеры.
16.04.2002
- Моменты перепланировки.
- Мультипрограммирование на основе прерываний. Назначения и типы прерываний. Механизм прерываний. Программные прерывания. Диспетчеризация прерываний, приоритеты. Процедуры обработки прерываний и текущий процесс.
- Системные вызовы.
- Синхронизация процессов и потоков, цели и средства.
- Гонки (race condition), пример. Критическая секция, блокирующие переменные, семафоры. Примеры реализаций семафоров.
- Тупики (взаимоблокировки, deadlock), пример. Избежание тупиков (два варианта). Обнаружение взаимной блокировки.
23.04.2002
- Синхронизирующие объекты ОС, сигналы.
- Управление памятью, функции ОС по управлению памятью, типы адресов, плоское и сегментированное адресное пространство, сегменты и страницы, соотношение объемов виртуального адресного пространства и физической памяти. Разделяемая память
- Алгоритмы распределения памяти, распределение памяти фиксированными разделами, динамическими разделами, перемещаемыми разделами.
- Свопинг и виртуальная память, страничное распределение памяти, преобразование виртуального адреса в физический для страничного распределения памяти.
- ВременнАя локальность, пространственная локальность, алгоритмы выбора жертвы (случайно, LRU, clock)
29.04.2002
- Виртуальная память, сегментное, сегментно-страничное распределение памяти.
- Разделяемые сегменты памяти
- Иерархия запоминающих устройств
- Кэш-память, принцип действия, среднее время доступа.
- write through и write back.
- Способы отображения основной памяти на кэш, случайное и прямое отображение, их комбинирование.
- Многоуровневый кэш.
30.04.2002
- Выбор объема памяти и swap (Большаков, Иртегов)
- Ввод-вывод и файловая система. Задачи ОС по управлению файлами и устройствами.
- Многослойная модель подсистемы ввода-вывода, общая схема, менеджер ввода-вывода, многоуровневые драйверы, специальные файлы (устройства)
- Логическая организация файловой системы, определения, цели и задачи.
- Типы файлов.
- Иерархическая структура файловой системы.
- Имена файлов.
7.05.2002
- Монтирование. Имена накопителей vs. монтирование.
- Атрибуты файлов.
- Логическая организация файла.
- Физическая организация файловой системы. Диски, разделы, секторы, кластеры.
- Зависимость времени чтения большого файла от фрагментации (Stallings)
- Logical Volume Manager (LVM), Physical Volume (PV), Volume Group (VG), Logical Volume (LV).
21.05.2002
- Физическая организация и адресация файла
- Схема адресации UFS, косвенная адресация
- Физическая организация FAT
- Контроль доступа, матрица прав доступа
- Проверка прав доступа в UNIX