МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЛАДИВОСТОКСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И СЕРВИСА
ИНСТИТУТ ИНФОРМАТИКИ, ИННОВАЦИЙ И БИЗНЕС СИСТЕМ
КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ И ПРИКЛАДНОЙ ИНФОРМАТИКИ
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Рабочая программа учебной дисциплины
230400.62 ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ
230700.62 ПРИКЛАДНАЯ ИНФОРМАТИКА
Владивосток
Издательство ВГУЭС
2014
Рабочая программа учебной дисциплины «Операционные системы» составлена в соответствии с требованиями ООП: 230700.62 Прикладная информатика, 230400.62 Информационные системы и технологии на базе ФГОС ВПО.
Составитель: , доцент кафедры Информационных систем и прикладной информатики
Утверждена на заседании Информационных систем и прикладной информатики от 01.01.2001 г., протокол № 10,
Рекомендована к изданию учебно-методической комиссией Института информатики, инноваций и бизнес-систем.
© Издательство ВГУЭС
2014
ВВЕДЕНИЕ
Дисциплина "Операционные системы" относится к федеральному компоненту цикла общепрофессиональных дисциплин специальностей 230700.62 Прикладная информатика, 230400.62 Информационные системы и технологии и введена в учебные планы в соответствии с требованиями Государственных образовательных стандартов указанных специальностей.
Дисциплина "Операционные системы" базируется на знаниях информатики в объеме программы высшей школы, а также таких дисциплин, как «Архитектура ЭВМ», “Дискретная математика”, “Основы программирования”.
Знания, полученные при изучении дисциплины «Операционные системы» используются в последующих дисциплинах: «Системное программное обеспечение», «телекоммуникационные технологии» и в практической деятельности инженера (математика-программиста).
Данная программа составлена в соответствии с требованиями Государственного образовательного стандарта высшего профессионального образования соответствующих специальностей.
При разработке программы дисциплины учитывалось современное состояние развития специализированных и ОС, ориентированных на широкое применение, как проприетарных, так и на основе открытых исходных текстов.
ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Цели освоения учебной дисциплины
Целью изучения дисциплины "Операционные системы" является теоретическая и практическая подготовка студентов в области информационных технологий в такой степени, чтобы они могли выбирать необходимые технические, алгоритмические, программные и технологические решения, уметь объяснить принципы их функционирования и правильно их использовать.
Основные задачи изучения дисциплины:
- формирование у студентов знаний по дисциплине, достаточных для самостоятельной работы в современных операционных системах ознакомление с новыми решениями в области современных операционных систем, используемых для персональных, встраиваемых и распределенных вычислительных систем; выработка практических навыков написания системных приложений на языках высокого уровня для использования ресурсов операционных систем.
Место учебной дисциплины в структуре ООП (связь с другими дисциплинами)
Дисциплина «Операционные системы» является базовой дисциплиной профессионального цикла дисциплин ФГОС ВПО подготовки бакалавра по направлениям 230700.62 «Прикладная информатика» и 230400.62 «Информационные системы и технологии». Данная дисциплина базируется на компетенциях, полученных при изучении дисциплины «Информатика и программирование».
Компетенции обучающегося, формируемые в результате освоения учебной дисциплины
В результате теоретического изучения дисциплины студент должен знать: принципы построения, назначение, структуру, функции и области применения операционных систем, распределенных операционных сред и оболочек; концепцию процессов и потоков; файловые системы, управление памятью, вводом-выводом и устройствами; вопросы эффективности, безопасности, диагностики, восстановления, мониторинга и оптимизации операционных систем и сред; концепции, модели, стандарты и системы протоколов локальных и глобальных вычислительных сетей;
В результате практического освоения дисциплины студент должен уметь: конфигурировать вычислительную систему, проводить инсталляцию, конфигурирование и загрузку операционных систем; диагностировать и восстанавливать операционные системы при сбоях и отказах; использовать программные средства мониторинга операционных средств и утилиты сетевых протоколов в интересах эффективности и оптимизации операционных систем и сред.
В ходе теоретического изучения и практического освоения дисциплины студент должен овладеть навыками инсталляции и сопровождения операционных систем и сред, разработки программных моделей вычислительного процесса многопрограммных операционных систем с детализацией уровней задач, процессов, потоков, конфигурации и установки ядра.
В результате изучения дисциплины будут сформированы следующие компетенции:
ООП | Вид компетенций | Компетенции |
230400.62, Информационные системы и технологии. Информационные системы и технологии | Профессиональные | ПК-1 способность проводить предпроектное обследование объекта проектирования, системный анализ предметной области, их взаимосвязей |
ПК-18 способность использовать технологии разработки объектов профессиональной деятельности, в областях: машиностроение, приборостроение, наука, техника, образование, медицина, административное управление, юриспруденция, бизнес, предпринимательство, коммерция, менеджмент, банковские системы, безопасность информационных систем, управление технологическими процессами, механика, техническая физика, энергетика, ядерная энергетика, силовая электроника, металлургия, строительство, транспорт, железнодорожный транспорт, связь, телекоммуникации, управление инфокоммуникциями, почтовая связь, химическая промышленность, сельское хозяйство, текстильная и легкая промышленность, пищевая промышленность, медицинские и биотехнологии, горное дело, обеспечение безопасности подземных предприятий и производств, геология, нефтегазовая отрасль, геодезия и картография, геоинформационные системы, лесной комплекс, химико-лесной комплекс, экология, сфера сервиса, системы массовой информации, дизайн, медиаиндустрия, а также предприятия различного профиля и все виды деятельности в условиях экономики информационного общества | ||
ПК-23 способность проводить сбор, анализ научно-технической информации, отечественного и зарубежного опыта по тематике исследования | ||
ПК-26 готовность использовать математические методы обработки, анализа и синтеза результатов профессиональных исследований | ||
ПК-29 способность к инсталляции, отладке программных и настройке технических средств для ввода информационных систем в опытную эксплуатацию | ||
ПК-30 готовность проводить сборку информационной системы из готовых компонентов | ||
230700.62, Прикладная информатика. Прикладная информатика | Профессиональные | ПК-12 способен эксплуатировать и сопровождать информационные системы и сервисы |
ПК-16 способен оценивать и выбирать современные операционные среды и информационно-коммуникационные технологии для информатизации и автоматизации решения прикладных задач и создания ИС |
Таблица. Формируемые знания, умения, владения
ООП | Коды компетенций | Знания, Умения, Владение | |
230400.62, Информационные системы и технологии. Информационные системы и технологии | ПК-1 | Знания: | структуру состав и свойства информационных процессов, систем и технологий, методы анализа информационных систем, модели представления проектных решений, конфигурации информационных систем |
ПК-18 | Умения: | управлять вычислительным процессом; | |
ПК-23 | Умения: | работать с первоисточниками; | |
ПК-26 | Владения: | декомпозицией сложной системы, моделированием процессов, протекающих в информационных системах и сетях. | |
ПК-29 | Владения: | способностью оценить производительность вычислительных систем; | |
ПК-30 | Умения: | свободно ориентироваться в информационной среде; | |
230700.62, Прикладная информатика. Прикладная информатика | ПК-12 | Умения: | работать в качестве пользователя персонального компьютера (ПК) в различных режимах и с различными программными средствами. |
Владения: | навыками работы в различных программных средах | ||
ПК-16 | Знания: | теоретические основы построения и функционирования операционных систем, их назначение и функции | |
Умения: | использовать различные операционные системы | ||
Владения: | навыками работы в современной программно-технической среде в различных операционных системах |
1.4 Основные виды занятий и особенности их проведения
Объем и сроки изучения дисциплины:
Дисциплина "Операционные системы" изучается студентами направления «Информационные системы и технологии» в течение 6 семестра, студентами направления «Прикладная информатика» в 4 семестре. Общая трудоемкость дисциплины составляет 5 зачетных единиц, 180 часов. Из них 68 часов – аудиторной работы, 76 часов – самостоятельной работы. Удельный вес занятий, проводимых в интерактивных формах составляет 20 процентов аудиторных занятий
Промежуточная аттестация по курсу – экзамен.
1.5 Виды контроля и отчетности по дисциплине
Контроль успеваемости студентов осуществляется в соответствии с рейтинговой системой оценки знаний студентов (магистрантов).
Текущий контроль предполагает:
- проверку уровня самостоятельной подготовки студента при выполнении лабораторных работ;
- опросы и дискуссии по основным моментам изучаемых тем.
Промежуточный контроль предусматривает:
- проверку усвоения знаний (предварительные аттестации).
Итоговый контроль знаний магистрантов осуществляется при проведении устного экзамена.
СТРУКТУРА И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
2.1 Темы лекций
(2 часа) Назначение, классификация и структура операционных систем.. Связь ОС с архитектурой вычислительных систем. Зависимость от разрядности процессора и набора команд ЭВМ. Масштабируемость ОС. (2 часа) Функции ядра. Системные вызовы ОС. Классификация ядер. Команды оболочек операционных систем. Интерпретаторы командной строки. Расширение интерпретатора CSI, DCL. Командная оболочка bash: режимы работы, понятие окружения, скрипт-программирование. (2 часа) Разновидности файловых систем. Плоские, иерархические, журналируемые. Разновидности файлов. Команды оболочки для работы с файлами. Структура каталога, таблицы FAT. (2 часа) Индексные файловые системы. Решаемые файловой системой задачи. Системные вызовы для ввода-вывода. Работа с устройствами ввода-вывода. (2 часа) Команды оболочки и системные вызовы для работы с файловыми системами. (2 часа) Подсистема управления процессами. Понятие процесса, системные вызовы для работы с процессами. Жизненный цикл процесса. Атрибуты процесса. (2 часа) Обработка прерываний. Программные прерывания. (2 часа) Средства создания и отладки задач. Трансляция, компоновка, загрузка задач. Виды библиотек. Формат двоичных выполняемых и объектных файлов. (2 часа) Система управления заданиями. Понятие процесса. Параметры процесса, команды оболочки и системные вызовы для работы с процессами. (2 часа) Обмен данными между заданиями. Типы межпроцессного обмена (IPC). Сигнально-семафорный механизм. Его применение для управлением доступом к ресурсам ОС. Каналы, именованные каналы, разделяемая память, средства синхронизации. (2 часа) Удаленный вызов процедур. Механизм RPC, различные уровни работы с RPC. Функции для работы с RPC. Необходимость сериализации и десериализации данных. Технологии, построенные на базе RPC. (2 часа) Виртуальная файловая система, ее функции и реализация в различных ОС. Системные вызовы для работы с виртуальной ФС. (2 часа) Структура драйвера в ОС. Виды драйверов. Функции для разработки драйвера. Структуры системных записей о драйвере. (2 часа) Специальные файлы ОС UNIX (Linux). Команды оболочки и системные вызовы для работы со специальными файлами. (2 часа) Конфигурация ядра и его генерация. Файлы настроек ОС Linux (администрирование). (1 час) Операционные системы реального времени. Характеристики ОС РВ, Примеры ОС РВ. Системные вызовы для синхронизации работы процессов в ОС QNX. (1 час) Встраиваемые ОС. Средства разработки встраиваемых ОС. ROME, RMP, RTB – построитель мультимедийных операционных систем. (2 часа) Распределение и использование ресурсов. (2 часа) Графические подсистемы операционных систем. Системные графические средства ОС. UNIX и Windows. Структура системы X11. Оболочки с развитым пользовательским интерфейсом (KDE, Gnome, LXCE, Enlightment). Интегрированные прикладные пакеты в составе ОС. (2 часа) Многопользовательские ОС. Методы защиты информации от несанкционированного использования и повреждения.
2.2 Перечень тем практических/лабораторных занятий
(4 часа) Установление типа файловой системы, использование системных вызовов для доступа к параметрам таблицы разделов из основной загрузочной записи на жестком диске. (6 часов) Моделирование функций файловой системы. С использованием жестких и символических ссылок. (6 часов) Системные вызовы для работы с процессами. Порождение процессов, передача параметров от родительского процесса дочерним и наоборот. (4 часа) Изучение дисциплин работы очередей (очередь процессов на выполнение, очередь запросов к устройству ввода-вывода) с помощью VisualOS. (12 часов) Разработка встраиваемой ОС с минимальными функциями с помощью ROME target builder. (4 часа) Установка, конфигурация PVM и написание простого распределенного приложения.
ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ
При проведении лекций учитывается, что существенная часть материала по новым ОС, описана в литературе только на английском языке и не может выноситься на самостоятельную работу. На лекциях акцентируется внимание на принципах организации различных подсистем ОС и умении правильно использовать команды ОС для настройки параметров ОС и особенностям программирования в различных ОС с доступом к программным и аппаратным ресурсам. Лекции проводятся в аудитории, оснащенной мультимедийной аппаратурой для «on-line» иллюстрации работы различных ОС и их подсистем.
На практических занятиях под руководством преподавателя, решают типовые задачи практического использования, настройки и программирования с использованием системных вызовов ОС, разбирают и анализируют способы применения команд оболочки, системных вызовов, приемов конфигурации подсистем ОС.
Для студентов в качестве самостоятельной работы предполагается работа по установке, настройке и конфигурированию ОС на персональных компьютерах.
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ИЗУЧЕНИЮ КУРСА
Перечень и тематика самостоятельных работ студентов по дисциплине
Установить на виртуальной машине одну из версий ОС Linux и дополнительное программное обеспечение для выполнения обработки данных (язык R, perl) используя штатные репозитории дистрибутива. Установить средства разработки программного обеспечения (компилятор gcc, отладчик) используя пакет исходных текстов (тарбол). Разработать собственный микро-шелл, позволяющий создавать новые процессы и управлять ими (изменять приоритет, завершать, получать список процессов).
Контрольные вопросы для самостоятельной оценки качества освоения учебной дисциплины
Приведите список алгоритмов обслуживания процессов на стадии краткосрочного планирования, пригодных для систем реального времени. Приведите список алгоритмов обслуживания процессов на стадии краткосрочного планирования, приводящих к наивысшей пропускной способности. Основные функции микроядра Основные функции нано-ядра neutrino (QNX-4) Какие средства используются для предотвращения потери данных из-за выхода из строя жесткого диска? Как восстановить случайно удаленный файл в различных файловых системах? В каких случаях применение таблицы разделов GPT не оправдано? Как изменить атрибуты файла? Как назначить пользователю определенную оболочку для работы? Какие способы установки дополнительного ПО Вы знаете? Какую структуру имеет исполняемый файл? Какие сигналы Вы знаете? Какими способами в программе назначается собственный обработчик сигнала? Для чего нужны семафоры? Каким образом можно изменить значение семафора? Для каких целей в вызове pipe используется массив из двух дескрипторов? Как создать и использовать именованный канал? Каким образом два процесса, не имеющие родственных связей, открыть для работы общий сегмент разделяемой памяти? Как организовать безопасный сеанс удаленной работы? Как можно запустить на удаленном компьютере графическое приложение? Где применяются ОС реального времени? Назовите задачи распределения памяти. Дайте определение виртуальной памяти. Перечислите варианты организации такой памяти. Что такое подкачка страниц? Какие алгоритмы замены страниц вы знаете? Охарактеризуйте проблему защиты памяти. Назовите варианты организации RAID-массивов. Нужно ли всегда бороться с фрагментацией памяти? Какие методы для этого существуют?
Методические рекомендации по организации СРС
В рамках общего объема часов, отведенных для изучения дисциплины, предусматривается выполнение следующих видов самостоятельных работ студентов (СРС): изучение теоретического материала при подготовке к защите лабораторных работ, итоговое повторение теоретического материала. Для самостоятельного изучения дисциплины выносится часть материала по всем темам дисциплины с самоконтролем по контрольным вопросам и возможностью консультации у ведущего преподавателя. Для закрепления материала и приобретения навыков расчета рекомендуется выполнение следующих задач:
Ознакомление с основными командами ОС Linux. Программирование небольших скриптов на bash.
Рекомендации по работе с литературойДисциплина "Операционные системы" претерпевала значительные изменения в силу стремительного прогресса в области вычислительной техники. Издано множество учебников, учебных пособий и сборников задач с грифами Министерства образования РФ «Рекомендовано в качестве учебника» и «Допущено в качестве учебного пособия» по всем темам дисциплины, но многие из них устарели. В силу этого в список рекомендованной литературы включены только издания, содержащие фундаментальные знания, не претерпевшие изменений за последние годы, и новые источники, отражающие современное состояние в рассматриваемой области.
Для изучения теоретического материала по дисциплине (темы 3, 5, 6, 7, 9) можно предложить классический учебник [1].
Параллельно с ним для изучения тем 1, 2, 3, 5, 6 рекомендуется использовать [2,3], где ряд вопросов рассмотрен несколько более подробно.
Для закрепления материала (приобретения практических навыков написания программ на ассемблере) по темам 1, 2, 4 предпочтительнее использовать задачи из [3].
При выполнении контрольных работ и индивидуальных заданий рекомендуется использовать [1,4,5, дополнительную литературу].
Для выполнения лабораторных работ во ВГУЭС материалы в достаточном количестве изданы и размещены на сервере [7]. Эти материалы соответствуют перечню лабораторных работ раздела 2.2.
УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ5.1 Основная литература
В. Столлингс. Операционные системы. 4-е издание.- M.: Вильямс, 2002. , Сетевые операционные системы. СПб.: Питер, 2005. овременные операционные системы. Изд. 4. СПб.: Питер, 2006. Б. Керниган, Р. Пайк. UNIX – универсальная среда программирования. М.: Финансы и статистика, 1992. Т. Чан. Системное программирование на C++ для UNIX. К., bhv, 1997. А. Стахнов. Сетевое администрирование Linux. Спб, BHV, 2014.
5.2 Дополнительная литература
:C ! Linux)">http://www.linux.ru/doc. (4>:C ! Linux) ftp://bkv. vvsu. ru/pub/OSes. (только из локальной сети ВГУЭС) Полнотекстовые базы данных – нетИнтернет-ресурсы G=K5 3> ?@>F5AA0 #-!">http://study.vvsu.ru/ - 0740B>G=K5 3> ?@>F5AA0 #-! :C ! Linux)">http://www.linux.ru/doc. (4>:C ! Linux)
МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Лабораторные работы проводятся в компьютерном классе кафедры ИСПИ, где на каждом компьютере установлено несколько операционных систем и программные средства для виртуализации, для лекций используется аудитория с презентационным оборудованием.
СЛОВАРЬ ОСНОВНЫХ ТЕРМИНОВДжиффик - внутриядерная единица времени, определяющаяся чаще всего периодом прерываний системного таймера, зависит от архитектуры процессора и чипсета вычислительной системы.
Командная оболочка - программа, предназначенная для выполнения действий, задаваемых пользователем. Может работать в режиме диалога или как потоковый интерпретатор.
Межпроцессный обмен - совокупность объектов ядра и набор системных вызовов их использующий, включает в себя (в узком смысле, как IPC) семафоры, разделяемую память и очереди сообщений.
Начало компьютерной эпохи - условный момент времени, выбранный в качестве начала отсчета времени в операционных системах, 0 часов, 0 минут, 0 секунд 1 января 1970 г.
Операционная система (ОС) - совокупность программных средств, предназначенных для разработки, запуска и управления работой различных приложений. В зависимости от использования выделяют серверные ОС, ОС реального времени, ОС общего назначения, встраиваемые ОС.
Переменная окружения - предопределенная переменная командной оболочки, используемая системными и прикладными программами для получения сведений об операционной системе, ее настройках, текущем состоянии различных
Планирование - в ОС процесс подготовки к выполнению процесса (П. процесса), выделение памяти (П. памяти) и иных ресурсов (П. дискового пространства), необходимых для функционирования приложения
Поток - часть программного кода, предназначенного для конуррентного (параллельного) выполнения с основным кодом приложения.
Процесс - совокупность записей в таблицах ядра, описывающая всю необходимую для выполнение приложения операционной системой информацию.
Семафор - объект ядра, предназначенный для синхронизации работы программ, использующих разделяемые ресурсы.
Системное время - количество секунд, прошедших с начала компьютерной эпохи. Для более точных измерений используют джиффики.
Ядро ОС - не-выгружаемая (постоянно резидентная в памяти) часть операционной системы.


