অপারেটিং সিস্টেম (Operating System) হল কম্পিউটার হার্ডওয়্যার এবং সফটওয়্যারের মধ্যে একটি ইন্টারফেস যা ইউজার এবং মেশিনের মধ্যে যোগাযোগ স্থাপন করে। আমরা উইন্ডোজ, লিনাক্স, ম্যাক ওএস ইত্যাদি ব্যবহার করে থাকি, কিন্তু কখনো কি ভেবে দেখেছেন কিভাবে এই অপারেটিং সিস্টেম তৈরি হয়?
এই আর্টিকেলটি একদম বিগেইনারদের জন্য তৈরি করা হয়েছে, যাতে আপনি ধাপে ধাপে শিখতে পারেন কিভাবে একটি বেসিক অপারেটিং সিস্টেম তৈরি করা যায়।
অপারেটিং সিস্টেম কী?
অপারেটিং সিস্টেম হলো একটি সফটওয়্যার যা কম্পিউটারের সমস্ত রিসোর্স ম্যানেজ করে যেমন CPU, মেমোরি, ডিস্ক, ইনপুট-আউটপুট ডিভাইস ইত্যাদি। এটি ছাড়া কম্পিউটার চালানো সম্ভব নয়।
অপারেটিং সিস্টেমের প্রকারভেদ
- Single-tasking vs Multi-tasking OS
- Single-user vs Multi-user OS
- Real-time OS
- Embedded OS
- Distributed OS
আপনি কেন নিজের অপারেটিং সিস্টেম তৈরি করবেন?
নিজের একটি OS তৈরি করার প্রধান কারণগুলো হল:
- কম্পিউটার সায়েন্সের গভীর জ্ঞান অর্জন
- সিস্টেম লেভেল প্রোগ্রামিং শেখা
- নতুন কিছু উদ্ভাবনের ইচ্ছা
- নিজস্ব কাস্টম OS তৈরির স্বপ্ন পূরণ
যে জিনিসগুলো জানা প্রয়োজন
একটি OS তৈরি করতে হলে আপনাকে কিছু বিষয় শিখে নিতে হবে:
- C প্রোগ্রামিং: অপারেটিং সিস্টেমের কোর সাধারণত C ভাষায় লেখা হয়।
- Assembly Language: হার্ডওয়্যারের সাথে সরাসরি কাজ করার জন্য ব্যবহৃত হয়।
- Computer Architecture: রেজিস্টার, মেমোরি, CPU কাজ কিভাবে করে তা জানা দরকার।
- Compiler ও Linker: সোর্স কোড থেকে এক্সিকিউটেবল তৈরি করতে প্রয়োজন।
- Bootloader: সিস্টেম চালু হওয়ার সময় প্রথম যে কোড রান করে।
OS তৈরির ধাপসমূহ
-
১. একটি Bootloader তৈরি করা
Bootloader হলো এমন একটি প্রোগ্রাম যা কম্পিউটার চালু হওয়ার সাথে সাথেই চালু হয় এবং OS লোড করে।
bits 16 org 0x7c00mov ah, 0x0e mov al, 'H' int 0x10 jmp $ times 510 - ($ - $$) db 0 dw 0xaa55
উপরের কোডটি একটি বেসিক Bootloader যা H অক্ষরটি প্রিন্ট করে।
-
২. Kernel তৈরি করা
Kernel হলো OS-এর প্রধান অংশ। এটি মেমোরি ম্যানেজমেন্ট, প্রসেস ম্যানেজমেন্ট ইত্যাদি কাজ করে। নিচে C ভাষায় একটি বেসিক kernel:
void main() { char *video_memory = (char *) 0xb8000; *video_memory = 'A'; }
-
৩. ISO ফাইল তৈরি করা
Bootloader এবং Kernel একসাথে নিয়ে একটি bootable ISO তৈরি করতে হয়। এটি আমরা genisoimage বা mkisofs কমান্ড দিয়ে করতে পারি।
genisoimage -o myos.iso -b bootloader.bin iso_folder/
-
৪. ভার্চুয়াল মেশিনে টেস্ট করা
আপনি আপনার OS কে VirtualBox বা QEMU ব্যবহার করে টেস্ট করতে পারেন।
qemu-system-x86_64 -cdrom myos.iso
উন্নত ফিচার যোগ করা
একবার বেসিক OS তৈরি হয়ে গেলে, আপনি নিচের ফিচারগুলো যুক্ত করতে পারেন:
- Text-based shell
- File system support (FAT32)
- Keyboard input support
- Multitasking
- Drivers support
সহজ কিছু রিসোর্স
শেষ কথা
নিজের অপারেটিং সিস্টেম তৈরি করা খুবই চ্যালেঞ্জিং কিন্তু একই সাথে অসাধারণ একটি শিক্ষা অভিজ্ঞতা। ধৈর্য, অধ্যবসায় এবং নিয়মিত অনুশীলনই আপনাকে সফল করবে। যদি আপনি ছোট করে শুরু করেন এবং ধাপে ধাপে এগিয়ে যান, তাহলে আপনি একদিন নিজের একটি মিনিমাল অপারেটিং সিস্টেম তৈরি করতে পারবেন।
শুভ কামনা!