Архитектура современных операционных систем

48 2. semctl – функция управления семафорами. Позволяет опросить со- стояние семафора. В качестве параметра использует идентификатор семафора. 3. semop – выполнение операции над семафором. Каналы Каналы могут быть именованными и неименованными. Именованные предназначены для обмена данными между любыми процессами, которые имеют к ним доступы. Неименованные каналы – только между родственными процессами (ниже по дереву). Неименованные каналы создаются с помощью команды pipe (fd) с указанием ссылки fd на массив, содержащий 2 целочислен- ных элемента. Первый, после выхода из функции содержит указатель чтения каналов, а второй – указатель записи. Так как каналы реализованы с помощью файлов, то при выполнении функций создания каналов система производит следующие действия: 1. Создает временный файл и в системной таблице дескрипторов со- здает элемент, содержащий индекс на дескриптор этого файла. В системной таблице файлов создается 2 элемента (для чтения и записи) для этого временно- го файла. Индексы i и j в ТОФ возвращаются в качестве элементов массива (рис. 2.24.). Рис. 2.24. 2. Чтение из канала осуществляется функцией read(i) а запись функ- цией write(j).

RkJQdWJsaXNoZXIy MTY0OTYy