Операційні системи 2018

Матеріал з Вікі ЦДПУ
Перейти до: навігація, пошук


Назва курсу

Операційні системи


Напрям підготовки 12 Інформаційні технології

Спеціальність 122 Комп'ютерні науки

Освітньо-кваліфікаційний рівень бакалавр


Мета та завдання навчального курсу

Мета викладання дисципліни – дати студентам уявлення про вимоги до операційних систем, історію розвитку, класифікації. Забезпечити студентів знаннями, які необхідні для розуміння і визначення завдань, послідовність їх вирішення, які пов’язані з операційними системами та їх розвитком. Вивчення етапів історії розвитку операційних систем, вивчення складових операційних систем. Студент повинен засвоїти поняття “процес”, “процесор”, “керування процесами”, “планування”, “черги”, "віртуальна пам’ять", "організація пам'яті" та інші. На прикладі операційних систем сімейств MS Win2К (WinXP чи Windows 7) та GNU Linux (Ubuntu Linux) вивчаються системи керування процесами, керування пам’яттю, робота файлових систем, системи керування вводом-виводом. Розгляд теоретичних основ та формування практичних умінь побудови компонентів системного програмування у середовищі розповсюджених операційних систем

Завдання вивчення дисципліни – розглянути сучасний стан розвитку операційних систем, тенденції розвитку, новітні дослідження. Сформувати у студентів навичок роботи в середовищі операційних систем, як-то комерційних чи вільних операційних систем. Ознайомити студентів з різними за принципами роботи, й будови операційними системами. Показати переваги і недоліки цих систем. Ознайомити студентів з інструментаріями операційних систем, що вивчаються. Навести приклади використання, ознайомити з відповідним програмним забезпеченням. Дати уявлення про роботу адміністратора системи.

У результаті вивчення навчального курсу студент повинен

знати:

  • сучасний стан розвитку операційних систем;
  • поняття про операційні системи та їх роль у сучасному світі;
  • еволюцію сучасних операційних систем;
  • тенденції розвитку операційних систем;
  • класифікації операційних систем;
  • функції керування ресурсами операційної системи;
  • поняття про віртуальну машину;
  • призначення, склад та основні функції віртуальної машини;
  • поняття про процеси та стани процесів;
  • контекст і дескриптор процесу;
  • структуру процесу;
  • про операції над процесами;
  • поняття про потоки та стани потоків;
  • класифікацію багатопоточних систем;
  • структуру процесу в Windows;
  • про алгоритми планування;
  • фізичну організацію пристроїв вводу-виводу;
  • організацію програмного забезпечення вводу-виводу;
  • про ввод-вивід з використанням перепинів;
  • про прямий доступ до пам’яті;
  • класифікацію пристроїв вводу-виводу за різними ознаками
  • особливості дискового планування;
  • способи організації свопінгу;
  • про особливості організації та підключення свап-файлу;
  • про особливості організації та підключення свап-розділу.

вміти:

  • визначати клас операційної системи;
  • інсталювати віртуальну машину у Linux;
  • інсталювати віртуальну машину у Windows;
  • визначати стан процесів операційної системи Linux;
  • керувати процесами у середовищі операційної системи Linux;
  • залучати різні системні функції для керування процесами у Linux;
  • проводити моніторинг процесів у середовищі операційної системи Linux;
  • визначати стан потоків операційної системи Windows;
  • проводити моніторинг процесів у середовищі операційної системи Windows;
  • набирати програми від sysinternals.com;
  • використовувати алгоритми планування FCFS, Round Robin, SJF;
  • організовувати багаторівневі черги;
  • визначати найефективніший метод боротьби з критичними секціями;
  • визначати адресацію віртуальної пам’яті в Linux;
  • моніторити пам’ять у Linux;
  • визначати карту віртуальних адрес у Windows;
  • моніторити пам’ять у Windows;
  • організовувати фізично та програмно роботу пристроїв вводу-виводу;
  • проводити дискове планування;
  • організовувати та моніторити системи свопінгу.

Робоча програма курсу

Автор (укладач) курсу

Болілий Василь Олександрович


Учасники

Сторінка координування курсу "Операційні системи" викладач



Графік навчання

Варіант Структура

Вступ до курсу

Тема 1. Означення операційної системи. Еволюція операційних систем. Тенденції розвитку. Класифікації ОС. ОС, як розширена машина. ОС, як система керування ресурсами. ОС, як віртуальна машина. ОС, як ядро. Сучасні тенденції розвитку ринку операційних систем. Види класифікацій операційних систем. Рівні програмного забезпечення операційної системи. Тема 2. Віртуальні машини. Інсталяція Linux у віртуальній машині. Інсталяція Windows у віртуальній машині.

Процеси

Тема 1. Поняття «процес». Стани процесів. Контекст і дескриптор процесу. Діаграми станів. Операції над процесами. Модель 3-х (5-ти) станів. Структура процесу. Перемикання процесів. Часова діаграма перемикання процесів. Вивчення кодів ядра, файл fork.c. Тема 2. Процеси в Linux. Стани процесів. Опис. Керування процесами. Системна функція fork(). Моніторинг процесів в системі. Команда ps. Програми top, htop, pstree. Організація демо-прикладів. Коди ядра, файли proc.h, swap.c. Тема 3. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Windows. Класифікація багато поточних систем. Структура процесу в Windows. Діаграма станів потоків в Windows. Моніторинг процесів. Стани процесів. Організація демо-прикладів. Набір програм від sysinternals.com. Тема 4. Алгоритми планування. FCFS. Round Robin. Пріоритетне планування. SJF. Організація багаторівневих черг. Проблема синхронізації. Ефект гонок. Критична секція. Методи боротьби з критичними секціями.

Віртуальна пам’ять

Тема 1. Керування пам’яттю. Типи адрес. Класифікація розподілів пам’яті без використання дискового простору. Підсистема керування пам’яттю. Ієрархія запам’ятовуючих пристроїв. Розподіл розділами фіксованої величини. Розподіл розділами змінної величини. Фрагментація пам’яті. Розподіл пам’яті в пакетних операційних системах. Тема 2. Класифікація розподілів пам’яті з використанням дискового простору. Сегментний розподіл. Сторінковий розподіл. Сегментно-сторінковий розподіл. Розбиття програми на сегменти. Перетворення логічної адреси в фізичну. Розбиття процесу на сторінки. Перетворення логічної адреси в фізичну. Тема 3. Віртуальна пам'ять в Linux. Адресація віртуальної пам’яті в Linux. Розподіл сторінок. Алгоритм двійників. Алгоритм заміщення сторінок. Розподіл пам’яті ядра. Моніторинг пам’яті в Linux. Віртуальний адресний простір процесу в Linux. Вивчення віртуальної файлової системи каталогу proc. Тема 4. Віртуальна пам’ять в Windows. Карта віртуальних адрес. Сторінкова організація. Атрибути сторінки. Моніторинг пам’яті в Windows. Віртуальний адресний простір процесу в Windows. Програма ConfigInspector. Програма ProcessExplorer.

Ввод-вивід

Тема 1. Керування вводом-виводом. Види вводу-виводу. Фізична організація пристроїв вводу-виводу. Організація програмного забезпечення вводу-виводу. Програмований ввод-вивід. Ввод-вивід з використанням перепинів. Прямий доступ до пам’яті. Класифікації пристроїв вводу-виводу за різними ознаками. Представлення байт-орієнтовних та блок-орієнтовних пристроїв в каталозі /dev. Команди вводу-виводу мови програмування високого рівня. Тема 2. Дискове планування. Організація свопінгу. Swap-файл, організація, підключення, розташування, розміри. Swap-розділ, організація, підключення, розташування, розміри. Моніторинг системи при свопінгу.

Зміст курсу

Змістовий модуль 1. Назва ...

Тема 1. Назва теми

Теоретичний матеріал

Лекція №1

Лекція №2

Лекція №3

Практичні завдання

Самостійна робота

Самостійна робота №1

Самостійна робота №2

Змістовий модуль 2. Назва ...

Тема 1. Назва теми

Теоретичний матеріал

Лекція №1

Лекція №2

Лекція №3

Практичні завдання

Практична №1

Практична №2

Самостійна робота

Самостійна робота №1

Самостійна робота №2

Змістовий модуль 3. Назва ...

Тема 1. Назва теми

Теоретичний матеріал

Лекція №1

Лекція №2

Лекція №3

Практичні завдання

Практична №1

Практична №2

Самостійна робота

Самостійна робота №1

Самостійна робота №2

Лабораторний модуль

Лабораторна робота №1

Лабораторна робота №2

Лабораторна робота №3

Лабораторна робота №4

Лабораторна робота №5

Лабораторна робота №6

Лабораторна робота №7

Лабораторна робота №8

Лабораторна робота №9

Лабораторна робота №10

Лабораторна робота №11

Лабораторна робота №12

Лабораторна робота №13

Лабораторна робота №14

Лабораторна робота №15

Лабораторна робота №16


Контрольні роботи та екзамен

Для виконання тестових завдання необхідно здійснити вхід в систему. Анонімне виконання контрольних та екзаменів не допускається.

Контрольна робота

Екзамен

Ресурси

Рекомендована література

Базова

  1. Армстронг Д., мл. Секреты Unix.– 2-е изд.: пер. с англ. СПБ.: Диалектика, 2000 – 1072с.
  2. Белломо М. Unix:Наглядный курс освоения операционной системы: Пер. с англ. М.:Вильямс, 2001 – 336с.
  3. Брелсфорд Г. Секреты Windows 2000 server. – : Пер. с англ. М.: Диалектика 2000 – 768с.
  4. Бондаренко, М. Ф. Операційні системи : навч. посіб. для студ. ВНЗ / М. Ф. Бондаренко, О. Г. Качко. - Х. : Компанія СМІТ, 2008. - 432 с.
  5. Вишневский А. Сетевые технологии Windows 2000 для профессионалов Спб.: Питер 2000 – 592с.
  6. Грайворонський М.В., Новіков О.М. Безпека інформаційно-комунікаційних систем. К.: Видавнича група BHV 2009 – 608c.
  7. Дегтярев Е.К. Введение в UNIX М.: Память 1991 – 96с.
  8. Дунаев С. Unix-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-возможности. В 2-х т. И настройка основных сетевых служб. М.: ДИАЛОГ-МИФИ 1999 – 304 с.
  9. Дэвис П.Т., Льюис Б.Д. Освой самостоятельно Microsoft Windows 2000 Server за 21 день: пер. с англ. Вильямс 2000 – 832с.
  10. Інформатика. Комп’ютерна техніка. Комп’ютерні технології : підруч. для студ. ВНЗ / авт. кол. : В. А. Баженов [та ін.]. - 2-е вид. - К. : Каравела, 2008. - 640 с.
  11. Карлинг М., Деглер С., Деннис Д. Системное администрирование Linux: Пер. с англ. – М.: К.: СПб.: Вильямс 2003 – 320с.
  12. Кокорева О. И. Реестр Windows 2000 СПб.: БХВ – Санкт-Петербург 2000 – 352с.
  13. Макклуре С. и др. Секреты хакеров. Проблемы и решения сетевой защиты: Пер. с англ. М.: ЛОРИ 2001 – 434с.
  14. МакМален Дж. UNIX: Пер. с англ. /Компьютерный мир ХХI века/. М.: ЮНИТИ 1996 – 368с.
  15. МакМален Дж. Максимальная безопасность в Linux: Руководство по защите серверов и рабочих станций Linux, написанное хакером/ Анонимный автор: Пер. с англ. К.: ДиаСофт 2000 – 400с.
  16. Марченко А. И., Марченко Л. А. Microsoft Windows 2000 Server. Учеб. Курс MCSE: Пер. с англ. – 2-е изд., перераб. М.: Рус. Ред., 2001. – 912с.
  17. Nelson, Stephen. Windows NT 4 for Busy People / S. L. Nelson. - Osborne : McGraw-Hill, 1996. - 258 p.
  18. Негус К. Red Hat Linux? Библия пользователя: Пер. с англ. М.:Вильямс 2002 – 832с.
  19. Олифер В.Г. Сетевые операционные системы. СПб.:Питер 2005 – 539с.
  20. Паркер Т. Linux 5.2: Энциклопедия пользователя: Пер. с англ. К.: ДиаСофт 1999 – 688с.
  21. Петцке К. LINUX. От понимания к применению: Пер. с нем. М.: ДМК 2000 – 576с.
  22. Рэй Д., Рэй В. Освой самостоятельно системное администрирование Unix за 21 день: Пер. с анг. М.: Вильямс 2000 – 608с.
  23. Скловская С. Команды Linux: Справочник. М, СПб.: Diacoft 2001 – 688с.
  24. Сокольский М. Операционная система Windows-2000 Professional для профессионала. /Серия «Справ.рук. пользователя персон. Компьютера»»/. М.: Познавательная книга плюс 2000 – 656с.
  25. Сэри П. Сервер Red Hat Linuх для Windows. Пер. с англ. К.: ДиаСофт 2001 – 400с.
  26. Такет Дж., Барнет Стив Использование Linux. Специальное издание.: 5-е.: Пер. с англ.: Уч. Пос.-М.: Издательский дом "Вильямс" -М.: Издательский дом "Вильямс" 2000 –– 784 с.
  27. Таненбаум Э. Современные операционные системы СПб: Питер 2004 – 1040с.
  28. Харт Дж. М. Системное программирование в среде Win. Руководство разработчика приложений для системы Windows 2000 М.: СПб:К.:"Вильямс" 2001
  29. Хэвиленд К. и др. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ./Серия «Для программистов»/ М.: ДМК 2000 – 368 с.
  30. Хэн Х. Руководство по Unix для студентов: На англ. яз. Нью-Йорк 1993 – 633 с.
  31. Hahn H. A. Student’s Guard to Unix. New York: McGraw. –Hill, Inc. 1993 – 633 p.

Допоміжна

  1. Кай Петцке “Linux от понимания к применению”., М,-2000.
  2. Кристофер Негус “ Red Hat Linux 7. Библия пользователя”, Диалектика, 2002
  3. Мохаммед Д. Кабир, “Red Hat Linux 6 Server”, изд. Лори, 2001
  4. Питер Кью Использование Unix К.: изд. Вильямс 1999, 619 с.
  5. Пол Сэри “Сервер Red Hat Linux” для Windows, Diasoft 2001
  6. Томас Шенк “Red Hat Linux для системных администраторов“ М.: Диасофт 2001, 660 с.

Інформаційні ресурси

  1. Вікі-портал КДПУ : http://wiki.kspu.kr.ua
  2. Медведовский И. Программные средства проверки и создания политики безопасности, соответствующей требованиям международного стандарта управления информационной безопасностью ISO 17799 http://nt.com.ua/info/dsec/politics.shtml
  3. Украинский Linux-портал http://lin.in.ua
  4. Учебный центр «Сетевые технологии» http://www.nt.com.ua/about/pr.shtml
  5. «ALT Linux Master 2.0. Руководство системного администратора» http://docs.altlinux.ru/admin/
  6. «Руководство по "продвинутым" файловым системам, часть 1-11.» http://linux.yaroslavl.ru/docs/conf/fs/l-fs_ru/l-fs1_ru.html

---