تصف هذه الصفحة مجموعة فرعية من واجهات Linux kernel التي يعتمد عليها Android ليعمل بشكل صحيح. يتم اختبار وجود وصحة هذه الواجهات كجزء من مجموعة اختبار البائع (VTS) . ستنمو هذه المجموعة الفرعية بمرور الوقت لتحتوي على جزء أكبر من واجهات Android kernel.
مكالمات النظام
من المتوقع أن توفر جميع استدعاءات النظام نفس التوقيعات والدلالات كما هو الحال في نواة Linux الأولية لنفس الإصدار.
prctl
بالإضافة إلى عمليات prctl
الأولية لإصدارات kernel المدعومة، يعتمد Android على عمليات prctl
إضافية، والتي يمكن العثور على تنفيذها في kernel android المشترك.
PR_SET_TIMERSLACK_PID PR_SET_VMA
أنظمة الملفات
يقوم Linux kernel بتصدير الواجهات عبر العديد من أنظمة الملفات. يتوقع Android أن تقوم هذه الواجهات بتوصيل نفس المعلومات وبنفس التنسيق وتوفير نفس الدلالات كما هو الحال في نواة Linux الأولية. بالنسبة للواجهات غير الموجودة في المنبع، يتم تحديد السلوك المناسب بواسطة الفرع المقابل من نواة Android الشائعة.
com.procfs
واجهه المستخدم | وصف |
---|---|
/بروك/الصوت/ | ملف للقراءة فقط يعرض قائمة برامج تشغيل ALSA التي تم تكوينها حاليًا. |
/proc/cmdline | ملف للقراءة فقط يحتوي على وسيطات سطر الأوامر التي تم تمريرها إلى النواة. |
/proc/config.gz | ملف للقراءة فقط يحتوي على تكوين بناء kernel. |
/proc/cpuinfo | ملف للقراءة فقط يحتوي على تفاصيل وحدة المعالجة المركزية الخاصة بالهندسة المعمارية. |
/proc/diskstats | ملف للقراءة فقط يُظهر إحصائيات الإدخال/الإخراج لأجهزة الحظر. |
/proc/أنظمة الملفات | أنظمة الملفات التي تحتوي على قوائم للقراءة فقط والتي تدعمها النواة حاليًا. |
/proc/kmsg | ملف للقراءة فقط يُظهر رسائل kernel في الوقت الفعلي. |
/proc/loadavg | ملف للقراءة فقط يُظهر متوسط تحميل وحدة المعالجة المركزية والإدخال/الإخراج بمرور الوقت. |
/proc/meminfo | ملف للقراءة فقط يُظهر تفاصيل النظام الفرعي للذاكرة. |
/proc/misc | ملف للقراءة فقط يسرد برامج التشغيل المتنوعة المسجلة على الجهاز الرئيسي المتنوع. |
/proc/modules | ملف للقراءة فقط يحتوي على معلومات حول وحدات kernel المحملة. |
/proc/mounts | رابط رمزي إلى /proc/self/mounts ، وهو ملف للقراءة فقط يسرد معلومات حول أنظمة الملفات المحملة. |
/proc/net | دليل يحتوي على مجموعة متنوعة من معلمات مكدس الشبكة. |
/proc/net/xt_qtaguid/ | ملف القراءة والكتابة الذي يوفر معلومات حول المقابس ذات العلامات. |
/proc/pagetypeinfo | ملف للقراءة فقط يحتوي على معلومات مخصص الصفحة. |
/proc/stat | ملف للقراءة فقط يحتوي على إحصائيات مختلفة للنواة والنظام. |
/proc/swaps | ملف للقراءة فقط يُظهر استخدام مساحة المبادلة. هذا الملف اختياري؛ سيتم التحقق من محتوياته وأذوناته في VTS فقط في حالة وجود الملف . |
/proc/sys/abi/swp | ملف القراءة والكتابة الذي يحدد سلوك تعليمات ARM المتقادمة SWP. |
/proc/sys/fs/pipe-max-size | ملف القراءة والكتابة الذي يُبلغ عن الحجم الأقصى، بالبايت، للمخزن المؤقت للأنبوب الفردي. |
/proc/sys/fs/protected_hardlinks | ملف القراءة والكتابة الذي يتحكم في سلوك إنشاء الروابط الثابتة. |
/proc/sys/fs/protected_symlinks | ملف القراءة والكتابة الذي يتحكم في سلوك إنشاء الروابط الرمزية. |
/proc/sys/fs/suid_dumpable | ملف القراءة والكتابة الذي يتحكم في وضع التفريغ الأساسي للثنائيات setuid أو المحمية/الملوثة. |
/proc/sys/kernel/core_pattern | ملف القراءة والكتابة الذي يحدد نمط اسم ملف التفريغ الأساسي. |
/proc/sys/kernel/core_pipe_limit | ملف القراءة والكتابة الذي يحدد عدد عمليات التعطل المتزامنة التي قد يتم نقلها إلى تطبيقات المستخدم بالتوازي. |
/proc/sys/kernel/dmesg_restrict | ملف القراءة والكتابة الذي يتحكم في إمكانية وصول المستخدمين غير المميزين إلى dmesg. |
/proc/sys/kernel/domainname | ملف القراءة والكتابة الذي يحتوي على اسم مجال YP/NIS للنظام. |
/proc/sys/kernel/hostname | ملف القراءة والكتابة الذي يحدد اسم المضيف للنظام. |
/proc/sys/kernel/hung_task_timeout_secs | ملف القراءة والكتابة الذي يتحكم في المهلة المستخدمة لتحديد متى تصبح المهمة غير مستجيبة ويجب اعتبارها معلقة. هذا الملف اختياري؛ سيتم التحقق من محتوياته وأذوناته في VTS فقط في حالة وجود الملف . |
/proc/sys/kernel/kptr_restrict | ملف القراءة والكتابة الذي يحدد ما إذا كانت مؤشرات kernel مطبوعة في ملفات proc والواجهات الأخرى. |
/proc/sys/kernel/modules_disabled | ملف القراءة والكتابة الذي يتحكم في إمكانية تحميل وحدات kernel. |
/proc/sys/kernel/panic_on_oops | ملف القراءة والكتابة الذي يتحكم في سلوك النواة عند عفوًا. |
/proc/sys/kernel/perf_event_max_sample_rate | ملف القراءة والكتابة الذي يتحكم في الحد الأقصى لمعدل أحداث الأداء. |
/proc/sys/kernel/perf_event_paranoid | ملف القراءة والكتابة الذي يتحكم في استخدام نظام أحداث الأداء من قبل المستخدمين غير المميزين. |
/proc/sys/kernel/pid_max | ملف القراءة والكتابة الذي يحتوي على قيمة التفاف تخصيص PID. |
/proc/sys/kernel/random/boot_id | ملف للقراءة فقط يحتوي على معرف عشوائي جديد في كل عملية تمهيد. |
/proc/sys/kernel/randomize_va_space | ملف القراءة والكتابة الذي يحدد سياسة التوزيع العشوائي لتخطيط العنوان للنظام. |
/proc/sys/kernel/sched_child_runs_first | ملف القراءة والكتابة الذي يتحكم في ما إذا كانت المهام المتشعبة حديثًا مفضلة في الجدولة على المهام الأصلية. |
/proc/sys/kernel/sched_latency_ns | ملف القراءة والكتابة الذي يحتوي على الحد الأقصى لزمن الوصول، بالنانو ثانية، الذي قد تحدثه المهمة قبل جدولتها. |
/proc/sys/kernel/sched_rt_period_us | ملف القراءة والكتابة الذي يحتوي على طول الفترة المستخدمة بواسطة حد تنفيذ RT على مستوى النظام بالميكروثانية. |
/proc/sys/kernel/sched_rt_runtime_us | ملف القراءة والكتابة الذي يحتوي على مقدار الوقت، بالنسبة إلى sched_rt_period_us، الذي قد يقوم فيه النظام بتنفيذ مهام RT. |
/proc/sys/kernel/sched_tunable_scaling | ملف القراءة والكتابة الذي يتحكم في ما إذا كان يجب ضبط sched_latency_ns تلقائيًا بواسطة المجدول بناءً على عدد وحدات المعالجة المركزية (CPUs). |
/proc/sys/kernel/sched_wakeup_granularity_ns | ملف القراءة والكتابة الذي يحتوي على المقدار الذي يجب أن تمتلكه مهمة وقت التشغيل الافتراضية A أكثر من المهمة B بالنانو ثانية حتى تتمكن المهمة B من استباقها. |
/proc/sys/kernel/sysrq | ملف القراءة والكتابة الذي يتحكم في الوظائف المسموح باستدعائها عبر مفتاح sysrq. |
/بروك/سيس/نت/* | دليل يحتوي على مجموعة متنوعة من معلمات مكدس الشبكة. |
/proc/sysrq-trigger | ملف للكتابة فقط يمكن استخدامه لبدء وظائف sysrq. |
/proc/sys/vm/dirty_background_ratio | ملف القراءة والكتابة الذي يحتوي، كنسبة مئوية من إجمالي الذاكرة المتوفرة (الصفحات المجانية والصفحات القابلة للاسترداد)، على عدد الصفحات التي ستبدأ عندها مؤشرات ترابط فلوشير kernel الخلفية في كتابة البيانات القذرة. |
/proc/sys/vm/dirty_expire_centisecs | ملف القراءة والكتابة الذي يحدد متى تصبح البيانات القذرة قديمة بما يكفي لتكون مؤهلة للكتابة بواسطة مؤشرات ترابط فلوشير kernel. |
/proc/sys/vm/drop_caches | ملف القراءة والكتابة الذي يمكن استخدامه لإجبار النواة على إسقاط ذاكرة التخزين المؤقت النظيفة. |
/proc/sys/vm/extra_free_kbytes | ملف القراءة والكتابة الذي يمكن استخدامه للاحتفاظ بذاكرة خالية إضافية بين العتبة التي تبدأ فيها استعادة الخلفية (kswapd)، والعتبة التي تبدأ فيها الاستعادة المباشرة (عن طريق تخصيص العمليات). هذا الملف اختياري؛ سيتم التحقق من محتوياته وأذوناته في VTS فقط في حالة وجود الملف . |
/proc/sys/vm/max_map_count | ملف القراءة والكتابة الذي يحتوي على الحد الأقصى لعدد مناطق خريطة الذاكرة التي قد تحتوي عليها العملية. |
/proc/sys/vm/mmap_min_addr | ملف القراءة والكتابة الذي يحدد الحد الأدنى للعنوان مما يمكن أن يكون mmap 'd. |
/proc/sys/vm/mmap_rnd_bits | ملف القراءة والكتابة الذي يحدد مقدار العشوائية في عناوين mmap 'd. |
/proc/sys/vm/mmap_rnd_compat_bits | ملف القراءة والكتابة الذي يحدد مقدار العشوائية في عناوين mmap 'd. |
/proc/sys/vm/overcommit_memory | ملف القراءة والكتابة الذي يحدد وضع محاسبة الذاكرة الظاهرية لـ kernel. |
/proc/sys/vm/page-cluster | ملف القراءة والكتابة الذي يتحكم في عدد الصفحات التي يتم حتى قراءة الصفحات المتتالية من المبادلة في محاولة واحدة. |
/proc/uid_cputime/remove_uid_range | ملف للكتابة فقط، عند كتابته، يزيل UIDs من الظهور في /proc/uid_cputime/show_uid_stat . |
/proc/uid_cputime/show_uid_stat | ملف للقراءة فقط يحتوي على الوقت الذي تستغرقه عمليات UID في مساحة المستخدم ومساحة kernel. |
/proc/uid_io/stats | ملف للقراءة فقط يحتوي على قائمة بإحصائيات الإدخال/الإخراج لكل UID في النظام |
/proc/uid_procstat/set | ملف للكتابة فقط يُستخدم لتكوين UID كمقدمة أو خلفية. |
/proc/uid_time_in_state | ملف للقراءة فقط يحتوي على الوقت الذي تقضيه كل عمليات UID في التنفيذ عند كل تردد متاح. هذا الملف اختياري؛ سيتم التحقق من محتوياته وأذوناته في VTS فقط في حالة وجود الملف . |
/proc/uptime | ملف للقراءة فقط يُظهر مدة تشغيل النظام. |
/proc/version | ملف للقراءة فقط يحتوي على سلسلة تصف إصدار النواة. |
/proc/vmallocinfo | ملف للقراءة فقط يحتوي على نطاقات vmalloc 'd. |
/proc/vmstat | ملف للقراءة فقط يحتوي على إحصائيات الذاكرة الافتراضية من النواة. |
/proc/zoneinfo | ملف للقراءة فقط يحتوي على معلومات حول مناطق الذاكرة. |
ديف
واجهه المستخدم | وصف |
---|---|
/dev/ashmem | ملف جهاز الذاكرة المشتركة المجهول. |
/dev/binder | ملف الجهاز الموثق. |
/dev/hwbinder | ملف جهاز ربط الأجهزة. |
/dev/tun | ملف جهاز TUN/TAP العالمي. |
/dev/xt_qtaguid | ملف جهاز QTAGUID netfilter. |
sysfs
واجهه المستخدم | وصف |
---|---|
/sys/class/net/*/mtu | ملف قراءة وكتابة يحتوي على الحد الأقصى لوحدة الإرسال لكل واجهة. |
/sys/class/rtc/*/hctosys | ملف للقراءة فقط يوضح ما إذا كان RTC معين يوفر وقت النظام عند التمهيد والاستئناف. |
/sys/devices/system/cpu/ | دليل يحتوي على معلومات حول تكوين وحدة المعالجة المركزية وتكرارها. |
/sys/kernel/wakeup_reasons | دليل الملفات للقراءة فقط التي تحتوي على آخر وقت تعليق وسبب الاستئناف. |
/sys/power/state | ملف القراءة والكتابة الذي يتحكم في حالات سكون النظام. |
/sys/power/wake_lock | ملف القراءة والكتابة الذي يحتوي على أقفال التنبيه النشطة. |
/sys/power/wake_unlock | ملف القراءة والكتابة الذي يحتوي على أقفال التنبيه غير النشطة. |
/sys/power/wakeup_count | ملف القراءة والكتابة الذي يمكن استخدامه لوضع النظام في حالة سكون مع مراعاة الوصول المتزامن لأحداث التنبيه. |
com.selinuxfs
يقوم الإطار بتثبيت selinuxfs
على /sys/fs/selinux
.
طريق | وصف |
---|---|
/sys/fs/selinux/checkreqprot | ملف قراءة/كتابة يحتوي على علامة ثنائية تحدد كيفية التحقق من حماية selinux على مكالمات mmap و mprotect . |
/sys/fs/selinux/null | قراءة/كتابة جهاز فارغ للاستخدام بواسطة selinux. |
/sys/fs/selinux/policy | ملف للقراءة فقط يحتوي على سياسة selinux في شكل ثنائي. |