- वेब पर PID 0 के बारे में खोजने पर ज़्यादातर गलत जानकारी मिलती है।
- Google, Bing, DuckDuckGo और Kagi पर PID 0 खोजने पर सटीक उत्तर ढूंढना मुश्किल था।
- Wikipedia की गलत जानकारी 16 साल तक फैलती रही, और कई साइटों ने उसे उद्धृत किया।
PID 0 का इतिहास
- PID 0 scheduling और power management में शामिल है, paging से इसका कोई संबंध नहीं है।
- PID 0 उस scheduler की भूमिका निभाता है जो CPU core के पास कोई काम न होने पर चलता है।
- शुरुआती Unix में PID 0 memory management से जुड़े काम करता था, लेकिन आधुनिक Unix में ऐसा नहीं है।
PID 0 की वास्तविक भूमिका
- PID 0 kernel को शुरू करता है, और उसके बाद CPU core को मैनेज करने की भूमिका निभाता है।
- Linux kernel में PID 0 को
do_idle फ़ंक्शन के रूप में इम्प्लीमेंट किया गया है।
- FreeBSD जैसे दूसरे kernel में भी यह समान भूमिका निभाता है।
PID 0 को लेकर भ्रम
- Linux kernel और user space में PID का अर्थ अलग होता है।
- kernel में
task_struct एक thread को दर्शाता है, और PID का मतलब thread ID होता है।
- user space में PID process को दर्शाता है, और यह thread group ID के समान होता है।
multi-core सिस्टम में PID 0
- multi-core सिस्टम में हर CPU core के लिए एक idle thread होता है।
- ये idle thread सभी thread group 0 में शामिल होते हैं।
- user space में इन्हें PID 0 के रूप में पहचाना जाता है।
निष्कर्ष
- PID 0 मौजूद है, और यह kernel को शुरू करने वाला thread है।
- PID 0 शुरुआती kernel initialization का काम करता है और बाद में idle thread में बदल जाता है।
- PID 0 का memory management से कोई संबंध नहीं है।
- multi-core सिस्टम में हर core के लिए idle thread होता है, और वे सभी thread group 0 में शामिल होते हैं।
GN⁺ की राय
- सटीक जानकारी का महत्व: गलत जानकारी लंबे समय तक फैलती रही, जिससे बहुत से लोगों ने उसे सच मान लिया। यह सटीक जानकारी देने के महत्व की फिर याद दिलाता है।
- kernel की जटिलता: kernel initialization process और scheduling mechanism बेहद जटिल हैं, और इन्हें समझना software engineer के लिए बहुत उपयोगी हो सकता है।
- PID को लेकर भ्रम: kernel और user space में PID का अर्थ अलग होने के कारण, इसे स्पष्ट रूप से समझना महत्वपूर्ण है।
- multi-core सिस्टम: आधुनिक multi-core सिस्टम में PID 0 की भूमिका को समझना system performance optimization में मदद कर सकता है।
- Wikipedia का प्रभाव: यह दिखाता है कि Wikipedia की जानकारी कितनी बड़ी संख्या में वेबसाइटों को प्रभावित करती है। यह सटीक जानकारी को अपडेट करने के महत्व पर ज़ोर देता है।
3 टिप्पणियां
उस पुराने हादसे की याद आ रही है जब उस agent ने
kill -9 0कर दिया था...दिलचस्प है।
Hacker News की राय
VMM32के अंदर होता है।getppidके 0 लौटाने का मामला तब होता है जब parent किसी दूसरे PID namespace में हो।ps -auxकमांड पर सवाल: "ps -aux" कमांड चलाने पर दूसरे users की जानकारी भी दिखाई देती है। क्या यह डिफ़ॉल्ट रूप से private जानकारी नहीं होनी चाहिए?kill 0का दिलचस्प उपयोग:kill 0का उपयोग करके time limit के भीतर कमांड चलाकर समाप्त करने वाली script साझा की गई।