Sep 13, 2025

Block vs Character Devices in Linux

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

Figure: Block Device vs Character Device

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’ কমান্ড দিলে নিচের মত বিস্তারিত দেখা যাবেঃ
  • এখানে (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’ হচ্ছে কীবোর্ড।
Avatar photo
Md. Azaj Ikbal

Red Hat | CentOS | Ubuntu | Shell Scripting | Server Hardening | Server Clustering | Virtualization | VMware | vSphere | vCenter | ESXi | vMotion | SAN Storage | vSAN | VMware Data Center | Windows Server Domain Controller | DNS & DNS Sec | RADIUS | Cacti | Observium | GrayLog | Veeam Backup | Huawei Networking | Cisco Networking | IP Telephony | Server Admin | Network Engineer