UA / EN
Освіта

Каталог вибіркових навчальних дисциплін


Системне програмування під ОС Linux

Кафедра, яка викладає навчальну дисципліну:
Кафедра інженерії програмного забезпечення
Короткий опис навчальної дисципліни

Мета навчальної дисципліни - ознайомлення студентів з основами функціонування ОС Linux.

Цілі та задачі навчальної дисципліни

Основні завдання навчальної дисципліни - дати уявлення про структуру, функціонування та налаштування ОС Linux.

Результати навчання

Результатом вивчення дисципліни є набуття студентами таких компетенцій:

  • основні принципи функціонування Linux;

  • загальну структуру файлового простору;

  • основи конфігурації ОС;

  • стандарти та особливості мови bash

  • особливості програмування на С та С++ для ОС Linux

  • встановлювати ОС Linux;

  • конфігурування ОС;

  • керування процесами.

  • створювати сценарії за допомогою мови bash

  • створювати програми для ОС Linux на С та С++

Перелік тем

Тема 1.Знайомство з загальною структурою ОС. Права і користувачі. Загальний опис структури ОС Linux. Створення і керування користувачами. Опис і завдання прав доступу користувачів. Основні групи користувачів.

Тема 2.Файлові системи і загальні принципи організації файлового простору. Опис стандартної структури каталогів UNIX-систем. Призначення основних каталогів. Монтування файлових систем. Права доступу до файлів.

Тема 3.Утиліти для роботи з файловими системами. Утиліти призначення  прав користувача і завдання власників файлів. Утиліта mount і її використання. Утиліти управління дисковим простором.

Тема 4. Знайомство з командною оболонкою на прикладі BASH. Основні можливості та команди оболонки. Елементи програмування в оболонці. Знайомство з редакторами командного рядка на прикладі vi і nano.

Тема 5. Процес запуску ОС і його налаштування. Етапи і деякі параметри запуску ОС Linux. Особливості завантаження з використання віртуального диска. Процеси і керування ними.

Тема 6. Налаштування мережевих можливостей ОС. Утиліти командного рядка для налаштування параметрів мережі. Ознайомлення з утилітами tcpdump і nmap. Система фільтрації iptables.

Тема 7. Управління встановлюються пакетами програм. Менеджери управління пакетами apt, apt-get, dpkg, make.

Тема 8. Деякі корисні утиліти. Знайомство з утилітами ls, grep, mc, cat, tail та ін.

Тема 9. Системні сервіси. Утиліти управління системними сервісами. Короткий огляд типових системних сервісів.

Тема 10. Створення серверів на базі Linux-SERVER. Огляд типових серверів.

Тема 11. Налаштування завантажувача системи. Елементи конфігурації і збірки ядра. Завантажувач GRUB2. Загальний опис структури ядра і процесу його налаштування.

Тема 12.  Графічний інтерфейс ( X-server ). Xorg і віконні менеджери на прикладі GNOME, xFce, KDE.

Тема 13. Огляд мов програмування для ОС Linux. Налаштування середовища розробки Netbeans для створення програм.

Тема 14. Інструментальні засоби програмування на С. Стандарти мови програмування С / С ++.  Стандартні бібліотечні функції С, що застосовуються в середовищі ОС Linux.

Тема 15. Компілятори і можливість створення одно- та багатомодульних програм.  Інтерфейси прикладного програмування Unix / Linux і POSIX. Основні поняття і метод обробки помилок в Linux.

 Тема 16. Управління об'єктами ОС Linux. Управління процесами і потоками.   Основні файлові операції введення / виводу.  Буферизовані операції введення - виведення з файлом.  Файл та Метадані: системні виклики для роботи з файлами і каталогами. Управління пам'яттю. Взаємодія процесів з використанням сигналів і сокетів.

Система оцінювання

Лабораторні роботи - 100 балів

Форма контролю
залік