Мережні операційні системи

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.01.E.049
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: к.т.н., доц. каф. ЕОМ Бочкарьов Олексій Юрійович
Семестр: 7 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів чітке та систематизоване уявлення про архітектуру та призначення мережних операційних систем, принципи управління локальними та розподіленими ресурсами в паралельних комп’ютерних системах, а також про принципи побудови відповідного системного програмного забезпечення; надати навички управління та налагодження мережних операційних систем, їх служб та сервісів.
Завдання: Загальні компетентності: ЗК3. Здатність застосовувати знання у практичних ситуаціях. Фахові компетентності: ФК3. Здатність створювати системне та прикладне програмне забезпечення комп’ютерних систем та мереж. ФК6. Здатність проектувати, впроваджувати та обслуговувати комп’ютерні системи та мережі різного виду та призначення. ФК7. Здатність використовувати та впроваджувати нові технології, включаючи технології розумних, мобільних, зелених і безпечних обчислень, брати участь в модернізації та реконструкції комп’ютерних систем та мереж, різноманітних вбудованих і розподілених додатків, зокрема з метою підвищення їх ефективності. Фахові компетентності професійного спрямування. Блок 0100 «Комп’ютерні системи та мережі»: ФКС1.3. Здатність створювати програмне забезпечення комп’ютерних систем та мереж. ФКС1.6. Здатність брати участь у введенні в експлуатацію комп’ютерних систем та мереж на об’єктах різного призначення.
Результати навчання: Результати навчання відповідно до освітньої програми: ЗН3. Знати новітні технології в галузі комп’ютерної інженерії. УМ3. Вміти системно мислити та застосовувати творчі здібності до формування нових ідей. УМ4. Вміти застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення технічних задач спеціальності. Результати вивчення дисципліни: 1. знати загальні принципи побудови та функціонування мережних операційних систем; 2. знати основні функції мережних операційних систем та способи їх використання; 3. знати способи управління обчислювальними процесами та методи планування паралельного виконання процесів; 4. знати способи управління пам’яттю, пристроями вводу-виводу, файловими системами та мережною підсистемою; 5. вміти визначати основні параметри роботи мережних операційних систем, здійснювати моніторинг використання системних ресурсів, знаходити та виправляти помилки в роботі мережних операційних систем; 6. мати практичні навички роботи з основними службами, сервісами та системними утилітами мережних операційних систем сімейства UNIX/Linux.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні: Системне програмування, ч.2; Системне програмне забезпечення; Адміністрування комп'ютерних систем і мереж. Супутні: Захист інформації в комп'ютерних системах; Програмні технології інтернету речей.
Короткий зміст навчальної програми: Дисципліна “Мережні операційні системи” ставить на меті виробити у студентів чітке та систематизоване уявлення про архітектуру та призначення мережних операційних систем, принципи управління локальними та розподіленими ресурсами в паралельних комп’ютерних системах, а також про принципи побудови відповідного системного програмного забезпечення; надати навички управління та налагодження мережних операційних систем, їх служб та сервісів. В результаті освоєння учбового матеріалу дисципліни студенти повинні знати загальні принципи побудови та функціонування мережних операційних систем, розуміти концептуальні основи функціонування системних програмних засобів, що реалізують основну функціональність мережних операційних систем, вміти працювати з основними службами та сервісами мережних операційних систем сімейства UNIX/Linux. Для освоєння даної дисципліни необхідне знання таких дисциплін: “Системне програмування”, “Системне програмне забезпечення”, “Адміністрування комп'ютерних систем і мереж”.
Опис: 1. Призначення та архітектура ОС. Архітектура мережних операційних систем. Класифікація операційних систем. Основні функції операційних систем. Узагальнена архітектура операційної системи. Монолітне ядро. Мікроядерна архітектура. Віртуальні машини. Структура мережної операційної системи. Особливості мережної операційної системи. 2. Операційна система Linux. Організація роботи ОС Linux. Ядро та системні утиліти ОС Linux. Створення та розвиток ОС Linux. Принципи побудови ОС Linux. Ядро ОС Linux. Системні служби ОС Linux (Linux system utilities). Система управління пакетами. Оболонка (Shell) ОС Linux. Графічний інтерфейс користувача ОС Linux. Віконна підсистема X Window System (X11). Графічне середовище робочого стола (Desktop environment). Дистрибутиви ОС Linux. 3. Управління обчислювальними процесами. Організація обчислювальних процесів. Блок управління процесом (Process Control Block). Паралельне виконання обчислювальних процесів. Переключення контексту процесів (Context Switch). Запуск та зупинка процесів. Планування паралельного виконання обчислювальних процесів. Алгоритми планування (Scheduling algorithms). Оптимізація планування паралельного виконання ОП. Прив’язка ОП до процесора (Processor affinity). Планування паралельного виконання ОП в ОС UNIX. Планування паралельного виконання ОП в ОС Linux. Програмні потоки (threads). Взаємодія обчислювальних процесів. Синхронізація обчислювальних процесів та потоків. 4. Управління пам’яттю. Організація та способи управління пам’яттю. Принцип локальності звертань до пам’яті. Основні види локальності звертань до пам’яті. Управління кількістю сторінок виділених процесу. Механізм автоматичного управління пам’яттю. Недоліки та переваги автоматичного управління пам’яттю. Алгоритм позначок доступності об’єктів (mark and sweep). Алгоритм підрахунку посилань (reference counting). Алгоритм поколінь об’єктів (generational collection). 5. Управління вводом/виводом. Фізична організація пристроїв вводу/виводу. Організація програмного забезпечення вводу/виводу. Обробка переривань та драйвери пристроїв. Концепція контекстно-залежних обчислень. 6. Управління файловою системою. Поняття та класифікація файлових систем. Способи іменування файлів. Об’єкти файлової системи. Логічна організація файлу. Фізична організація файлу. Організація роботи файлової системи. Проблема фрагментації дискового простору. Негативні наслідки фрагментації. Вирішення проблеми фрагментації. Методи дефрагментації. Переваги та недоліки методів дефрагментації. Згладжування показників зношення блоків у твердотільних накопичувачах. 7. Мережна підсистема ОС. Призначення та структура мережної підсистеми ОС. Організація роботи мережної підсистеми ОС Linux. Відправка та отримання даних мережною підсистемою ОС Linux. Диспетчеризація пакетів даних в мережній підсистемі ОС Linux. Мережні інтерфейси в ОС Linux.
Методи та критерії оцінювання: Письмові звіти з лабораторних робіт, усне опитування (40%). Підсумковий контроль (60 %, контрольних захід, екзамен): письмово-усна форма (60%).
Критерії оцінювання результатів навчання: Семестрова оцінка виставляється за умови виконання студентом навчального плану. Семестрова оцінка формується з результатів поточного контролю виконання лабораторних робіт і семестрового тестування. Результат семестрового тестування є добутком результату семестрового тесту у віртуальному навчальному середовищі та коефіцієнта лекційних тестів у віртуальному навчальному середовищі. Максимальна оцінка в балах - 100. Поточний контроль (лаб. Роботи) - 40. Екзаменаційний контроль: письмова компонента - 50, усна компонента - 10.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, 10th Edition, Wiley, 2018. – 942 p. 2. Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, 4th Edition, Pearson, 2014. - 1136 p. 3. William Stallings, Operating Systems: Internals and Design Principles, 9th Edition, Pearson, 2017. - 800 p. 4. Andrew S Tanenbaum, Albert S. Woodhull, Operating Systems Design and Implementation, 3rd Edition, Pearson, 2006. - 1080 p. 5. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts Essentials, 2nd Edition, Wiley, 2013. – 784 p. 6. Thomas Anderson, Michael Dahlin, Operating Systems: Principles and Practice, 2nd Edition, 2014. - 690 p. 7. Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, CreateSpace Independent Publishing Platform, 2018. - 714 p. 8. Robert Love, Linux Kernel Development, 3rd edition, Addison-Wesley Professional, 2010. - 440 p. 9. Christopher Negus, Linux Bible, 10th Ed., Wiley, 2020. - 928 p. 10. William E. Shotts, The Linux Command Line: A Complete Introduction, 2nd ed., No Starch Press, 2019. - 504 p. 11. Michael Kerrisk, The Linux programming interface: a Linux and UNIX system programming handbook, No Starch Press, 2010. - 1556 p. 12. Brian Ward, How Linux Works: What Every Superuser Should Know, 3rd ed., No Starch Press, 2021. - 464 p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).

Мережні операційні системи

Спеціальність: Комп'ютерна інженерія
Код дисципліни: 6.123.02.E.063
Кількість кредитів: 4.00
Кафедра: Електронні обчислювальні машини
Лектор: к.т.н., доц. каф. ЕОМ Бочкарьов Олексій Юрійович
Семестр: 7 семестр
Форма навчання: денна
Мета вивчення дисципліни: Виробити у студентів чітке та систематизоване уявлення про архітектуру та призначення мережних операційних систем, принципи управління локальними та розподіленими ресурсами в паралельних комп’ютерних системах, а також про принципи побудови відповідного системного програмного забезпечення; надати навички управління та налагодження мережних операційних систем, їх служб та сервісів.
Завдання: Загальні компетентності: ЗК3. Здатність застосовувати знання у практичних ситуаціях. Фахові компетентності: ФК3. Здатність створювати системне та прикладне програмне забезпечення комп’ютерних систем та мереж. ФК6. Здатність проектувати, впроваджувати та обслуговувати комп’ютерні системи та мережі різного виду та призначення. ФК7. Здатність використовувати та впроваджувати нові технології, включаючи технології розумних, мобільних, зелених і безпечних обчислень, брати участь в модернізації та реконструкції комп’ютерних систем та мереж, різноманітних вбудованих і розподілених додатків, зокрема з метою підвищення їх ефективності. Фахові компетентності професійного спрямування. Блок 0100 «Комп’ютерні системи та мережі»: ФКС1.3. Здатність створювати програмне забезпечення комп’ютерних систем та мереж. ФКС1.6. Здатність брати участь у введенні в експлуатацію комп’ютерних систем та мереж на об’єктах різного призначення.
Результати навчання: Результати навчання відповідно до освітньої програми: ЗН3. Знати новітні технології в галузі комп’ютерної інженерії. УМ3. Вміти системно мислити та застосовувати творчі здібності до формування нових ідей. УМ4. Вміти застосовувати знання технічних характеристик, конструктивних особливостей, призначення і правил експлуатації програмно-технічних засобів комп’ютерних систем та мереж для вирішення технічних задач спеціальності. Результати вивчення дисципліни: 1. знати загальні принципи побудови та функціонування мережних операційних систем; 2. знати основні функції мережних операційних систем та способи їх використання; 3. знати способи управління обчислювальними процесами та методи планування паралельного виконання процесів; 4. знати способи управління пам’яттю, пристроями вводу-виводу, файловими системами та мережною підсистемою; 5. вміти визначати основні параметри роботи мережних операційних систем, здійснювати моніторинг використання системних ресурсів, знаходити та виправляти помилки в роботі мережних операційних систем; 6. мати практичні навички роботи з основними службами, сервісами та системними утилітами мережних операційних систем сімейства UNIX/Linux.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Попередні: Системне програмування, ч.2; Системне програмне забезпечення; Адміністрування комп'ютерних систем і мереж. Супутні: Захист інформації в комп'ютерних системах; Програмні технології інтернету речей.
Короткий зміст навчальної програми: Дисципліна “Мережні операційні системи” ставить на меті виробити у студентів чітке та систематизоване уявлення про архітектуру та призначення мережних операційних систем, принципи управління локальними та розподіленими ресурсами в паралельних комп’ютерних системах, а також про принципи побудови відповідного системного програмного забезпечення; надати навички управління та налагодження мережних операційних систем, їх служб та сервісів. В результаті освоєння учбового матеріалу дисципліни студенти повинні знати загальні принципи побудови та функціонування мережних операційних систем, розуміти концептуальні основи функціонування системних програмних засобів, що реалізують основну функціональність мережних операційних систем, вміти працювати з основними службами та сервісами мережних операційних систем сімейства UNIX/Linux. Для освоєння даної дисципліни необхідне знання таких дисциплін: “Системне програмування”, “Системне програмне забезпечення”, “Адміністрування комп'ютерних систем і мереж”.
Опис: 1. Призначення та архітектура ОС. Архітектура мережних операційних систем. Класифікація операційних систем. Основні функції операційних систем. Узагальнена архітектура операційної системи. Монолітне ядро. Мікроядерна архітектура. Віртуальні машини. Структура мережної операційної системи. Особливості мережної операційної системи. 2. Операційна система Linux. Організація роботи ОС Linux. Ядро та системні утиліти ОС Linux. Створення та розвиток ОС Linux. Принципи побудови ОС Linux. Ядро ОС Linux. Системні служби ОС Linux (Linux system utilities). Система управління пакетами. Оболонка (Shell) ОС Linux. Графічний інтерфейс користувача ОС Linux. Віконна підсистема X Window System (X11). Графічне середовище робочого стола (Desktop environment). Дистрибутиви ОС Linux. 3. Управління обчислювальними процесами. Організація обчислювальних процесів. Блок управління процесом (Process Control Block). Паралельне виконання обчислювальних процесів. Переключення контексту процесів (Context Switch). Запуск та зупинка процесів. Планування паралельного виконання обчислювальних процесів. Алгоритми планування (Scheduling algorithms). Оптимізація планування паралельного виконання ОП. Прив’язка ОП до процесора (Processor affinity). Планування паралельного виконання ОП в ОС UNIX. Планування паралельного виконання ОП в ОС Linux. Програмні потоки (threads). Взаємодія обчислювальних процесів. Синхронізація обчислювальних процесів та потоків. 4. Управління пам’яттю. Організація та способи управління пам’яттю. Принцип локальності звертань до пам’яті. Основні види локальності звертань до пам’яті. Управління кількістю сторінок виділених процесу. Механізм автоматичного управління пам’яттю. Недоліки та переваги автоматичного управління пам’яттю. Алгоритм позначок доступності об’єктів (mark and sweep). Алгоритм підрахунку посилань (reference counting). Алгоритм поколінь об’єктів (generational collection). 5. Управління вводом/виводом. Фізична організація пристроїв вводу/виводу. Організація програмного забезпечення вводу/виводу. Обробка переривань та драйвери пристроїв. Концепція контекстно-залежних обчислень. 6. Управління файловою системою. Поняття та класифікація файлових систем. Способи іменування файлів. Об’єкти файлової системи. Логічна організація файлу. Фізична організація файлу. Організація роботи файлової системи. Проблема фрагментації дискового простору. Негативні наслідки фрагментації. Вирішення проблеми фрагментації. Методи дефрагментації. Переваги та недоліки методів дефрагментації. Згладжування показників зношення блоків у твердотільних накопичувачах. 7. Мережна підсистема ОС. Призначення та структура мережної підсистеми ОС. Організація роботи мережної підсистеми ОС Linux. Відправка та отримання даних мережною підсистемою ОС Linux. Диспетчеризація пакетів даних в мережній підсистемі ОС Linux. Мережні інтерфейси в ОС Linux.
Методи та критерії оцінювання: Письмові звіти з лабораторних робіт, усне опитування (40%). Підсумковий контроль (60 %, контрольних захід, екзамен): письмово-усна форма (60%).
Критерії оцінювання результатів навчання: Семестрова оцінка виставляється за умови виконання студентом навчального плану. Семестрова оцінка формується з результатів поточного контролю виконання лабораторних робіт і семестрового тестування. Результат семестрового тестування є добутком результату семестрового тесту у віртуальному навчальному середовищі та коефіцієнта лекційних тестів у віртуальному навчальному середовищі. Максимальна оцінка в балах - 100. Поточний контроль (лаб. Роботи) - 40. Екзаменаційний контроль: письмова компонента - 50, усна компонента - 10.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, 10th Edition, Wiley, 2018. – 942 p. 2. Andrew S. Tanenbaum, Herbert Bos, Modern Operating Systems, 4th Edition, Pearson, 2014. - 1136 p. 3. William Stallings, Operating Systems: Internals and Design Principles, 9th Edition, Pearson, 2017. - 800 p. 4. Andrew S Tanenbaum, Albert S. Woodhull, Operating Systems Design and Implementation, 3rd Edition, Pearson, 2006. - 1080 p. 5. Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts Essentials, 2nd Edition, Wiley, 2013. – 784 p. 6. Thomas Anderson, Michael Dahlin, Operating Systems: Principles and Practice, 2nd Edition, 2014. - 690 p. 7. Remzi Arpaci-Dusseau, Andrea Arpaci-Dusseau, Operating Systems: Three Easy Pieces, CreateSpace Independent Publishing Platform, 2018. - 714 p. 8. Robert Love, Linux Kernel Development, 3rd edition, Addison-Wesley Professional, 2010. - 440 p. 9. Christopher Negus, Linux Bible, 10th Ed., Wiley, 2020. - 928 p. 10. William E. Shotts, The Linux Command Line: A Complete Introduction, 2nd ed., No Starch Press, 2019. - 504 p. 11. Michael Kerrisk, The Linux programming interface: a Linux and UNIX system programming handbook, No Starch Press, 2010. - 1556 p. 12. Brian Ward, How Linux Works: What Every Superuser Should Know, 3rd ed., No Starch Press, 2021. - 464 p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).