Введення

Жуковецька С.Л.,

Шестопалов С.В.

СИСТЕМНЕ

ПРОГРАМУВАННЯ

 

Посібник до виконання лабораторних

та самостійних робіт

 

 

Одеса 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 - показати активні процеси