Введення
Жуковецька С.Л.,
Шестопалов С.В.
СИСТЕМНЕ
ПРОГРАМУВАННЯ
Посібник до виконання лабораторних
та самостійних робіт
Одеса 2011
Жуковецька С.Л., Шестопалов С.В. Системне програмування: Посібник до виконання лабораторних та самостійних робіт. Одеська державна академія холоду, 2011. – 60 с.
Посібник розроблено згідно з робочою навчальною програмою дисципліни «Системне програмування». Посібник призначений для студентів, що навчаються за спеціальностями “Компьютерні системи та мережі” та «Спеціалізовані комп’ютерні системи».
Наведено перелік теоретичних питань для поглибленого опрацювання.
Рецензент: Шпінарьова І.М., к. т. н., доцент кафедри МОКС ОНУ
Завідувач кафедри
інформаційних систем і мереж
д. т. н., професор Князєва Н.О.
Голова науково-методичної комісії
з напряму підготовки «Комп’ютерні науки» Корнієнко Ю.К.
Анотація
Дисципліна „Системне програмування” викладається студентам 3 курсу у 5 навчальному семестрі. Форма підсумкового контролю - екзамен. Лабораторний практикум містить 6 робіт.
Для засвоєння курсу студенти мають знати базові принципи програмування та основи мови програмування С.
У процесі виконання лабораторних робіт студенти розробляють програмні модулі з використанням мови системного програмування С.
Лабораторні роботи розглядають питання створення та керування файлами, створення та керування процесами, міжпроцесну взаємодію.
При виконанні лабораторних робіт використовуються механізми контролю та обробки помилок.
Курс є основою для подальшого вивчання системного програмного забезпечення, створення вбудованих систем та інших.
Зміст
Введення…………………………………………………………….. 5
Лабораторна робота №1 Технологія розробки програм у середовищі
Linux. 6
Лабораторна робота № 2. Автоматизація пакетних завдань». 19
Лабораторна робота № 3. Взаємодія програми з середовищем
виконання. 24
Лабораторна робота №4. Контроль виконання програми. 30
Лабораторна робота №5 Файлові API. 41
Лабораторна робота №6 Робота з каталогами та посиланнями. 52
Лабораторна робота №7. Одержання і відображення метаданих
файлу. 62
Лабораторна робота №8. Керування процесами. 79
Лабораторна робота №9. Використання каналів. 92
Лабораторна робота №10 Використання повідомлень. 98
Література. 104
Введення
Мета курсу: продовження знайомства з операційними системами. Як приклад розглянута операційна система Linux. Методичний посібник містить у собі теоретичний матеріал і вказівки до виконання лабораторних робіт. Для поглибленого вивчання відповідних розділів необхідно використовувати додаткову літературу, список рекомендованих книг наведений у розділі Бібліографія.
Вимоги до оформлення робіт
По кожній лабораторній роботі складається звіт, що повинен містити:
− титульний аркуш;
− назва й ціль роботи;
− лабораторне завдання;
− опис даних і при необхідності опис структури програми;
− текст програми;
− результати виконання програм;
− висновки за результатами виконання роботи.
Звіт може представлятися у вигляді твердої копії або у вигляді текстового файлу.
Лабораторна робота №1 Технологія розробки програм у середовищі Linux
Мета:Оволодіння технологією розробки програм у системі UNIX. Знайомство з можливостями компілятора. Оволодіння навичками використання основних керуючих структур мови С.
Завдання для самостійної підготовки:
Вивчити:
− команди роботи з файловою системою ОС UNIX;
− організацію й структуру файлової системи UNIX, обмеження на імена файлів;
− види й організацію об'єктних файлів ОС UNIX;
− команди дослідження об'єктних файлів;
− зміст основних заголовних файлів.
Методичні вказівки
1. Команди роботи з командним інтерпретатором ОС UNIX
Команди для роботи з файловою системою
mkdir - створення каталогу
rmdir - виведення каталогу
touch - створення порожнього файлу
cat - виведення вмісту файлу
ls [-l] - виведення змісту каталогу [докладний]
cp - копіювання файлу
mv - перейменування / переміщення файлу
rmdir - видалення каталогу
rm - видалення файлу
rm-r - видалення каталогу з усім вмістом
cd - зміна поточного каталогу
(.. - батьківський, ~ - домашній, / - кореневий)
ln [-s] - створити жорстку [м'яку] посилання на файл
Інформаційні команди
man - довідкові дані по заданій команді
pwd – встановлення поточного положення у ф.с.
date - показати поточні дату і час
who - показати працюючих користувачів
ps - показати активні процеси