介面規定

本頁說明 Android 適用的 Linux kernel 介面子集 才能正常運作這些介面的存在和正確性包括 在供應商測試套件中測試套件 (VTS)。這個子集會隨著時間擴增,以納入更多 Android 核心介面。

系統呼叫

所有系統呼叫的簽章和語意應與 。

prctl

除了支援的上游 prctl 作業外 核心版本,Android 需要額外的 prctl 作業、 可在 android-common 核心中找到的實作方式。

PR_SET_TIMERSLACK_PID
PR_SET_VMA

檔案系統

Linux kernel 透過多個檔案系統匯出介面。Android 的預期 這些介面能以相同格式傳達相同的資訊,以及 提供與上游 Linux kernel 相同的語意適用於具有下列特性的介面: 上游不存在,則適當的行為取決於對應的 Android 常用核心的分支版本

Procfs

介面 說明
/proc/asound/ 顯示目前設定的 ALSA 驅動程式清單的唯讀檔案。
/proc/cmdline 包含傳遞至核心的指令列引數的唯讀檔案。
/proc/config.gz 包含核心建構設定的唯讀檔案。
/proc/cpuinfo 包含架構專屬 CPU 詳細資料的唯讀檔案。
/proc/diskstats 顯示封鎖裝置的 I/O 統計資料的唯讀檔案。
/proc/filesystems 提供檔案系統目前支援的檔案系統的唯讀檔案清單 核心。
/proc/kmsg 即時顯示核心訊息的唯讀檔案。
/proc/loadavg 唯讀檔案,顯示一段時間內的 CPU 和 IO 負載平均值。
/proc/meminfo 顯示記憶體子系統詳細資料的唯讀檔案。
/proc/misc 列出已登錄其他驅動程式的唯讀檔案 其他主要裝置。
/proc/modules 包含載入核心模組相關資訊的唯讀檔案。
/proc/mounts /proc/self/mounts (唯讀檔案) 的符號連結 列出掛接檔案系統的相關資訊。
/proc/net 包含各種網路堆疊參數的目錄。
/proc/net/xt_qtaguid/ 提供標記通訊端相關資訊的讀取/寫入檔案。
/proc/pagetypeinfo 包含頁面配置器資訊的唯讀檔案。
/proc/stat 內含各種核心和系統統計資料的唯讀檔案。
/proc/swaps 顯示交換空間使用率的唯讀檔案。這個檔案 選用;而且只有在 檔案存在
/proc/sys/abi/swp 讀取/寫入檔案,可決定過時 ARM 的行為 指示 SWP 執行。
/proc/sys/fs/pipe-max-size 讀取/寫入檔案,讓系統回報 個別管道緩衝區。
/proc/sys/fs/protected_hardlinks 控制硬連結建立行為的讀取/寫入檔案。
/proc/sys/fs/protected_symlinks 控制符號建立行為的讀取/寫入檔案 連結。
/proc/sys/fs/suid_dumpable 控制 setuid 或其他類型核心傾印模式的讀取/寫入檔案 或受保護的二進位檔。
/proc/sys/kernel/core_pattern 指定核心傾印檔案名稱模式的讀取/寫入檔案。
/proc/sys/kernel/core_pipe_limit 讀取/寫入檔案,定義可能有多少同時當機程序 會同時傳遞至使用者應用程式
/proc/sys/kernel/dmesg_restrict 控制無特殊權限使用者能否存取的讀取/寫入檔案 連結。
/proc/sys/kernel/domainname 讀取/寫入檔案,其中包含系統的 YP/NIS 網域名稱。
/proc/sys/kernel/hostname 決定系統主機名稱的讀取/寫入檔案。
/proc/sys/kernel/hung_task_timeout_secs 可控制用來決定工作的逾時時間的讀取/寫入檔案 不會回應,應視為飢餓。這個檔案 為選用項目;只有 檔案存在
/proc/sys/kernel/kptr_restrict 決定核心指標是否輸出的讀取/寫入檔案 proc 檔案和其他介面。
/proc/sys/kernel/modules_disabled 控制是否可載入核心模組的讀取/寫入檔案。
/proc/sys/kernel/panic_on_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 內含每次開機新隨機 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 包含時間 (相對於 sched_rt_period_us,藉此執行 RT 任務。
/proc/sys/kernel/sched_tunable_scaling 控制是否應採用 sched_Latency_ns 的讀取/寫入檔案 排程器會依據 CPU 數量自動調整。
/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 定義骯髒資料並符合條件的讀取/寫入檔案 由核心流暢執行緒寫入。
/proc/sys/vm/drop_caches 可用來強制核心捨棄乾淨的讀取/寫入檔案 快取。
/proc/sys/vm/extra_free_kbytes 讀取/寫入檔案,可用來在 背景取回 (kwapd) 的起始位置,以及門檻 此時直接回收 (透過分配程序) 就能發揮效用。這個檔案 為選用項目;只有 檔案存在
/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/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 中每個 UID 的 I/O 統計資料清單 系統
/proc/uid_procstat/set 用於將 UID 設為前景或背景的唯寫檔案。
/proc/uid_time_in_state 唯讀檔案,內含每個 UID 程序花在下列時間的執行時間 每個可用頻率此為選用檔案;這個 Pod 的內容 則只有在檔案存在時,才能在 VTS 驗證
/proc/uptime 顯示系統執行時間長度的唯讀檔案。
/proc/version 包含說明核心版本字串的唯讀檔案。
/proc/vmallocinfo 包含 vmalloc 範圍的唯讀檔案。
/proc/vmstat 內含核心虛擬記憶體統計資料的唯讀檔案。
/proc/zoneinfo 包含記憶體可用區資訊的唯讀檔案。

開發人員版

介面 說明
/dev/ashmem 匿名共用記憶體裝置檔案。
/dev/binder 繫結裝置檔案。
/dev/hwbinder 硬體繫結器裝置檔案。
/dev/tun 通用 TUN/TAP 裝置檔案。
/dev/xt_qtaguid QTAGUID 網路篩選器裝置檔案。

Sysfs

介面 說明
/sys/class/net/*/mtu 讀取/寫入檔案,內含每個最大傳輸單位 存取 API
/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

這個架構會在 /sys/fs/selinux 掛接 selinuxfs

路徑 說明
/sys/fs/selinux/checkreqprot 讀取/寫入含有決定 selinux 方式的二進位旗標的檔案 保護措施會檢查 mmapmprotect 呼叫。
/sys/fs/selinux/null 讀取/寫入空值的裝置,以供 selinux 使用。
/sys/fs/selinux/policy 包含二進位制政策的唯讀檔案。