- •Міністерство освіти і науки україни
- •Системне програмне забезпечення Посібник до виконання курсової роботи
- •I загальні питання організації курсового проектування
- •II вимоги до структури пояснювальної записки
- •III вимоги до оформлення пояснювальної записки
- •Тема курсової роботи: «Контроль стану операційної системи. Моделювання взаємодії процесів»
- •Варіанти завдань |
- •Література
- •Таненбаум э. Современные операционные системы. 2-е изд. _ сПб.: Питер, 2002. – 1040 с.
- •Додаток а Титульний аркуш
- •Курсовий проект (робота)
- •1. Тема роботи ____________________________________________________________________________
- •2. Завдання за варіантом ___________________________________________________________________
- •Швець н.В. Системне програмне забезпечення Посібник до виконання курсової роботи робіт
- •65039, Одеса, вул. Канатна, 112
Варіанти завдань |
Варіант завдання|задавання| визначається по номеру прізвища в кафедральній відомості.
Варіант 1
Одержати|отримати| наступну|слідуючу| системну інформацію:
час в секундах, що пройшов|минув,сплив| з моменту|із моменту| завантаження|загрузки| системи;
число процесів, що працюють в системі;
загальний|спільний| об'єм|обсяг| оперативної пам'яті;
вільний об'єм|обсяг| ОЗУ.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| центрального процесора;
відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі.
Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
Варіант 2
Одержати|отримати| наступну|слідуючу| системну інформацію:
ім'я операційної системи, номер версії і модифікації ядра;
інформацію про платформу, на якій працює система.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| системи за одну хвилину;
визначити тактову частоту процесора.
Розробити програму, що ілюструє методику використання розподілюваної пам’яті.
Варіант 3
Одержати|отримати| наступну|слідуючу| системну інформацію:
ім'я домашнього|хатнього| директория,.в якому користувач виявляється|опиняється| після|потім| входу в систему;
ім'я терміналу;
ім'я поштової скриньки.
Використовуючи Системний монітор KDE:
відобразити|відображувати| дані про простої в роботі процесора;
вивести дані про кількість записаної інформації;
вивести дані про кількість зчитаної |прочитаної| інформації;
відобразити|відображувати| загальне|спільне| число операцій читання.
Розробити програму, в якій працюють два потоки, що записують|занотовують| символи в стандартний потік stderr.
Варіант 4
Одержати|отримати| наступну|слідуючу| системну інформацію:
пошуковий шлях|колія,дорога| (тропа);
зареєстроване ім'я користувача;
ім'я поточного каталога.
Використовуючи Системний монітор KDE:
вивести кількість певних переривань;
одержати|отримати| загальну|спільну| кількість запущених|занедбаних| процесів;
вивести дані про використання свопінгу.
Розробити програму, що демонструє взаємодію процесів за допомогою розподілюваної пам'яті і семафорів.
Варіант 5
Одержати|отримати| наступну|слідуючу| системну інформацію:
використовуване віконне середовище|середа|;
ім'я хоста|;
шлях|колія,дорога| до тимчасового каталога користувача;
використовувана SHELL-оболонка.
Використовуючи Системний монітор KDE:
відобразити|відображувати| інформацію про використання фізичної пам'яті;
проглянути інформацію про запущені|занедбані| процеси.
Продемонструвати взаємодію батьківського і дочірнього процесів за допомогою каналу.
Варіант 6
Одержати|отримати| наступну|слідуючу| системну інформацію:
про виконувані в даний момент процеси, пов'язані з терміналом.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| центрального процесора;
відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі.
Розробити програму, що ілюструє використання сигналів для міжроцесної взаємодії.
Варіант 7
Одержати|отримати| наступну|слідуючу| системну інформацію:
про всі процеси в системі.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| системи за одну хвилину;
визначити тактову частоту процесора;
відобразити|відображувати| дані про простої в роботі процесора.
Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
Варіант 8
Одержати|отримати| наступну|слідуючу| системну інформацію:
про всі процеси, не пов'язані з терміналом.
Використовуючи Системний монітор KDE:
вивести дані про кількість записаної інформації;
вивести дані про кількість зчитаної |прочитаної| інформації;
відобразити|відображувати| загальне|спільне| число операцій читання.
Розробити програму, в якій працюють два потоки, що записують|занотовують| символи в стандартний потік stderr.
Варіант 9
Одержати|отримати| наступну|слідуючу| системну інформацію:
час в секундах, що пройшов|минув,сплив| з моменту|із моменту| завантаження|загрузки| системи;
число процесів, що працюють в системі;
загальний|спільний| об'єм|обсяг| оперативної пам'яті;
вільний об'єм|обсяг| ОЗУ.
Використовуючи Системний монітор KDE:
відобразити|відображувати| дані про простої в роботі процесора;
вивести дані про кількість записаної інформації;
вивести дані про кількість зчитаної |прочитаної| інформації;
відобразити|відображувати| загальне|спільне| число операцій читання.
Розробити програму, що ілюструє методику використання розподілюваної пам’яті.
Варіант 10
Одержати|отримати| наступну|слідуючу| системну інформацію:
про всі процеси, які виконуються у фоновому режимі.
Використовуючи Системний монітор KDE:
вивести кількість певних переривань;
одержати|отримати| загальну|спільну| кількість запущених|занедбаних| процесів;
вивести дані про використання свопінгу.
Розробити програму, що демонструє взаємодію процесів за допомогою розподілюваної пам'яті і семафорів.
Варіант 11
Одержати|отримати| наступну|слідуючу| системну інформацію:
ім'я операційної системи, номер версії і модифікації ядра;
інформацію про платформу, на якій працює система.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| системи за одну хвилину;
визначити тактову частоту процесора;
відобразити|відображувати| дані про простої в роботі процесора.
Продемонструвати взаємодію батьківського і дочірнього процесів за допомогою каналу.
Варіант 12
Одержати|отримати| наступну|слідуючу| системну інформацію:
ім'я операційної системи, номер версії і модифікації ядра;
інформацію про платформу, на якій працює система.
Використовуючи Системний монітор KDE:
проаналізувати завантаження|загрузку| центрального процесора;
відобразити|відображувати| інформацію про кількість користувачів, що працюють в системі;
проаналізувати завантаження|загрузку| системи за одну хвилину.
Розробити програму, що ілюструє використання сигналів для міжроцесної взаємодії.
Варіант 13
Одержати|отримати| наступну|слідуючу| системну інформацію:
ім'я домашнього|хатнього| директория, в якому користувач виявляється|опиняється| після|потім| входу в систему;
ім'я терміналу;
пошуковий шлях|колія,дорога| (тропа).
Використовуючи Системний монітор KDE:
відобразити|відображувати| інформацію про використання фізичної пам'яті;
проглянути інформацію про запущені|занедбані| процеси.
Продемонструвати методику асинхронного видалення|віддалення| дочірніх процесів за допомогою сигналу SIGCHLD.
Мал. 3
Завдання|задавання| 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.
Студент може використовувати спеціальні засоби|кошти| для створення|створіння| інтерфейсу. Проте|однак| в цьому випадку він повинен бути готовий дати вичерпну відповідь про роботу і організацію використовуваних програмних засобів|коштів|.
Необхідно передбачити контроль за діями користувача так, щоб|так , щоб,таким образом | помилки при введенні даних або команд не приводили|призводили,наводили| до аварійного завершення програми і видавалося повідомлення|сполучення|, що характеризує помилку.
