نیازهای رابط

این صفحه زیرمجموعه‌ای از رابط‌های هسته لینوکس را توصیف می‌کند که اندروید برای عملکرد درست به آن‌ها متکی است. وجود و صحت این رابط ها به عنوان بخشی از مجموعه تست فروشنده (VTS) آزمایش می شود. این زیرمجموعه با گذشت زمان رشد می‌کند و بخش بزرگ‌تری از رابط‌های هسته اندروید را شامل می‌شود.

تماس های سیستمی

انتظار می‌رود همه فراخوانی‌های سیستمی همان امضاها و معنایی را که در هسته بالادستی لینوکس همان نسخه وجود دارد، ارائه دهند.

prctl

علاوه بر عملیات prctl بالادستی برای نسخه‌های هسته پشتیبانی‌شده، اندروید به عملیات prctl اضافی متکی است که پیاده‌سازی آن‌ها را می‌توان در هسته مشترک اندروید یافت.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

سیستم های فایل

هسته لینوکس رابط ها را از طریق چندین سیستم فایل صادر می کند. اندروید انتظار دارد که این رابط‌ها همان اطلاعات را در قالب یکسان به هم منتقل کنند و همان معنایی را ارائه دهند که در هسته بالادست لینوکس وجود دارد. برای رابط هایی که در بالادست وجود ندارند، رفتار مناسب توسط شاخه مربوطه از هسته مشترک اندروید دیکته می شود.

پروفسور

رابط شرح
/proc/asound/ فایل فقط خواندنی که لیست درایورهای ALSA پیکربندی شده فعلی را نشان می دهد.
/proc/cmdline فایل فقط خواندنی حاوی آرگومان های خط فرمان که به هسته ارسال می شود.
/proc/config.gz فایل فقط خواندنی حاوی پیکربندی ساخت هسته.
/proc/cpuinfo فایل فقط خواندنی حاوی جزئیات CPU خاص معماری.
/proc/diskstats فایل فقط خواندنی که آمار ورودی/خروجی دستگاه‌های بلوک را نشان می‌دهد.
/proc/filesystems فایل سیستم های لیست فایل فقط خواندنی که در حال حاضر توسط هسته پشتیبانی می شوند.
/proc/kmsg فایل فقط خواندنی که پیام های هسته را در زمان واقعی نشان می دهد.
/proc/loadavg فایل فقط خواندنی که میانگین بارگیری CPU و IO را در طول زمان نشان می‌دهد.
/proc/meminfo فایل فقط خواندنی که جزئیات زیرسیستم حافظه را نشان می دهد.
/proc/misc فایل فقط خواندنی که درایورهای متفرقه ثبت شده در دستگاه اصلی متفرقه را فهرست می کند.
/proc/modules فایل فقط خواندنی حاوی اطلاعات مربوط به ماژول های هسته بارگذاری شده.
/proc/mounts Symlink به /proc/self/mounts که یک فایل فقط خواندنی است که اطلاعات مربوط به فایل سیستم‌های نصب شده را فهرست می‌کند.
/proc/net دایرکتوری حاوی انواع پارامترهای پشته شبکه.
/proc/net/xt_qtaguid/ فایل خواندن و نوشتن اطلاعاتی درباره سوکت های برچسب گذاری شده ارائه می دهد.
/proc/pagetypeinfo فایل فقط خواندنی حاوی اطلاعات اختصاص دهنده صفحه.
/proc/stat فایل فقط خواندنی حاوی آمار هسته و سیستم مختلف.
/proc/swaps فایل فقط خواندنی که استفاده از فضای مبادله را نشان می دهد. این فایل اختیاری است. محتویات و مجوزهای آن فقط در صورت وجود فایل در VTS تأیید می شود .
/proc/sys/abi/swp فایل خواندن و نوشتن که رفتار SWP دستورالعمل ARM منسوخ شده را تعیین می کند.
/proc/sys/fs/pipe-max-size فایل خواندن و نوشتن که حداکثر اندازه یک بافر لوله جداگانه را بر حسب بایت گزارش می کند.
/proc/sys/fs/protected_hardlinks فایل خواندن و نوشتن که رفتار ایجاد لینک های سخت را کنترل می کند.
/proc/sys/fs/protected_symlinks فایل خواندن و نوشتن که رفتار ایجاد پیوندهای نمادین را کنترل می کند.
/proc/sys/fs/suid_dumpable فایل خواندن و نوشتن که حالت تخلیه هسته را برای باینری های ثابت یا محافظت شده/آلوده کنترل می کند.
/proc/sys/kernel/core_pattern فایل خواندن و نوشتن که الگوی نام فایل dump اصلی را مشخص می کند.
/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 فایل خواندن و نوشتن که تعیین می کند آیا نشانگرهای هسته در فایل های proc و سایر رابط ها چاپ می شوند یا خیر.
/proc/sys/kernel/modules_disabled فایل خواندن و نوشتن که کنترل می کند آیا ماژول های هسته ممکن است بارگذاری شوند یا خیر.
/proc/sys/kernel/panic_on_oops فایل خواندن و نوشتن که رفتار هسته را در 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 فایل خواندن و نوشتن که حاوی مدت زمانی است که سیستم ممکن است وظایف RT را اجرا کند، نسبت به sched_rt_period_us.
/proc/sys/kernel/sched_tunable_scaling فایل خواندن و نوشتن که کنترل می‌کند sched_latency_ns باید به‌طور خودکار توسط زمان‌بند بر اساس تعداد پردازنده‌ها تنظیم شود یا خیر.
/proc/sys/kernel/sched_wakeup_granularity_ns فایل خواندن-نوشتن که حاوی مقدار بیشتری وظیفه زمان اجرای مجازی A نسبت به وظیفه B در نانوثانیه است تا وظیفه B بتواند آن را از پیش بازدارد.
/proc/sys/kernel/sysrq فایل خواندن و نوشتن که توابع مجاز برای فراخوانی از طریق کلید sysrq را کنترل می کند.
/proc/sys/net/* دایرکتوری حاوی انواع پارامترهای پشته شبکه.
/proc/sysrq-trigger فایلی فقط برای نوشتن که می تواند برای شروع توابع sysrq استفاده شود.
/proc/sys/vm/dirty_background_ratio فایل خواندن و نوشتن که شامل درصدی از کل حافظه موجود (صفحه‌های آزاد و صفحات قابل بازیابی)، تعداد صفحاتی است که رشته‌های پاک‌کننده هسته پس‌زمینه شروع به نوشتن داده‌های کثیف می‌کنند.
/proc/sys/vm/dirty_expire_centisecs فایل خواندن-نوشتن که مشخص می‌کند چه زمانی داده‌های کثیف به اندازه کافی قدیمی هستند که واجد شرایط نوشتن توسط رشته‌های flusher هسته هستند.
/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 فایل خواندن و نوشتن که حالت حسابداری حافظه مجازی هسته را تعیین می کند.
/proc/sys/vm/page-cluster فایل خواندن و نوشتن که تعداد صفحاتی را که صفحات متوالی از مبادله در یک تلاش خوانده می شوند را کنترل می کند.
/proc/uid_cputime/remove_uid_range فایلی فقط برای نوشتن که وقتی نوشته می‌شود، UID‌ها را از نمایش در /proc/uid_cputime/show_uid_stat حذف می‌کند.
/proc/uid_cputime/show_uid_stat فایل فقط خواندنی حاوی زمانی که فرآیندهای یک UID در فضای کاربر و هسته صرف شده است.
/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.

sysfs

رابط شرح
/sys/class/net/*/mtu فایل خواندن و نوشتن حاوی حداکثر واحد انتقال برای هر رابط.
/sys/class/rtc/*/hctosys فایل فقط خواندنی که نشان می دهد آیا یک rtc خاص زمان سیستم را در هنگام بوت و رزومه تامین می کند یا خیر.
/sys/devices/system/cpu/ دایرکتوری حاوی اطلاعاتی در مورد پیکربندی و فرکانس CPU.
/sys/kernel/wakeup_reasons فهرست فایل های فقط خواندنی حاوی آخرین زمان تعلیق و دلیل رزومه.
/sys/power/state فایل خواندن و نوشتن که وضعیت های خواب سیستم را کنترل می کند.
/sys/power/wake_lock فایل خواندن و نوشتن که حاوی wake lock های فعال است.
/sys/power/wake_unlock فایل خواندن و نوشتن حاوی wake lock های غیر فعال.
/sys/power/wakeup_count فایل خواندن و نوشتن که می تواند برای قرار دادن سیستم در حالت خواب و در عین حال در نظر گرفتن ورود همزمان رویدادهای بیداری استفاده شود.

selinuxfs

چارچوب selinuxfs در /sys/fs/selinux نصب می‌کند.

مسیر شرح
/sys/fs/selinux/checkreqprot فایل خواندن/نوشتن حاوی یک پرچم باینری است که تعیین می‌کند چگونه حفاظت‌های سلینوکس در تماس‌های mmap و mprotect بررسی می‌شوند.
/sys/fs/selinux/null خواندن/نوشتن دستگاه تهی برای استفاده توسط selinux.
/sys/fs/selinux/policy فایل فقط خواندنی حاوی خط مشی selinux به شکل باینری.