Операційні системи, 3 курс,  КН

|
Операційні системи, 3 курс,  КН
Курс знайомить студентів із основними абстракціями та  компонентами операційних систем, принципами їх функціонування та способами взаємодії із  ними.  Мета та цілі курсу: оскільки більшість прикладних комп’ютерних систем покладаються на ті  чи інші операційні системи, розуміти їх особливості та організацію важливо для ефективного  використання на всіх рівнях – від користувачів та системних адміністраторів до розробників  вбудовуваного, прикладного, високопродуктивного чи системного програмного забезпечення.  Прослухавши цей курс, студенти зможуть більш ефективно взаємодіяти із комп’ютером на  цих рівнях. Формат курсу: лекцій, практичні заняття, консультації, робота над проектами, іспит у формі  усної співбесіди. В процесі курсу студенти ознайомляться із:  Ключовими поняттями та абстракціями операційних систем: процес, динамічна  бібліотека, віртуальна пам’ять, системний виклик, драйвер тощо. Основними підсистемами операційних систем, їх структурою та принципами  функціонування: диспетчером задач, менеджером пам’яті, файловими системами,  засобами вводу-виводу тощо.  Принципами написання коду режиму ядра та створення драйверів.   Способами побудови інтерфейсів користувача, зокрема – консольних та GUI, з точки  зору операційної системи.  Системним програмуванням систем, що відповідають стандарту POSIX, як  синхронного, так і асинхронного: робота із файлами, керування процесами та  потоками, засоби IPC (Inter-process communication), діагностика стану системи. Особливостями операційних систем реального часу.  По ключових темах виконуватимуться практичні завдання: 
  • Створення скриптів bash та інших командних оболонок.  
  • Робота із навчальною операційною системою xv6. 
  • Використання файлових системних викликів для створення аналогу утиліти cat.
  • Розробка простого командного інтерпретатора. 
  • Створення аналогу утиліти ls. 
  • Розширення командного інтерпретатора – підтримка перенаправлення, конвеєр, фонове  виконання програм. 
  • Розширення командного інтерпретатора – підтримка мережевого під’єднання.
  • Робота із бінарними даними на прикладі читання образу диску FS FAT16/FAT32/ext2  FS. 
  • Створення простого модуля ядра Linux для Raspberry Pi. 
  • Пропонується також серія додаткових завдань для поглибленого вивчення окремих  тем. 
Крім того, студенти проектують та реалізовують ті чи інші програмні рішення чи цифрові  пристрої в рамках семестрового проекту.  

Про факультет

Важлива інформація

Контактна інформація