Кафедра прикладної радіоелектроніки

[RE-125] Програмний інтерфейс Linux

Робоча програма навчальної дисципліни (Силабус)

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

Рівень вищої освітиПерший (бакалаврський)
Галузь знань-
Спеціальність
Освітня програмаВсі ОП
Статус дисципліниВибіркова (Ф-каталог)
Форма здобуття вищої освітиОчна
Рік підготовки, семестрДоступно для вибору починаючи з 2-го курсу, весняний семестр
Обсяг дисципліни4 кред. (Лекц. 18 год, Практ. год, Лаб. 36 год, СРС. 66 год )
Семестровий контроль/контрольні заходиЗалік
Розклад занятьhttps://rozklad.kpi.ua
Мова викладанняУкраїнська / Англійська
Інформація про керівника курсу / викладачів Лекц.: Мосійчук В. С.,
Лаб.: Мосійчук В. С.,
СРС.: Мосійчук В. С.
Розміщення курсуhttp://iot.kpi.ua/lms/course/view.php?id=21

Програма навчальної дисципліни

1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Метою навчальної дисципліни "Програмний інтерфейс Linux" є формування здатностей розуміти структуру та особливості ОС Linux; розуміти синтаксис та правила команд керування ОС; розуміти файлову систему та ієрархію прав доступу; розуміти потребу та можливості базових операцій в ОС Linux; створювати програмне забезпечення з можливістю обміну даними на рівні різних програмних інтерфейсів ОС Linux.

2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Перед початком вивчення курсу необхідним є проходження дисципліни "Інформатика", зокрема основиви програмування на С

3. Зміст навчальної дисципліни

Розділ 1.  Знайомство з операційною системою Linux та командною стрічкою

Тема 1.1: «Історія Linux та стандарти»

Поява BSD та System-V. Коротка історія  Linux. Проект GNU. Ядро Linux, версії DSD, дистрибутиви Linux, апаратні архітектури та портування ОС, стандартизація, перші стандарти POSIX, розвиток стандартів UNIX, стандарти та нормативна база Linux.

Тема 1.2: «Встановлення дистрибутива ОС Ubuntu»

Налаштування віртуалізації та встановлення Linux на віртуальну машину, робота з командною стрічкою, перевірка версії ОС, встановлення та оновлення програмного забезпечення, менеджери пакетів.

Тема 1.3: «Команди Linux»

Навігація, команди, маніпуляція з файлами та директоріями, перенаправлення, комбінації гарячих клавіш, права доступу, процеси.

Тема 1.4: «Конфігурація робочого середовища.»

Параметри та змінні робочого середовища, файли запуску, використання текстових редакторів, використання коментарів, активізація змін.
 

Тема 1.5: «Робота з редактором vi»

Запуск та вихід з редактора, режими сумісності, редагування, збереження даних, переміщення курсору, базові можливості редагування, додавання та видалення тексту, копіювання, вилучення та вставка тексту, пошук та заміна, редагування декількох файлів, перемикання між файлами, копіювання тексту з одного файлу в інший, збереження інформації.

Тема 1.6: «Робота з носіями інформації»

Монтування і демонтування запам'ятовуючих пристроїв, перегляд списку змонтованих файлових систем, визначення імен пристроїв, створення нових файлових систем, маніпулювання розділами за допомогою fdisk, створення нової файлової системи за допомогою mkfs, тестування і відновлення файлових систем, fsck, переміщення даних безпосередньо на пристрої та з них, створення образів компакт-дисків, створення копії образу компакт-диска, визначення образу з набору файлів, програма за будь-яким іншим іменем, запис CD-ROM образів, встановлення образу ISO безпосередньо з vi.

Тема 1.7: «Налаштування мережі»

Перевірка та моніторинг мережі, ping, traceroute, ip, netstat, передавання файлів через мережу, ftp/lftp, wget, безпечний зв'язок з віддаленими хостами, ssh, тунелювання з SSH, scp та sftp.

Тема 1.8: «Архівація та резервне копіювання»

Стиснення файлів, gzip, bzip2, архівація файлів tar, zip, синхронізація файлів і каталогів, використання rsync через мережу,vii.
 

Тема 1.9: «Регулярні вирази»

Що таке регулярні вирази,  grep, метасимволи і літерали, шаблон будь-якого символу, якорі, вирази в дужках та класи символів, заперечення, традиційні діапазони символів, класи символів POSIX, повернення до традиційного коллаційного порядку, основні та розширені регулярні вирази, чергування, квантифікатори ? * + { }, робота з регулярними виразами, перевірка списку телефонів за допомогою grep, пошук імен файлів за допомогою find, пошук файлів з локацією, пошук тексту за допомогою редакторів less та vim.
 

Тема 1.10: «Обробка тексту та форматування виводу»

Документи, вихідний код програми, cat, text, sort, uniq, пагінація, cut, paste, join, порівняння тексту, comm, viii, diff, patch, редагування на льоту, tr, sed, aspell. Прості інструменти форматування, nl – кількість рядків, fold – перенесення кожного рядка на вказану довжину, fmt – просте форматування тексту, pr – форматування тексту для друку, printf – форматування та друк даних, системи форматування документів, groff.

 

Тема 1.11: «Компіляція програм»

Компіляція C програм, отримання вихідного коду, вивчення дерева джерела, побудова програми, ix, встановлення програм.

Розділ 2.  Системне програмування

Тема 2.1 «Основні поняття та уявлення про системне програмування»

Модель файлового вводу-виводу, програми, процеси, відображення в памяті, статичні та динамічн бібліотеки, міжпроцесна взаємодія і синхронізація, сигнали, потоки, виконання дій в реальному маштабі часу. Системні виклики, бібліотечні функції, обробка помилок, типи системних даних. Питання портування програм.

4. Навчальні матеріали та ресурси

Допоміжна література

  1. The Linux Programming inеerface: A Linux and UNIX System Programming Handbook / Michael Kerrisk. - San Francisco, 2010. - 1556 p.
  2. The Linux Command Line: Fifth Internet Edition / William Shotts. - 2019. - 555 p.

Інформаційні ресурси

  1. LinuxCommand.org project. - Режим доступу: http://linuxcommand.org
     

Навчальний контент

5. Методика опанування навчальної дисципліни (освітнього компонента)

...

6. Самостійна робота студента

...

Політика та контроль

7. Політика навчальної дисципліни (освітнього компонента)

Правила відвідування занять (як лекцій, так і практичних/лабораторних)

Обов'язковими до відвудування та виконання є лабораторні роботи. У разі пропуску цих занять, їх слід відпрацьовувати під час консультацій, або з іншими групами. у разі пропуску лекцій, слід проходити і здавати тести по матеріалам пропущеного заняття. Матеріали лекцій та відео розміщуються на LMS.  

Захист лабораторних робіт

Лабораторні роботи захищаються у день виконання лабораторної роботи. Студент отримує дві оцінки. Перша за активність та ініціативність під час виконання лабораторної роботи та індивідуального занняття. Друга за захист та відповідь на контрольні запитання.

Захист індивідуальних завдань

В межах самостійної роботи студенти виконують завдання по матеріалам лекцій. За результатами перевірки слухачі курсу отримують коментарі від викладача та оцінку. Індивідуальні завдання не перездаються.

Заохочувальні та штрафних балів та політика щодо академічної доброчесності

Найбільш активні студенти та студенти, які виконують окремі завдання зразково можуть отримати до 10 балів до семестрового рейтингу.

Штрафні бали застосовуються у разі видавання чужої роботи за свою з обов'язковим подапльшим її переопрацюванням.

Політика дедлайнів та перескладань

У разі пропуску кінцевих термінів здачі завдань для слухачів курсу зменшується максильний бал по завданням на 10 %.

8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)

Рейтингова система оцінювання результатів навчання

  • Лекції / Вебінари - 18 год; (2 МКР х 15 балів)
  • СРС (6 завд х 5 балів)
  • Лабораторні роботи - 36 год; (8 лаб х 5 балів)
  • Домашня контрольна робота (30 балів)
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
Кількість балівОцінка
100-95Відмінно
94-85Дуже добре
84-75Добре
74-65Задовільно
64-60Достатньо
Менше 60Незадовільно
Не виконані умови допускуНе допущено

9. Додаткова інформація з дисципліни (освітнього компонента)

...
Опис матеріально-технічного та інформаційного забезпечення дисципліни

Комп'ютерний клас з 12 робочими станціями з можливістю використовувати віртуалізацію.




Робочу програму навчальної дисципліни (силабус):
Складено Мосійчук В. С.;
Ухвалено кафедрою ПРЕ (протокол № 06/2021 від 2021-06-29 )
Погоджено методичною комісією факультету/ННІ (протокол № ______ від ______)