Persyaratan Antarmuka

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.