Системне програмне забезпечення
Швець Н.В., Чумаченко Д.О., Кононович М.В.
СИСТЕМНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
Посібник до виконання курсової роботи
Одеса 2014
Швець Н.В., Чумаченко Д.О., Кононович М.В. Системне програмне забезпечення: Посібник до виконання курсової роботи. Одеська національна академія харчових технологій, 2014..
Посібник розроблено згідно з робочою навчальною програмою дисципліни «Системне програмне забезпечення» для студентів які навчаються за напрямом підготовки 6.050101«Комп’ютерні науки».
Рецензент:
Розглянуто та рекомендовано до видання на засіданні кафедри Інформаційних технологій та кібербезпеки .
Протокол № від 2014 р.
Розглянуто та рекомендовано до видання на засіданні науково-методичної комісії з напряму підготовки 6.050101«Комп’ютерні науки»
Протокол № від 2013 р.
ãОНАХТ, 2014
ВСТУП
Методичні вказівки для виконання курсової роботи є|з'являються,являються| складовою частиною навчально-методичного|учбово-методичного| комплексу по дисципліні «Системне програмне забезпечення», яка вивчається студентами III курсу напряму|направлення| 0804.
I ЗАГАЛЬНІ ПИТАННЯ ОРГАНІЗАЦІЇ КУРСОВОГО ПРОЕКТУВАННЯ
Курсове проектування переслідує цілі:
· закріплення теоретичних знань і практичних навичок, одержаних|отриманих| студентами під час вивчення даної дисципліни та виконання лабораторних робіт;
· виявлення творчих здібностей при розв’язуванні поставленої задачі.
При виконанні курсової роботи студенти повинні:
· знати основи програмування на мові С;
· знати правила інтерпретації командного рядка при запуску програми з командного інтерпретатора;
· знати основні файлові операції POSIX для роботи з файлами і каталогами;
· уміти працювати в операційній системі UNIX в графічному і консольному режимах;
· уміти створювати і виконувати програми, створені на мові програмування С, під управлінням ОС UNIX;
· уміти зробити експертизу отриманого повідомлення і оцінити отримане рішення;
· уміти вірно висловлювати свої думки під час оформлення курсової роботи.
II ВИМОГИ ДО СТРУКТУРИ ПОЯСНЮВАЛЬНОЇ ЗАПИСКИ
ТИТУЛЬНИЙ АРКУШ
БЛАНК ЗАВДАННЯ
ЗМІСТ
ВСТУП
1. МЕТА КУРСОВОЇ РОБОТИ
2. ПОСТАНОВКА ЗАДАЧІ
3. ОПИС ЕТАПІВ РЕАЛІЗАЦІЇ
4. ОПИС ПРОГРАМНОГО ПРОДУКТУ
5. ВИД ЕКРАНУ МОНІТОРА ЯК РЕЗУЛЬТАТ РОБОТИ КОЖНОГО ЗАВДАННЯ КУРСОВОЇ РОБОТИ
6. ІНСТРУКЦІЮ З ЕКСПЛУАТАЦІЇ
ЗАГАЛЬНІ ВИСНОВКИ
Додаток А
Додаток Б
До пояснювальної записки повинен додаватись електронний носій інформації, який містить повний код програмного продукту, реалізуючого завдання щодо курсової роботи.
III ВИМОГИ ДО ОФОРМЛЕННЯ ПОЯСНЮВАЛЬНОЇ ЗАПИСКИ
Розрахунково-пояснювальна записка (РПЗ) на персональному комп'ютері за допомогою редактора MS Word, використовуючи шрифт Times New Roman, кегль 14, полуторний інтервал;
Зразок титульного аркушу наведений у додатку А.
Зразок бланку завдання наведений у додатку Б.
Тема курсової роботи: «Контроль стану операційної системи. Моделювання взаємодії процесів»
Мета|ціль| роботи:Ознайомлення з|із| компонентами доступу до системної інформації і методами взаємодії процесів.
Постановка завдання|задачі|:Розробити додаток|застосування| з|із| графічним інтерфейсом, що реалізовує завдання|задавання| згідно варіанту.
Варіанти завдань |
Варіант завдання|задавання| визначається по номеру прізвища в кафедральній відомості.
Варіант 1
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· час в секундах, що пройшов|минув,сплив| з моменту|із моменту| завантаження|загрузки| системи;
· число процесів, що працюють в системі;
· загальний|спільний| об'єм|обсяг| оперативної пам'яті;
· вільний об'єм|обсяг| ОЗУ.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| центрального процесора;
· відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі.
3. Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
Варіант 2
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· ім'я операційної системи, номер версії і модифікації ядра;
· інформацію про платформу, на якій працює система.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| системи за одну хвилину;
· визначити тактову частоту процесора.
3. Розробити програму, що ілюструє методику використання розподілюваної пам’яті.
Варіант 3
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· ім'я домашнього|хатнього| директория,.в якому користувач виявляється|опиняється| після|потім| входу в систему;
· ім'я терміналу;
· ім'я поштової скриньки.
2. Використовуючи Системний монітор KDE:
· відобразити|відображувати| дані про простої в роботі процесора;
· вивести дані про кількість записаної інформації;
· вивести дані про кількість зчитаної |прочитаної| інформації;
· відобразити|відображувати| загальне|спільне| число операцій читання.
3. Розробити програму, в якій працюють два потоки, що записують|занотовують| символи в стандартний потік stderr.
Варіант 4
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· пошуковий шлях|колія,дорога| (тропа);
· зареєстроване ім'я користувача;
· ім'я поточного каталога.
2. Використовуючи Системний монітор KDE:
· вивести кількість певних переривань;
· одержати|отримати| загальну|спільну| кількість запущених|занедбаних| процесів;
· вивести дані про використання свопінгу.
3. Розробити програму, що демонструє взаємодію процесів за допомогою розподілюваної пам'яті і семафорів.
Варіант 5
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· використовуване віконне середовище|середа|;
· ім'я хоста|;
· шлях|колія,дорога| до тимчасового каталога користувача;
· використовувана SHELL-оболонка.
2. Використовуючи Системний монітор KDE:
· відобразити|відображувати| інформацію про використання фізичної пам'яті;
· проглянути інформацію про запущені|занедбані| процеси.
3. Продемонструвати взаємодію батьківського і дочірнього процесів за допомогою каналу.
Варіант 6
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· про виконувані в даний момент процеси, пов'язані з терміналом.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| центрального процесора;
· відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі.
3. Розробити програму, що ілюструє використання сигналів для міжроцесної взаємодії.
Варіант 7
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· про всі процеси в системі.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| системи за одну хвилину;
· визначити тактову частоту процесора;
· відобразити|відображувати| дані про простої в роботі процесора.
3. Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
Варіант 8
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· про всі процеси, не пов'язані з терміналом.
2. Використовуючи Системний монітор KDE:
· вивести дані про кількість записаної інформації;
· вивести дані про кількість зчитаної |прочитаної| інформації;
· відобразити|відображувати| загальне|спільне| число операцій читання.
3. Розробити програму, в якій працюють два потоки, що записують|занотовують| символи в стандартний потік stderr.
Варіант 9
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· час в секундах, що пройшов|минув,сплив| з моменту|із моменту| завантаження|загрузки| системи;
· число процесів, що працюють в системі;
· загальний|спільний| об'єм|обсяг| оперативної пам'яті;
· вільний об'єм|обсяг| ОЗУ.
2. Використовуючи Системний монітор KDE:
· відобразити|відображувати| дані про простої в роботі процесора;
· вивести дані про кількість записаної інформації;
· вивести дані про кількість зчитаної |прочитаної| інформації;
· відобразити|відображувати| загальне|спільне| число операцій читання.
3. Розробити програму, що ілюструє методику використання розподілюваної пам’яті.
Варіант 10
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· про всі процеси, які виконуються у фоновому режимі.
2. Використовуючи Системний монітор KDE:
· вивести кількість певних переривань;
· одержати|отримати| загальну|спільну| кількість запущених|занедбаних| процесів;
· вивести дані про використання свопінгу.
3. Розробити програму, що демонструє взаємодію процесів за допомогою розподілюваної пам'яті і семафорів.
Варіант 11
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· ім'я операційної системи, номер версії і модифікації ядра;
· інформацію про платформу, на якій працює система.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| системи за одну хвилину;
· визначити тактову частоту процесора;
· відобразити|відображувати| дані про простої в роботі процесора.
3. Продемонструвати взаємодію батьківського і дочірнього процесів за допомогою каналу.
Варіант 12
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· ім'я операційної системи, номер версії і модифікації ядра;
· інформацію про платформу, на якій працює система.
2. Використовуючи Системний монітор KDE:
· проаналізувати завантаження|загрузку| центрального процесора;
· відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі;
· проаналізувати завантаження|загрузку| системи за одну хвилину.
3. Розробити програму, що ілюструє використання сигналів для міжроцесної взаємодії.
Варіант 13
1. Одержати|отримати| наступну|слідуючу| системну інформацію:
· ім'я домашнього|хатнього| директория, в якому користувач виявляється|опиняється| після|потім| входу в систему;
· ім'я терміналу;
· пошуковий шлях|колія,дорога| (тропа).
2. Використовуючи Системний монітор KDE:
· відобразити|відображувати| інформацію про використання фізичної пам'яті;
· проглянути інформацію про запущені|занедбані| процеси.
3. Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
|
Завдання|задавання| 1
Для отримання|здобуття| системної статистики можна використовувати функцію sysinfo(). Її єдиним аргументом є|з'являється,являється| покажчик на структуру типу sysinfo. Перерахуємо найцікавіші поля цієї структури:
uptime – час в секундах, що пройшов|минув,сплив| з моменту|із моменту| завантаження|загрузки| системи;
totalram – загальний|спільний| об'єм|обсяг| оперативної пам'яті;
freeram – вільний об'єм|обсяг| ОЗУ;
procs – число процесів, що працюють в системі.
#include<linux/kernel.h>
#include<linux/sys.h>
#include<sys/sysinfo.h>
struct sysinfo si;
sysinfo(&si);
Функція uname() повертає інформацію про систему, зокрема, мережеве|мережне| і доменне імена комп'ютера, версію операційної системи і т.д. Єдиним аргументом функції є|з'являється,являється| покажчик на структуру типу utsname:
#include<sys/utsname.h>
struct utsname u;
uname(&u);
Для отримання|здобуття| значень змінних середовища|середи| оточення можна використовувати функцію getenv():
#include<stdlib.h>
char *getenv(const char *name);
Завдання|задавання| 2
Програма Системний монітор KDEнадає великий набір датчиків, що інформують про поточний стан системи.
Системний монітор KDE запускається командою ksysguard. Для того, щоб Системний монітор в додатку|застосуванні| контролював задані параметри, при розробці можна наперед|заздалегідь| підготувати “worksheet” – робочий лист|аркуш|, на якому знаходитимуться|перебуватимуть| відповідні датчики, і зберегти його у файлі .sgrd. Далі в програмі використовувати цей файл.
Завдання|задавання| 3
Реалізувати взаємодію процесів вказаним засобом.
Базову структуру додатку|застосування| (тобто головне вікно) можна створити за допомогою утиліти dialog.
Студент може використовувати спеціальні засоби|кошти| для створення|створіння| інтерфейсу. Проте|однак| в цьому випадку він повинен бути готовий дати вичерпну відповідь про роботу і організацію використовуваних програмних засобів|коштів|.
Необхідно передбачити контроль за діями користувача так, щоб|так , щоб,таким образом | помилки при введенні даних або команд не приводили|призводили,наводили| до аварійного завершення програми і видавалося повідомлення|сполучення|, що характеризує помилку.
Література
1. Таненбаум Э. Современные операционные системы.
2-е изд. _ СПб.: Питер, 2002. – 1040 с.
2. Гордеев А. В.,. Молчанов А. Ю Системное программное обеспечение: учебник для вузов. – СПб.: Питер, 2003. – 736 с.
3. Шеховцов В. А. Операційні системи. –К.: Видавнича група BHV, 2005. – 576 с.
4. Робачевский А. М. Операционная система UNIX.
–СПб.: БХВ-Петербург, 2002. – 528 с.
5. Колисниченко Д. Н. Linux. Установка. Настройка. Использование. – 2-е изд., перераб. И доп. - –СПб.: Наука и Техника, 2004. – 640 с.
6. Митчелл М., Оулдем Д., А. Самьюэл А. Программирование для Linux. Профессиональный подход.:
Пер. с англ. – М.:Издательский дом «Вильямс», 2004. – 288 с.
7. Роббинс А. Linux. Программирование в примерах.
Пер. с англ. – М.: КУДИЦ-ОБРАЗ, 2005. – 656 с.
8. Галатенко В. А. Программирование в стандарте POSIX: Курс лекций:: Учеб. пособие –М.: Интернет-университет информ. технологий, 2004. – 560 с.
9. Секунов Н. Ю. Программирование на С++ в Linux.
–СПб.:БХВ Петербург, 2004. – 368 с.
Додаток А Титульний аркуш
_____________________________
(повне найменування вищого навчального закладу)
_____________________________
(повна назва кафедри, циклової комісії)
КУРСОВИЙ ПРОЕКТ
(РОБОТА)
з ___________________________________________________________
(назва дисципліни)
на тему:_____________________________________________________
____________________________________________________________
Студента (ки) _____ курсу ______ групи
напряму підготовки__________________
спеціальності_______________________
__________________________________
(прізвище та ініціали)
Керівник ___________________________
____________________________________
(посада, вчене звання, науковий ступінь, прізвище та ініціали)
Національна шкала ________________
Кількість балів: __________Оцінка: ECTS _____
Члени комісії ________________ ___________________________
(підпис) (прізвище та ініціали)
________________ ___________________________
(підпис) (прізвище та ініціали)
________________ ___________________________
(підпис) (прізвище та ініціали
м. _________ - 20 __рік
Додаток Б Бланк завдання
Одеська державна академія холоду
___________
Факультет інформаційних технологій
___________
Спеціальність______________________________________________________________
ЗАВДАННЯ
НА КУРСОВУ РОБОТУ
Тема роботи ____________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
2. Завдання за варіантом ___________________________________________________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________
Швець Н.В.
СИСТЕМНЕ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ
Посібник до виконання курсової роботи робіт
Підписано до друку ?????201Х р. Формат 60´84 1/16.
Умовн. друк. арк. х,х. Наклад х прим.
Надруковано видавницький центром ОНАХТ «Технолог».
65039, Одеса, вул. Канатна, 112