इंटरफ़ेस आवश्यकताएँ

यह पृष्ठ लिनक्स कर्नेल इंटरफेस के एक सबसेट का वर्णन करता है जिस पर एंड्रॉइड ठीक से काम करने के लिए निर्भर करता है। इन इंटरफेस की उपस्थिति और शुद्धता का परीक्षण विक्रेता परीक्षण सूट (वीटीएस) के हिस्से के रूप में किया जाता है। यह उपसमुच्चय समय के साथ बढ़ता जाएगा और इसमें एंड्रॉइड कर्नेल इंटरफेस का एक बड़ा हिस्सा शामिल हो जाएगा।

सिस्टम कॉल

सभी सिस्टम कॉलों से समान संस्करण के अपस्ट्रीम लिनक्स कर्नेल के समान हस्ताक्षर और शब्दार्थ प्रदान करने की अपेक्षा की जाती है।

prctl

समर्थित कर्नेल संस्करणों के लिए अपस्ट्रीम prctl संचालन के अलावा, एंड्रॉइड अतिरिक्त prctl संचालन पर निर्भर करता है, जिसका कार्यान्वयन एंड्रॉइड-कॉमन कर्नेल में पाया जा सकता है।

PR_SET_TIMERSLACK_PID
PR_SET_VMA

फ़ाइल सिस्टम

लिनक्स कर्नेल कई फाइल सिस्टम के माध्यम से इंटरफेस निर्यात करता है। एंड्रॉइड को उम्मीद है कि ये इंटरफ़ेस समान जानकारी, समान प्रारूप में संचार करेंगे, और अपस्ट्रीम लिनक्स कर्नेल के समान ही शब्दार्थ प्रदान करेंगे। उन इंटरफ़ेस के लिए जो अपस्ट्रीम में मौजूद नहीं हैं, उचित व्यवहार एंड्रॉइड सामान्य कर्नेल की संबंधित शाखा द्वारा निर्धारित किया जाता है।

procfs

इंटरफेस विवरण
/proc/asound/ वर्तमान में कॉन्फ़िगर किए गए ALSA ड्राइवरों की सूची दिखाने वाली रीड-ओनली फ़ाइल।
/proc/cmdline कमांड लाइन तर्कों वाली रीड-ओनली फ़ाइल कर्नेल को पास कर दी गई।
/proc/config.gz कर्नेल बिल्ड कॉन्फ़िगरेशन वाली केवल पढ़ने योग्य फ़ाइल।
/proc/cpuinfo आर्किटेक्चर-विशिष्ट सीपीयू विवरण वाली केवल-पढ़ने योग्य फ़ाइल।
/proc/diskstats ब्लॉक डिवाइसों के I/O आँकड़े दिखाने वाली रीड-ओनली फ़ाइल।
/proc/फ़ाइलसिस्टम्स केवल पढ़ने योग्य फ़ाइल सूची फ़ाइल सिस्टम वर्तमान में कर्नेल द्वारा समर्थित है।
/proc/kmsg वास्तविक समय में कर्नेल संदेश दिखाने वाली केवल पढ़ने योग्य फ़ाइल।
/proc/loadavg समय के साथ सीपीयू और आईओ लोड का औसत दिखाने वाली रीड-ओनली फ़ाइल।
/proc/meminfo मेमोरी सबसिस्टम विवरण दिखाने वाली केवल पढ़ने योग्य फ़ाइल।
/proc/misc विविध प्रमुख डिवाइस पर पंजीकृत विविध ड्राइवरों की केवल पढ़ने योग्य फ़ाइल सूची।
/proc/मॉड्यूल लोड किए गए कर्नेल मॉड्यूल के बारे में जानकारी वाली केवल पढ़ने योग्य फ़ाइल।
/proc/mounts /proc/self/mounts का सिम्लिंक, जो माउंटेड फ़ाइल सिस्टम के बारे में जानकारी को सूचीबद्ध करने वाली केवल पढ़ने योग्य फ़ाइल है।
/प्रोक/नेट निर्देशिका जिसमें विभिन्न प्रकार के नेटवर्क स्टैक पैरामीटर शामिल हैं।
/proc/net/xt_qtaguid/ टैग किए गए सॉकेट के बारे में जानकारी प्रदान करने वाली रीड-राइट फ़ाइल।
/proc/pagetypeinfo पृष्ठ आवंटनकर्ता जानकारी वाली केवल पढ़ने योग्य फ़ाइल।
/proc/stat विभिन्न कर्नेल और सिस्टम आँकड़ों वाली केवल पढ़ने योग्य फ़ाइल।
/proc/स्वैप स्वैप स्थान उपयोग को दर्शाने वाली केवल पढ़ने योग्य फ़ाइल। यह फ़ाइल वैकल्पिक है; इसकी सामग्री और अनुमतियाँ वीटीएस में तभी सत्यापित की जाएंगी जब फ़ाइल मौजूद हो।
/proc/sys/abi/swp रीड-राइट फ़ाइल जो अप्रचलित एआरएम निर्देश एसडब्ल्यूपी के व्यवहार को निर्धारित करती है।
/proc/sys/fs/पाइप-अधिकतम आकार पढ़ने-लिखने वाली फ़ाइल जो व्यक्तिगत पाइप बफ़र के बाइट्स में अधिकतम आकार की रिपोर्ट करती है।
/proc/sys/fs/protected_hardlinks पढ़ने-लिखने वाली फ़ाइल जो हार्ड लिंक के निर्माण के व्यवहार को नियंत्रित करती है।
/proc/sys/fs/protected_symlinks पढ़ने-लिखने वाली फ़ाइल जो प्रतीकात्मक लिंक के निर्माण के व्यवहार को नियंत्रित करती है।
/proc/sys/fs/suid_dumpable रीड-राइट फ़ाइल जो सेटुइड या अन्यथा संरक्षित/दागी बायनेरिज़ के लिए कोर डंप मोड को नियंत्रित करती है।
/proc/sys/कर्नेल/कोर_पैटर्न रीड-राइट फ़ाइल जो कोर डंप फ़ाइल नाम पैटर्न को निर्दिष्ट करती है।
/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 पढ़ने-लिखने वाली फ़ाइल जो टाइमआउट को नियंत्रित करती है, यह निर्धारित करने के लिए उपयोग की जाती है कि कोई कार्य कब गैर-उत्तरदायी हो गया है और इसे लटका हुआ माना जाना चाहिए। यह फ़ाइल वैकल्पिक है; इसकी सामग्री और अनुमतियाँ वीटीएस में तभी सत्यापित की जाएंगी जब फ़ाइल मौजूद हो।
/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 पढ़ें-लिखें फ़ाइल जिसमें पीआईडी ​​आवंटन रैप मान शामिल है।
/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 पढ़ने-लिखने की फ़ाइल जिसमें माइक्रोसेकंड में सिस्टम-वाइड आरटी निष्पादन सीमा द्वारा उपयोग की जाने वाली अवधि की लंबाई शामिल है।
/proc/sys/kernel/sched_rt_runtime_us पढ़ने-लिखने वाली फ़ाइल जिसमें sched_rt_period_us के सापेक्ष समय की मात्रा शामिल है, जो सिस्टम आरटी कार्यों को निष्पादित कर सकता है।
/proc/sys/kernel/sched_tunable_scaleing पढ़ने-लिखने वाली फ़ाइल जो नियंत्रित करती है कि शेड्यूलर द्वारा CPU की संख्या के आधार पर sched_latency_ns को स्वचालित रूप से समायोजित किया जाना चाहिए या नहीं।
/proc/sys/kernel/sched_wakeup_granularity_ns पढ़ने-लिखने वाली फ़ाइल जिसमें कार्य B को प्रीएम्प्ट करने के लिए नैनोसेकंड में कार्य B की तुलना में वर्चुअल रनटाइम कार्य A में कितना अधिक होना चाहिए।
/proc/sys/kernel/sysrq पढ़ने-लिखने वाली फ़ाइल जो sysrq कुंजी के माध्यम से लागू किए जाने वाले कार्यों को नियंत्रित करती है।
/proc/sys/net/* निर्देशिका जिसमें विभिन्न प्रकार के नेटवर्क स्टैक पैरामीटर शामिल हैं।
/proc/sysrq-ट्रिगर केवल-लिखने योग्य फ़ाइल जिसका उपयोग 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) शुरू होता है, और वह थ्रेशोल्ड जहां डायरेक्ट रिक्लेम (प्रक्रियाओं को आवंटित करके) शुरू होता है। यह फ़ाइल वैकल्पिक है; इसकी सामग्री और अनुमतियाँ वीटीएस में तभी सत्यापित की जाएंगी जब फ़ाइल मौजूद हो।
/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/पेज-क्लस्टर पढ़ने-लिखने की फ़ाइल जो उन पृष्ठों की संख्या को नियंत्रित करती है जिन तक लगातार पृष्ठों को एक ही प्रयास में स्वैप से पढ़ा जाता है।
/proc/uid_cputime/remove_uid_range केवल-लिखने योग्य फ़ाइल, जो लिखे जाने पर, यूआईडी को /proc/uid_cputime/show_uid_stat में दिखाए जाने से हटा देती है।
/proc/uid_cputime/show_uid_stat रीड-ओनली फ़ाइल जिसमें यूआईडी की प्रक्रियाओं में उपयोगकर्ता और कर्नेल स्पेस में बिताया गया समय शामिल है।
/proc/uid_io/आँकड़े सिस्टम में प्रत्येक यूआईडी के लिए I/O आँकड़ों की सूची वाली रीड-ओनली फ़ाइल
/proc/uid_procstat/set यूआईडी को अग्रभूमि या पृष्ठभूमि के रूप में कॉन्फ़िगर करने के लिए केवल-लिखने योग्य फ़ाइल का उपयोग किया जाता है।
/proc/uid_time_in_state केवल पढ़ने योग्य फ़ाइल जिसमें प्रत्येक यूआईडी की प्रक्रियाओं को प्रत्येक उपलब्ध आवृत्ति पर निष्पादित करने में लगने वाला समय शामिल है। यह फ़ाइल वैकल्पिक है; इसकी सामग्री और अनुमतियाँ वीटीएस में तभी सत्यापित की जाएंगी जब फ़ाइल मौजूद हो।
/proc/uptime केवल पढ़ने योग्य फ़ाइल जो दर्शाती है कि सिस्टम कितने समय से चल रहा है।
/proc/संस्करण केवल पढ़ने योग्य फ़ाइल जिसमें कर्नेल संस्करण का वर्णन करने वाली एक स्ट्रिंग है।
/proc/vmallocinfo केवल पढ़ने योग्य फ़ाइल जिसमें vmalloc 'd श्रेणियाँ हैं।
/proc/vmstat कर्नेल से वर्चुअल मेमोरी आँकड़े युक्त केवल पढ़ने योग्य फ़ाइल।
/proc/zoneinfo मेमोरी ज़ोन के बारे में जानकारी वाली केवल पढ़ने योग्य फ़ाइल।

देव

इंटरफेस विवरण
/dev/ashmem अनाम साझा मेमोरी डिवाइस फ़ाइल।
/देव/बाइंडर बाइंडर डिवाइस फ़ाइल.
/dev/hwbinder हार्डवेयर बाइंडर डिवाइस फ़ाइल।
/देव/टुन यूनिवर्सल TUN/TAP डिवाइस फ़ाइल।
/dev/xt_qtaguid QTAGUID नेटफ़िल्टर डिवाइस फ़ाइल।

sysfs

इंटरफेस विवरण
/sys/class/net/*/mtu प्रत्येक इंटरफ़ेस के लिए अधिकतम ट्रांसमिशन इकाई वाली फ़ाइल पढ़ें-लिखें।
/sys/class/rtc/*/hctosys रीड-ओनली फ़ाइल दिखाती है कि क्या कोई विशेष आरटीसी बूट और बायोडाटा पर सिस्टम समय प्रदान करता है।
/sys/डिवाइस/सिस्टम/सीपीयू/ निर्देशिका जिसमें सीपीयू कॉन्फ़िगरेशन और आवृत्ति के बारे में जानकारी शामिल है।
/sys/kernel/wakeup_reasons केवल पढ़ने योग्य फ़ाइलों की निर्देशिका जिसमें अंतिम निलंबन समय और फिर से शुरू करने का कारण शामिल है।
/sys/पावर/स्टेट पढ़ने-लिखने वाली फ़ाइल जो सिस्टम स्लीप स्थिति को नियंत्रित करती है।
/sys/power/wake_lock रीड-राइट फ़ाइल जिसमें सक्रिय वेक लॉक शामिल हैं।
/sys/power/wake_unlock पढ़ने-लिखने वाली फ़ाइल जिसमें गैर-सक्रिय वेक लॉक हैं।
/sys/power/wakeup_count रीड-राइट फ़ाइल जिसका उपयोग वेकअप घटनाओं के समवर्ती आगमन को ध्यान में रखते हुए सिस्टम को स्लीप स्थिति में लाने के लिए किया जा सकता है।

selinuxfs

फ्रेमवर्क selinuxfs /sys/fs/selinux पर माउंट करता है।

पथ विवरण
/sys/fs/selinux/checkreqprot बाइनरी फ़्लैग वाली फ़ाइल को पढ़ें/लिखें जो यह निर्धारित करती है कि mmap और mprotect कॉल पर सेलिनक्स सुरक्षा की जाँच कैसे की जाती है।
/sys/fs/सेलिनक्स/null सेलिनक्स द्वारा उपयोग के लिए शून्य डिवाइस पढ़ें/लिखें।
/sys/fs/सेलिनक्स/नीति बाइनरी फॉर्म में सेलिनक्स नीति वाली केवल पढ़ने योग्य फ़ाइल।