หน้านี้จะอธิบายถึงอินเทอร์เฟซเคอร์เนลของ Linux บางส่วนที่ Android จะต้องทำงานได้อย่างถูกต้อง การแสดงและความถูกต้องของอินเทอร์เฟซเหล่านี้ ผ่านการทดสอบเป็นส่วนหนึ่งของ Vendor Test Suite (VTS) ชุดย่อยนี้จะเพิ่มขึ้นเรื่อยๆ เมื่อเวลาผ่านไป อินเทอร์เฟซเคอร์เนลของ Android
การโทรของระบบ
การเรียกระบบทั้งหมดนั้นควรมีลายเซ็นและอรรถศาสตร์เช่นเดียวกับ ในเคอร์เนลของ Linux ต้นทางของเวอร์ชันเดียวกัน
prctl
นอกเหนือจากการดำเนินการอัปสตรีม prctl
สำหรับการรองรับ
เวอร์ชันเคอร์เนล Android ต้องอาศัยการดำเนินการ prctl
เพิ่มเติม
ซึ่งสามารถพบได้ในเคอร์เนลทั่วไปบน Android
PR_SET_TIMERSLACK_PID PR_SET_VMA
ระบบไฟล์
เคอร์เนลของ Linux จะส่งออกอินเทอร์เฟซผ่านระบบไฟล์หลายระบบ คาดว่า Android เพื่อสื่อสารข้อมูลเดียวกันในรูปแบบเดียวกัน และ ให้ความหมายเดียวกับในเคอร์เนลของ Linux ต้นทาง สำหรับอินเทอร์เฟซที่ ไม่มีอัปสตรีม ลักษณะการทำงานที่เหมาะสมจะกำหนดโดยตัวเลือก Branch ของเคอร์เนลทั่วไปของ Android
Procfs
SDK โฆษณา B | คำอธิบาย |
---|---|
/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 | Symlink ไปยัง /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 | ไฟล์แบบอ่านและเขียนที่ควบคุมโหมด Dump หลักสำหรับ setuid หรืออื่นๆ ไบนารีที่มีการป้องกัน/ค่าเทนเนอร์ |
/proc/sys/kernel/core_pattern | ไฟล์แบบอ่าน-เขียนที่ระบุรูปแบบชื่อไฟล์หลัก Dump |
/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 | ไฟล์แบบอ่านอย่างเดียวที่มีรหัสแบบสุ่มใหม่ในการเปิดเครื่องแต่ละครั้ง |
/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 | ไฟล์แบบอ่าน-เขียนที่ระบุว่าข้อมูลสกปรกมีอายุมากพอที่จะมีสิทธิ์ สำหรับการเขียนโดยเทรดเคอร์เนล Flusher |
/proc/sys/vm/drop_caches | ไฟล์แบบอ่าน-เขียนที่ใช้บังคับให้เคอร์เนลล้างออกได้ แคช |
/proc/sys/vm/extra_free_kbytes | ไฟล์แบบอ่าน-เขียนที่มีไว้เพื่อเก็บหน่วยความจำที่ว่างเพิ่มเติมระหว่าง เกณฑ์ที่มีการอ้างสิทธิ์พื้นหลังอีกครั้ง (kSwad) เริ่มทำงาน และเกณฑ์ ที่เป็นจุดเริ่มต้นของการอ้างสิทธิ์โดยตรง (โดยการจัดสรรกระบวนการ) ไฟล์นี้ ไม่บังคับ เนื้อหาและสิทธิ์ของเนื้อหาจะได้รับการยืนยันใน 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 | ไฟล์แบบเขียนเท่านั้น ที่เมื่อเขียนแล้วจะนำ 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/uptime | ไฟล์แบบอ่านอย่างเดียวที่แสดงว่าระบบทำงานมานานเพียงใด |
/proc/version | ไฟล์แบบอ่านอย่างเดียวที่มีสตริงที่อธิบายเวอร์ชันเคอร์เนล |
/proc/vmallocinfo | ไฟล์แบบอ่านอย่างเดียวที่มีช่วง vmalloc |
/proc/vmstat | ไฟล์แบบอ่านอย่างเดียวที่มีสถิติหน่วยความจำเสมือนจากเคอร์เนล |
/proc/zoneinfo | ไฟล์แบบอ่านอย่างเดียวที่มีข้อมูลเกี่ยวกับโซนหน่วยความจำ |
Dev
SDK โฆษณา B | คำอธิบาย |
---|---|
/dev/ashmem | ไฟล์อุปกรณ์หน่วยความจำที่แชร์โดยไม่ระบุตัวตน |
/dev/binder | ไฟล์ Binder ของอุปกรณ์ |
/dev/hwbinder | ไฟล์อุปกรณ์เชื่อมโยงฮาร์ดแวร์ |
/dev/tun | ไฟล์อุปกรณ์ TUN/TAP สากล |
/dev/xt_qtaguid | ไฟล์อุปกรณ์ netfilter QTAGUID |
Sysf
SDK โฆษณา B | คำอธิบาย |
---|---|
/sys/class/net/*/mtu | ไฟล์แบบอ่าน-เขียนที่มีหน่วยการส่งสูงสุดสำหรับแต่ละไฟล์ ของ Google |
/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
เฟรมเวิร์กจะต่อเชื่อม selinuxfs
ที่ /sys/fs/selinux
เส้นทาง | คำอธิบาย |
---|---|
/sys/fs/selinux/checkreqprot | ไฟล์อ่าน/เขียนที่มีแฟล็กไบนารีซึ่งเป็นตัวกำหนดการทำงานของ selinux
ตรวจสอบการป้องกันในการโทร mmap และ mprotect รายการ
|
/sys/fs/selinux/null | อุปกรณ์อ่าน/เขียนค่า Null สำหรับการใช้งานโดย Selinux |
/sys/fs/selinux/policy | ไฟล์แบบอ่านอย่างเดียวที่มีนโยบาย Selinux ในรูปแบบไบนารี |