Linux में fork() + exec() के विकल्प का प्रस्ताव
मूल शीर्षक: Moving beyond fork() + exec()
यह क्यों महत्वपूर्ण है
यह Linux process creation में significant performance improvement ला सकता है
Li Chen ने Linux kernel में process creation को अधिक कुशल बनाने के लिए spawn templates जोड़ने का प्रस्ताव दिया। यह fork() + exec() pattern की महंगी memory copying को कम करता है और बार-बार चलाए जाने वाले programs के लिए अनुकूलित है।
Unix के शुरुआती दिनों से fork() और exec() system calls process creation के मूल आधार रहे हैं। fork() parent process की copy बनाता है जबकि exec() नया program चलाता है। हालांकि यह model elegant है, लेकिन कई कमियां भी हैं। fork() महंगा operation है क्योंकि यह पूरी process state और memory copy करता है। अक्सर fork() के तुरंत बाद exec() call होती है, जो सारी copied memory को discard कर देती है। Li Chen के spawn templates proposal में spawn_template_create() system call होगी जो executable file के लिए template बनाएगी। यह template repeatedly चलाए जाने वाले programs के लिए optimized है, जैसे Git commands। Template में cached information होगी जो future invocations को तेज़ बनाएगी। spawn_template_spawn_args structure के माध्यम से specific invocation details pass होंगी, जिसमें argv, environment variables और file descriptor actions शामिल हैं।