स्लीप (सिस्टम कॉल)

जब कुछ समय तक कंप्यूटर प्रोग्राम (प्रक्रिया, कार्य या सूत्र) कोई आदेश प्राप्त नहीं करता है तब कंप्यूटर प्रोग्राम कुछ समय के लिए निष्क्रिय स्थिति में चला जाता है जिसे विश्राम(स्लीप) अवस्था कहते है। विश्राम अवस्था के दौरान अंतराल समय की समाप्ति, किसी प्रकार के संकेत की प्राप्ति या रुकावट के कारण प्रोग्राम का निष्पादन फिर से शुरू हो सकता है।

उपयोग
एक सामान्य विश्राम, समय के मान को एक मापदंड के रूप में लेता है जो निष्पादन को फिर से शुरू करने से पहले प्रक्रिया को विश्राम करने के लिए न्यूनतम समय निर्दिष्ट करता है। मापदंड सामान्य तौर पर सेकंड निर्दिष्ट करता है, हालांकि कुछ प्रचालन तंत्र बेहतर वियोजन जैसे मिलीसेकंड या माइक्रोसेकंड प्रदान करते हैं।

विंडोज़
विंडोज़ पर,  क्रिया विश्राम के लिए मिलीसेकंड की संख्या का एक एकल मापदंड लेता है।   e> क्रिया kernel32.dll. में सम्मिलित है।

{{code|Sleep}}} क्रिया का वियोजन,सामान्यतौर पर एपीआई की श्रेणी 'समय साधन'timeBeginPeriodके माध्यम से वर्तमान समय अवधि, अधिकतम 16 एमएस लेकिन न्यूनतम 1 एमएस वियोजन होती है। उच्च परिशुद्धता के लिए,gnulib जैसे व्यस्त लूप ओवर QueryPerformanceCounterका उपयोग करना आवश्यक है।

 यूनिक्स 

क्रिया यूनिक्स-लाइक और अन्य पोसिक्स प्रचालन तंत्र पर विश्राम के लिए सेकंड की संख्या के असंकेतित पूर्णांक प्रकार का एकल मापदंड प्रदान करती है। nanosleepक्रिया एक उच्च परिशुद्धता संस्करण है और अब अप्रामाणित usleepहै। पोसिक्स विस्तारित संस्करण clock_nanosleep के माध्यम से घड़ी स्रोतों को चुनने की भी अनुमति देता है।

clock_nanosleepके एक संस्करण को सी प्रोग्रामिंग भाषा का हिस्सा बनने का प्रस्ताव दिया गया था, लेकिन इसे अस्वीकार कर दिया गया। उसी प्रस्ताव को UTC समय भाग C11 में जोड़ा गया था।

 सी उदाहरण 

विंडोज़ एपीआई में: यूनिक्स या पोसिक्स सिस्टम कॉल में:  निम्नस्तरीय कार्यक्षमता 

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

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

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

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

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

 अबाधित विश्राम 

एक अबाधित विश्राम की स्थिति एक ऐसी विश्राम की स्थिति है जो तुरंत संकेत को संभाल नहीं पाती है। यह केवल प्रतीक्षारत संसाधन उपलब्ध होने के परिणामस्वरूप या उस प्रतीक्षा के दौरान समय समाप्त होने के बाद ही जागृत होता है। इसका उपयोग अधिकतर डिस्क या नेटवर्क IO (निविष्ट/उत्पादन) की प्रतीक्षा कर रहे उपकरण संचालको द्वारा किया जाता है।

जब प्रक्रिया निर्बाध रूप से विश्राम कर रही होती है, तो प्रक्रिया के सिस्टम कॉल या ट्रैप से लौटने पर विश्राम के दौरान जमा हुए संकेतों पर ध्यान दिया जाता है।

यूनिक्स जैसी प्रणालियों में आदेश '' किसी प्रक्रिया की अबाधित विश्राम की स्थिति के लिए कोड " का उपयोग करता है। ऐसी प्रक्रियाओं को SIGKILL| से भी समाप्त नहीं किया जा सकता है और उनसे मुक्त करने का एकमात्र गैर-परिष्कृत तरीका तंत्र को पुन:प्रारंभ करना है।

 यह भी देखें 
 * संकेत (कंप्यूटिंग)
 * सिस्टम समय
 * नींद (आदेश)
 * विश्राम मोड
 * प्रतीक्षा करें (सिस्टम कॉल)