.\" -*- coding: UTF-8 -*- .\" Copyright 2010, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH subpage_prot 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم subpage_prot \- تعريف حماية صفحة فرعية لنطاق عنوان .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBSYS_*\fP */ \fB#include \fP .P \fBint syscall(SYS_subpage_prot, unsigned long \fP\fIaddr\fP\fB, unsigned long \fP\fIsize\fP\fB,\fP \fB uint32_t *\fP\fImap\fP\fB);\fP .fi .P \fIملاحظة\fP: لا توفر glibc غلافًا لـ \fBsubpage_prot\fP()، مما يستلزم استخدام \fBsyscall\fP(2). .SH الوصف استدعاء النظام الخاص بـ PowerPC \fBsubpage_prot\fP() يوفر إمكانية التحكم في أذونات الوصول على الصفحات الفرعية الفردية بحجم 4 كيلوبايت على الأنظمة المهيأة بحجم صفحة 64 كيلوبايت. .P يتم تطبيق خريطة الحماية على صفحات الذاكرة في المنطقة التي تبدأ من \fIaddr\fP وتستمر لـ \fIsize\fP بايت. يجب محاذاة كلتا الوسيطتين إلى حد 64 كيلوبايت. .P يتم تحديد خريطة الحماية في المخزن المؤقت المشار إليه بـ \fImap\fP. تحتوي الخريطة على 2 بت لكل صفحة فرعية بحجم 4 كيلوبايت؛ وبالتالي تحدد كل كلمة 32 بت حماية 16 صفحة فرعية بحجم 4 كيلوبايت داخل صفحة بحجم 64 كيلوبايت (لذا، يجب أن يتساوى عدد الكلمات 32 بت المشار إليها بـ \fImap\fP مع عدد صفحات 64 كيلوبايت المحددة بـ \fIsize\fP). كل حقل 2 بت في خريطة الحماية إما 0 للسماح بأي وصول، أو 1 لمنع الكتابة، أو 2 أو 3 لمنع جميع أنواع الوصول. .SH "قيمة الإرجاع" عند النجاح، تُرجع \fBsubpage_prot\fP() 0. وإلا، يُرجع أحد رموز الخطأ المحددة أدناه. .SH الأخطاء .TP \fBEFAULT\fP المخزن المؤقت المشار إليه بـ \fImap\fP غير قابل للوصول. .TP \fBEINVAL\fP الوسيطتان \fIaddr\fP أو \fIsize\fP غير صحيحتين. يجب محاذاة كلتا الوسيطتين إلى مضاعف لحجم صفحة النظام، ويجب ألا تشير إلى منطقة خارج مساحة عنوان العملية أو إلى منطقة تتكون من صفحات ضخمة. .TP \fBENOMEM\fP نفدت الذاكرة. .SH المعايير لينكس. .SH التاريخ لينكس 2.6.25 (PowerPC). .P يتم توفير استدعاء النظام فقط إذا تم تكوين النواة بـ \fBCONFIG_PPC_64K_PAGES\fP. .SH ملاحظات تنطبق حماية الصفحة العادية (على مستوى صفحة 64 كيلوبايت) أيضًا؛ آلية حماية الصفحة الفرعية هي قيد إضافي، لذا فإن وضع 0 في حقل 2 بت لن يسمح بالكتابة إلى صفحة محمية ضد الكتابة بخلاف ذلك. .SS "الأساس المنطقي" .\" In the initial implementation, it was the case that: .\" In fact the whole process is switched to use 4 kB hardware pages when the .\" subpage_prot system call is used, but this could be improved in future .\" to switch only the affected segments. .\" But Paul Mackerass says (Oct 2010): I'm pretty sure we now only switch .\" the affected segment, not the whole process. يتم توفير استدعاء النظام هذا للمساعدة في كتابة المحاكيات التي تعمل باستخدام صفحات 64 كيلوبايت على أنظمة PowerPC. عند محاكاة أنظمة مثل x86، التي تستخدم حجم صفحة أصغر، لم يعد بإمكان المحاكي استخدام وحدة إدارة الذاكرة (MMU) واستدعاءات النظام العادية للتحكم في حماية الصفحات. (يمكن للمحاكي محاكاة MMU عن طريق التحقق وربما إعادة تعيين العنوان لكل وصول إلى الذاكرة في البرنامج، لكن ذلك بطيء.) الفكرة هي أن المحاكي يوفر مصفوفة من أقنعة الحماية لتطبيقها على نطاق محدد من العناوين الافتراضية. يتم تطبيق هذه الأقنعة على المستوى الذي يتم فيه إدخال إدخالات جدول الصفحات (PTEs) للأجهزة في جدول صفحات الأجهزة بناءً على PTEs الخاصة بلينكس، لذا لا تتأثر PTEs الخاصة بلينكس. الضمني في هذا هو أن مناطق مساحة العنوان المحمية يتم تحويلها لاستخدام صفحات أجهزة بحجم 4 كيلوبايت بدلاً من صفحات أجهزة بحجم 64 كيلوبايت (على الأجهزة التي تدعم صفحات أجهزة بحجم 64 كيلوبايت). .SH "انظر أيضًا" \fBmprotect\fP(2), \fBsyscall\fP(2) .P \fIDocumentation/admin\-guide/mm/hugetlbpage.rst\fP في شجرة مصدر نواة لينكس .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .