উইন্ডোজ অপারেটিং সিস্টেম কার্নেল এবং ইউজার মোডের সাথে আসে, কিন্তু সবাই তাদের পার্থক্য না জানে। আসলে, অধিকাংশ ব্যবহারকারীর এটা কোনো ধারণা নেই যে এই মোডগুলো অস্তিত্বে আছে, কিন্তু তারা এরাই সেগুলো ব্যবহার করেছে। এখন, আপনি যদি তাদের মধ্যে একজন হন, তবে কিছু জরুরি জ্ঞান পেতে পড়তে থাকুন।
ইউজার এবং কার্নেল মোডের ওভারভিউ
উইন্ডোজ অপারেটিং সিস্টেম চালিত আপনার কম্পিউটারের দুটি ভিন্ন মোড আছে, এবং সেগুলো হলো User mode এবং Kernel mode। কম্পিউটারের মাইক্রোপ্রসেসরটি কোডের টাইপের উপর নির্ভর করে অটোম্যাটিক্যালি দুটি মোডের মধ্যে স্যুইচ করতে পারে। অ্যাপ্লিকেশন ও প্রোগ্রামগুলো ইউজার মোডে রান করার জন্য ডিজাইন করা হয়, যখন কোর অপারেটিং সিস্টেমের সাথে লিংক করা কম্পোনেন্টগুলো কার্নেল মোডে রান করে। অধিকাংশ ড্রাইভার কার্নেল মোডে রান করে, তবে কিছু ড্রাইভার ইউজার মোডে ও রান করে।
উইন্ডোজ অপারেটিং সিস্টেমে কার্নেল মোড এবং ইউজার মোড

ইউজার এবং কার্নেল মোডের গুরুত্বপূর্ণ দিকগুলো বুঝতে হলে যেকোনো এডভান্সড কম্পিউটার ইউজারের জন্য এজেন্ডায় থাকা উচিত। এই পোস্টে আমরা নিচের বিষয়গুলো আলোচনা করব:
- কার্নেল মোড কিভাবে কাজ করে?
- ইউজার মোড কিভাবে কাজ করে?
- কার্নেল এবং ইউজার মোডের পার্থক্য কী?
- উইন্ডোজ সিস্টেম রিসোর্সকে ইউজার অ্যাপ্লিকেশন থেকে কিভাবে আলাদা রাখে?
১] উইন্ডোজ ১১/১০-এ কার্নেল মোড কিভাবে কাজ করে?
Microsoft বলেছে:
All code that runs in kernel mode shares a single virtual address space. This means that a kernel-mode driver is not isolated from other drivers and the operating system itself. If a kernel-mode driver accidentally writes to the wrong virtual address, data that belongs to the operating system or another driver could be compromised. If a kernel-mode driver crashes, the entire operating system crashes.
ঠিক আছে, তাহলে কার্নেল মোডে রান করা প্রতিটি কোড একই ভার্চুয়াল অ্যাড্রেস স্পেস শেয়ার করে। এর মানে কী? যেন, একটি কার্নেল-মোড ড্রাইভার অন্য ড্রাইভার থেকে আলাদা নয়, এবং অপারেটিং সিস্টেমের জন্যও একই কথা।
মনে রাখবেন যে যদি একটি কার্নেল-মোড ড্রাইভার অকস্মাৎ ভুল ভার্চুয়াল অ্যাড্রেসে লিখে, তবে অপারেটিং সিস্টেমের সাথে লিংক করা ডেটা কমপ্রোমাইজ হয়ে যেতে পারে। আমরা বুঝতে পারছি অন্যান্য ড্রাইভারও এইভাবে কমপ্রোমাইজ হতে পারে।
অতিরিক্তভাবে, যদি একটি কার্নেল-মোড ড্রাইভার ক্র্যাশ করে, তবে পুরো উইন্ডোজ ১১/১০ অপারেটিং সিস্টেম ক্র্যাশ করবে।
পড়ুন: What is a Kernel in OS? What are the types of Kernel?
২] উইন্ডোজ ১১/১০-এ ইউজার মোড কিভাবে কাজ করে?
Microsoft বলেছে:
When you start a user-mode application, Windows creates a process for the application. The process provides the application with a private virtual address space and a private handle table. Because an application’s virtual address space is private, one application cannot alter data that belongs to another application. Each application runs in isolation, and if an application crashes, the crash is limited to that one application. Other applications and the operating system are not affected by the crash.
যখন একজন কম্পিউটার ইউজার একটি ইউজার-মোড অ্যাপ্লিকেশন শুরু করে, উইন্ডোজ ১১/১০ OS সেটির জন্য একটি প্রসেস তৈরি করবে। এখন, প্রসেসটি কাজ করবে অ্যাপ্লিকেশনের সাথে একটি প্রাইভেট হ্যান্ডেল টেবিল এবং একটি ভার্চুয়াল অ্যাড্রেস স্পেস প্রদান করতে।
এটি চেক করুন। একটি অ্যাপ্লিকেশন অন্য অ্যাপ্লিকেশনের ডেটা পরিবর্তন করতে পারে না। কারণ একটি অ্যাপ্লিকেশনের ভার্চুয়াল অ্যাড্রেস স্পেস সর্বদা প্রাইভেট এবং পরিবর্তন করা যাবে না। আপনি দেখছেন, এখানে প্রতিটি অ্যাপ্লিকেশন আইসোলেশন-এ চলে, তাই, যদি একটি অ্যাপ ক্র্যাশ করে, তবে শুধু সেটিই প্রভাবিত হবে। অপারেটিং সিস্টেমে চলমান অন্যান্য অ্যাপ্লিকেশনها প্রত্যাশামতো চলতে থাকবে।
৩] উইন্ডোজ ১১/১০-এ কার্নেল এবং ইউজার মোডের পার্থক্য কী?
দুই মোডের মধ্যে সবচেয়ে বড় পার্থক্য, আসলে, হলো প্রিভিলেজের লেভেল যা সেগুলো অফার করে। ইউজার মোডে থাকলে, অ্যাপ্লিকেশনের বেশি প্রিভিলেজ নেই, অর্থাৎ, এটিকে হার্ডওয়োর রিসোর্সে ডায়রেক্ট অ্যাক্সেস নেই।
তবে, কার্নেল মোডে বর্ধিত প্রিভিলেজ থাকে, এবং তাই, একটি সাধারণ ক্র্যাশ পুরো অপারেটিং সিস্টেমকে নিচে আনে, যা ইউজার মোডে সম্ভব নয়।
৪] উইন্ডোজ সিস্টেম রিসোর্সকে ইউজার অ্যাপ্লিকেশন থেকে কিভাবে আলাদা রাখে?
Microsoft উইন্ডোজ অপারেটিং সিস্টেমকে একটি লെയারড মডেল ব্যবহার করে ডিজাইন করেছে যাতে একটি প্রসেসের বর্তমান প্রিভিলেজ লেভেল অ্যাসার্টেন করা যায়। আপনি দেখছেন, আউটার লেয়ারে থাকা অ্যাপ্লিকেশনগুলো সাধারণত কম প্রিভিলেজ পায়, যখন কার্নেল, যা কোরে বসে, অনেক বেশি প্রিভিলেজ পায়।
পড়ুন: What is Windows Kernel Mode Power Manager?
কার্নেল স্পেস এবং ইউজার স্পেসের পার্থক্য কী?
কার্নেল স্পেস হলো রিজার্ভড চলমান একটি প্রিভিলেজড অপারেটিং সিস্টেম কার্নেল প্রসেসের জন্য যার মধ্যে ড্রাইভার রয়েছে। ইউজার স্পেস হলো মেমরি এরিয়া যা প্রোগ্রাম এবং সফ্টওয়্যার চলমানের জন্য রিজার্ভড।
ডিভাইস ড্রাইভার কি কার্নেল মোডে রান করে?
ড্রাইভার সফ্টওয়্যার, তাই হ্যাঁ, ডিভাইস ড্রাইভার কার্নেল মোডে রান করতে পারে। তবে, যেহেতু ডিভাইস ড্রাইভারকে প্রোটেক্টেড ডেটা অ্যাক্সেসের প্রয়োজন নেই, সেগুলো ইউজার মোডে খুব ঠিকমতো রান করতে পারে কার্নেল মোডে পারফর্ম করার খুব কম প্রয়োজন নিয়ে।
পরবর্তীতে পড়ুন: Interactive map of Linux Kernel.
