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

       

с содержимым файла можно работать,


ul>
  • После этого с содержимым файла можно работать, как с содержимым обычной области памяти.
  • По окончании работы с содержимым файла, необходимо освободить дополнительно выделенную процессу область памяти, предварительно синхронизировав содержимое файла на диске с содержимым этой области (если, конечно, необходимо). Эти действия выполняет системный вызов munmap().


  • Системный вызов munmap

    Прототип системного вызова

    #include <sys/types.h> #include <unistd.h> #include <sys/mman.h>

    int munmap (void *start, size_t length);

    Описание системного вызова

    Системный вызов munmap служит для прекращения отображения memory mapped файла в адресное пространство вычислительной системы. Если при системном вызове mmap() было задано значение параметра flags, равное MAP_SHARED, и в отображении файла была разрешена операция записи (в параметре prot использовалось значение PROT_WRITE), то munmap синхронизирует содержимое отображения с содержимым файла во вторичной памяти. После его выполнения области памяти, использовавшиеся для отображения файла, становятся недоступны текущему процессу.

    Параметр start является адресом начала области памяти, выделенной для отображения файла, т.е. значением, которое вернул системный вызов mmap().

    Параметр length определяет ее длину, и его значение должно совпадать со значением соответствующего параметра в системном вызове mmap().

    Возвращаемое значение

    При нормальном завершении системный вызов возвращает значение 0, при возникновении ошибки – значение -1.




    Содержание  Назад  Вперед







    Forekc.ru
    Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий