我是靠谱客的博主 温婉小蘑菇,最近开发中收集的这篇文章主要介绍Android 正常运行所需的一系列 Linux 内核接口procfsdev sysfsselinuxfs,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考:

https://source.android.google.cn/devices/architecture/kernel/reqs-interfaces?hl=zh-cn

文件系统

procfs

/proc/asound/用于显示当前已配置 ALSA 驱动程序列表的只读文件。
/proc/cmdline只读文件,包含传递到内核的命令行参数。
/proc/config.gz包含内核构建配置的只读文件。
/proc/cpuinfo包含架构对应的 CPU 详细信息的只读文件。
/proc/diskstats用于显示块设备的 I/O 统计信息的只读文件。
/proc/filesystems列出内核当前支持的文件系统的只读文件。
/proc/kmsg实时显示内核信息的只读文件。
/proc/loadavg用于显示特定时间段内平均 CPU 负载和 I/O 负载的只读文件。
/proc/meminfo显示内存子系统详细信息的只读文件。
/proc/misc列出在其他主要设备上注册的其他驱动程序的只读文件。
/proc/modules包含已加载内核模块的相关信息的只读文件。
/proc/mounts指向 /proc/self/mounts(一个只读文件,列出了已装载的文件系统的相关信息)的符号链接。
/proc/net包含各种网络堆栈参数的目录。
/proc/net/xt_qtaguid/提供已标记的套接字相关信息的读写文件。
/proc/pagetypeinfo包含页面分配器信息的只读文件。
/proc/stat包含各种内核和系统统计信息的只读文件。
/proc/swaps用于显示交换空间利用情况的只读文件。此文件是可选的;只有在该文件存在时,系统才会在 VTS 中验证其内容和权限
/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用于控制无特权的用户是否可以访问 dmesg 的读写文件。
/proc/sys/kernel/domainname包含系统的 YP/NIS 域名的读写文件。
/proc/sys/kernel/hostname用于确定系统的主机名的读写文件。
/proc/sys/kernel/hung_task_timeout_secs读写文件,用于控制超时(用于确定任务何时变为无响应状态且应被视为挂起)。此文件是可选的;只有在该文件存在时,系统才会在 VTS 中验证其内容和权限
/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读写文件,包含系统可执行 RT 任务的时间长度(相对于 sched_rt_period_us)。
/proc/sys/kernel/sched_tunable_scaling读写文件,用于控制调度程序是否应根据 CPU 数量自动调整 sched_latency_ns。
/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读写文件,可用于保留启动后台回收 (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/page-cluster读写文件,用于控制一次可从交换中读取的连续页面数上限。
/proc/uid_cputime/remove_uid_range只写文件,向其中写入数据时,会移除 /proc/uid_cputime/show_uid_stat 中显示的 UID。
/proc/uid_cputime/show_uid_stat只读文件,包含 UID 进程在用户空间和内核空间中花费的时间。
/proc/uid_io/stats只读文件,包含系统中每个 UID 的 I/O 统计信息列表
/proc/uid_procstat/set只写文件,用于将 UID 配置为前台或后台。
/proc/uid_time_in_state只读文件,包含每个 UID 的进程以每种可用频率执行的时间。此文件是可选的;只有在该文件存在时,系统才会在 VTS 中验证其内容和权限
/proc/uptime显示系统运行时间的只读文件。
/proc/version包含描述内核版本的字符串的只读文件。
/proc/vmallocinfo只读文件,包含 vmalloc 进行分配的范围。
/proc/vmstat只读文件,包含来自内核的虚拟内存统计信息。
/proc/zoneinfo

包含内存区域相关信息的只读文件。

dev

/dev/ashmem匿名的共享内存设备文件。
/dev/binderBinder 设备文件。
/dev/hwbinder硬件 binder 设备文件。
/dev/tun通用 TUN/TAP 设备文件。
/dev/xt_qtaguidQTAGUID netfilter 设备文件。

 sysfs

/sys/class/net/*/mtu包含每个接口的最大传输单元的读写文件。
/sys/class/rtc/*/hctosys只读文件,显示特定 rtc 是否在启动和恢复时提供系统时间。
/sys/devices/system/cpu/包含 CPU 配置和频率相关信息的目录。
/sys/kernel/wakeup_reasons包含上次暂停时间和恢复原因的只读文件的目录。
/sys/power/state用于控制系统休眠状态的读写文件。
/sys/power/wake_lock包含有效唤醒锁定的读写文件。
/sys/power/wake_unlock包含非有效唤醒锁定的读写文件。
/sys/power/wakeup_count读写文件,可用于将系统置于休眠状态(同时将唤醒事件的并行就位考虑在内)。

selinuxfs

/sys/fs/selinux/checkreqprot读/写文件,包含可用于确定如何在 mmapmprotect 调用中检查 SElinux 保护的二进制标记。
/sys/fs/selinux/null供 SElinux 使用的读/写空设备。
/sys/fs/selinux/policy只读文件,包含二进制文件形式的 SElinux 政策。

 

最后

以上就是温婉小蘑菇为你收集整理的Android 正常运行所需的一系列 Linux 内核接口procfsdev sysfsselinuxfs的全部内容,希望文章能够帮你解决Android 正常运行所需的一系列 Linux 内核接口procfsdev sysfsselinuxfs所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部