Halaman ini menjelaskan subset antarmuka kernel Linux yang diandalkan Android untuk berfungsi dengan baik. Kehadiran dan kebenaran antarmuka ini diuji sebagai bagian dari Vendor Test Suite (VTS) . Subset ini akan berkembang dari waktu ke waktu untuk menampung sebagian besar antarmuka kernel Android.
Panggilan sistem
Semua panggilan sistem diharapkan memberikan tanda tangan dan semantik yang sama seperti pada kernel Linux hulu dari versi yang sama.
prctl
Selain operasi prctl
upstream untuk versi kernel yang didukung, Android mengandalkan operasi prctl
tambahan, yang implementasinya dapat ditemukan di kernel android-common.
PR_SET_TIMERSLACK_PID PR_SET_VMA
Sistem file
Kernel Linux mengekspor antarmuka melalui beberapa sistem file. Android mengharapkan antarmuka ini untuk mengomunikasikan informasi yang sama, dalam format yang sama, dan memberikan semantik yang sama seperti di kernel Linux hulu. Untuk antarmuka yang tidak ada di hulu, perilaku yang sesuai ditentukan oleh cabang yang sesuai dari kernel umum Android.
procfs
Antarmuka | Keterangan |
---|---|
/proc/asound/ | File read-only yang menampilkan daftar driver ALSA yang saat ini dikonfigurasi. |
/proc/cmdline | File read-only yang berisi argumen baris perintah yang diteruskan ke kernel. |
/proc/config.gz | File read-only yang berisi konfigurasi build kernel. |
/proc/cpuinfo | File hanya-baca yang berisi detail CPU khusus arsitektur. |
/proc/diskstats | File read-only yang menunjukkan statistik I/O perangkat blok. |
/proc/filesystem | Filesystem daftar file read-only yang saat ini didukung oleh kernel. |
/proc/kmsg | File read-only yang menampilkan pesan kernel secara real time. |
/proc/loadavg | File hanya-baca yang menunjukkan rata-rata beban CPU dan IO dari waktu ke waktu. |
/proc/meminfo | File read-only yang menampilkan detail subsistem memori. |
/proc/lain-lain | File read-only yang mencantumkan driver lain-lain yang terdaftar di perangkat utama lain-lain. |
/proc/modul | File read-only yang berisi informasi tentang modul kernel yang dimuat. |
/proc/mount | Symlink ke /proc/self/mounts , yang merupakan informasi daftar file read-only tentang sistem file yang dipasang. |
/proc/net | Direktori yang berisi berbagai parameter tumpukan jaringan. |
/proc/net/xt_qtaguid/ | File baca-tulis yang memberikan informasi tentang soket yang diberi tag. |
/proc/pagetypeinfo | File read-only yang berisi informasi pengalokasi halaman. |
/proc/stat | File read-only yang berisi berbagai kernel dan statistik sistem. |
/proc/swap | File hanya-baca yang menunjukkan pemanfaatan ruang swap. File ini opsional; isinya dan izinnya akan diverifikasi di VTS hanya jika file tersebut ada . |
/proc/sys/abi/swp | File baca-tulis yang menentukan perilaku SWP instruksi ARM usang. |
/proc/sys/fs/pipe-max-size | File baca-tulis yang melaporkan ukuran maksimum, dalam byte, dari buffer pipa individual. |
/proc/sys/fs/protected_hardlinks | File baca-tulis yang mengontrol perilaku pembuatan tautan keras. |
/proc/sys/fs/protected_symlinks | File baca-tulis yang mengontrol perilaku pembuatan tautan simbolik. |
/proc/sys/fs/suid_dumpable | File baca-tulis yang mengontrol mode dump inti untuk setuid atau binari yang dilindungi/tercemar. |
/proc/sys/kernel/core_pattern | Baca-tulis file yang menentukan pola nama file dump inti. |
/proc/sys/kernel/core_pipe_limit | File baca-tulis yang menentukan berapa banyak proses mogok bersamaan yang dapat disalurkan ke aplikasi pengguna secara paralel. |
/proc/sys/kernel/dmesg_restrict | File baca-tulis yang mengontrol apakah pengguna yang tidak memiliki hak dapat mengakses dmesg. |
/proc/sys/kernel/nama domain | File baca-tulis yang berisi nama domain YP/NIS dari sistem. |
/proc/sys/kernel/nama host | File baca-tulis yang menentukan nama host sistem. |
/proc/sys/kernel/hung_task_timeout_secs | File baca-tulis yang mengontrol batas waktu yang digunakan untuk menentukan kapan tugas menjadi tidak responsif dan harus dianggap macet. File ini opsional; isinya dan izinnya akan diverifikasi di VTS hanya jika file tersebut ada . |
/proc/sys/kernel/kptr_restrict | File baca-tulis yang menentukan apakah pointer kernel dicetak dalam file proc dan antarmuka lainnya. |
/proc/sys/kernel/modules_disabled | File baca-tulis yang mengontrol apakah modul kernel dapat dimuat. |
/proc/sys/kernel/panic_on_oops | File baca-tulis yang mengontrol perilaku kernel pada oops. |
/proc/sys/kernel/perf_event_max_sample_rate | File baca-tulis yang mengontrol laju sampel maksimum peristiwa kinerja. |
/proc/sys/kernel/perf_event_paranoid | File baca-tulis yang mengontrol penggunaan sistem peristiwa kinerja oleh pengguna yang tidak memiliki hak istimewa. |
/proc/sys/kernel/pid_max | File baca-tulis yang berisi nilai bungkus alokasi PID. |
/proc/sys/kernel/random/boot_id | File read-only yang berisi ID acak baru pada setiap boot. |
/proc/sys/kernel/randomize_va_space | File baca-tulis yang menentukan kebijakan pengacakan tata letak alamat untuk sistem. |
/proc/sys/kernel/sched_child_runs_first | File baca-tulis yang mengontrol apakah tugas bercabang baru lebih disukai dalam penjadwalan daripada tugas induknya. |
/proc/sys/kernel/sched_latency_ns | File baca-tulis yang berisi latensi maksimum, dalam nanodetik, tugas mungkin terjadi sebelum dijadwalkan. |
/proc/sys/kernel/sched_rt_period_us | File baca-tulis yang berisi panjang periode yang digunakan oleh batas eksekusi RT di seluruh sistem dalam mikrodetik. |
/proc/sys/kernel/sched_rt_runtime_us | File baca-tulis yang berisi jumlah waktu, relatif terhadap sched_rt_period_us, bahwa sistem dapat menjalankan tugas RT. |
/proc/sys/kernel/sched_tunable_scaling | File baca-tulis yang mengontrol apakah sched_latency_ns harus disesuaikan secara otomatis oleh penjadwal berdasarkan jumlah CPU. |
/proc/sys/kernel/sched_wakeup_granularity_ns | File baca-tulis yang berisi berapa banyak tugas waktu proses virtual A yang harus dimiliki daripada tugas B dalam nanodetik agar tugas B dapat mendahuluinya. |
/proc/sys/kernel/sysrq | File baca-tulis yang mengontrol fungsi yang diizinkan untuk dipanggil melalui kunci sysrq. |
/proc/sys/net/* | Direktori yang berisi berbagai parameter tumpukan jaringan. |
/proc/sysrq-trigger | File hanya-tulis yang dapat digunakan untuk memulai fungsi sysrq. |
/proc/sys/vm/dirty_background_ratio | File baca-tulis yang berisi, sebagai persentase dari total memori yang tersedia (halaman gratis dan halaman yang dapat diklaim ulang), jumlah halaman tempat thread flusher kernel latar belakang akan mulai menulis data kotor. |
/proc/sys/vm/dirty_expire_centisecs | File baca-tulis yang menentukan kapan data kotor cukup lama untuk memenuhi syarat untuk ditulis oleh utas pembilas kernel. |
/proc/sys/vm/drop_caches | File baca-tulis yang dapat digunakan untuk memaksa kernel menghapus cache bersih. |
/proc/sys/vm/extra_free_kbytes | File baca-tulis yang dapat digunakan untuk menyimpan memori ekstra bebas antara ambang batas di mana reklamasi latar belakang (kswapd) dimulai, dan ambang di mana reklamasi langsung (dengan mengalokasikan proses) dimulai. File ini opsional; isinya dan izinnya akan diverifikasi di VTS hanya jika file tersebut ada . |
/proc/sys/vm/max_map_count | File baca-tulis yang berisi jumlah maksimum area peta memori yang mungkin dimiliki suatu proses. |
/proc/sys/vm/mmap_min_addr | Baca-tulis file yang menentukan alamat minimum dari yang bisa mmap 'd. |
/proc/sys/vm/mmap_rnd_bits | File baca-tulis yang menentukan jumlah keacakan dalam alamat mmap 'd. |
/proc/sys/vm/mmap_rnd_compat_bits | File baca-tulis yang menentukan jumlah keacakan dalam alamat mmap 'd. |
/proc/sys/vm/overcommit_memory | File baca-tulis yang menentukan mode akuntansi memori virtual kernel. |
/proc/sys/vm/halaman-cluster | File baca-tulis yang mengontrol jumlah halaman hingga halaman yang berurutan dibaca dari swap dalam satu upaya. |
/proc/uid_cputime/remove_uid_range | File hanya-tulis yang, ketika ditulis, menghapus UID agar tidak ditampilkan di /proc/uid_cputime/show_uid_stat . |
/proc/uid_cputime/show_uid_stat | File read-only yang berisi waktu yang dihabiskan proses UID di ruang pengguna dan kernel. |
/proc/uid_io/stats | File read-only yang berisi daftar statistik I/O untuk setiap UID dalam sistem |
/proc/uid_procstat/set | File hanya-tulis yang digunakan untuk mengonfigurasi UID sebagai latar depan atau latar belakang. |
/proc/uid_time_in_state | File read-only yang berisi waktu yang dihabiskan setiap proses UID untuk mengeksekusi pada setiap frekuensi yang tersedia. File ini opsional; isinya dan izinnya akan diverifikasi di VTS hanya jika file tersebut ada . |
/proc/waktu aktif | File read-only yang menunjukkan berapa lama sistem telah berjalan. |
/proc/versi | File read-only yang berisi string yang menjelaskan versi kernel. |
/proc/vmallocinfo | File read-only yang berisi rentang vmalloc 'd. |
/proc/vmstat | File read-only yang berisi statistik memori virtual dari kernel. |
/proc/zoneinfo | File read-only yang berisi informasi tentang zona memori. |
dev
Antarmuka | Keterangan |
---|---|
/dev/ashmem | File perangkat memori bersama anonim. |
/dev/binder | File perangkat pengikat. |
/dev/hwbinder | File perangkat pengikat perangkat keras. |
/dev/tun | File perangkat TUN/TAP universal. |
/dev/xt_qtaguid | File perangkat netfilter QTAGUID. |
sysfs
Antarmuka | Keterangan |
---|---|
/sys/class/net/*/mtu | File baca-tulis yang berisi unit transmisi maksimum untuk setiap antarmuka. |
/sys/class/rtc/*/hctosys | File read-only yang menunjukkan apakah rtc tertentu memasok waktu sistem saat boot dan melanjutkan. |
/sys/perangkat/sistem/cpu/ | Direktori yang berisi informasi tentang konfigurasi dan frekuensi CPU. |
/sys/kernel/wakeup_reasons | Direktori file hanya-baca yang berisi waktu penangguhan terakhir dan alasan melanjutkan. |
/sys/power/state | File baca-tulis yang mengontrol status tidur sistem. |
/sys/power/wake_lock | File baca-tulis yang berisi penguncian layar aktif. |
/sys/power/wake_unlock | File baca-tulis yang berisi penguncian layar saat aktif nonaktif. |
/sys/power/wakeup_count | File baca-tulis yang dapat digunakan untuk menempatkan sistem ke status tidur sambil memperhitungkan kedatangan bersamaan dari peristiwa bangun. |
selinuxfs
Kerangka kerja memasang selinuxfs
di /sys/fs/selinux
.
Jalur | Keterangan |
---|---|
/sys/fs/selinux/checkreqprot | Baca/tulis file yang berisi tanda biner yang menentukan bagaimana perlindungan selinux diperiksa pada panggilan mmap dan mprotect . |
/sys/fs/selinux/null | Baca/tulis perangkat null untuk digunakan oleh selinux. |
/sys/fs/selinux/policy | File read-only yang berisi kebijakan selinux dalam bentuk biner. |