আমরা যারা লিনাক্স সিস্টেমে কাজ করি তারা অনেকেই জানি যে লিনাক্স সিস্টেমে দুই ধরনের ডিভাইস ফাইল আছে ১) ব্লক ডিভাইস (Block Device) – CD/DVD/USB/HDD/SSD ২) ক্যারেক্টার ডিভাইস (Character Device) – serial ports/parallel ports/Sound Card ইত্যাদি।Linux সিস্টেমে ডিভাইস ফাইল (device file) গুলো /dev ডিরেক্টরিতে থাকে। এগুলো মূলত হার্ডওয়্যার ডিভাইসকে সফটওয়্যারের (কর্ণেল ও ইউজার স্পেস প্রোগ্রাম) সাথে ইন্টারঅ্যাক্ট করার জন্য একটি ইন্টারফেস হিসেবে কাজ করে।

Block Device এবং Character Device মধ্যে তুলনামূলক পার্থক্য নিচে দেওয়া হয়েছেঃ
✅ Block Device
ডেটা নির্দিষ্ট ব্লক আকারে (যেমন: 512 বা 4096 bytes) পড়া ও লেখা হয়। Random access সমর্থন করে, অর্থাৎ যেকোনো ব্লক থেকে ডেটা নেওয়া বা লেখা সম্ভব। উদাহরণঃ
- HDD / SSD
- USB drive
- CD/DVD-ROM
✅ Character Device
ডেটা একক ক্যারেক্টার (byte/octet) আকারে ধারাবাহিকভাবে (serial/parallel পদ্ধতিতে) পড়া ও লেখা হয়। Random access সমর্থন করে না। উদাহরণঃ
- Serial Port (/dev/ttyS0, /dev/ttyUSB0)
- Parallel Port (/dev/lp0)
- Sound Card (/dev/snd/…)
এখানে উল্লেখ্য যে, ক্যারেক্টার আকারে ডেটা ট্রান্সমিশনের জন্য আমাদের সিস্টেম দুই (০২) ধরণের পদ্ধতি ব্যবহার করে। প্রথমত, সিরিয়াল কমিউনিকেশন পদ্ধতি এবং দ্বিতীয়ত হলো প্যারালেল কমিউনিকেশন পদ্ধতি। সিরিয়াল কমিউনিকেশন পদ্ধতিতে ডেটা বিট গুলো একের পরে এক আদান/প্রদান হয় এবং বেশী দুরে পাঠানো যায় না। অপরদিকে প্যারালেল কমিউনিকেশন পদ্ধতিতে ডেটা বিট গুলো একসাথে আদান/প্রদান হয় এবং সিরিয়াল কমিউনিকেশনের চাইতে বেশী দূরে পাঠানো যায়।
- ‘/dev’ ডিরেক্টরির মধ্যে প্রবেশ করে ‘ls -l’ কমান্ড দিলে নিচের মত বিস্তারিত দেখা যাবেঃ
[root@desktop ~]# cd /dev
[root@desktop dev]# ls -l
brw-rw----. 1 root disk 8, 0 Jun 1 09:36 sda --> (1)
brw-rw----. 1 root disk 8, 1 May 7 08:55 sda1 --> (2)
brw-rw----+ 1 root cdrom 11, 0 May 7 08:55 sr0 --> (3)
crw-rw----. 1 root lp 6, 0 May 7 08:55 lp0 --> (4)
crw-rw----. 1 root dialout 4, 64 May 7 08:55 ttyS0 --> (5)
crw-rw----. 1 root input 13, 32 Jun 19 22:06 mouse0 --> (6)
crw-rw----. 1 root input 13, 64 Jun 19 22:06 event0 --> (7)
- এখানে (1) এবং (2) নাম্বার লাইন শুরু টা হয়েছে ‘b’ দিয়ে তার অর্থ হচ্ছে, এই দুইটা ব্লক ডিভাইস (Block Device) এবং এখানে (1) নাম্বার লাইনের ‘sda’ হচ্ছে প্রথম SCSI ডিস্ক (HDD/USB) এবং সে অনুযায়ী(2) নম্বর লাইনের ‘sda1’ হচ্ছে হার্ড ডিস্কের প্রথম পার্টিশন। অন্যান্য ব্লক ডিভাইস যেমন DVD লাইননম্বর(3) সাধারণত ‘sr0’ নামে দেখাবে।
- এখানে(4) এবং (5) নাম্বার লাইনের শুরু টা হয়েছে ‘c’ দিয়ে তার অর্থ হচ্ছে, এই দুইটা ক্যারেক্টার ডিভাইস (Character Device) এবং এখানে ‘lp0’ প্রথম প্যারালাল পোর্ট যেটাকে আমরা ‘LPT1’ নামে চিনিএবং (5) নাম্বার ডিভাইস ‘ttyS0’ টা হচ্ছেপ্রথম সিরিয়াল (serial) পোর্ট যেটাকে আমরা ‘COM1’ নামে চিনি।
- এখানে(6) এবং (7) নাম্বার লাইনও শুরু হয়েছে ‘c’ দিয়ে, তার অর্থ দাঁড়াই এই দুইটাও ক্যারেক্টার ডিভাইস (Character Device) তবে, এখানে ‘mouse0’ হচ্ছে মাউচ এবং ‘event0’ হচ্ছে কীবোর্ড।
