.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2003, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" 2003-12-10 Initial creation, Michael Kerrisk .\" 2004-10-28 aeb, corrected prototype, prot must be 0 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH remap_file_pages 2 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME remap_file_pages \- creează o cartografiere neliniară a fișierelor .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#define _GNU_SOURCE\fP /* A se vedea feature_test_macros(7) */ \fB#include \fP .P \fB[[depreciat]] int remap_file_pages(void \fP\fIaddr\fP\fB[.\fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB,\fP \fB int \fP\fIprot\fP\fB, size_t \fP\fIpgoff\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .SH DESCRIERE .\" commit 33041a0d76d3c3e0aff28ac95a2ffdedf1282dbc .\" http://lwn.net/Articles/597632/ .\" commit c8d78c1823f46519473949d33f0d1d33fe21ea16 \fBNotă\fP: acest apel de sistem a fost marcat ca fiind depreciat începând cu Linux 3.16. În Linux 4.0, implementarea a fost înlocuită cu o emulație în nucleu mai lentă. Acele câteva aplicații care utilizează acest apel de sistem ar trebui să ia în considerare migrarea către alternative. Această modificare a fost făcută deoarece codul nucleului pentru acest apel de sistem era complex și se crede că este puțin utilizat sau poate chiar complet nefolosit. Deși a avut unele cazuri de utilizare în aplicațiile de baze de date pe sisteme pe 32 de biți, aceste cazuri de utilizare nu există pe sistemele pe 64 de biți. .P Apelul de sistem \fBremap_file_pages\fP() este utilizat pentru a crea o cartografiere neliniară, adică o cartografiere în care paginile fișierului sunt cartografiate într\-o ordine nesecvențială în memorie. Avantajul utilizării \fBremap_file_pages\fP() față de utilizarea apelurilor repetate la \fBmmap\fP(2) constă în faptul că prima abordare nu necesită ca nucleul să creeze structuri de date suplimentare VMA (Virtual Memory Area). .P Pentru a crea o cartografiere neliniară, efectuăm următorii pași: .TP 3 1. Utilizați \fBmmap\fP(2) pentru a crea o cartografiere (care este inițial liniară). Această cartografiere trebuie să fie creată cu indicatorul \fBMAP_SHARED\fP. .TP 2. Utilizați unul sau mai multe apeluri la \fBremap_file_pages\fP() pentru a rearanja corespondența dintre paginile din cartografiere și paginile din fișier. Este posibil să se cartografieze aceeași pagină a unui fișier în mai multe locații din regiunea cartografiată. .P Argumentele \fIpgoff\fP și \fIsize\fP specifică regiunea din fișier care trebuie realocată în cadrul cartografierii: \fIpgoff\fP este un interval al fișierului în unități de dimensiune a paginii de sistem; \fIsize\fP este lungimea regiunii în octeți. .P Argumentul \fIaddr\fP are două scopuri. În primul rând, identifică cartografierea ale cărei pagini dorim să le rearanjăm. Astfel, \fIaddr\fP trebuie să fie o adresă care să se încadreze într\-o regiune cartografiată anterior printr\-un apel la \fBmmap\fP(2). În al doilea rând, \fIaddr\fP specifică adresa la care vor fi plasate paginile de fișier identificate de \fIpgoff\fP și \fIsize\fP. .P .\" This rounding is weird, and not consistent with the treatment of .\" the analogous arguments for munmap()/mprotect() and for mlock(). .\" MTK, 14 Sep 2005 Valorile specificate în \fIaddr\fP și \fIsize\fP trebuie să fie multiplii dimensiunii paginii de sistem. Dacă nu sunt, atunci nucleul rotunjește valorile \fIboth\fP \fIdown\fP la cel mai apropiat multiplu al dimensiunii paginii. .P Argumentul \fIprot\fP trebuie să fie specificat ca fiind 0. .P Argumentul \fIprot\fP trebuie să fie specificat ca fiind 0. Argumentul \fIflags\fP are aceeași semnificație ca și pentru \fBmmap\fP(2), dar toate fanioanele, altele decât \fBMAP_NONBLOCK\fP, sunt ignorate. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBremap_file_pages\fP() returnează 0. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP \fIaddr\fP nu se referă la o cartografiere validă creată cu indicatorul \fBMAP_SHARED\fP. .TP \fBEINVAL\fP .\" And possibly others from vma->vm_ops->populate() \fIaddr\fP, \fIsize\fP, \fIprot\fP, sau \fIpgoff\fP nu este valid. .SH STANDARDE Linux. .SH ISTORIC Linux 2.5.46, glibc 2.3.3. .SH NOTE .\" commit 3ee6dafc677a68e461a7ddafc94a580ebab80735 Începând cu Linux 2.6.23, \fBremap_file_pages\fP() creează cartografieri neliniare numai pe sistemele de fișiere în memorie, cum ar fi \fBtmpfs\fP(5), hugetlbfs sau ramfs. Pe sistemele de fișiere cu o memorie de rezervă, \fBremap_file_pages\fP() nu este mult mai eficient decât utilizarea \fBmmap\fP(2) pentru a ajusta ce părți ale fișierului sunt cartografiate la ce adrese. .SH "CONSULTAȚI ȘI" \fBgetpagesize\fP(2), \fBmmap\fP(2), \fBmmap2\fP(2), \fBmprotect\fP(2), \fBmremap\fP(2), \fBmsync\fP(2) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .