Московский Государственный Университет им.М.В.Ломоносова
Кафедра "Теоретическая информатика"
Рабочая учебная программа
по дисциплине
"Операционные системы"
Направление -
Специализация -
Шифр учебного плана -
Выпускающая кафедра - Теоретическая информатика
Форма обучения - очная
Часов всего по дисциплине - 72
Дисциплина: обязательная
Цикл дисциплин -
Семестр -
Программа составлена: |
в.н.с, доцент, к.ф.-м.н. Леонов А.Г. c.н.с., к.ф.-м.н. Борисенко В.В. |
Москва 2014
Рабочая учебная программа составлена в соответствии с требованиями Государственного образовательного стандарта РФ (ГОС) по направлению (или специальности) 552800 "Информатика и вычислительная техника".
Всего часов | 72 |
Ауд./С.Р (А/С) | 72/36 |
Лекц. (А/С) | 36/ |
Пр.зан. (А/С) | 36/36 |
Контр.работа(А/С) | 4/ |
Форма контроля | экзамен |
Познакомить студентов с основами построения, функционирования и использования современных операционных систем.
Изучение основ проектирования, функционирования и использования операционных систем (ОС), их архитектур и применяемых алгоритмов. Знакомство с современными ОС: MS Windows, ОС типа Unix (Free BSDI, Linux), MacOS, ОС реального времени, ОС мобильных устройств (Android, iOS), встраиваемых ОС.
2.1. Наименования разделов и тем, их содержание в развернутом виде, объем в часах лекционных занятий, указания лабораторных, практических занятий, индивидуальных занятий, литературы, ТСО, обучающих и контрольных программ (36 часов).
2.1.1. Устройство компьютера. Процессор, память, внешние устройства, общая шина. Регистры процессора и алгоритм его работы. Стек и его аппаратная реализация. Прерывания: асинхронные и синхронные, механизм обработки прерывания. Таймер. Поддержка многозадачности, виртуальная память. (4 часа.)
2.1.2. Что такое операционная система? Краткая история ОС. Классификация ОС. Серверные операционные системы. Операционные системы для персональных компьютеров. Операционные системы реального времени. Встроенные операционные системы. Мобильные ОС. Требования к ОС. (2 часа.)
2.1.3. Понятия операционной системы. Архитектура ОС. Ядро и вспомогательные модули ОС. Микроядерная ОС. Аппаратная зависимость и переносимость ОС. Графический (оконный) интерфейс. (2 часа.)
2.1.4. Управление памятью. Алгоритмы распределения памяти. Виртуальная память. Сегментно-страничное распределение памяти. (2 часа.)
2.1.5. Процессы и потоки (нити), распараллеливание задач. Планирование процессов и потоков и разделение времени. Синхронизация процессов и потоков. Средства синхронизации: семафоры, события, мьютексы, критические секции. (4 часа.)
2.1.6. Принципы ввода-вывода. Контроллеры устройств. Программный ввод-вывод. Управляемый прерываниями ввод-вывод. Драйверы устройств. (2 часа.)
2.1.7. Файлы. Доступ к файлам. Каталоги. Иерархические файловые системы. (4 часа.)
2.1.8. Взаимодействие (обмен данных) между процессами (IPC). Разделяемая память (shared memory), программные каналы (pipe). Создание детских процессов, функции fork, exec, system, CreateProcess и т.п. (2 часа.)
2.1.9. Компьютерные сети, классификация по размеру, типу передачи, роли узлов в сети. Сети с коммутацией каналов и коммутацией пакетов. Понятие протокола. Уровневая модель протоколов ISO/OSI. Стек протоколов TCP/IP сети Internet: адресация в Internet, система доменных имен и сервис DNS. Наиболее популярные протоколы прикладного уровня. (4 часа.)
2.1.10. Пограммирование сетевых приложений с использованием интерфейса BSDI-сокетов. (4 часа.)
2.1.11. Типы мультипроцессорных операционных систем. Синхронизация и планирование в мультипроцессорах. Многомашинные системы, кластеры. Коммуникационное программное обеспечение. Распределенная память совместного доступа. Распределенные системы. Сетевые службы и протоколы. (2 часа.)
2.1.12. Основы криптографии. Симметричные и асимметричные алгоритмы кодирования. Кодирование с открытым ключом, электронная подпись. Схема RSA кодирования с открытым ключом. Генерация больших простых чисел, вероятностный тест простоты Рабина. Алгоритмы факторизации целых чисел. (4 часа.)
2.2.1. Устройство компьютера. Стек, обратная польская запись, стековый вычислитель. Способы организации памяти в прикладных программах: статическая, стековая, динамическая память. Соглашения о вызовах подпрограмм и функций. Ассемблер. (4 часа.)
2.2.2. Командный язык операционной системы. Командные оболочки в операционных системах Unix и MS Windows. Аргументы командной строки, перенаправление ввода-вывода, выполнение задач в конвейере. Имена файлов, пути к файлам и способы их задания в ОС Unix и MS Windows. Получение информации о текущих процессах, файлах, написание простейших скриптов (bat-файлов). (4 часа.)
2.2.3. Распараллеливание задач с помощью процессов и с помощью нитей. Примеры параллельных программ в Unix и MS Windows. Использование объектов синхронизации - мьютексов, семафоров, событий, примеры программ на C/C++. (6 часов.)
2.2.4. Обнаружение и устранение взаимоблокировок. Задача об обедающих философах. Читатели и писатели. Алгоритм банкира для одного и нескольких видов ресурсов. (4 часа.)
2.2.5. Реализация файловой системы. Структура файловой системы Реализация файлов. Организация дискового пространства. Надежность файловой системы. Файловая система MS-DOS. Файловая система UNIX V7. Файловая система NTFS. (4 часа.)
2.2.6. Шифрование с секретным ключом. Шифрование с открытым ключом, схема RSA. Цифровая подпись. Способы генерации больших простых чисел и алгоритмы факторизации целых чисел. (4 часа.)
2.2.7. Компьютерные сети и сетевое программирование. Стек протоколов TCP/IP сети Internet. Программирование простейших сетевых задач с помощью интерфейса BSDI-сокетов. Пример - реализация простейшего файлового сервера. (6 часов.)
2.2.8. Графический (оконный) интерфейс в операционных системах Unix и MS Windows. Обработка событий, использование объектно-ориентированного интерфейса (обработчики событий как виртуальные методы классов). Языки и библиотеки для поддержки оконного программирования: C++ библиотеки MFC, QT и др., языки Java и C#, примеры программ. Реализация трехмерной графики с помощью библиотеки OpenGL. (4 часа.)
3.1. Проработка конспекта лекций (18 часов)
3.2. Подготовка к практическим занятиям (18 часов)