होस्ट पर एक सॉकेट इंटरफ़ेस और गुण-धारावाहिक के लिए अतिथि पर एक चरित्र उपकरण इंटरफ़ेस क्यों है?


4

मैं मेजबान और इसके अतिथि वर्चुअल मशीन के बीच एक संचार चैनल स्थापित करने की कोशिश कर रहा हूं, जो हाइपरविजर के रूप में kvm का उपयोग कर रहा है। इसके लिए, मैं गुण-धारावाहिक का उपयोग कर रहा हूं ।

वर्चुअल मशीन बनाने के लिए, मैंने निम्नलिखित कमांड जारी की:

qemu-system-x86_64 \
-m 2048 -name ubuntu \
-hda ubuntu_image \
-device virtio-serial \
-chardev socket,path=/tmp/foo,server,nowait,id=foo \
-device virtconsole,name=jobsfoo,chardev=foo,name=org.ubuntu.foo \

और फिर संवाद के लिए, अतिथि पर, मैं उपयोग करता हूं:

socat /dev/hvc0 -

और मेजबान पर:

socat /tmp/foo -

मुझे समझ में आया कि /tmp/fooएक सॉकेट और /dev/hvc0एक कैरेक्टर डिवाइस है।

संचार के लिए एक सममित इंटरफ़ेस क्यों है: मेजबान पर एक सॉकेट और अतिथि पर एक चरित्र डिवाइस?

जवाबों:


1

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.