इंटरफ़ेस की ज़रूरी शर्तें

यह पेज Linux कर्नेल इंटरफ़ेस के एक सबसेट के बारे में बताता है, जिस पर Android सही तरीके से काम करता है. इन इंटरफ़ेस की मौजूदगी और उसके सटीक होने पर, विक्रेता टेस्ट सुइट के हिस्से के तौर पर टेस्ट किया गया (वीटीएस). इस सबसेट में समय के साथ बढ़ोतरी होगी और इसमें Android कर्नेल इंटरफ़ेस.

सिस्टम कॉल

सभी सिस्टम कॉल में एक जैसे हस्ताक्षर और सिमैंटिक देने चाहिए उसी वर्शन के अपस्ट्रीम Linux कर्नेल में.

पीआरसीएल

इसके साथ काम करने वाली prctl कार्रवाइयों के अलावा कर्नेल वर्शन के लिए, Android अतिरिक्त prctl कार्रवाइयों पर निर्भर रहता है, लागू किया गया है, जिसे android-common कर्नेल में देखा जा सकता है.

PR_SET_TIMERSLACK_PID
PR_SET_VMA

फ़ाइल सिस्टम

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

Procfs

इंटरफ़ेस ब्यौरा
/proc/asound/ सिर्फ़ पढ़ने के लिए फ़ाइल, जिसमें कॉन्फ़िगर किए गए मौजूदा ALSA ड्राइवर की सूची दिखती है.
/proc/cmdline रीड-ओनली फ़ाइल, जिसमें कर्नेल को पास किए गए कमांड लाइन तर्क शामिल हैं.
/proc/config.gz सिर्फ़ रीड-ओनली फ़ाइल, जिसमें कर्नेल बिल्ड कॉन्फ़िगरेशन मौजूद है.
/proc/cpuinfo रीड-ओनली फ़ाइल, जिसमें आर्किटेक्चर के लिए खास सीपीयू (CPU) की जानकारी मौजूद है.
/proc/diskstats ब्लॉक डिवाइसों के I/O आंकड़े दिखाने वाली सिर्फ़ रीड-ओनली फ़ाइल.
/proc/filesystems रीड-ओनली फ़ाइल लिस्टिंग वाले फ़ाइल सिस्टम, जो फ़िलहाल कर्नेल.
/proc/kmsg रीयल टाइम में कर्नेल मैसेज दिखाने वाली रीड-ओनली फ़ाइल.
/proc/loadavg समय के साथ सीपीयू और 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 के व्यवहार के बारे में बताती है एसडब्ल्यूपी का इस्तेमाल करें.
/proc/sys/fs/pipe-max-size ऐसी रीड-राइट फ़ाइल जो किसी फ़ाइल का साइज़, बाइट में अलग-अलग पाइप बफ़र.
/proc/sys/fs/protected_hardlinks रीड-राइट फ़ाइल, जो हार्ड लिंक बनाने के व्यवहार को कंट्रोल करती है.
/proc/sys/fs/protected_symlinks ऐसी फ़ाइल पढ़ें और लिखें जो सिम्बॉलिक बनाने के तरीके को कंट्रोल करती है लिंक.
/proc/sys/fs/suid_dumpable ऐसी फ़ाइल पढ़ें जो सेटयूइड या अन्य चीज़ों के लिए कोर डंप मोड को कंट्रोल करती है सुरक्षित/दांत वाली बाइनरी.
/proc/sys/kernel/core_pattern रीड-राइट फ़ाइल, जो कोर डंप फ़ाइल नाम के पैटर्न के बारे में बताती है.
/proc/sys/kernel/core_pipe_limit रीड-राइट फ़ाइल, जो यह बताती है कि एक साथ क्रैश होने वाली कितनी प्रोसेस हो सकती हैं साथ ही, उपयोगकर्ता के ऐप्लिकेशन से सिंक किए जाएंगे.
/proc/sys/kernel/dmesg_restrict रीड-राइट फ़ाइल, जो यह कंट्रोल करती है कि क्या बिना अधिकार वाले उपयोगकर्ता ऐक्सेस कर सकते हैं DM
/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 ऐसी फ़ाइल पढ़ें जिसमें पूरे सिस्टम की RT में इस्तेमाल की गई समयावधि की जानकारी शामिल हो प्रोग्राम चलाने की सीमा, माइक्रोसेकंड में.
/proc/sys/kernel/sched_rt_runtime_us पढ़ने-लिखने में मदद करने वाली फ़ाइल, जिसमें समय की जानकारी होती है sched_rt_period_us में, सिस्टम आरटी टास्क पूरा कर सकता है.
/proc/sys/kernel/sched_tunable_scaling ऐसी फ़ाइल को पढ़ें-लिखें जो यह कंट्रोल करता है कि 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) से शुरू होता है और थ्रेशोल्ड जहां प्रोसेस का बंटवारा करके, सीधे तौर पर फिर से दावा करने की प्रोसेस शुरू होती है. यह फ़ाइल ज़रूरी नहीं है; इसकी सामग्री और अनुमतियों की पुष्टि वीटीएस में सिर्फ़ तब की जाती है, जब जिसमें फ़ाइल मौजूद हो.
/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.
/proc/uid_cputime/show_uid_stat रीड-ओनली फ़ाइल, जिसमें यूज़र इंटरफ़ेस (यूआई) की प्रोसेस में लगने वाला समय और कर्नेल स्पेस.
/proc/uid_io/stats रीड-ओनली फ़ाइल जिसमें हर यूआईडी के लिए I/O आंकड़ों की सूची मौजूद है सिस्टम
/proc/uid_procstat/set 'सिर्फ़ लिखने के लिए फ़ाइल' का इस्तेमाल, यूआईडी को फ़ोरग्राउंड या बैकग्राउंड के तौर पर कॉन्फ़िगर करने के लिए किया जाता है.
/proc/uid_time_in_state रीड-ओनली फ़ाइल, जिसमें हर यूआईडी की प्रोसेस को पूरा होने में लगने वाला समय शामिल है हर उपलब्ध फ़्रीक्वेंसी. यह फ़ाइल ज़रूरी नहीं है; कॉन्टेंट और वीटीएस में अनुमतियों की पुष्टि सिर्फ़ तब की जाती है, जब फ़ाइल मौजूद हो.
/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 नेटफ़िल्टर डिवाइस फ़ाइल.

सीएसएफ़एस

इंटरफ़ेस ब्यौरा
/sys/class/net/*/mtu ऐसी फ़ाइल पढ़ें जिसमें हर एक के लिए ज़्यादा से ज़्यादा ट्रांसमिशन यूनिट हो इंटरफ़ेस पर कॉपी करने की सुविधा मिलती है.
/sys/class/rtc/*/hctosys रीड-ओनली फ़ाइल, जो दिखाती है कि कोई खास आरटीसी, सिस्टम के समय की सप्लाई करता है या नहीं चालू करने और फिर से शुरू करने पर.
/sys/devices/system/cpu/ ऐसी डायरेक्ट्री जिसमें सीपीयू कॉन्फ़िगरेशन और फ़्रीक्वेंसी.
/sys/kernel/wakeup_reasons रीड-ओनली फ़ाइलों की डायरेक्ट्री, जिसमें खाता निलंबित करने और उसे फिर से शुरू करने का पिछला समय शामिल है की वजह.
/sys/power/state ऐसी फ़ाइल पढ़ें जो डिवाइस के स्लीप मोड (नींद) के स्टेटस को कंट्रोल करती है.
/sys/power/wake_lock पढ़ने-लिखने की फ़ाइल जिसमें सक्रिय वेक लॉक शामिल हैं.
/sys/power/wake_unlock पढ़ने-लिखने में मदद करने वाली फ़ाइल, जिसमें ऐक्टिव वेक लॉक नहीं हैं.
/sys/power/wakeup_count रीड-राइट फ़ाइल जिसका इस्तेमाल सिस्टम को स्लीप मोड (कम बैटरी मोड) में रखने के लिए किया जा सकता है जागने की घटनाओं के साथ-साथ आने वाले समय को ध्यान में रखते हुए.

सेलिनक्सएफ़

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

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