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

Матеріал з Вікі ЦДУ
Версія від 10:05, 17 вересня 2020; Basilb (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук


Зміст

Назва курсу

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


Напрям підготовки 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. Вступ до курсу

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


Змістовий модуль 2. Операційна система GNU Linux

Тема 1. Сімейство операційних систем GNU Linux. Історія виникнення. Історія Unix. FSF. Ліцензія GNU GPL. Дистрибутиви GNU Linux. Реєстрація в системі. Термінали. Віконні менеджери. Дистрибутив Ubuntu.

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

Тема 3. Робота з файлами. Команда pwd. Команда cd. Команда ls. Команда du. Команда df. Аналізатор роботи дисків.

Тема 4. Робота з каталогами. Каталоги. Створення каталогів. Команда mkdir. Команда cp. Команда mv. Команда rm. Структура файлового дерева.

Тема 5. Типи файлів. Звичайні файли (текстові, двійкові). Файли-каталоги. Точкові файли. Файли пристроїв. Команда file. Команда cat.

Тема 6. Посилання, перенаправлення вводу-виводу. Посилання, види посилань. Команда ln. Перенаправлення. Команди >, <, >>. Потоки. Команда |. Перенаправлення виводу команд. Створення текстових файлів. Конкатенація файлів.

Тема 7. Архіватори. Пакувальник tar. Архіватор gzip. Архіватор bzip. Створення tar-ball. Робота з архівними файлами.

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

Тема 1. Користувачі та групи. Користувачі. Групи. Таблиця елементарних прав. Встановлення, додавання прав. Основні принципи розробки політики прав.

Тема 2. Права на файли. Користувачі. Групи. Файл /etc/passwd. Файл /etc/group. Команда chmod. Команда chown. Системи контролю прав.

Змістовий модуль 4. Програми та додатки

Тема 1. Користувацькі програми. Офісні додатки. Програми роботи з мережею. Репозиторії. Встановлення програм та пакетів. Інсталяція системи.

Тема 2. Репозиторії.

Тема 3. Встановлення програм та пакетів.

Змістовий модуль 5. Процеси

Тема 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. Організація багаторівневих черг. Проблема синхронізації. Ефект гонок. Критична секція. Методи боротьби з критичними секціями.

Змістовий модуль 6. Віртуальна пам’ять

Тема 1. Керування пам’яттю. Типи адрес. Класифікація розподілів пам’яті без використання дискового простору. Підсистема керування пам’яттю. Ієрархія запам’ятовуючих пристроїв. Розподіл розділами фіксованої величини. Розподіл розділами змінної величини. Фрагментація пам’яті. Розподіл пам’яті в пакетних операційних системах.

Тема 2. Класифікація розподілів пам’яті з використанням дискового простору. Сегментний розподіл. Сторінковий розподіл. Сегментно-сторінковий розподіл. Розбиття програми на сегменти. Перетворення логічної адреси в фізичну. Розбиття процесу на сторінки. Перетворення логічної адреси в фізичну.

Тема 3. Віртуальна пам'ять в Linux. Адресація віртуальної пам’яті в Linux. Розподіл сторінок. Алгоритм двійників. Алгоритм заміщення сторінок. Розподіл пам’яті ядра. Моніторинг пам’яті в Linux. Віртуальний адресний простір процесу в Linux. Вивчення віртуальної файлової системи каталогу proc.

Тема 4. Віртуальна пам’ять в Windows. Карта віртуальних адрес. Сторінкова організація. Атрибути сторінки. Моніторинг пам’яті в Windows. Віртуальний адресний простір процесу в Windows. Програма ConfigInspector. Програма ProcessExplorer.

Змістовий модуль 7. Ввод-вивід

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

Тема 2. Дискове планування. Організація свопінгу. Свап-файл, організація, підключення, розташування, розміри. Свап-розділ, організація, підключення, розташування, розміри. Моніторинг системи при свопінгу.

Зміст курсу

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

Тема 1. Віртуальні машини

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

  1. Віртуальні машини

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

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

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

  1. Коротка історія еволюції обчислювальних систем. Тенденції розвитку
  2. Історія еволюції обчислювальних систем
  3. Класифікація операційних систем

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

Змістовий модуль 2. GNU Linux

Тема 1. Операційна система GNU Linux

  1. Сімейство операційних систем GNU Linux.
  2. Історія виникнення. Історія Unix.
  3. FSF. Ліцензія GNU GPL.
  4. Дистрибутиви GNU Linux.

Тема 2. Файлова система Linux

  1. Файлове дерево, його будова.
  2. Призначення основних каталогів.
  3. Кореневий каталог.
  4. Домашній каталог.

Тема 3. Команди для роботи з файлами

  1. Команда pwd.
  2. Команда cd.
  3. Команда ls.
  4. Команда du.
  5. Команда df.
  6. Аналізатор роботи дисків.
  7. Створення каталогів. Команда mkdir.
  8. Команда cp.
  9. Команда mv.
  10. Команда rm.

Тема 4. Типи файлів

  1. Типи файлів.
  2. Звичайні файли (текстові, двійкові).
  3. Файли-каталоги.
  4. Точкові файли.
  5. Файли пристроїв.
  6. Команда file.
  7. Команда cat.

Змістовий модуль 3. Права на файл. Користувачі

Тема 1. Права

  1. Користувачі.
  2. Групи.
  3. Таблиця елементарних прав.
  4. Встановлення, додавання прав.
  5. Файл /etc/passwd.
  6. Файл /etc/group.
  7. Команда chmod.
  8. Команда chown.
  9. Основні принципи розробки політики прав. Системи контролю прав.

Змістовий модуль 4. Процеси

Тема 1. Процеси в Linux

  1. Процеси в Linux.
  2. Стани процесів. Опис.
  3. Діаграма станів процесів.
  4. Керування процесами.
  5. Моніторинг процесів в системі.
  6. Команда ps.
  7. Програми top, htop, pstree.

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

  1. Процеси та їх стани
  2. Стани процесів
  3. Призупиненні процеси
  4. Контекст і дескриптор процесу. Перемикання процесів

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

До моніторингу процесів в Linux

Тема 2. Потоки в Windows

  1. Стани потоків.
  2. Багатопоточність.
  3. Потоки та нитки в Windows.
  4. Класифікація багато поточних систем.
  5. Структура процесу в Windows.
  6. Діаграма станів потоків в Windows.

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

  1. Процеси та їх приоритети (Windows). Створення та завершення процесів у Windows.
  2. Нитки
  3. Потоки та нитки в Microsoft Windows

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

До моніторингу процесів в Windows

Змістовий модуль 5. Віртуальна пам’ять

Тема 1. Віртуальна пам'ять в Linux

  1. Віртуальна пам'ять в Linux.
  2. Адресація віртуальної пам’яті в Linux.
  3. Розподіл сторінок.
  4. Моніторинг пам’яті в Linux.
  5. Віртуальний адресний простір процесу в Linux.
  6. Вивчення віртуальної файлової системи каталогу proc.

Тема 2. Віртуальна пам’ять в Windows

  1. Віртуальна пам’ять в Windows.
  2. Карта віртуальних адрес.
  3. Сторінкова організація.
  4. Атрибути сторінки.
  5. Моніторинг пам’яті в Windows.
  6. Віртуальний адресний простір процесу в Windows.
  7. Програма ProcessExplorer.

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

  1. Що таке віртуальна память?
  2. Віртуальна пам’ять та її організація
  3. Керування пам’яттю. Типи адрес
  4. Класифікація розподілів пам’яті без використання дискового простору.
  5. Класифікація розподілів пам’яті з використання дискового простору.
  6. Сегментний розподіл.
  7. Сторінковий розподіл.
  8. Адресація віртуальної пам'яті
  9. Прямий доступ до пам'яті (DMA)

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

До моніторингу пам'яті в Linux

До моніторингу пам'яті в Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

Екзамен

Ресурси

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

Базова

  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
  7. https://books.google.com.ua/books?id=doxiDwAAQBAJ&pg=PA94&lpg=PA94&dq=%D0%B1%D0%BB%D0%BE%D0%BA+%D0%B2+Linux&source=bl&ots=3B4wO6u6QA&sig=ACfU3U1NFD-eXCKPYgl-kPZjvZn-dYLiqw&hl=uk&sa=X&ved=2ahUKEwiL7Li8osflAhVRxMQBHemlBoY4ChDoATAIegQIBRAB#v=onepage&q=%D0%B1%D0%BB%D0%BE%D0%BA%20%D0%B2%20Linux&f=false

---