Читать «UNIX: взаимодействие процессов» онлайн - страница 18
Уильям Ричард Стивенс
Таблица 1.6. Версии модели производитель-потребитель
Листинг | Описание |
---|---|
7.1 | Взаимное исключение, несколько производителей, один потребитель |
7.5 | Взаимное исключение и условная переменная, несколько производителей, один потребитель |
10.8 | Именованные семафоры Posix, один производитель, один потребитель |
10.11 | Семафоры Posix в памяти, один производитель, один потребитель |
10.12 | Семафоры Posix в памяти, несколько производителей, один потребитель |
10.15 | Семафоры Posix в памяти, несколько производителей, несколько потребителей |
10.18 | Семафоры Posix в памяти, один производитель, один потребитель: несколько буферов |
Таблица 1.7. Версии программы с увеличением последовательного номера
Листинг | Описание |
---|---|
9.1 | Индекс в файле, без блокировки |
9.3 | Индекс в файле, блокировка с помощью fcntl |
9.9 | Индекс в файле, блокировка с использованием функции open |
10.10 | Индекс в файле, блокировка с помощью именованного семафора Posix |
12.2 | Индекс в общей памяти mmap, блокировка с помощью именованного семафора Posix |
12.3 | Индекс в общей памяти mmap, блокировка с помощью семафора Posix в памяти |
12.4 | Индекс в неименованной общей памяти 4.4BSD, блокировка с помощью именованного семафора Posix |
12.5 | Индекс в общей памяти SVR4 /dev/zero, блокировка с помощью именованного семафора Posix |
13.6 | Индекс в общей памяти Posix, блокировка с помощью семафора Posix в памяти |
А.19 | Измерение производительности: блокировка взаимным исключением между потоками |
А.22 | Измерение производительности: блокировка чтения-записи между потоками |
А.23 | Измерение производительности: блокировка между потоками с помощью семафоров Posix в памяти |
А.25 | Измерение производительности: блокировка между потоками с помощью именованных семафоров Posix |
А.28 | Измерение производительности: блокировка между потоками с помощью семафоров System V |
А.29 | Измерение производительности: блокировка между потоками с помощью fcntl |
А.33 | Измерение производительности: блокировка между процессами с помощью взаимных исключений |
Упражнения
1. На рис 1.1 изображены два процесса, обращающиеся к одному файлу. Если оба процесса только дописывают данные к концу файла (возможно, длинного), какой нужен будет тип синхронизации?