The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

mincore ()
  • mincore (2) ( Solaris man: Системные вызовы )
  • mincore (2) ( FreeBSD man: Системные вызовы )
  • >> mincore (2) ( Русские man: Системные вызовы )
  • mincore (2) ( Linux man: Системные вызовы )
  •  

    НАЗВАНИЕ

    mincore - считывает информацию о частях файла, находящихся в памяти  

    СИНТАКСИС

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

    int mincore(void *start, size_t length, unsigned char * vec);  

    ОПИСАНИЕ

    Функция mincore запрашивает вектор, описывающий части файла, находящихся в памяти, которые можно считать без доступа к дискам. Ядро будет поддерживать данные для length байтов с адреса start. При выходе ядро заполнит vec байтами, в которых наименьший значащий бит определяет страницу в памяти. Для нормального завершения работы mincore, start должно указывать на границу страниц. Вызывающий эту функцию должен позаботиться об округлении до ближайшей страницы. Параметр length может быть не кратен размеру страницы. Вектор vec должен быть достаточно велик для размещения (length+PAGE_SIZE-1) / PAGE_SIZE байтов. Посмотреть размер страницы можно по getpagesize(2).  

    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

    При нормальном завершении работы mincore возвращает ноль. При ошибках возвращается -1, а переменной errno присваивается соответствующее значение.  

    НАЙДЕННЫЕ ОШИБКИ

    EAGAIN ядру временно не хватает ресурсов
    EINVAL
    start не кратно размеру страницы, или len имеет неположительное значение
    EFAULT
    vec указывет на неправильный адрес
    ENOMEM
    с адреса address по адрес address + length содержится неразмеченная память, или память не является частью файла.
     

    НАЙДЕННЫЕ ОШИБКИ

    mincore должно возвращать битовый вектор, а не байтовый. В Linux 2.4.20 невозможно получить информацию о резидентных страницах, не сохраненных резервно в файлах. Другими словами, вызов mincore на область, возвращаемую анонимным mmap(2) с указанием MAP_PRIVATE не сработает и присвоит errno значение ENOMEM. До тех пор, пока страницы не заблокированы в памяти, содержимое vec может зависнуть на то время, пока они не достигнут пространства пользователя.  

    СООТВЕТСТВИЕ СТАНДАРТАМ

    mincore не соответствует ни стандарту POSIX ни Single Unix Specification.  

    ПРИМЕЧАНИЯ ПО ИСТОРИИ

    Функция mincore() впервые появилась в 4.4BSD.  

    ДОСТУПНОСТЬ

    Linux 2.3.99pre1 и glibc 2.2.  

    СМ. ТАКЖЕ

    getpagesize(2), mmap(2)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    ПРИМЕЧАНИЯ ПО ИСТОРИИ
    ДОСТУПНОСТЬ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру