НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Правительство Российской Федерации Нижегородский филиал Федерального государственного автономного образовательного учреждения высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Факультет бизнес-информатики и прикладной математики Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Авторы программы: профессор Н.И. Кащеев, преподаватели Колесников Е.А., Тимофеева О.П. e-mail: nkasheev@hse.ru Одобрена на заседании кафедры «Базовая кафедра МЕРА» «___»____________ 2012г. Зав. кафедрой Н.И.Кащеев Рекомендована секцией УМС «Прикладная математика» «___»____________ 2012г. Председатель В.А. Калягин Утверждена УМС НИУ ВШЭ – Нижний Новгород Председатель Н.С. Петрухин «___»_____________2012 г. Нижний Новгород, 2012 г. Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы. НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Область применения и нормативные ссылки Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 010400.62 – Прикладная математика и информатика подготовки бакалавра, изучающих дисциплину «Операционные системы и системное программирование» (ОС). Программа разработана в соответствии с образовательным стандартом федерального государственного образовательного автономного учреждения высшего профессионального образования Высшей школы экономики, учебным планом университета по направлению 010400.62 – Прикладная математика и информатика, утвержденным в 2012г. Цели освоения дисциплины Целями освоения данной дисциплины являются как получение базовых, теоретических знаний в области функционирования современных ОС, принципов организации ввода/вывода и программирования на машинном уровне, так и приобретение практических навыков программирования на языке Ассемблер. Основной задачей изучения дисциплины является формирование базовых представлений, знаний и умений в области организации функционирования современных ОС, а именно, умений создания и использования эффективного программного обеспечения для управления вычислительными ресурсами в многопользовательских ОС. Компетенции обучающегося, формируемые в результате освоения дисциплины В результате освоения дисциплины студент должен знать: Что такое операционная система, функции ОС Основные концепции – Процессы, Файлы, Оболочка Системные вызовы Структура операционной системы Процессы, Взаимодействие между процессами Планирование Ввод-вывод, Программное обеспечение ввода-вывода Управление память Файловые системы Безопасность Студент должен уметь: Использовать основы системного подхода для постановки и решения задач организации оптимального функционирования вычислительных систем. Обоснованно выбирать ОС для решения конкретного круга задач Выбирать алгоритмы управления ресурсами. Пользоваться функциями ОС Windows, UNIX при оценке функционирования алгоритмов управления ресурсами вычислительной системы. 2 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра В результате освоения дисциплины студент осваивает следующие компетенции: Компетенция Код по НИУ Владение культурой мышлеОК–1 ния, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения Стремление к саморазвитию, повышению своей квалификации и мастерства ОК-6 Дескрипторы – основные признаки освоения (показатели достижения результата) Студент демонстрирует свои способности при выполнении заданий учебной дисциплины, во время освоения большого количества новой информации, которую применяет для разработки, отладки и тестирования программного кода Студент развивает самооценку в ходе публичных дискуссий, повышает свою квалификацию, участвуя в разработке индивидуальных и коллективных проектов Понимание основных концепций, принципов, теорий и фактов, связанных с информатикой ПК-1 Студент демонстрирует понимание основ ОС Знакомство с архитектурой ЭВМ и систем ПК-9 Умение применять основные методы и инструменты разработки программного обеспечения ПК-17 Студент демонстрирует понимание основ архитектуры и управление ресурсами вычислительной системы Студент демонстрирует умение писать программы, используя системные средства операционной системы Формы и методы обучения, способствующие формированию и развитию компетенции Подготовка к семинарам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода Подготовка к проектным семинарам, участие в публичных дискуссиях коллектива учебной группы, разработка алгоритмов и программного кода Подготовка к проектным семинарам и зачетам, участие в публичных дискуссиях коллектива учебной группы Подготовка к практическим и лабораторным работам. Разработка алгоритмов и программного кода для практических и лабораторных заданий. Место дисциплины в структуре образовательной программы Настоящая дисциплина относится к циклу факультативных дисциплин, обеспечивающих подготовку бакалавра. Курс опирается на следующие курсы: «Архитектура вычислительных систем», «Программирование». Курс играет важную роль в развитии понимания будущими специалистами программирования и функционирования компьютерных систем и сетей. Тематический план учебной дисциплины Наименование тем Всего часов Лекции Практические заня- Самостоятельная 3 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра тия 1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. Основные понятия операционной системы Операционная система как расширенная машина Операционная система как менеджер ресурсов История развития операционных 1 систем Первое поколение (1945-1955): электронные лампы и коммутационные панели Второе поколение (1955-1965): транзисторы и системы пакетной обработки Третье поколение (1965-1980): интегральные схемы и многозадачность Четвертое поколение (с 1980 года по наши дни): персональные компьютеры 2. 2.1. 2.2. 2.3. Основные концепции 3. 3.1. Системные вызовы Процессы Файлы Оболочка 4. 4.1. 4.2. 4.3. 4.4. 4.5. Системные вызовы для управления процессами Системные вызовы для управления сигналами Системные вызовы для управления файлами Системные вызовы для управления каталогами Системные вызовы для защиты Системные вызовы для управления временем Структура операционной системы Монолитные системы Многоуровневые системы Виртуальные машины Экзоядра Модель клиент-сервер 5. 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. Процессы Знакомство с процессами Модель процессов Создание процессов Завершение процессов Иерархии процессов Состояния процессов 3.2. 3.3. 3.4. 3.5. 3.6. работа 2 2 4 4 4 4 6 4 2 4 10 6 4 4 6 4 2 12 8 4 4 4 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра 5.7. 5.8. Реализация процессов Программные потоки 6. 6.1. 6.2. 6.3. Взаимодействие между процессами 6.4. 6.5. 6.6. 6.7. 6.8. 6.9. 7. 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. 8. 8.1. 8.2. 8.3. 8.4. 8.5. 9. 9.1. 9.2. 9.3. 9.4. 9.5. 9.6. Гонки Критические секции Взаимное исключение с активным ожиданием Примитивы взаимодействия между процессами Семафоры Мьютексы Мониторы Передача сообщений Классические проблемы взаимодействия между процессами Проблема обедающих философов Проблема читателей и писателей Планирование Основы планирования Планирование в системах пакетной обработки Планирование в интерактивных системах Планирование в системах реального времени Политика и механизм планирования Планирование программных потоков Ввод-вывод Аппаратное обеспечение вводавывода Устройства ввода-вывода Контроллеры устройств Ввод-вывод с отображением на память Прерывания Прямой доступ к памяти Программное обеспечение ввода-вывода Назначение программного обеспечения ввода-вывода Обработчики прерываний Драйверы устройств Независимое от устройств программное обеспечение ввода-вывода Программное обеспечение вводавывода пользовательского про- 12 8 4 4 12 8 4 4 10 6 4 4 10 6 4 4 5 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра странства 10. 10.1. 10.2. 10.3. 10.4. 10.5. 10.6. 11. 11.1. 11.2. 11.3. 11.4. 11.5. 11.6. 11.7. 11.8. 11.9. 11.10. 11.11. 11.12. 11.13. 11.14. 12. 12.1. 12.2. 12.3. 12.4. 12.5. 12.6. 12.7. 12.8. 12.9. 12.10. 12.11. 12.12. 12.13. 12.14. 12.15. 12.16. Взаимная блокировка Ресурсы Механизм взаимной блокировки Алгоритм страуса Обнаружение и устранение взаимных блокировок Предотвращение взаимных блокировок Избежание взаимных блокировок Управление памятью Базовые механизмы управления памятью Однозадачная система без подкачки и замещения страниц Многозадачная система с фиксированными разделами Переадресация и защита Подкачка Управление памятью с помощью битовых карт Управление памятью с помощью связанных списков Виртуальная память Замещение страниц Таблицы страниц Буферы быстрого преобразования адресов Инвертированные таблицы страниц Алгоритмы замещения страниц Сегментация и механизмы управления сегментацией и замещением страниц (intel) Файловые системы Файлы Именование файлов Структура файла Типы файлов Доступ к файлам Атрибуты файлов Операции с файлами Каталоги Простые каталоги Иерархические системы каталогов Пути Операции с каталогами Реализация файловой системы Структура файловой системы Реализация файлов Реализация каталогов 10 6 4 4 18 12 6 4 6 0 6 0 6 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра 12.17. Организация дискового пространства 12.18. Надежность файловой системы 12.19. Производительность файловой системы 12.20. Файловые системы с журнальной структурой 13. Безопасность 13.1. Безопасное окружение 13.2. Общие виды атак на систему безопасности 13.3. Принципы разработки механизмов безопасности Итого 8 6 2 4 162 28 28 106 Формы контроля знаний студентов Тип контроля Параметры Текущий контроль Форма кон- 1 год троля 1 2 Контрольная 8 16 работа Итоговый Экзамен устная форма 2 вопроса и 1 задача * 80 минут на одну контрольную работу. Критерии оценки знаний, навыков Текущий контроль осуществляется в виде еженедельных мини-контрольных работ, соответствующих домашнему заданию, контрольных работ на 8 и 16 неделе. Экзамен проводится на последней неделе. Учитываются результаты домашней работы и выполнение контрольных работ. Оценка определяется в соответствии с п. 10. Домашняя и контрольная работы содержат несколько задач. Для каждой из задач студент должен представить решение в электронном виде, включая исходный код и исполняемый файл программы. Содержание дисциплины Глава 1. Основные понятия операционной системы Тема 1.1. Операционная система как расширенная машина Рассмотрение ОС с точки зрения расширенной или виртуальной машины. Тема 1.2. Операционная система как менеджер ресурсов ОС как система управления ресурсами. Тема 1.3. История развития операционных систем Развитие компьютерных систем – технология, поколения, перспективы. Обзор основных архитектур ЭВМ и ОС. Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2003 7 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Таненбаум Э. Современные операционные системы. 3-е изд. – СПб.:Питер, 2010 Дополнительная литература Столингс В. Операционные системы. М.: Вильямс, 2004 Глава 2. Основные концепции Тема 2.1. Процессы Понятие вычислительного процесса и ресурса. Диаграмма состояний процесса. Реализация понятия последовательного процесса в ОС. Процессы и треды. Управление процессами. Тема 2.2. Файлы Управление файлами и внешними устройствами. Описание функций операционной системы для работы с файлами. Тема 2.3. Оболочка Обзор функций операционной системы. Функциональные компоненты ОС.. Программы ввода/вывода. Использование системных функций прерывания операционной системы для различных задач. Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2003 Таненбаум Э. Современные операционные системы. 3-е изд. – СПб.:Питер, 2010 Дополнительная литература Столингс В. Операционные системы. М.: Вильямс, 2004 Тема 3. Системные вызовы Понятие системных вызовов и применение их в ОС различного назначения Тема 3.1. Системные вызовы для управления процессами Тема 3.2. Системные вызовы для управления сигналами Тема 3.3. Системные вызовы для управления файлами Тема 3.4. Системные вызовы для управления каталогами Тема 3.5. Системные вызовы для защиты Тема 3.6. Системные вызовы для управления временем Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Дополнительная литература Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 4. Структура операционной системы Тема 4.1. Монолитные системы Тема 4.2. Многоуровневые системы Тема 4.3. Виртуальные машины Тема 4.4. Экзоядра Тема 4.5. Модель клиент-сервер Принципы виртуализации, мобильности, совместимости, генерируемости, открытости, обеспечения безопасности вычислений. ,Микроядерные операционные системы. Макроядерные операционные системы. Требования к операционным системам реального времени. Мультипрограммность и мультизадачность. Приоритеты задач. Наследование 8 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра приоритетов. Сихронизация процессов и задач. Интерфейсы операционных систем. Экзоядра - набор сервисов для взаимодействия между приложениями, а также необходимый минимум функций, связанных с защитой: выделением и высвобождением ресурсов, контроль прав доступа, и т.д. В отличие от ОС на основе микроядра, ОС, базирующиеся на экзоядре, обеспечивают большую эффективность. Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 5. Процессы Основное понятие процессов и структур с ними связанных. Описание жизненного цикла процесса. Особенности процессов в различных ОС. Тема 5.1 Знакомство с процессами Тема 5.2 Модель процессов Тема 5.3 Создание процессов Тема 5.4 Завершение процессов Тема 5.5 Иерархии процессов Тема 5.6 Состояния процессов Тема 5.7 Реализация процессов Тема 5.8 Программные потоки Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 6. Взаимодействие между процессами Механизмы синзронизации между процессами,создание примитивов управления межпроцессной синхронизацией. Тема 6.1 Гонки Тема 6.1 Критические секции Тема 6.1 Взаимное исключение с активным ожиданием Тема 6.1 Примитивы взаимодействия между процессами Тема 6.1 Семафоры Тема 6.1 Мьютексы Тема 6.1 Мониторы Тема 6.1 Передача сообщений Тема 6.1 Классические проблемы взаимодействия между процессами 9 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 7. Планирование Различие в процессах планирования различных ОС. Отличие потоков от процессов в области планирования. Алгоритмы и струкутуры. Тема 7.1 Основы планирования Тема 7.2 Планирование в системах пакетной обработки Тема 7.3 Планирование в интерактивных системах Тема 7.4 Планирование в системах реального времени Тема 7.5 Политика и механизм планирования Тема 7.6 Планирование программных потоков Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 8. Ввод-вывод Тема 8.1 Аппаратное обеспечение ввода-вывода Тема 8.2 Устройства ввода-вывода Тема 8.3 Контроллеры устройств Тема 8.4 Ввод-вывод с отображением на память Тема 8.5 Прерывания Тема 8.6 Прямой доступ к памяти Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 9. Программное обеспечение ввода-вывода Тема 9.1 Назначение программного обеспечения ввода-вывода Тема 9.2 Обработчики прерываний Тема 9.3 Драйверы устройств Тема 9.4 Независимое от устройств программное обеспечение ввода-вывода Тема 9.5 Программное обеспечение ввода-вывода пользовательского пространства Основная литература 10 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 10. Взаимная блокировка Тема 10.1 Ресурсы Тема 10.2 Механизм взаимной блокировки Тема 10.3 Алгоритм страуса Тема 10.4 Обнаружение и устранение взаимных блокировок Тема 10.5 Предотвращение взаимных блокировок Тема 10.6 Избежание взаимных блокировок Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 11. Управление памятью Тема 11.1 Базовые механизмы управления памятью Тема 11.2 Однозадачная система без подкачки и замещения страниц Тема 11.3 Многозадачная система с фиксированными разделами Тема 11.4 Переадресация и защита Тема 11.5 Подкачка Тема 11.6 Управление памятью с помощью битовых карт Тема 11.7 Управление памятью с помощью связанных списков Тема 11.8 Виртуальная память Тема 11.9 Замещение страниц Тема 11.10 Таблицы страниц Тема 11.11 Буферы быстрого преобразования адресов Тема 11.12 Инвертированные таблицы страниц Тема 11.13 Алгоритмы замещения страниц Тема 11.14 Сегментация и механизмы управления сегментацией и замещением страниц (intel) Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 12. Файловые системы Тема 12.1 Файлы 11 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Тема 12.2 Именование файлов Тема 12.3 Структура файла Тема 12.4 Типы файлов Тема 12.5 Доступ к файлам Тема 12.6 Атрибуты файлов Тема 12.7 Операции с файлами Тема 12.8 Каталоги Тема 12.9 Простые каталоги Тема 12.10 Иерархические системы каталогов Тема 12.11 Пути Тема 12.12 Операции с каталогами Тема 12.13 Реализация файловой системы Тема 12.14 Структура файловой системы Тема 12.15 Реализация файлов Тема 12.16 Реализация каталогов Тема 12.17 Организация дискового пространства Тема 12.18 Надежность файловой системы Тема 12.19 Производительность файловой системы Тема 12.20 Файловые системы с журнальной структурой Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Тема 13. Безопасность Тема 13.1 Безопасное окружение Тема 13.2 Общие виды атак на систему безопасности Тема 13.3 Принципы разработки механизмов безопасности Основная литература Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. Иртегов Д. Введение в операционные системы. СПб.: BHV-Петербург, 2012 Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002 Дополнительная литература Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастеркласс./Пер. с англ. - Спб.: Питер, 2008 Образовательные технологии Методические рекомендации преподавателю Темы индивидуальных заданий для проведения практических занятий должны отличаться для каждого нового учебного года 12 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра Методические указания студентам Рекомендуется подготовка к каждому занятию по заданиям, озвученным преподавателем на предыдущем занятии. Для более глубокого усвоения курса предполагается использование студентами дополнительной литературы, работа в библиотеке, поиск информации в сети Интернет Оценочные средства для текущего контроля и аттестации студента Тематика заданий текущего контроля Примеры домашних заданий 1. Модифицировать механизмы планирования потоков в Linux 2. Разработать библиотеку на С для использования при создании потоков в linux 3. Модифцировать ядро windows NT 4. Написать системный драйвер для устройства 5. Разработать алгоритм журналирования ФС 6. Создать систему вывода информации о памяти. Вопросы для оценки качества освоения дисциплины Примерный перечень вопросов к зачету (экзамену) по всему курсу или к каждому промежуточному и итоговому контролю для самопроверки студентов 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Программная модель микропроцессорной системы. Взаимодействие программ на ассемблере с программами на языке С. Резидентный обработчик прерываний от клавиатуры с подключением как до, так и после системного. Работа с памятью Взаимодействие прикладных и системных обработчиков прерываний. Работа драйверов Журналирование файловых систем Переключение потоков Загрузка процессов Выгрузка процессов. Безопасность адресного пространства Примеры заданий промежуточного /итогового контроля Практические задания к экзамену: Задача 1. Создать структуру потока Задача 2. Написать драйвер Порядок формирования оценок по дисциплине Контроль знаний студентов включает формы текущего и итогового контроля. Текущий контроль осуществляется в течение двух модулей. В рамках учебного курса предусмотрены различные формы текущего контроля знаний и работы студентов на практических занятиях, домашние задания, 2 контрольных работы каждая по 80 мин. Каждая форма текущего контроля оценивается по 10-балльной шкале, оценка выставляется в рабочую ведомость преподавателя. По результатам текущего контроля организуются индивидуаль13 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра ные консультации в рамках второй половины рабочего дня преподавателя. Форма итогового контроля – экзамен по окончании второго модуля. Каждая форма итогового контроля оценивается так же по 10-балльной шкале. Контрольная работа: высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при полностью правильных ответах на вопросы и отличном выполнении заданий (правильном решении задачи, четком и исчерпывающем ее представлении); почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и отличном выполнении заданий, но при отсутствии четкого и исчерпывающего представления решаемой задачи; оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при наличии отдельных неточностей в ответах на вопросы; оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы (включая грамматические ошибки) или неточностях в решении задачи непринципиального характера (описки и случайные ошибки); оценка в 5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины и требующие дополнительного обращения к учебным материалам; оценка в 4 балла проставляется при наличии серьезных ошибок в ответах на вопросы и в решении задачи, что свидетельствует о наличии пробелов в знании изучаемой дисциплины; оценка в 3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задач, говорящих лишь о потенциальной возможности в последующем более успешного выполнения заданий; оценка в 3 балла, как правило, ведет к повторному решению дополнительной задачи; оценка в 2 балла проставляется при полном отсутствии положительных моментов в ответах на вопросы и в решении задачи и, как правило, ведет к повторному написанию контрольной работы в целом; оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине. Зачет или экзамен: На зачете (экзамене), представляющем собой письменные ответы на вопросы и решение задачи с последующим собеседованием, оценка проставляется следующим образом: высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении); почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и решении задачи, но при отсутствии примеров и обобщений, а также детального представления решаемой задачи; оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений и обобщений, а также детального представления решаемой задачи; 14 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы или неточностях в решении задачи непринципиального характера (описки и случайные ошибки); оценка в 4-5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины; оценка в 2-3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задачи; оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине. По результатам устного собеседования с преподавателем возможны корректировки оценки в ту или иную сторону. Результирующая оценка за дисциплину по 10-бальной шкале рассчитывается следующим образом: Орезульт = 0,6* Онакопл + 0,4 *Оэкз Накопленная оценка за текущий контроль учитывает результаты студента по текущему контролю следующим образом: Онакопленная = 0,6* Отекущий + 0,2* Оаудит.раб. + 0,2* Осам.раб. где Отекущий рассчитывается как взвешенная сумма всех форм текущего контроля, предусмотренных в РУП: Отекущий = 0,5·Ок/р1 + 0,5·Окр2 В диплом выставляет результирующая оценка по учебной дисциплине. Способ округления результирующей оценки по учебной дисциплине – арифметический. Учебно-методическое и информационное обеспечение дисциплины Основная литература: 1. Системное программное обеспечение /А.В.Гордеев, А.Ю.Молчанов. - Спб.: Питер, 2001. - 736с. илл. 2. ИртеговД. Введение в операционные системы. СПб.: BHV-Петербург, 2012 - 1040 с. 3. Таненбаум Э. Современные операционные системы. 2-ое изд. – СПб.:Питер, 2002, - 1040с.. илл. 4. Операционная система UNIX /Робачевский А., Немнюгин С., Стесик О..- СПб.: БХВ - Санкт-Петербург, 2010. - 656с., илл. Дополнительная литература: 5. Сетевые операционные системы/ В.Г.Олифер, И.А.Олифер. - Спб.: Питер, 2009. 672с., илл. 6. Столингс В. Операционные системы. М.: Вильямс, 2004 7. Соломон Д.,Руссинович М. Внутреннее устройство Microsoft Windows 2000. Мастер-класс./Пер. с англ. - Спб.: Питер, 2008. - 992с., илл. 15 НИУ ВШЭ – Нижний Новгород Программа дисциплины «Операционные системы и системное программирование» для направления 010400.62 – Прикладная математика и информатика подготовки бакалавра 8. Максвелл С. Ядро Linux в комментариях./Пер.с англ. - К.: Диасофт, 2000. – 488с. Материально-техническое обеспечение дисциплины Мультимедийное оборудование – ноутбук, экран, проектор. Используется ПО в компьютерном классе НИИТ. В НИУ ВШЭ – Нижний Новгород студентам предоставляется возможность самостоятельной работы с электронными ресурсами информации, периодической литературой. В компьютерном классе (НИИТ) доступ on-line Авторы программы профессор преподаватель преподаватель Кащеев Н.И. Колесников Е. Манагина Т. 16