![](/user_photo/2706_HbeT2.jpg)
- •Розділ 1. Теоретичні відомості
- •Вхід в систему
- •1.2 Отримання інформації про процеси в системі
- •1.3 Неіменовані і іменовані канали
- •1.4 Засоби міжпроцесной комунікації (ipc)
- •1.5 Процеси в операційній системі
- •Розділ 2. Постановка задачі із індивідуальним завданням.
- •2.1 Завдання 1
- •2.2 Завдання 2
- •2.3 Завдання 3
- •2.9 Завдання 9
- •Розділ 3. Результати розрахунково-графічної роботи
- •3.1 Результат виконання завдання 1
- •3.2 Результат виконання завдання 2
- •3.3 Результат виконання завдання 3
- •3.4 Результат виконання завдання 4
- •3.5 Результат виконання завдання 5
- •3.6 Результат виконання завдання 6
- •3.7 Результат виконання завдання 7
- •3.8 Результат виконання завдання 8
- •3.9. Результат виконання завдання 9
- •Висновки
- •Список використаної літератури
Розділ 3. Результати розрахунково-графічної роботи
3.1 Результат виконання завдання 1
Лістинг програми
While true
do
clear
echo input a:
echo 1 – "date"
echo 2 – "name computer"
echo 3 – "version OS"
echo 4 – "IP-address"
echo 5 – "name user"
echo 6 – "current product"
echo 7 – "list of active users"
echo 8 – "contents current directory"
echo 9 – "exit"
read a
case $a in
1) set `date`
echo $3-$2-$5-$4 ;;
2) hostname ;;
3) uname -r
cat /proc/version
uname –a ;;
4) ifconfig | grep -o -E '[0-193]{1,3}\.[0-108]{1,3}\.[0-25]{1,3}\.[0-60]{1,3}' ;;
5) whoami ;;
6) pwd ;;
7) who
echo input user:
read b
id $b ;;
8) ls ;;
9) exit ;;
*) echo incorrectly entered digit! ;;
esac
read b
done
Результати виконання
Рисунок 3.1.1 – Меню
Рисунок 3.1.2 – Виведення дати
Рисунок 3.1.3 – Виведення ім’я копм’ютера
Рисунок 3.1.4 – Виведення версії ОС
Рисунок 3.1.5 – Виведення IP-адрес
Рисунок 3.1.6 – Виведення ім’я поточного користувача
Рисунок 3.1.7 – Виведення поточного каталогу
Рисунок 3.1.8 – Виведення списку активних користувачів
Рисунок 3.1.9 – Виведення вмісту папки
Рисунок 3.1.10 – Неправильно введено число
3.2 Результат виконання завдання 2
Лістинг програми
#include </usr/include/unistd.h>
#include </usr/include/netdb.h>
#include </usr/include/stdio.h>
#include </usr/include/sys/types.h>
#include </usr/include/sys/socket.h>
#include </usr/include/sys/ioctl.h>
#include </usr/include/sys/sockio.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <ostream>
#include <unistd.h>
#include <sys/types.h>
#include <stream.h>
#include <sys/wait.h>
#include <signal.h>
#include <sys/times.h>
#include <sys/utsname.h>
#include <errno.h>
int mpinfo()
{printf("NAME USER:\n");
cout << "" << getlogin()<< "\n";
printf("------------------------------\n");
}
int main(){
int i,st;
char buff[66];
printf("-------------------------------------\n");
printf("SYSTEM INFORMATION\n");
struct utsname buf;
if (uname(&buf) == 0){
printf("OS name: %s\n", buf.sysname);
printf("OS version: %s\n", buf.version);
printf("OS release: %s\n", buf.release);
printf("Arch: %s\n", buf.machine);
}
else
{
perror("Error");
}
printf("-------------------------------------\n");
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf("DATE:\n");
printf ( "%s", asctime (timeinfo) );
printf("-----------------------------\n");
char HostName[64];
gethostname(HostName, 60);
struct hostent *Pointer;
Pointer = gethostbyname(HostName);
printf("NAME COMPUTER:\n");
printf("%s\n",HostName);
char *ip;
ip=Pointer->h_addr_list[0];
unsigned char a,b,c,d;
a=ip[0];
b=ip[1];
c=ip[2];
d=ip[3];
printf("------------------------------\n");
printf("IP:\n");
printf ("%u.%u.%u.%u\n",a,b,c,d);
printf("------------------------------\n");
if (getcwd(buff, sizeof(buff))==NULL)
perror("Oshubka getcwd");
else
{printf("CURRENT DIRECTORY:\n");
printf("%s\n", buff);}
printf("------------------------------\n");
signal(SIGCHLD, SIG_IGN);
fork();
mpinfo();
execlp("who","who",0);
exit(0);
}
Результат виконання завдання 2
Рисунок 3.2.1 - Результат виконання програми