Відмінності між версіями «Навчальний курс "Сучасні операційні системи" (для освітньо-кваліфікаційного рівня "магістр")»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Учасники)
 
(не показано 44 проміжні версії 2 учасників)
Рядок 2: Рядок 2:
  
 
=Назва курсу=
 
=Назва курсу=
'''Сучасні операційні системи'''
+
<p><b><font  face="serif" size="5" color="red">Сучасні операційні системи</font></b></p>
 
----  
 
----  
Галузь знань '''12 Інформаційні технології''',  спеціальності '''122 Комп'ютерні науки та інформаційні технології'''
+
Галузь знань: '''12 Інформаційні технології'''
  
освітньо-кваліфікаційний рівень: '''магістр'''
+
Спеціальність: '''122 Комп'ютерні науки та інформаційні технології'''
 +
 
 +
Освітньо-кваліфікаційний рівень: '''магістр'''
  
 
==Мета та завдання навчального курсу==
 
==Мета та завдання навчального курсу==
Рядок 12: Рядок 14:
  
 
'''Завдання''': розглянути сучасний стан розвитку операційних систем Microsoft Windows, GNU Linux (Ubuntu) та Android, тенденції розвитку, новітні дослідження. Сформувати у студентів навички роботи в середовищі Microsoft Windows, GNU Linux (Ubuntu) та Android. Показати переваги і недоліки цих систем. Ознайомити студентів з інструментаріями операційних систем, що вивчаються. Навести приклади використання, ознайомити з відповідним програмним забезпеченням. Дати уявлення про роботу адміністратора системи.
 
'''Завдання''': розглянути сучасний стан розвитку операційних систем Microsoft Windows, GNU Linux (Ubuntu) та Android, тенденції розвитку, новітні дослідження. Сформувати у студентів навички роботи в середовищі Microsoft Windows, GNU Linux (Ubuntu) та Android. Показати переваги і недоліки цих систем. Ознайомити студентів з інструментаріями операційних систем, що вивчаються. Навести приклади використання, ознайомити з відповідним програмним забезпеченням. Дати уявлення про роботу адміністратора системи.
 +
 +
[[Файл:Microsoft-80658 960 720.png|300пкс|праворуч]]
 +
[[Файл:Linux wallpaper 1 1 by technokoopa-650x367.png|300пкс|праворуч]]
 +
[[Файл:Android логотип.jpg|300пкс|праворуч]]
  
 
У результаті вивчення навчальної дисципліни студент повинен '''знати:'''
 
У результаті вивчення навчальної дисципліни студент повинен '''знати:'''
Рядок 54: Рядок 60:
  
  
[https://owncloud.kspu.kr.ua/index.php/s/u1mhu6zActytYLs Робоча програма курсу]
+
[https://owncloud.kspu.kr.ua/index.php/s/VQDxhfVhyjppkoX Робоча програма курсу]
  
 
==Автор курсу==
 
==Автор курсу==
Рядок 62: Рядок 68:
  
 
=Учасники=
 
=Учасники=
[[Сторінка координування курсу "Назва курсу"]] викладач
+
[[Сторінка координування курсу "Сучасні_операційні_системи"("магістр")]]
  
  
Рядок 68: Рядок 74:
  
 
=Графік навчання=
 
=Графік навчання=
 +
 +
 
==Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows.==
 
==Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows.==
 +
[[Файл:Icon-set-626712 960 720.png|300пкс|праворуч]]
 
Тема 1. Означення операційної системи. Еволюція операційних систем. Тенденції розвитку. Класифікації ОС. ОС, як розширена машина. ОС, як система керування ресурсами. ОС, як віртуальна машина. ОС, як ядро. Сучасні тенденції розвитку ринку операційних систем. Види класифікацій операційних систем. Рівні програмного забезпечення операційної системи.
 
Тема 1. Означення операційної системи. Еволюція операційних систем. Тенденції розвитку. Класифікації ОС. ОС, як розширена машина. ОС, як система керування ресурсами. ОС, як віртуальна машина. ОС, як ядро. Сучасні тенденції розвитку ринку операційних систем. Види класифікацій операційних систем. Рівні програмного забезпечення операційної системи.
  
Рядок 74: Рядок 83:
  
 
==Змістовий модуль 2. Процеси та потоки. Управління, планування і синхронізація. Права.==
 
==Змістовий модуль 2. Процеси та потоки. Управління, планування і синхронізація. Права.==
 +
 
Тема 1. Поняття «процес». Стани процесів. Контекст і дескриптор процесу. Діаграми станів. Операції над процесами. Модель 3-х (5-ти) станів. Структура процесу. Перемикання процесів. Часова діаграма перемикання процесів. Вивчення кодів ядра, файл fork.c.
 
Тема 1. Поняття «процес». Стани процесів. Контекст і дескриптор процесу. Діаграми станів. Операції над процесами. Модель 3-х (5-ти) станів. Структура процесу. Перемикання процесів. Часова діаграма перемикання процесів. Вивчення кодів ядра, файл fork.c.
  
Рядок 82: Рядок 92:
 
Тема 4. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Microsoft Windows. Класифікація багато поточних систем. Структура процесу в Microsoft Windows. Діаграма станів потоків в Microsoft Windows. Моніторинг процесів. Стани процесів. Організація демо-прикладів. Набір програм від sysinternals.com.
 
Тема 4. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Microsoft Windows. Класифікація багато поточних систем. Структура процесу в Microsoft Windows. Діаграма станів потоків в Microsoft Windows. Моніторинг процесів. Стани процесів. Організація демо-прикладів. Набір програм від sysinternals.com.
  
Тема 5. Алгоритми планування. FCFS. Round Robin. Пріоритетне планування. SJF. Організація багаторівневих черг. Проблема синхронізації. Ефект гонок. Критична секція. Методи боротьби з критичними секціями.  
+
Тема 5. Алгоритми планування. FCFS. Round Robin. Пріоритетне планування. SJF. Організація багаторівневих черг. Проблема синхронізації. Ефект гонок. Критична секція. Методи боротьби з критичними секціями.
  
 
==Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю.==
 
==Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю.==
Рядок 104: Рядок 114:
 
=Зміст курсу=
 
=Зміст курсу=
 
==Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows==
 
==Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows==
 +
[[Файл:Дистрибутивы ОС Linux.png|300пкс|праворуч]]
 +
[[Файл:Window-1231890 960 720.jpg|300пкс|праворуч]]
  
 
====Теоретичний матеріал====
 
====Теоретичний матеріал====
Рядок 112: Рядок 124:
  
 
====Практичні завдання====
 
====Практичні завдання====
[[Лаб ОС 1|Інсталяція робочої станції]]
+
[[Лаб СОС маг 1|Практична робота №1. Інсталяція робочої станції]]
  
 
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
 
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
Рядок 126: Рядок 138:
  
 
====Теоретичний матеріал====
 
====Теоретичний матеріал====
 +
[[Файл:Ubuntu-logo-8651 960 720.png| 300пкс|праворуч]]
 
# [[Процеси та їх стани]]
 
# [[Процеси та їх стани]]
 
# [[Стани процесів]]
 
# [[Стани процесів]]
Рядок 135: Рядок 148:
 
# [[Нитки]]
 
# [[Нитки]]
 
# [[Потоки та нитки в Microsoft Windows]]
 
# [[Потоки та нитки в Microsoft Windows]]
# [[Потоки в Microsoft Windows.]]
 
 
# [[Алгоритми планування процесів у сучасних ОС.]]
 
# [[Алгоритми планування процесів у сучасних ОС.]]
# *[[1. First-Come, First-Served (FCFS) ]]  
+
#*[[1. First-Come, First-Served (FCFS) ]]  
# *[[2. Round Robin (RR)]]  
+
#*[[2. Round Robin (RR)]]  
# *[[3. Shortest-Job-First (SJF)]]   
+
#*[[3. Shortest-Job-First (SJF)]]   
# *[[4. Пріоритетне планування]]   
+
#*[[4. Пріоритетне планування]]   
# *[[5. Багаторівневі черги із зворотним зв'язком (Multilevel Feedback Queue)]]
+
#*[[5. Багаторівневі черги із зворотним зв'язком (Multilevel Feedback Queue)]]
 
# [[Проблема синхронізації]]
 
# [[Проблема синхронізації]]
# !!!![[Ефект гонок]]
+
# [[Ефект гонок]]
 
# [[Критична секція]]
 
# [[Критична секція]]
 
# [[Тема 10. Тупик.|Тупик]]
 
# [[Тема 10. Тупик.|Тупик]]
Рядок 151: Рядок 163:
  
 
====Практичні завдання====
 
====Практичні завдання====
 +
[[Лаб СОС маг 2|Практична робота №2. Процеси в GNU Linux (Ubuntu)]]
 +
 +
[[Лаб СОС маг 3|Практична робота №3. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Microsoft Windows]]
 +
 +
<!--[[Практична робота №4. Алгоритми планування (для освітньо-кваліфікаційного рівня "магістр")|Практична робота №4. Алгоритми планування]]-->
  
  
Рядок 156: Рядок 173:
  
  
 +
[[До моніторингу процесів в Linux]]
  
==Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю==
+
[[Тема 13. Моделювання станів процесів в Windows | До моніторингу процесів в Windows]]
  
 +
==Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю==
 +
[[Файл:Linux-151619 960 720.png|300пкс|праворуч]]
 
====Теоретичний матеріал====
 
====Теоретичний матеріал====
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №1]
+
# [[Що таке віртуальна память?]]
 +
# [[Віртуальна пам’ять та її організація]]
 +
# [[Керування пам’яттю. Типи адрес]]
 +
# [[Класифікація розподілів пам’яті без використання дискового простору.]]
 +
# [[Класифікація розподілів пам’яті з використання дискового простору.]]
 +
# [[Бакуменко Володимир - "Сегментний розподіл"|Сегментний розподіл.]]
 +
# [[Бакуменко Володимир - "Сторінковий розподіл"|Сторінковий розподіл.]]
 +
# [[Адресація віртуальної пам'яті]]
 +
# [[Тема 8. Прямий доступ до пам'яті (DMA).|Прямий доступ до пам'яті (DMA)]]
  
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №2]
+
====Практичні завдання====
 +
[[Лаб СОС маг 5|Практична робота №5. Віртуальна пам'ять в GNU Linux (Ubuntu)]]
 +
 
 +
[[Лаб СОС маг 6|Практична робота №6. Віртуальна пам’ять в Microsoft Windows]]
  
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №3]
 
  
====Практичні завдання====
 
 
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
 
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
 +
[[До моніторингу пам'яті в Linux]]
  
==Змістовий модуль 4. Ввод-вивід==
+
[[До моніторингу пам'яті в Windows]]
  
 +
==Змістовий модуль 4. Ввод-вивід==
 +
[[Файл:Hard-159264 960 720.png|300пкс|праворуч]]
 
====Теоретичний матеріал====
 
====Теоретичний матеріал====
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №1]
+
# [[Керування вводом-виводом]]
 +
# [[Програмне забезпечення вводу-вивод]]
 +
# [[Фізична організація пристроїв вводу-виводу. Класифікації]]
 +
# [[Тема 3. Дискове планування.|Дискове планування]]
 +
# [[Робота із жорсткими дисками в Linux]]
 +
# [[SSD накопичувачі]]
 +
# [[Робота із жорсткими дисками. SSD накопичувачі]]
 +
# [[Зузоліна Анастасія Сергіївна|RAID]]
 +
# [[Петленко Меланія 54 гр. 2013 р.|RAID. Класифікація та рівні]]
 +
# [[2. Архітектура файлової системи|Архітектура файлової системи]]
 +
# [[Чінчой Анна Файли|Файлова система Microsoft Windows]]
 +
# [[Керування файлами в linux|Керування файлами в GNU Linux (Ubuntu)]]
  
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №2]
 
 
[https://owncloud.kspu.kr.ua/index.php/s/4C5hSXyOOt0R5DT Лекція №3]
 
  
 
====Практичні завдання====
 
====Практичні завдання====
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
 
  
 +
[[Лаб СОС маг 7|Практична робота №7. Керування вводом-виводом.Дискове планування]]
 +
 +
<p><b><font  face="serif" size="4" color="#8B3A3A">Завдання для самостійного опрацювання та методичні рекомендації</font></b></p>
 +
[[До створення файлових систем]]
 
----
 
----
 +
[[Файл:Windows-vs-linux.jpg|300пкс|праворуч]]
 +
 +
==Матеріали для самостійного опрацювання==
 +
# [[Операційнa системa Windows]]
 +
# [[Класифікація Операційних Систем ]]
 +
# [[Встановлення  Windows XP на VirtualBox]]
 +
# [[Встановлення Linux Ubuntu на віртуальну машину]]
 +
# [[Основні можливості віртуальних машин]]
 +
# [[Сучасні мобільні операційні системи]]
 +
# [[Операційна система реального часу]]
 +
# [[Алгоритми синхронізації]]
 +
# [[Що краще: Windows або Linux? ]]
 +
# [[Склад операційної системи і призначення компонент]]
 +
# [[Android 5.0 Lollipop]]
 +
# [[Управління процесами в Linux]]
 +
# [[Об'єкти USER і GDI]]
 +
# [[Архітектура пам'яті в Windows: міфи і легенди]]
 +
# [[Прихована операційна система смартфонів]]
 +
# [[Базова архітектура UNIX]]
 +
# [[Як створити новий розділ диску за допомогою Gparted]]
 +
# [[Вірус Linux.Wifatch захищає маршрутизатори від злому]]
 +
# [[Створення SWAP-файла в Ubuntu]]
 +
  
=Ресурси=
 
 
==Рекомендована література==
 
==Рекомендована література==
 
===Базова===
 
===Базова===
#
+
# Армстронг Д., мл. Секреты Unix.– 2-е изд.: пер. с англ. СПБ.: Диалектика, 2000 – 1072с.
#
+
# Белломо М. Unix:Наглядный курс освоения операционной системы: Пер. с англ. М.:Вильямс, 2001 – 336с.
#
+
# Брелсфорд Г. Секреты Windows 2000 server. – : Пер. с англ. М.: Диалектика 2000  – 768с. 
 
+
# Бондаренко, М. Ф. Операційні системи : навч. посіб. для студ. ВНЗ / М. Ф. Бондаренко, О. Г. Качко. - Х. : Компанія СМІТ, 2008. - 432 с. 
 +
# Вишневский А. Сетевые технологии Windows 2000 для профессионалов Спб.: Питер 2000 – 592с.
 +
# Грайворонський М.В., Новіков О.М. Безпека інформаційно-комунікаційних систем. К.: Видавнича група BHV 2009 – 608c.
 +
# Дегтярев Е.К. Введение в UNIX М.: Память 1991 – 96с.
 +
# Дунаев С. Unix-сервер. Настройка, конфигурирование, работа в операционной среде, Internet-возможности. В 2-х т. И настройка основных сетевых служб. М.: ДИАЛОГ-МИФИ 1999 – 304 с. 
 +
# Дэвис П.Т., Льюис Б.Д. Освой самостоятельно Microsoft Windows 2000 Server за 21 день: пер. с англ. Вильямс 2000 – 832с.
 +
# Інформатика. Комп’ютерна техніка. Комп’ютерні технології : підруч. для студ. ВНЗ / авт. кол. : В. А. Баженов [та ін.]. - 2-е вид. - К. : Каравела, 2008. - 640 с. 
 +
# Карлинг М., Деглер С., Деннис Д. Системное администрирование Linux: Пер. с англ. – М.: К.: СПб.: Вильямс 2003 – 320с.
 +
# Кокорева О. И. Реестр Windows 2000 СПб.: БХВ – Санкт-Петербург 2000 – 352с.
 +
# Макклуре С. и др. Секреты хакеров. Проблемы и решения сетевой защиты: Пер. с англ. М.: ЛОРИ 2001 – 434с. 
 +
# МакМален Дж. UNIX: Пер. с англ. /Компьютерный мир ХХI века/. М.: ЮНИТИ 1996 – 368с. 
 +
# МакМален Дж. Максимальная безопасность в Linux: Руководство по защите серверов и рабочих станций Linux, написанное хакером/ Анонимный автор: Пер. с англ. К.: ДиаСофт 2000 – 400с. 
 +
# Марченко А. И., Марченко Л. А. Microsoft Windows 2000 Server. Учеб. Курс MCSE: Пер. с англ. – 2-е изд., перераб. М.: Рус. Ред., 2001. – 912с.
 +
# Nelson, Stephen. Windows NT 4 for Busy People / S. L. Nelson. - Osborne : McGraw-Hill, 1996. - 258 p.
 +
# Негус К. Red Hat Linux? Библия пользователя: Пер. с англ. М.:Вильямс 2002 – 832с.
 +
# Олифер В.Г. Сетевые операционные системы. СПб.:Питер 2005 – 539с.
 +
# Паркер Т. Linux 5.2: Энциклопедия пользователя: Пер. с англ. К.: ДиаСофт 1999 – 688с. 
 +
# Петцке К. LINUX. От понимания к применению: Пер. с нем. М.: ДМК 2000 – 576с.
 +
# Рэй Д., Рэй В. Освой самостоятельно системное администрирование Unix за 21 день: Пер. с анг. М.: Вильямс 2000 – 608с. 
 +
# Скловская С. Команды Linux: Справочник. М, СПб.: Diacoft 2001 – 688с. 
 +
# Сокольский М. Операционная система Windows-2000 Professional для профессионала. /Серия «Справ.рук. пользователя персон. Компьютера»»/. М.: Познавательная книга плюс 2000 – 656с.
 +
# Сэри П. Сервер Red Hat Linuх для Windows. Пер. с англ. К.: ДиаСофт 2001 – 400с. 
 +
# Такет Дж., Барнет Стив Использование Linux. Специальное издание.: 5-е.: Пер. с англ.: Уч. Пос.-М.: Издательский дом "Вильямс" -М.: Издательский дом "Вильямс" 2000 –– 784 с.
 +
# Таненбаум Э. Современные операционные системы  СПб: Питер 2004 – 1040с.
 +
# Харт Дж. М. Системное программирование в среде Win. Руководство разработчика приложений для системы Windows 2000  М.: СПб:К.:"Вильямс" 2001
 +
# Хэвиленд К. и др. Системное программирование в UNIX. Руководство программиста по разработке ПО: Пер. с англ./Серия «Для программистов»/ М.: ДМК 2000 – 368 с.
 +
# Хэн Х. Руководство по Unix для студентов: На англ. яз. Нью-Йорк 1993 – 633 с. 
 +
# Hahn H. A. Student’s Guard to Unix. New York: McGraw. –Hill, Inc. 1993 – 633 p.
  
 
===Допоміжна===
 
===Допоміжна===
#
+
# Кай Петцке “Linux от понимания к применению”., М,-2000.
#
+
# Кристофер Негус “ Red Hat Linux 7. Библия пользователя”, Диалектика, 2002
#
+
# Мохаммед Д. Кабир, “Red Hat Linux 6 Server”, изд. Лори, 2001
 +
# Питер Кью Использование Unix К.: изд. Вильямс 1999, 619 с.
 +
# Пол Сэри “Сервер Red Hat Linux” для Windows, Diasoft 2001
 +
# Томас Шенк “Red Hat Linux для системных администраторов“ М.: Диасофт 2001, 660 с.
  
 
==Інформаційні ресурси==
 
==Інформаційні ресурси==
 
+
# Вікі-портал КДПУ : http://wiki.kspu.kr.ua
#
+
# Медведовский И. Программные средства проверки и создания политики безопасности, соответствующей требованиям международного стандарта управления информационной безопасностью ISO 17799 http://nt.com.ua/info/dsec/politics.shtml
#
+
# Украинский Linux-портал http://lin.in.ua
 +
# Учебный центр «Сетевые технологии» http://www.nt.com.ua/about/pr.shtml
  
 
---
 
---
 
[[Категорія:Навчальні курси]]
 
[[Категорія:Навчальні курси]]

Поточна версія на 10:42, 17 січня 2020


Зміст

Назва курсу

Сучасні операційні системи


Галузь знань: 12 Інформаційні технології

Спеціальність: 122 Комп'ютерні науки та інформаційні технології

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

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

Мета викладання дисципліни – сформувати у студентів уявлення про сучасні вимоги до операційних систем, тенденції їх еволюції. Забезпечити студентів знаннями, які необхідні для розуміння і визначення завдань, послідовність їх вирішення, які пов’язані з операційними системами та їх розвитком. На прикладі операційних систем сімейств Microsoft Windows, GNU Linux (Ubuntu) та Android вивчаються системи керування процесами, керування пам’яттю, робота файлових систем, системи керування вводом-виводом.

Завдання: розглянути сучасний стан розвитку операційних систем Microsoft Windows, GNU Linux (Ubuntu) та Android, тенденції розвитку, новітні дослідження. Сформувати у студентів навички роботи в середовищі Microsoft Windows, GNU Linux (Ubuntu) та Android. Показати переваги і недоліки цих систем. Ознайомити студентів з інструментаріями операційних систем, що вивчаються. Навести приклади використання, ознайомити з відповідним програмним забезпеченням. Дати уявлення про роботу адміністратора системи.

Microsoft-80658 960 720.png
Linux wallpaper 1 1 by technokoopa-650x367.png
Android логотип.jpg

У результаті вивчення навчальної дисципліни студент повинен знати:

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

вміти:

  • визначати клас операційної системи;
  • інсталювати віртуальну машину у Microsoft Windows, GNU Linux (Ubuntu) та Android;
  • визначати стан процесів операційної системи;
  • керувати процесами у середовищі операційної системи;
  • визначати стан потоків операційної системи Microsoft Windows, GNU Linux (Ubuntu) та Android;
  • використовувати алгоритми планування;
  • організовувати багаторівневі черги;
  • визначати найефективніший метод боротьби з критичними секціями;
  • визначати адресацію віртуальної пам’яті в середовищі ОС;
  • визначати карту віртуальних адрес;
  • моніторити пам’ять у Microsoft Windows, GNU Linux (Ubuntu) та Android;
  • організовувати фізично та програмно роботу пристроїв вводу-виводу;
  • проводити дискове планування;
  • організовувати та моніторити системи стопінгу.


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

Автор курсу

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


Учасники

Сторінка координування курсу "Сучасні_операційні_системи"("магістр")



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

Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows.

Icon-set-626712 960 720.png

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

Тема 2. Віртуальні машини. Інсталяція GNU Linux (Ubuntu) у віртуальній машині. Інсталяція Microsoft Windows у віртуальній машині. Інсталяція Android у віртуальній машині.

Змістовий модуль 2. Процеси та потоки. Управління, планування і синхронізація. Права.

Тема 1. Поняття «процес». Стани процесів. Контекст і дескриптор процесу. Діаграми станів. Операції над процесами. Модель 3-х (5-ти) станів. Структура процесу. Перемикання процесів. Часова діаграма перемикання процесів. Вивчення кодів ядра, файл fork.c.

Тема 2. Процеси в GNU Linux (Ubuntu). Стани процесів. Опис. Керування процесами. Системна функція fork(). Моніторинг процесів в системі. Команда ps. Програми top, htop, pstree. Організація демо-прикладів. Коди ядра, файли proc.h, swap.c.

Тема 3. Процеси в Android. Стани процесів. Опис. Керування процесами. Системна функції. Моніторинг процесів в системі. Коди ядра.

Тема 4. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Microsoft Windows. Класифікація багато поточних систем. Структура процесу в Microsoft Windows. Діаграма станів потоків в Microsoft Windows. Моніторинг процесів. Стани процесів. Організація демо-прикладів. Набір програм від sysinternals.com.

Тема 5. Алгоритми планування. FCFS. Round Robin. Пріоритетне планування. SJF. Організація багаторівневих черг. Проблема синхронізації. Ефект гонок. Критична секція. Методи боротьби з критичними секціями.

Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю.

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

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

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

Тема 4. Віртуальна пам'ять в Android. Адресація віртуальної пам’яті в Android. Розподіл сторінок. Розподіл пам’яті ядра. Моніторинг пам’яті в Android. Віртуальний адресний простір процесу в Android.

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

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

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

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


Зміст курсу

Змістовий модуль 1. Сучасні операційні системи сімейства Linux та Windows

Дистрибутивы ОС Linux.png
Window-1231890 960 720.jpg

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

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

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

Практична робота №1. Інсталяція робочої станції

Завдання для самостійного опрацювання та методичні рекомендації

  1. Інсталяція GNU Linux (Ubuntu) у віртуальній машині.
  2. Інсталяція Microsoft Windows у віртуальній машині.
  3. Інсталяція Android у віртуальній машині.

Змістовий модуль 2. Процеси та потоки. Управління, планування і синхронізація. Права

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

Ubuntu-logo-8651 960 720.png
  1. Процеси та їх стани
  2. Стани процесів
  3. Призупиненні процеси
  4. Контекст і дескриптор процесу. Перемикання процесів
  5. Керування процесами і роботами в Linux
  6. Моделювання станів процесів в Linux засобами мови програмування С.
  7. Процеси та їх приоритети (Windows). Створення та завершення процесів у Windows.
  8. Нитки
  9. Потоки та нитки в Microsoft Windows
  10. Алгоритми планування процесів у сучасних ОС.
  11. Проблема синхронізації
  12. Ефект гонок
  13. Критична секція
  14. Тупик
  15. Багатопроцесорні системи
  16. Реалізація планування в Linux
  17. Моделювання станів процесів в Windows

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

Практична робота №2. Процеси в GNU Linux (Ubuntu)

Практична робота №3. Потоки. Стани потоків. Багатопоточність. Потоки та нитки в Microsoft Windows


Завдання для самостійного опрацювання та методичні рекомендації


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

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

Змістовий модуль 3. Методи, алгоритми і засоби управління пам'яттю

Linux-151619 960 720.png

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

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

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

Практична робота №5. Віртуальна пам'ять в GNU Linux (Ubuntu)

Практична робота №6. Віртуальна пам’ять в Microsoft Windows


Завдання для самостійного опрацювання та методичні рекомендації

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

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

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

Hard-159264 960 720.png

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

  1. Керування вводом-виводом
  2. Програмне забезпечення вводу-вивод
  3. Фізична організація пристроїв вводу-виводу. Класифікації
  4. Дискове планування
  5. Робота із жорсткими дисками в Linux
  6. SSD накопичувачі
  7. Робота із жорсткими дисками. SSD накопичувачі
  8. RAID
  9. RAID. Класифікація та рівні
  10. Архітектура файлової системи
  11. Файлова система Microsoft Windows
  12. Керування файлами в GNU Linux (Ubuntu)


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

Практична робота №7. Керування вводом-виводом.Дискове планування

Завдання для самостійного опрацювання та методичні рекомендації

До створення файлових систем


Windows-vs-linux.jpg

Матеріали для самостійного опрацювання

  1. Операційнa системa Windows
  2. Класифікація Операційних Систем
  3. Встановлення Windows XP на VirtualBox
  4. Встановлення Linux Ubuntu на віртуальну машину
  5. Основні можливості віртуальних машин
  6. Сучасні мобільні операційні системи
  7. Операційна система реального часу
  8. Алгоритми синхронізації
  9. Що краще: Windows або Linux?
  10. Склад операційної системи і призначення компонент
  11. Android 5.0 Lollipop
  12. Управління процесами в Linux
  13. Об'єкти USER і GDI
  14. Архітектура пам'яті в Windows: міфи і легенди
  15. Прихована операційна система смартфонів
  16. Базова архітектура UNIX
  17. Як створити новий розділ диску за допомогою Gparted
  18. Вірус Linux.Wifatch захищає маршрутизатори від злому
  19. Створення SWAP-файла в Ubuntu


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

Базова

  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

---