Операционные системы. Теория и практика. Замятин А.В. - 241 стр.

UptoLike

Составители: 

241
9. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 4. ЗНАКОМСТВО С
ПРОЦЕССАМИ, ПЕРЕДАЧЕЙ ДАННЫХ МЕЖДУ ПРО-
ЦЕССАМИ И ИХ СИНХРОНИЗАЦИЕЙ
9.1 Цель работы
Практическое знакомство с объектом процесс, основными меха-
низмами передачи данных между процессами, а также синхронизацией
взаимодействующих процессов в ОС Unix.
9.2 Задание
Изучить базовые возможностей оболочки bash ОС Unix по управ-
лению процессами (заданиями). Разработать приложения реализующие
схему «клиент» «сервер» с использованием средств межпроцессного
взаимодействия: семафоров, разделяемой памяти, программных каналов
и одной очереди сообщений.
9.3 Основы оперирования процессами в оболочке
bash
9.3.1 Задания и процессы
Многие командные оболочки (включая bash и tcsh) имеют функции
управления заданиями (job control). Управление заданиями позволяет
запускать одновременно несколько команд или заданий (jobs) и осу-
ществлять управление ими. Прежде чем говорить об этом более подроб-
но, следует рассмотреть понятие процесс (process).
Каждый раз при запуске программы стартует некоторый процесс.
Вывести список протекающих в настоящее время процессов можно ко-
мандой ps, например, следующим образом:
/home/larry# ps
PID TT STAT TIME COMMAND
24 3 S 0:03 (bash)
161 3 R 0:00 ps
/home/larry#
Номера процессов (process ID, или PID), указанные в первой колон-
ке, являются уникальными номерами, которые система присваивает
каждому работающему процессу. Последняя колонка, озаглавленная
COMMAND, указывает имя работающей команды. В данном случае в
списке указаны процессы, которые запустил сам пользователь larry. В
системе работает еще много других процессов, их полный список можно