सिस्टम कॉल और फ़ंक्शन कॉल के बीच अंतर

Anonim

सिस्टम कॉल बनाम फ़ंक्शन कॉल

को रोकने के लिए एक सामान्य प्रोसेसर निर्देशों को एक-एक करके चलाता है। लेकिन ऐसे अवसर हो सकते हैं जहां प्रोसेसर को वर्तमान अनुदेश रोकना पड़ता है और कुछ अन्य प्रोग्राम या कोड खंड (किसी अन्य जगह पर स्थित) को अंजाम देना पड़ता है। ऐसा करने के बाद प्रोसेसर सामान्य निष्पादन के लिए वापस आ जाता है और जहां से इसे छोड़ दिया जाता है। एक सिस्टम कॉल और फ़ंक्शन कॉल ऐसे मौके हैं एक सिस्टम कॉल सिस्टम में निर्मित सब-रूटिन को कॉल करता है। फ़ंक्शन कॉल प्रोग्राम के भीतर एक उप-विधि के लिए एक कॉल है।

सिस्टम कॉल क्या है?

सिस्टम कॉल्स कंप्यूटर पर चलने वाले कार्यक्रमों को ऑपरेटिंग सिस्टम से बात करने के लिए इंटरफ़ेस प्रदान करता है। जब कोई प्रोग्राम ऑपरेटिंग सिस्टम के कर्नेल से सेवा के लिए पूछना चाहता है (जिसके लिए उसे अपने द्वारा करने की अनुमति नहीं है), तो यह सिस्टम कॉल का उपयोग करता है। उपयोगकर्ता स्तर की प्रक्रियाओं की समान अनुमति नहीं होती है क्योंकि प्रक्रियाओं को सीधे ऑपरेटिंग सिस्टम के साथ सहभागिता होती है। उदाहरण के लिए, साथ में और बाहरी I / O डिवाइस पर संचार करने के लिए या किसी अन्य प्रक्रियाओं के साथ सहभागिता करने के लिए, एक प्रोग्राम सिस्टम कॉल का उपयोग करता है।

फ़ंक्शन कॉल क्या है?

फ़ंक्शन कॉल को एक सब-रूटिन कॉल भी कहा जाता है। एक उपनगरीय (एक प्रक्रिया, कार्य, विधि या रूटीन के रूप में भी जाना जाता है) एक बड़ा कार्यक्रम का हिस्सा है जो कि एक विशिष्ट कार्य करने के लिए जिम्मेदार है। बड़ा कार्यक्रम भारी कार्यभार निष्पादित कर सकता है, और सबस्ट्रैटन केवल एक साधारण कार्य कर रहा है, जो शेष प्रोग्राम कोडिंग से भी स्वतंत्र है। एक फ़ंक्शन को ऐसे तरीके से कोडित किया जाता है कि उसे कई बार और विभिन्न स्थानों से (अन्य कार्यों के अलावा भी) कहा जा सकता है जब किसी फ़ंक्शन को कहा जाता है, तो प्रोसेसर उस स्थान पर जा सकता है जहां फ़ंक्शन के लिए कोड रहता है और फ़ंक्शन के निर्देशों को एक-एक करके चलाता है। कार्यों को पूरा करने के बाद, प्रोसेसर वह वापस लौटाएगा जहां वह छोड़ दिया गया था और अगली अनुदेश से शुरू होने वाले निष्पादन को जारी रखेंगे। कोड पुन: उपयोग के लिए कार्य एक महान उपकरण हैं कई आधुनिक प्रोग्रामिंग भाषाओं का समर्थन कार्य कार्यों का संग्रह पुस्तकालय कहा जाता है। पुस्तकालयों को अक्सर साझा करने और व्यापारिक सॉफ्टवेयर के रूप में उपयोग किया जाता है। कुछ मामलों में, पूरे कार्यक्रम उप-रूटिन्स का एक क्रम हो सकता है (उदा। थ्रेडेड कोड संकलन)

सिस्टम कॉल और फंक्शन कॉल में क्या अंतर है?

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