این صفحه زیرمجموعهای از رابطهای هسته لینوکس را توصیف میکند که اندروید برای عملکرد درست به آنها متکی است. وجود و صحت این رابط ها به عنوان بخشی از مجموعه تست فروشنده (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 به شکل باینری. |