МАТЕРИАЛЫ по курсу “Операционные системы и сети ЭВМ”
для студентов 2 курса, специальность 351400
Проф. Сафонов Владимир Олегович
Санкт-Петербургский государственный университет
Математико-механический факультет
Кафедра информатики
email: v_o_safonov@mail.ru
Уважаемые коллеги, Представляю Вам материалы моего учебного курса “Операционные системы и сети ЭВМ”. Курс предназначен и читается мной на мат.-мех. факультете СПбГУ для студентов 2 курса специальности 351400 как основной курс.
По данному курсу, согласно учебному плану, студенты сдают теоретический зачет.
Продолжительность курса – 64 часа. Курс читается в весеннем семестре, по 4 часа в неделю.
Материалы курса представляют собой презентации в Microsoft PowerPoint 2003 – всего 26 презентаций. При использовании материалов фактическая разбивка их на лекции может быть произвольной – в зависимости от уровня аудитории.
Литература по курсу указана в первой презентации.
Программа курса представлена ниже.
Версия данного курса на английском языке (в несколько сокращенном варианте, подготовленная в 2004 г.) доступна на сайте Microsoft Developer’s Network Academic Alliance Curriculum Repository (MSDNAA CR):
http://www.msdnaa.net/curriculum/?id=6006
Буду благодарен за ваши отзывы, пожелания, предложения и замечания по данному курсу. Сафонов Владимир Олегович,
профессор кафедры информатики
математико-механического факультета СПбГУ
23.09.2007
^
Понятие операционной системы (ОС), цели ее работы. Классификация компьютерных систем.
История ОС. Отечественные ОС. Диалекты UNIX. Режимы пакетной обработки, мультипрограммирования, разделения времени.
Особенности ОС для различных классов компьютерных систем (многопроцессорные и распределенные системы, настольные, карманные и др.). ОС реального времени.
Архитектура компьютерной системы. Управление прерываниями, памятью, вводом-выводом. Иерархия памяти. Кэширование. Защита памяти. Аппаратная защита памяти в системах с теговой архитектурой.
Структура локальных и глобальных сетей. Архитектура ОС. Управление процессами. Основные понятия. Семафоры и мониторы.
Обзор функций ОС: управление памятью, файлами, процессами, сетями, командными интерпретаторами, сервисы ОС, системные вызовы. Уровни абстракции ОС. Архитектура UNIX и MS-DOS.
ОС с архитектурой микроядра. Виртуальные машины. Цели проектирования и разработки ОС. Генерация ОС.
Управление процессами. Планирование и диспетчеризация процессов.
Взаимодействие процессов. Проблема ограниченного буфера. Проблема “производитель – потребитель”. Прямая и косвенная связь процессов. Клиент-серверная взаимосвязь. Сокетная связь. Удаленный вызов процедуры (RPC) и удаленный вызов метода (RMI). Выстраивание параметров (marshaling).
Потоки (threads) и многопоточность (multi-threading). Модели многопоточности. Пользовательские потоки и потоки ядра. Потоки в “Эльбрусе”, Solaris, Linux, Windows 2000, Java.
Планирование и диспетчеризация процессора. Критерии диспетчеризации. Стратегии диспетчеризации (FCFS, SJF, RR). Многоуровневые очереди.
Синхронизация процессов. Критические секции. Алгоритмы решения проблемы взаимного исключение критических секций. Двоичные и общие семафоры. Решение проблем “ограниченный буфер”, “читатели-писатели”, “обедающие философы». Мониторы. Синхронизация в Solaris 2 и Windows 2000.
Тупики (deadlocks). Модель системы. Граф распределения ресурсов и граф wait-for. Методы обработки и предотвращения тупиков. Алгоритм банкира. Алгоритмы обнаружения тупиков.
Управление памятью. Устройство управления памятью. Логическое и физическое адресные пространства. Динамическая линковка. Оверлейная структура программы.
Откачка и подкачка (swapping). Стратегии динамического распределения памяти. Фрагментация. Страничная организация. Таблица страниц. Использование ассоциативной памяти. Двухуровневые, иерархические, хешированные и инвертированные таблицы страниц. Разделяемые страницы.
Сегментная организация памяти. Сегментно-страничная организация памяти (MULTICS, “Эльбрус”, Intel x86).
Виртуальная память. Страничная организация виртуальной памяти. Обработка отсутствия страницы в памяти (page fault). Обработка страниц по требованию. Совместное использование страниц процессами. Файлы, отображаемые в память (memory-mapped files). Стратегии замещения страниц. Алгоритмы FIFO и LRU. Алгоритм “второго шанса”. Алгоритмы со счетчиком. Выделение фреймов – фиксированное и с приоритетами. Thrashing. Страничная организация в Windows NT и Solaris 2.
Интерфейс с системой файлов. Структура файла и операции над файлом. Типы файлов. Отличия файловых систем в ОС MULTICS и “Эльбрус” от файловых систем в ОС для ПЭВМ. Файлы последовательного и прямого доступа. Директория, способы организации директорий. Монтирование файловых систем. Защита файлов. Блок управления файлом.
Виртуальные файловые системы (VFS). Реализация файлов с помощью FAT (Windows) и индексных блоков (UNIX). Управление внешней памятью. Кэширование. Файловые системы на основе журнала транзакций. Система NFS.
Сети и сетевые структуры. Распределенные и сетевые системы. Топологии и типы сетей. Коммуникации по сети. Маршрутизация. Именование и разрешение имен.
Коммуникационные протоколы. Уровни организации сетей согласно модели ISO/OSI. Протокол TCP/IP. Протокол GPRS. Беспроводные сети, протоколы IEEE 802.11x (Wi-Fi). Мгновенные сообщения (Instant Messaging and Presence). Обнаружение ошибок в сетях и реконфигурация сетей. Задачи проектирования сетей.
Безопасность. Сетевые и системные угрозы (атаки). Борьба с атаками. Аудит сетевых систем. Брандмауэры. Обнаружение попыток взлома. Криптография. SSL. Уровни безопасности компьютеров. Решение проблем безопасности в Windows NT и в Microsoft.NET. Политики безопасности. Инициатива Microsoft Trustworthy Computing Initiative.
Системы Linux
Системы Windows 2000, Windows XP, Windows 2003, Windows Vista
|