2012-09-07 33 views
5

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

उत्तर

4

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

2) तो, इस बात को ध्यान में रखते हुए, यह अभी भी महान और बिना ग्लिच के कैसे लगता है?

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

हार्डवेयर बफर आकार के बारे में विवरण विभिन्न ध्वनि कार्डों पर अलग है। कुछ (पुराने) ध्वनि कार्ड में ध्वनि बफर नहीं होता है, और यहां रैम बजाए खेलता है।

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

0

यह एक ऑपरेटिंग सिस्टम के कारण है जो preemptive multi-tasking करता है। वास्तव में प्रक्रिया बहुत कम समय के लिए बाधित हो रही है, मानव के लिए नोटिस करने के लिए पर्याप्त नहीं है। एक अन्य कारण यह भी है कि ऑडियो कार्ड में प्लेबैक बफर होता है जो लगातार प्लेबैक की अनुमति देता है, जबकि डेटा को डेटा में खिलाया जा रहा है। इसलिए डेटा के साथ कार्ड को खिलाने की प्रक्रिया बहुत कम समय के लिए बाधित हो रही है, प्लेबैक अभी भी हो सकता है।

+0

लेकिन आमतौर पर हम किसी भी ब्रेक नहीं सुना है। क्या यह तेज़ है कि हम किसी भी ब्रेक का निरीक्षण नहीं कर सकते? –

-1

यह ऑपरेटिंग सिस्टम शेड्यूलर द्वारा संभाला जाता है।

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

http://en.wikipedia.org/wiki/Scheduling_(computing) http://web.cs.wpi.edu/~cs3013/c07/lectures/Section05-Scheduling.pdf

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^