本頁說明 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 方式的二進位旗標的檔案
保護措施會檢查 mmap 和 mprotect 呼叫。
|
/sys/fs/selinux/null | 讀取/寫入空值的裝置,以供 selinux 使用。 |
/sys/fs/selinux/policy | 包含二進位制政策的唯讀檔案。 |