หน้านี้อธิบายชุดย่อยของอินเทอร์เฟซเคอร์เนล Linux ที่ Android อาศัยเพื่อให้ทำงานได้อย่างถูกต้อง การมีอยู่และความถูกต้องของอินเทอร์เฟซเหล่านี้ได้รับการทดสอบโดยเป็นส่วนหนึ่งของ Vendor Test Suite (VTS) ส่วนย่อยนี้จะเติบโตขึ้นเรื่อยๆ เมื่อเวลาผ่านไปเพื่อให้มีอินเทอร์เฟซเคอร์เนล Android ที่ใหญ่ขึ้น
การโทรของระบบ
การเรียกของระบบทั้งหมดคาดว่าจะมีลายเซ็นและซีแมนทิกส์เดียวกันกับในเคอร์เนลอัปสตรีม Linux ของเวอร์ชันเดียวกัน
รายละเอียด
นอกเหนือจากการดำเนินการ prctl
อัปสตรีมสำหรับเวอร์ชันเคอร์เนลที่รองรับแล้ว Android ยังอาศัยการดำเนินการ prctl
เพิ่มเติม ซึ่งสามารถพบได้ในเคอร์เนลทั่วไปของ android
PR_SET_TIMERSLACK_PID PR_SET_VMA
ระบบไฟล์
เคอร์เนล Linux ส่งออกอินเทอร์เฟซผ่านระบบไฟล์หลายระบบ Android คาดหวังว่าอินเทอร์เฟซเหล่านี้จะสื่อสารข้อมูลเดียวกัน ในรูปแบบเดียวกัน และให้ความหมายเหมือนกับในเคอร์เนลอัปสตรีม Linux สำหรับอินเทอร์เฟซที่ไม่มีอัปสตรีม ลักษณะการทำงานที่เหมาะสมจะถูกกำหนดโดยสาขาที่สอดคล้องกันของเคอร์เนลทั่วไปของ Android
procfs
อินเตอร์เฟซ | คำอธิบาย |
---|---|
/proc/เสียง/ | ไฟล์แบบอ่านอย่างเดียวแสดงรายการไดรเวอร์ ALSA ที่กำหนดค่าไว้ในปัจจุบัน |
/proc/cmdline | ไฟล์แบบอ่านอย่างเดียวที่มีอาร์กิวเมนต์บรรทัดคำสั่งที่ส่งผ่านไปยังเคอร์เนล |
/proc/config.gz | ไฟล์แบบอ่านอย่างเดียวที่มีการกำหนดค่าการสร้างเคอร์เนล |
/proc/cpuinfo | ไฟล์แบบอ่านอย่างเดียวที่มีรายละเอียด CPU เฉพาะสถาปัตยกรรม |
/proc/diskstats | ไฟล์แบบอ่านอย่างเดียวที่แสดงสถิติ I/O ของอุปกรณ์บล็อก |
/proc/ระบบไฟล์ | ระบบไฟล์รายการไฟล์แบบอ่านอย่างเดียวที่เคอร์เนลรองรับในปัจจุบัน |
/proc/kmsg | ไฟล์แบบอ่านอย่างเดียวที่แสดงข้อความเคอร์เนลแบบเรียลไทม์ |
/proc/loadavg | ไฟล์แบบอ่านอย่างเดียวที่แสดง CPU และ IO โหลดโดยเฉลี่ยเมื่อเวลาผ่านไป |
/proc/meminfo | ไฟล์แบบอ่านอย่างเดียวที่แสดงรายละเอียดระบบย่อยหน่วยความจำ |
/proc/เบ็ดเตล็ด | ไฟล์แบบอ่านอย่างเดียวแสดงรายการไดรเวอร์เบ็ดเตล็ดที่ลงทะเบียนไว้ในอุปกรณ์หลักเบ็ดเตล็ด |
/proc/โมดูล | ไฟล์แบบอ่านอย่างเดียวที่มีข้อมูลเกี่ยวกับโมดูลเคอร์เนลที่โหลด |
/proc/เมานต์ | Symlink ไปที่ /proc/self/mounts ซึ่งเป็นรายการไฟล์แบบอ่านอย่างเดียวเกี่ยวกับระบบไฟล์ที่เมาท์ |
/proc/net | ไดเร็กทอรีที่มีพารามิเตอร์สแต็กเครือข่ายที่หลากหลาย |
/proc/net/xt_qtaguid/ | ไฟล์อ่าน-เขียนที่ให้ข้อมูลเกี่ยวกับซ็อกเก็ตที่ติดแท็ก |
/proc/pagetypeinfo | ไฟล์แบบอ่านอย่างเดียวที่มีข้อมูลตัวจัดสรรหน้า |
/proc/stat | ไฟล์แบบอ่านอย่างเดียวที่มีสถิติเคอร์เนลและระบบต่างๆ |
/proc/swaps | ไฟล์แบบอ่านอย่างเดียวที่แสดงการใช้พื้นที่สว็อป ไฟล์นี้เป็นทางเลือก เนื้อหาและการอนุญาตจะถูกตรวจสอบใน VTS เฉพาะเมื่อมีไฟล์อยู่ |
/proc/sys/abi/swp | ไฟล์อ่าน-เขียนซึ่งกำหนดลักษณะการทำงานของ SWP คำสั่ง ARM ที่ล้าสมัย |
/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 | ไฟล์อ่าน-เขียนที่ระบุรูปแบบชื่อไฟล์ core dump |
/proc/sys/kernel/core_pipe_limit | ไฟล์อ่าน-เขียนที่กำหนดจำนวนกระบวนการที่ขัดข้องพร้อมกันที่อาจส่งไปยังแอปพลิเคชันของผู้ใช้แบบขนาน |
/proc/sys/kernel/dmesg_restrict | ไฟล์อ่าน-เขียนที่ควบคุมว่าผู้ใช้ที่ไม่มีสิทธิพิเศษจะสามารถเข้าถึง dmesg ได้หรือไม่ |
/proc/sys/kernel/domainname | ไฟล์อ่าน-เขียนที่มีชื่อโดเมน YP/NIS ของระบบ |
/proc/sys/เคอร์เนล/ชื่อโฮสต์ | ไฟล์อ่าน-เขียนที่กำหนดชื่อโฮสต์ของระบบ |
/proc/sys/เคอร์เนล/hung_task_timeout_secs | ไฟล์อ่าน-เขียนที่ควบคุมการหมดเวลาที่ใช้ในการพิจารณาว่างานไม่ตอบสนองเมื่อใด และควรถือว่าหยุดทำงาน ไฟล์นี้เป็นทางเลือก เนื้อหาและการอนุญาตจะถูกตรวจสอบใน VTS เฉพาะเมื่อมีไฟล์อยู่ |
/proc/sys/เคอร์เนล/kptr_restrict | ไฟล์อ่าน-เขียนที่กำหนดว่าเคอร์เนลพอยน์เตอร์ถูกพิมพ์ในไฟล์ proc และอินเทอร์เฟซอื่นๆ หรือไม่ |
/proc/sys/เคอร์เนล/modules_disabled | ไฟล์อ่าน-เขียนที่ควบคุมว่าจะโหลดโมดูลเคอร์เนลหรือไม่ |
/proc/sys/เคอร์เนล/panic_on_oops | ไฟล์อ่าน-เขียนที่ควบคุมพฤติกรรมของเคอร์เนลในโอ๊ะโอ |
/proc/sys/kernel/perf_event_max_sample_rate | ไฟล์อ่าน-เขียนที่ควบคุมอัตราตัวอย่างสูงสุดของเหตุการณ์ประสิทธิภาพ |
/proc/sys/kernel/perf_event_paranoid | ไฟล์อ่าน-เขียนที่ควบคุมการใช้งานระบบกิจกรรมประสิทธิภาพโดยผู้ใช้ที่ไม่มีสิทธิ์ |
/proc/sys/เคอร์เนล/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/เคอร์เนล/sched_latency_ns | ไฟล์อ่าน-เขียนที่มีเวลาแฝงสูงสุด ในหน่วยนาโนวินาที งานอาจเกิดขึ้นก่อนที่จะกำหนดเวลา |
/proc/sys/kernel/sched_rt_term_us | ไฟล์อ่าน-เขียนที่มีความยาวระยะเวลาที่ใช้โดยขีดจำกัดการดำเนินการ RT ทั่วทั้งระบบในหน่วยไมโครวินาที |
/proc/sys/เคอร์เนล/sched_rt_runtime_us | ไฟล์อ่าน-เขียนที่มีระยะเวลาสัมพันธ์กับ sched_rt_term_us ที่ระบบอาจรันงาน RT |
/proc/sys/kernel/sched_tunable_scaling | ไฟล์อ่าน-เขียนที่ควบคุมว่า sched_latency_ns ควรปรับโดยอัตโนมัติโดยตัวกำหนดเวลาตามจำนวน CPU หรือไม่ |
/proc/sys/เคอร์เนล/sched_wakeup_granularity_ns | ไฟล์อ่าน-เขียนที่มีงานรันไทม์เสมือน A ต้องมีมากกว่างาน B ในหน่วยนาโนวินาทีเพื่อให้งาน B ยึดไว้ก่อน |
/proc/sys/เคอร์เนล/sysrq | ไฟล์อ่าน-เขียนที่ควบคุมฟังก์ชันที่อนุญาตให้เรียกใช้ผ่านคีย์ sysrq |
/proc/sys/net/* | ไดเร็กทอรีที่มีพารามิเตอร์สแต็กเครือข่ายที่หลากหลาย |
/proc/sysrq-trigger | ไฟล์แบบเขียนอย่างเดียวที่สามารถใช้เพื่อเริ่มต้นฟังก์ชัน sysrq |
/proc/sys/vm/dirty_พื้นหลัง_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 'd |
/proc/sys/vm/mmap_rnd_bits | ไฟล์อ่าน-เขียนที่ระบุจำนวนการสุ่มในที่อยู่ mmap 'd |
/proc/sys/vm/mmap_rnd_compat_bits | ไฟล์อ่าน-เขียนที่ระบุจำนวนการสุ่มในที่อยู่ mmap 'd |
/proc/sys/vm/overcommit_memory | ไฟล์อ่าน-เขียนที่กำหนดโหมดการบัญชีหน่วยความจำเสมือนของเคอร์เนล |
/proc/sys/vm/page-cluster.php | ไฟล์อ่าน-เขียนที่ควบคุมจำนวนเพจสูงสุดที่จะอ่านเพจต่อเนื่องกันจากการสลับในครั้งเดียว |
/proc/uid_cputime/remove_uid_range | ไฟล์สำหรับเขียนเท่านั้นที่เมื่อเขียนแล้ว จะลบ UID ออกจากการแสดงใน /proc/uid_cputime/show_uid_stat |
/proc/uid_cputime/show_uid_stat | ไฟล์แบบอ่านอย่างเดียวซึ่งมีเวลาที่กระบวนการของ UID ใช้ในพื้นที่ผู้ใช้และพื้นที่เคอร์เนล |
/proc/uid_io/stats | ไฟล์แบบอ่านอย่างเดียวที่มีรายการสถิติ I/O สำหรับแต่ละ UID ในระบบ |
/proc/uid_procstat/set | ไฟล์แบบเขียนอย่างเดียวที่ใช้ในการกำหนดค่า UID เป็นพื้นหน้าหรือพื้นหลัง |
/proc/uid_time_in_state | ไฟล์แบบอ่านอย่างเดียวที่ประกอบด้วยเวลาที่แต่ละกระบวนการของ UID ใช้ในการดำเนินการในแต่ละความถี่ที่มีอยู่ ไฟล์นี้เป็นทางเลือก เนื้อหาและการอนุญาตจะถูกตรวจสอบใน VTS เฉพาะเมื่อมีไฟล์อยู่ |
/proc/เวลาทำงาน | ไฟล์แบบอ่านอย่างเดียวที่แสดงระยะเวลาที่ระบบทำงาน |
/proc/เวอร์ชัน | ไฟล์แบบอ่านอย่างเดียวที่มีสตริงที่อธิบายเวอร์ชันเคอร์เนล |
/proc/vmallocinfo | ไฟล์แบบอ่านอย่างเดียวที่มีช่วง vmalloc 'd |
/proc/vmstat | ไฟล์แบบอ่านอย่างเดียวที่มีสถิติหน่วยความจำเสมือนจากเคอร์เนล |
/proc/zoneinfo | ไฟล์แบบอ่านอย่างเดียวที่มีข้อมูลเกี่ยวกับโซนหน่วยความจำ |
ผู้พัฒนา
อินเตอร์เฟซ | คำอธิบาย |
---|---|
/dev/ashmem | ไฟล์อุปกรณ์หน่วยความจำที่ใช้ร่วมกันแบบไม่ระบุชื่อ |
/dev/binder | ไฟล์อุปกรณ์ Binder |
/dev/hwbinder | ไฟล์อุปกรณ์เครื่องผูกฮาร์ดแวร์ |
/dev/tun | ไฟล์อุปกรณ์ TUN/TAP สากล |
/dev/xt_qtaguid | ไฟล์อุปกรณ์ QTAGUID netfilter |
sysfs
อินเตอร์เฟซ | คำอธิบาย |
---|---|
/sys/class/net/*/mtu | ไฟล์อ่าน-เขียนที่มีหน่วยการส่งข้อมูลสูงสุดสำหรับแต่ละอินเทอร์เฟซ |
/sys/class/rtc/*/hctosys | ไฟล์แบบอ่านอย่างเดียวที่แสดงว่า rtc ใดให้เวลาระบบในการบูตและดำเนินการต่อหรือไม่ |
/sys/อุปกรณ์/ระบบ/ซีพียู/ | ไดเร็กทอรีที่มีข้อมูลเกี่ยวกับการกำหนดค่าและความถี่ของ CPU |
/sys/kernel/wakeup_reasons | ไดเร็กทอรีของไฟล์แบบอ่านอย่างเดียวซึ่งมีเวลาระงับล่าสุดและเหตุผลในการดำเนินการต่อ |
/sys/power/state | ไฟล์อ่าน-เขียนที่ควบคุมสถานะสลีปของระบบ |
/sys/power/wake_lock | ไฟล์อ่าน-เขียนที่มี Wake Lock ที่ใช้งานอยู่ |
/sys/power/wake_unlock | ไฟล์อ่าน-เขียนที่มีการล็อคปลุกที่ไม่ได้ใช้งานอยู่ |
/sys/power/wakeup_count | ไฟล์อ่าน-เขียนที่สามารถใช้เพื่อทำให้ระบบเข้าสู่สถานะสลีป โดยคำนึงถึงการมาถึงของเหตุการณ์การปลุกพร้อมกัน |
selinuxfs
กรอบงานเมานต์ selinuxfs
ที่ /sys/fs/selinux
เส้นทาง | คำอธิบาย |
---|---|
/sys/fs/selinux/checkreqprot | อ่าน/เขียนไฟล์ที่มีแฟล็กไบนารีที่กำหนดวิธีการตรวจสอบการป้องกัน selinux ในการเรียก mmap และ mprotect |
/sys/fs/selinux/null | อ่าน/เขียนอุปกรณ์ null เพื่อใช้งานโดย selinux |
/sys/fs/selinux/policy | ไฟล์แบบอ่านอย่างเดียวที่มีนโยบาย selinux ในรูปแบบไบนารี |