Block Device vs. Character Devices in Linux OS
আমরা যারা লিনাক্স সিস্টেমে কাজ করি তারা অনেকেই জানি যে লিনাক্স সিস্টেমে দুই ধরনের ডিভাইস ফাইল আছে ১) ব্লক ডিভাইস (Block Device) – CD/DVD/USB/HDD ২) ক্যারেক্টার ডিভাইস (Character Device) – serial ports/parallel ports/Sound Card এবং এগুলো থাকে ‘/dev’ ডিরেক্টরির মধ্যে।
Block Device এবং Character Device মধ্যে তুলনামূলক পার্থক্য নিচে দেওয়া হয়েছেঃ
- Block Device – ব্লক (512/4096 byte) আকারে ডাটা আদান/প্রদান করে।
- Character Device – ক্যারেক্টার (Bytes, Octets) আকারে (Serial/Parallel) ডাটা আদান/প্রদান করে।

Figure: Block Device vs Chracter Device
এখানে উল্লেখ্য যে, ক্যারেক্টার আকারে ডাটা ট্রান্সমিশনের জন্য আমাদের সিস্টেম দুই (০২) ধরণের পদ্ধতি ব্যাবহার করে। প্রথমত হচ্ছে, সিরিয়াল কমিউনিকেশন পদ্ধতি এবং দ্বিতীয়ত হচ্ছে প্যারালেল কমিউনিকেশন পদ্ধতি। সিরিয়াল কমিউনিকেশন পদ্ধতিতে ডাটা বিট গুলো একের পরে এক আদান/প্রদান হয় এবং বেশী দুরে পাঠানো যায় না। অপরদিকে প্যারালেল কমিউনিকেশন পদ্ধতিতে ডাটা বিট গুলো একসাথে আদান/প্রদান হয় এবং সিরিয়াল কমিউনিকেশনের চাইতে বেশী দূরে পাঠানো যায়।
- ‘/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’ হচ্ছে কীবোর্ড।
