/ দেব এবং / সিএস / শ্রেণীর মধ্যে পার্থক্য?


30

ডিভাইসটির প্রতিনিধিত্ব /devএবং এর মধ্যে একটির মধ্যে পার্থক্য কী /sys/class?

একজনের কি অন্যের চেয়ে বেশি পছন্দ হয়? একটি প্রস্তাব আছে এবং অন্য না কিছু আছে?



: এই libudev & sysfs- র টিউটোরিয়াল দেখুন signal11.us/oss/udev
SLM

উত্তর:


26

ফাইলগুলি /devহ'ল প্রকৃত ডিভাইসগুলির ফাইল যা ইউডিইভি রান সময় সময়ে তৈরি করে। ডিরেক্টরি /sys/classচালানোর সময়ে কার্নেল দ্বারা রপ্তানি করা হয় মাধ্যমে হার্ডওয়্যার অনুক্রমের প্রকাশক sysfs

থেকে libudev এবং sysfs টিউটোরিয়াল

উদ্ধৃতাংশ

ইউনিক্স এবং ইউনিক্সের মতো সিস্টেমে / ডিভ ডিরেক্টরিতে অবস্থিত বিশেষ ফাইলগুলির (ডিভাইস ফাইল বা নোড নামে পরিচিত) মাধ্যমে হার্ডওয়্যার ডিভাইসগুলি অ্যাক্সেস করা হয়। এই ফাইলগুলি কেবল সাধারণ ফাইলের মতোই পড়ে এবং লিখিত হয়, তবে ডিস্কে ডেটা লেখার ও পড়ার পরিবর্তে তারা সরাসরি কার্নেল ড্রাইভারের সাথে যোগাযোগ করে যা পরে হার্ডওয়্যারের সাথে যোগাযোগ করে। অনেকগুলি অনলাইন সংস্থান রয়েছে / ডিভ ফাইলগুলি আরও বিশদে বর্ণনা করে। ট্র্যাডিটোনালি, এই বিশেষ ফাইলগুলি ইনস্টল করার সময় mknod কমান্ড ব্যবহার করে বিতরণ দ্বারা তৈরি করা হয়েছিল। সাম্প্রতিক বছরগুলিতে, লিনাক্স সিস্টেমগুলি রানটাইমে এই / ডেভ ফাইলগুলি পরিচালনা করতে udev ব্যবহার শুরু করে। উদাহরণস্বরূপ, ডিভাইসগুলি সনাক্ত করা হলে udev নোড তৈরি করবে এবং ডিভাইসগুলি সরানো হলে সেগুলি মুছবে (রানটাইমের সময় হটপ্লাগ ডিভাইস সহ)। এই পথে,

অন্য একটি অংশ

সিসফের ডিরেক্টরিতে কম্পিউটারের সাথে সংযুক্ত থাকায় ডিভাইসগুলির বংশগতি থাকে contain উদাহরণস্বরূপ, আমার কম্পিউটারে, hidraw0 ডিভাইসটি নীচে অবস্থিত:

/sys/devices/pci0000:00/0000:00:12.2/usb1/1-5/1-5.4/1-5.4:1.0/0003:04D8:003F.0001/hidraw/hidraw0

পথের ভিত্তিতে, ডিভাইসটি 1-5 ডিভাইসের পোর্ট নং 4-এর সাথে সংযুক্ত ডিভাইসের (মোটামুটি, শেষ থেকে শুরু) কনফিগারেশন 1 (: 1.0) এর সাথে সংযুক্ত, ইউএসবি কন্ট্রোলার 1 (ইউএসবি 1) এর সাথে সংযুক্ত, এর সাথে সংযুক্ত পিসিআই বাস। আকর্ষণীয় হলেও, এই ডিরেক্টরিটির পথটি আমাদের খুব ভাল করে না, কারণ এটি কীভাবে হার্ডওয়্যারটি কম্পিউটারের সাথে শারীরিকভাবে সংযুক্ত রয়েছে তার উপর নির্ভর করে।

ভাগ্যক্রমে, সিসফগুলি কোনও পিসিআই এবং ইউএসবি পোর্টের সাথে সংযুক্ত রয়েছে তা জেনেও ডিভাইসগুলিতে সহজে অ্যাক্সেসের জন্য প্রচুর সংখ্যক সিমলিংক সরবরাহ করে। / Sys / শ্রেণিতে ডিভাইসের প্রতিটি পৃথক শ্রেণীর জন্য একটি ডিরেক্টরি রয়েছে।

ব্যবহারের?

সাধারণভাবে আপনি /etc/udev/rules.dআপনার সিস্টেমকে বাড়ানোর জন্য নিয়ম ব্যবহার করেন । বিভিন্ন হার্ডওয়্যার উপস্থিত থাকলে স্ক্রিপ্টগুলি চালানোর জন্য বিধিগুলি তৈরি করা যেতে পারে।

একবার একটি সিস্টেম আপ আপনার বিরুদ্ধে পারেন কাজ স্ক্রিপ্ট লিখতে পারেন /devঅথবা /sys, এবং এটি সত্যিই ব্যক্তিগত পছন্দ নেমে আসে, কিন্তু আমি সাধারণত চেষ্টা বিরুদ্ধে কাজ করবে /sysযেমন এবং সরঞ্জামের ব্যবহার করতে udevadmবিভিন্ন সিস্টেম রিসোর্স অবস্থানের জন্য কোয়েরি udev করতে।

$ udevadm info -a -p  $(udevadm info -q path -n /dev/sda) | head -15

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda':
    KERNEL=="sda"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{ro}=="0"
    ATTR{size}=="976773168"
    ATTR{stat}==" 6951659  2950164 183733008 41904530 16928577 18806302 597365181 580435555        0 138442293 622621324"
    ATTR{range}=="16"
...

নিশ্চিত না যে আমি আপনাকে সঠিকভাবে বুঝতে পেরেছি। সুতরাং কিছু স্পষ্টতা জিজ্ঞাসা নিশ্চিত। আপনি / বাহ বা / সিসে একটি এন্ট্রি তৈরি করে কোনও বাহ্যিক ডিভাইস (যেমন i2c বা মিপি এর মাধ্যমে) সাথে ইন্টারফেস করার সিদ্ধান্ত নিচ্ছেন নিখুঁতভাবে ব্যক্তিগত পছন্দের ভিত্তিতে? যদি তা না হয় তবে কোন ক্ষেত্রে / কেন পরবর্তী ক্ষেত্রে (এবং উপ-ভার্চা) স্থলে পূর্বের জন্য বেছে নেওয়া হবে?
লন্ডনজেকিপিটেলঅফগ্রায়েটব্রিটন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.