[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Упражнения

Задания упорядочены по сложности. Решайте те из них, которые больше
заинтересовали вас. Более сложные задачи требуют больше времени для
размышлений и реализации.
Отображение файлов на память в SVR4 как альтернатива разделяемой
памяти
Разделяемая память используется во многих прикладных системах, однако,
ее использование может быть ограничено двумя соображениями: данные в
разделяемой памяти теряются при развале системы и доступ к разделяемой
памяти возможен только из процессов, находящихся на той же машине.
Файл, отображенный в адресное пространство нескольких процессов
предоставляет возможности очень похожие на разделяемый сегмент памяти,
но сохраняет данные во время перезагрузки системы и допускает доступ с
удаленных машин через сеть.
Перепишите программы распределения мест в классе (shmp.c и shmc.c)
так, чтобы они использовали для разделения данных файл, отображенный
на память. Для синхронизации используйте семафоры, как и в исходной
программе. Программа должна правильно восстанавливаться после
прерванного исполнения.
Замечание: используйте write(2) для инициализации файла. mmap(2) не
может быть использован для увеличения размера файла.