接口要求

本頁描述了 Android 正常運作所依賴的 Linux 核心介面的子集。這些介面的存在性和正確性作為供應商測試套件 (VTS)的一部分進行測試。此子集將隨著時間的推移而增長,以包含 Android 核心介面的大部分。

系統調用

所有系統呼叫都應提供與同一版本的上游 Linux 核心相同的簽章和語意。

預先控制

除了支援的核心版本的上游prctl操作之外,Android 還依賴其他prctl操作,其實作可以在 android-common 核心中找到。

PR_SET_TIMERSLACK_PID
PR_SET_VMA

檔案系統

Linux 核心透過多個檔案系統匯出介面。 Android 希望這些介面以相同的格式傳達相同的訊息,並提供與上游 Linux 核心相同的語義。對於上游不存在的接口,適當的行為由 Android 通用核心的相應分支決定。

行程檔案系統

介面描述
/proc/聲音/顯示目前配置的 ALSA 驅動程式清單的唯讀檔案。
/proc/cmdline包含傳遞給核心的命令列參數的唯讀檔案。
/proc/config.gz包含內核建置配置的唯讀檔案。
/proc/cpu訊息包含特定於體系結構的 CPU 詳細資訊的唯讀檔案。
/proc/diskstats顯示區塊裝置 I/O 統計資料的唯讀檔案。
/proc/檔案系統列出核心目前支援的檔案系統的唯讀檔案。
/proc/kmsg即時顯示核心訊息的唯讀檔案。
/proc/loadavg顯示隨時間變化的 CPU 和 IO 平均負載的唯讀檔案。
/proc/記憶體信息顯示記憶體子系統詳細資訊的唯讀檔案。
/行程/雜項列出在其他主要裝置上註冊的其他驅動程式的唯讀檔案。
/proc/模組包含有關載入的核心模組的資訊的唯讀檔案。
/proc/掛載/proc/self/mounts符號鏈接,這是一個只讀文件,列出了有關已安裝文件系統的資訊。
/進程/網路包含各種網路堆疊參數的目錄。
/proc/net/xt_qtaguid/讀寫檔案提供有關標記套接字的資訊。
/proc/pagetypeinfo包含頁面分配器資訊的唯讀檔案。
/行程/統計包含各種核心和系統統計資訊的唯讀檔案。
/proc/交換顯示交換空間利用率的唯讀檔案。該文件是可選的;只有當該文件存在時,其內容和權限才會在 VTS 中進行驗證
/proc/sys/abi/swp讀寫文件,用於確定已廢棄的 ARM 指令 SWP 的行為。
/proc/sys/fs/管道最大大小報告單一管道緩衝區的最大大小(以位元組為單位)的讀寫檔案。
/proc/sys/fs/protected_hardlinks控制硬連結建立行為的讀寫檔案。
/proc/sys/fs/protected_symlinks控制符號連結建立行為的讀寫檔案。
/proc/sys/fs/suid_dumpable讀寫文件,控制 setuid 或其他受保護/受污染的二進位檔案的核心轉儲模式。
/proc/sys/核心/core_pattern指定核心轉儲檔案名稱模式的讀寫檔案。
/proc/sys/kernel/core_pipe_limit讀寫文件,定義可以將多少個並發崩潰進程並行傳送到用戶應用程式。
/proc/sys/核心/dmesg_restrict控制非特權使用者是否可以存取 dmesg 的讀寫檔案。
/proc/sys/核心/域名包含系統的 YP/NIS 網域的讀寫檔案。
/proc/sys/核心/主機名確定係統主機名稱的讀寫檔案。
/proc/sys/kernel/hung_task_timeout_secs讀寫文件,用於控制超時,用於確定任務何時變得無響應並應被視為掛起。該文件是可選的;只有當該文件存在時,其內容和權限才會在 VTS 中進行驗證
/proc/sys/核心/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/核心/perf_event_paranoid讀寫文件,控制非特權使用者對效能事件系統的使用。
/proc/sys/核心/pid_max包含 PID 分配包裝值的讀寫檔。
/proc/sys/核心/隨機/boot_id每次啟動時包含新隨機 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讀寫文件,控制調度程序是否應根據 CPU 數量自動調整 sched_latency_ns。
/proc/sys/kernel/sched_wakeup_grinderity_ns讀寫文件,其中包含任務 A 必須比任務 B 多出多少虛擬運行時(以納秒為單位),任務 B 才能搶佔它。
/proc/sys/核心/sysrq讀寫文件,控制允許透過 sysrq 鍵呼叫的函數。
/proc/sys/net/*包含各種網路堆疊參數的目錄。
/proc/sysrq-觸發器可用於啟動 sysrq 函數的只寫檔案。
/proc/sys/vm/dirty_background_ratio讀寫文件,包含後台核心刷新器執行緒將開始寫出髒資料的頁數(佔總可用記憶體(空閒頁和可回收頁)的百分比)。
/proc/sys/vm/dirty_expire_centisecs讀寫文件,定義髒資料何時夠舊,可以由核心刷新器執行緒寫出。
/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的最小位址。
/proc/sys/vm/mmap_rnd_bits讀寫文件,指定mmap位址中的隨機量。
/proc/sys/vm/mmap_rnd_compat_bits讀寫文件,指定mmap位址中的隨機量。
/proc/sys/vm/overcommit_memory決定核心虛擬記憶體計費模式的讀寫檔。
/proc/sys/vm/頁簇讀寫文件,控制單次嘗試從交換中讀入連續頁面的頁數。
/proc/uid_cputime/remove_uid_range只寫文件,寫入後會刪除/proc/uid_cputime/show_uid_stat中顯示的 UID。
/proc/uid_cputime/show_uid_stat只讀文件,包含 UID 進程在使用者和核心空間中花費的時間。
/proc/uid_io/統計信息唯讀文件,包含系統中每個 UID 的 I/O 統計資料列表
/proc/uid_procstat/設定用於將 UID 配置為前台或後台的只寫檔案。
/proc/uid_time_in_state只讀文件,包含每個 UID 進程在每個可用頻率上執行所花費的時間。該文件是可選的;只有當該文件存在時,其內容和權限才會在 VTS 中進行驗證
/proc/正常運作時間顯示系統已運行多長時間的唯讀檔案。
/行程/版本包含描述內核版本的字串的唯讀檔案。
/proc/vmallocinfo包含vmalloc範圍的唯讀檔案。
/proc/vmstat包含核心虛擬記憶體統計資訊的唯讀檔案。
/proc/zoneinfo包含有關記憶體區域的資訊的唯讀檔案。

開發者

介面描述
/dev/ashmem匿名共享記憶體設備檔案。
/dev/活頁夾活頁夾設備文件。
/dev/hwbinder硬體綁定器設備檔案。
/dev/tun通用 TUN/TAP 設備檔案。
/dev/xt_qtaguid QTAGUID netfilter 設備檔案。

系統檔案系統

介面描述
/sys/class/net/*/mtu包含每個介面最大傳輸單元的讀寫檔。
/sys/class/rtc/*/hctosys只讀文件,顯示特定的 rtc 是否在啟動和恢復時提供系統時間。
/系統/設備/系統/CPU/包含有關 CPU 配置和頻率資訊的目錄。
/sys/核心/wakeup_reasons包含上次掛起時間和復原原因的唯讀檔案目錄。
/系統/電源/狀態控制系統睡眠狀態的讀寫檔。
/系統/電源/wake_lock包含活動喚醒鎖定的讀寫檔案。
/系統/電源/wake_unlock包含非活動喚醒鎖定的讀寫檔案。
/sys/power/wakeup_count讀寫文件,可用於使系統進入睡眠狀態,同時考慮喚醒事件的同時到達。

selinuxfs

該框架將selinuxfs掛載在/sys/fs/selinux

小路描述
/sys/fs/selinux/checkreqprot包含二進位標誌的讀取/寫入文件,該標誌決定如何在mmapmprotect呼叫上檢查 selinux 保護。
/sys/fs/selinux/null讀/寫空設備供 selinux 使用。
/sys/fs/selinux/策略包含二進位形式的 selinux 策略的唯讀檔。