Laboratornaya_Rabota_2
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РФ Федеральное учреждение высшего профессионального образования Московский технический университет связи и информатики
Кафедра системного программирования
Лабораторная работа 2
«Работа с командной̆ строкой Linux»
по дисциплине:
Операционные системы
Выполнил студент
группы БФИ 1901
Рахимов Е.К.
Проверила:
Алексанян Диана Ашотовна
Москва 2021
Цель работы:
изучение системных средств порождения и взаимодействия процессов в ОС GNU/LINUX
изучение системных вызовов порождения потоков в ОС GNU/LINUX
Задание:
Изучить теоретическую часть лабораторной работы.
Написать программу (запуск программы продемонстрировать из директории со своей фамилией), создающую два дочерних процесса с использованием двух вызовов fork(). Родительский и два дочерних процесса должны выводить на экран свой pid и pid родительского процесса и текущее время в формате: часы: минуты: секунды: миллисекунды. Используя вызов system (), выполнить команду ps -x в родительском процессе. Найти свои процессы в списке запущенных процессов.
Написать программу (запуск программы продемонстрировать из директории со своей фамилией), создающую два дочерних потока. Родительский процесс и два дочерних потока должны выводить на экран свой id и pid родительского процесса, а также текущее время в формате: часы: минуты: секунды.
Ход работы
Напишем программу, создающую два дочерних процесса с использованием двух вызовов fork(). Родительский и два дочерних процесса должны выводить на экран свой pid и pid родительского процесса и текущее время.
Реализация программного кода(Рисунок 1):
Рисунок 1 – Реализация программного кода в файле «lab2.c»
Скомпилируем программу и запустим ее(Рисунок 2):
Рисунок 2 – Компиляция и запуск программы
Проверка( Рисунок 3)
Напишем программу, создающую два дочерних потока. Два дочерних потока выводят на экран свой id и pid родительского процесса, а также текущее время.
Реализация программного кода(Рисунок 3):
Рисунок 3 – Реализация программного кода в файле «lab2_1.с»
Скомпилируем программу и запустим ее(Рисунок 4):
Рисунок 4 – Компиляция и запуск программы
Вывод: Я изучил и научился пользоваться системными средства порождения и взаимодействия процессов в ОС GNU/LINUX