Persyaratan Antarmuka

Halaman ini menjelaskan subset antarmuka kernel Linux yang diandalkan Android agar berfungsi dengan baik. Kehadiran dan kebenaran antarmuka ini diuji sebagai bagian dari Vendor Test Suite (VTS) . Subset ini akan berkembang seiring berjalannya waktu untuk memuat porsi antarmuka kernel Android yang lebih besar.

Panggilan sistem

Semua panggilan sistem diharapkan memberikan tanda tangan dan semantik yang sama seperti pada kernel Linux upstream pada 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 mengkomunikasikan informasi yang sama, dalam format yang sama, dan menyediakan semantik yang sama seperti pada kernel Linux upstream. Untuk antarmuka yang tidak ada di bagian hulu, perilaku yang sesuai ditentukan oleh cabang kernel umum Android yang sesuai.

procfs

Antarmuka Keterangan
/proc/suara/ File hanya-baca yang menampilkan daftar driver ALSA yang dikonfigurasi saat ini.
/proc/cmdline File hanya-baca yang berisi argumen baris perintah yang diteruskan ke kernel.
/proc/config.gz File hanya-baca yang berisi konfigurasi build kernel.
/proc/cpuinfo File hanya-baca yang berisi detail CPU khusus arsitektur.
/proc/diskstats File hanya-baca yang menampilkan statistik I/O perangkat blok.
/proc/sistem file Daftar file read-only, daftar filesystem yang saat ini didukung oleh kernel.
/proc/kmsg File hanya-baca 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 hanya-baca yang menampilkan detail subsistem memori.
/proc/lain-lain File read-only berisi daftar driver lain-lain yang terdaftar pada perangkat utama lain-lain.
/proc/modules File hanya-baca yang berisi informasi tentang modul kernel yang dimuat.
/proc/mount Symlink ke /proc/self/mounts , yang merupakan file read-only yang mencantumkan informasi 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 hanya-baca yang berisi informasi pengalokasi halaman.
/proc/stat File hanya-baca yang berisi berbagai statistik kernel dan sistem.
/proc/swap File hanya-baca yang menunjukkan pemanfaatan ruang swap. File ini opsional; konten dan izinnya akan diverifikasi di VTS hanya jika file tersebut ada .
/proc/sys/abi/swp File baca-tulis yang menentukan perilaku SWP instruksi ARM yang sudah 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 biner yang dilindungi/tercemar.
/proc/sys/kernel/core_pattern File baca-tulis yang menentukan pola nama file core dump.
/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 istimewa dapat mengakses dmesg.
/proc/sys/kernel/namadomain File baca-tulis yang berisi nama domain YP/NIS 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 suatu tugas menjadi tidak responsif dan harus dianggap terhenti. File ini opsional; konten 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 ups.
/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 yang baru dicabang lebih disukai dalam penjadwalan dibandingkan tugas induknya.
/proc/sys/kernel/sched_latency_ns File baca-tulis yang berisi latensi maksimum, dalam nanodetik, tugas mungkin dilakukan sebelum dijadwalkan.
/proc/sys/kernel/sched_rt_period_us File baca-tulis yang berisi panjang periode yang digunakan oleh batas eksekusi RT seluruh sistem dalam mikrodetik.
/proc/sys/kernel/sched_rt_runtime_us File baca-tulis yang berisi jumlah waktu, relatif terhadap sched_rt_period_us, di mana 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 jumlah waktu proses virtual yang harus dimiliki tugas A dibandingkan 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/sistem/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 bebas dan halaman yang dapat diklaim kembali), jumlah halaman di mana thread kernel flusher latar belakang akan mulai menulis data kotor.
/proc/sys/vm/dirty_expire_centisecs File baca-tulis yang menentukan kapan data kotor sudah cukup umur untuk memenuhi syarat untuk ditulis oleh thread kernel flusher.
/proc/sys/vm/drop_caches File baca-tulis yang dapat digunakan untuk memaksa kernel membuang cache yang bersih.
/proc/sys/vm/extra_free_kbytes File baca-tulis yang dapat digunakan untuk menyimpan memori bebas ekstra antara ambang batas saat pengambilan kembali latar belakang (kswapd) dimulai, dan ambang batas saat pengambilan kembali langsung (dengan mengalokasikan proses) dimulai. File ini bersifat opsional; konten 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 File baca-tulis yang menentukan alamat minimum yang dapat mmap 'd.
/proc/sys/vm/mmap_rnd_bits File baca-tulis yang menentukan jumlah keacakan di alamat mmap .
/proc/sys/vm/mmap_rnd_compat_bits File baca-tulis yang menentukan jumlah keacakan di alamat mmap .
/proc/sys/vm/overcommit_memory File baca-tulis yang menentukan mode penghitungan memori virtual kernel.
/proc/sys/vm/page-cluster File baca-tulis yang mengontrol jumlah halaman hingga halaman berturut-turut 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 hanya-baca yang berisi waktu yang dihabiskan proses UID di ruang pengguna dan kernel.
/proc/uid_io/stats File hanya-baca 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 hanya-baca yang berisi waktu yang dihabiskan setiap proses UID untuk mengeksekusi pada setiap frekuensi yang tersedia. File ini opsional; konten 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/version File hanya-baca yang berisi string yang menjelaskan versi kernel.
/proc/vmallocinfo File hanya-baca yang berisi rentang vmalloc 'd.
/proc/vmstat File read-only yang berisi statistik memori virtual dari kernel.
/proc/zoneinfo File hanya-baca 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 hanya-baca yang menunjukkan apakah rtc tertentu menyediakan 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 read-only 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 saat aktif.
/sys/power/wake_unlock File baca-tulis yang berisi penguncian layar aktif non-aktif.
/sys/power/wakeup_count File baca-tulis yang dapat digunakan untuk mengalihkan sistem ke kondisi tidur sambil memperhitungkan kedatangan peristiwa bangun secara bersamaan.

selinuxfs

Kerangka kerja ini memasang selinuxfs di /sys/fs/selinux .

Jalur Keterangan
/sys/fs/selinux/checkreqprot File baca/tulis yang berisi flag 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.