जब मैं एक USB डिस्क से दूसरे में चीजों को कॉपी करता हूं तो प्रोसेसर क्या करता है?


20

क्या सभी डेटा जो मैं इसके माध्यम से जा रहा हूं, या क्या कोई अन्य प्रत्यक्ष तरीका है?


प्रोसेसर सक्रिय है और USB के साथ नियंत्रण में है, लेकिन
फायरफॉक्स के

जवाबों:


30

मुश्किल एक! डेटा वास्तव में प्रति सीपीयू के माध्यम से नहीं जाता है।

डेटा और महत्वपूर्ण 1 और 0 चिपसेट के माध्यम से जाते हैं, या समर्पित I / O चिप्स और मेमोरी, हालांकि, जब आप फ़ाइलों की प्रतिलिपि बना रहे होते हैं, तो कॉपी करने का आदेश प्रोसेसर द्वारा चलाया जाता है।

आपके सामने (डेटा), आपकी बाहों (चिपसेट / आई / ओ चिप), और आपके मस्तिष्क (सीपीयू) के सामने एक वस्तु होने की कल्पना करें। आप वास्तव में ऑब्जेक्ट को स्थानांतरित करने के लिए अपने मस्तिष्क का उपयोग नहीं करते हैं, आपका मस्तिष्क ऑब्जेक्ट को स्थानांतरित करने के लिए आपकी बाहों को "कमांड" चलाता है।


1
अच्छा रूपक, @Wil।
शिन्राइ

4
@Shinrai - हालांकि, यह मानसिक रूप से खड़े नहीं हैं! मैं अपने दिमाग के साथ वस्तु को स्थानांतरित करना पसंद करूंगा!
विलियम हिल्सम

DMA या CPU को बायपास नहीं किया?
ओ ० '।

2
DMA CPU को interruptजब भी कोई IO कमांड देता है block device, जैसे USB स्टिक, पूरा करके मदद करता है । सीपीयू तब कॉपी को निष्पादित करना जारी रखता है। वास्तव में, सीपीयू जो कर रहा है वह कर्नेल- ioctlकोड चल रहा है जो डिवाइस ड्राइवरों के साथ chunks(वास्तविक नाम) को कॉपी करने के लिए इंटरफेस करता है DMA। सीपीयू भी संभालती है asynchronous IOऔर sync IOएक कर्नेल-कोड-क्रियान्वित-नजरिए से थोड़ा अलग।
हेनरिक

1
मैं इसे प्रतिनिधि के लिए नहीं करता, बस इस साइट से प्यार करता हूँ और लोगों की मदद करता हूँ! मुझे नहीं लगता कि यह दो वाक्यों के रूप में बेहतर है, लेकिन उम्मीद है कि यह अब बेहतर है .... अगर आपको यह पसंद नहीं है, तो मुझे लगता है कि निचले सदस्यों के लिए एक नई बात है, इसे स्वयं संपादित करने का प्रयास करें!
विलियम हिल्सम

5

CPU को उस प्रोग्राम को चलाना होता है जो सोर्स फाइल को पढ़ता है और फिर डेस्टिनेशन फाइल को लिखता है।

डेटा जो पढ़ा जाता है (आमतौर पर) मुख्य मेमोरी में विखंडू में पढ़ा जाता है, लेकिन वास्तव में सीपीयू के माध्यम से नहीं जाता है।


4

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

दुर्भाग्य से, हमारे पास बुद्धिमान चैनल नहीं हैं, इसलिए सीपीयू एक पाश के समान समाप्त होता है:

प्रत्येक फ़ाइल (dev1) के लिए; करना
   CreateFile (dev2);
   copyfilecontent (dev1, dev2);
समाप्त;

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


बुद्धिमान चैनल क्या हैं? क्या आप इसके लिए छद्म कोड स्निपेट दिखा सकते हैं?
हेनरिक

बुद्धिमान चैनल हार्डवेयर डिवाइस हैं जो I / O को मेनफ्रेम पर हैंडल करते हैं। मुझे उम्मीद है कि वे अपने आप में सीमित कार्यक्षमता वाले माइक्रो कंप्यूटर हैं। पता नहीं उनका कोड कैसा दिखता है। वे बहुत महत्वपूर्ण थे जब मेनफ्रेम ने 8 एमबी मेमोरी में 100 ऑनलाइन उपयोगकर्ताओं को संभाला। मेरा मानना ​​है कि कमोडोर कंप्यूटर अपने डिस्क सिस्टम में एक दूसरे सीपीयू का इस्तेमाल करते थे। उनकी समान कार्यक्षमता हो सकती है।
बिलहरी 17
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.