পর্দার আড়ালে কী চলে? অপারেটিং সিস্টেমের রহস্য উন্মোচন
Published: 2024-03-21 09:27:18

মনে করেন আপনি একটি ব্যস্ততম রেষ্টুরেন্ট এ আছেন। আপনি লক্ষ করলে দেখবেন যে যখনই কেউ রেষ্টুরেন্ট এ প্রবেশ করছে তখনি একটা প্রসেস শুরু হচ্ছে। প্রত্যেকেরই কিছু চাহিদা আছে যেমন কেউ কফির জন্য এসেছে কিংবা কেউ দুপুরের খাবার খেতে। কম্পিউটার এর ক্ষেত্রে এটাকে বলা যায় প্রসেস। 

এখন রেষ্টুরেন্ট এ প্রবেশ করলেই তো আপনার সামনে খাবার হাজির হবে না। waitstaff কে ডাকতে হবে কেননা আপনার কিছু রিকোয়েস্ট আছে যেমন খাবারের মেনুটা আপনার দরকার যাতে করে পছন্দের খাবার টা সিলেক্ট করে আপনি তাকে অর্ডার দিতে পারেন। এখন এই যে রিকোয়েস্ট এর পর আপনাকে একটা মেনু দেওয়া হলো সেখানে তহ হরেক রকমের আইটেম আছে। কম্পিউটার এর ক্ষেত্রে এটাকে বলা যায় সফটওয়্যার প্রোগ্রামস। প্রত্যেকটা খাবারের টেস্ট এক এক রকম অর্থাৎ প্রত্যেকটা কম্পিউটার প্রোগ্রাম এর ফাংশনালিটি এক এক রকম হয়ে থাকে। 

আচ্ছা এবার আসি মূল কথায় কেননা এখানে অপারেটিং সিস্টেম হিসেবে কে কাজ করতেছে সেটা জানা দরকার। এখানে অপারেটিং সিস্টেম হিসেবে কাজ করতেছে Waitstaff। কিভাবে? আসুন তার responsibility গুলো পর্যালোচনা করা যাক।

**Resource Management:**
Restaurant এর টেবিল ম্যানেজ এর কাজ টা কিন্তু Waitstaff নিজেই করে থাকে। অর্থাৎ সে Memory management করে থাকে। যখনি নতুন কোনো customer আসে সে তার জন্য memory allocation করে থাকে new process Start করার জন্য। যখনি কোনো customer তাকে একটা order দেয় তখন সে new request টাকে CPU অর্থাৎ kitchen এ দিয়ে দেয়। তারা এটা ensure করে যে কোন order কখন আসছে এবং কোন টেবিল কিসের জন্য অপেক্ষা করছে যেটাকে কম্পিউটার এর ক্ষেত্রে বলা যায় process scheduling and management।

**Communication:**
এখানে waitstaff, customer(user) এবং kitchen(hardware) এর মধ্যে intermediary হিসেবে কাজ করছে। অর্থাৎ আপনার request গ্রহণ করে খাবার delivery করার কাজটা সে করছে।

**User Interface:**
এখানে খাবারের মেনুটা হচ্ছে User Friendly Interface যেটা কম্পিউটার এর ক্ষেত্রে GUI অর্থাৎ Graphical User Interface এর মত। কেননা এখানে আপনি সহজেই আপনার পছন্দের খাবার অর্থাৎ program select করতে পারছেন। আর আপনাকে এটাও মাথায় রাখা লাগছে না যে behind the scene kitchen এ কিভাবে সেটা তৈরি হবে।

ঠিক যেমন একটি ব্যস্ত রেস্টুরেন্টে waitstaff রা খাবারের অর্ডার গ্রহণ করা, user দের সাথে communicate করা এবং kitchen এ নির্দেশাবলি দেওয়ার মাধ্যমে সবকিছু সাবলীলভাবে চালিয়ে যায়, ঠিক তেমনি একটি অপারেটিং সিস্টেম কম্পিউটারের ভেতরে একটি পরিচালকের মতো কাজ করে এবং নিশ্চিত করে যে সবকিছু দক্ষতার সাথে চলছে।

আচ্ছা এই যে সবকিছু সুন্দর ও সাবলীলভাবে চলছে এসবের Mastermind কে? এখানে Mastermind টা হচ্ছে Head Chef যাকে কম্পিউটার এর তুলনা করলে এর নাম হবে কার্নেল। 

আসুন তার responsibility গুলো পর্যালোচনা করা যাক।
**Manage Resources:**
Head Chef, Order এর প্রয়োজনীয়তা (প্রোগ্রামের প্রয়োজন) অনুসারে রাঁধুনদের (হার্ডওয়্যার সম্পদ) ওভেন এবং রান্নাঘরের সরঞ্জামের মতো সম্পদ বরাদ্দ করে।

**Handle Low-Level Tasks:**
Head Chef গুরুত্বপূর্ণ কিন্তু Low Level কাজ গুলো করে থাকে যেগুলো Regular Chef রা সরাসরি করে থাকে না। উপাদান পরিষ্কার এবং প্রস্তুতকরণ (মেমরি পরিচালনা) বা Regular Chef দের (প্রক্রিয়া নির্ধারণ) নির্দিষ্ট কাজ বরাদ্ধ করে দেওয়ার কথা কল্পনা করতে পারেন। 

**Security:**
Head Chef নিশ্চিত করে যে কেবল অনুমোদিত কর্মীরা (অনুমোদিত প্রোগ্রাম) kitchen resources (হার্ডওয়্যার) অ্যাক্সেস করতে পারে।

এই ছিল Operating System কি আর এর Key Functionalities গুলো। এখন  সবকিছু একনজরে দেখে নেওয়া যাক। 
**Operating System:** An operating system (OS) is essentially a software program that acts as the conductor of an orchestra, managing all the different parts of your computer and providing a platform for you to interact with it. Here's a breakdown of its key role:
**Hardware Management:** Your computer's hardware components like CPU, memory, storage, and peripherals (printers, scanners, etc.) each have their own way of functioning. The OS translates user instructions and software requests into a language the hardware understands, ensuring everything runs smoothly.
**Software Management:** The OS juggles multiple programs running at once, allocating resources (CPU time, memory) efficiently and preventing conflicts. It also loads and executes software programs as instructed by the user.
User Interface: The OS provides a user interface (UI) - the way you interact with your computer. This can be a graphical user interface (GUI) with icons and windows, or a command-line interface (CLI) where you type commands.


**Key Functionalities:**

**Resource Management:**

- CPU allocation (scheduling processes)
- Memory management (allocating and freeing memory for programs)
- Device management (controlling peripherals like printers and scanners)

**Process Management:**

- Launching, suspending, and terminating programs
- Ensuring smooth multitasking

**File Management:**

- Organizing files and folders on storage devices
- Providing access control mechanisms

**Security:**

- Protecting the system from unauthorized access and malicious software

**User Interface:**

- Providing a user-friendly environment for interaction (e.g., command line, graphical interface)

সহজ কথায়, অপারেটিং সিস্টেম ছাড়া আপনার কম্পিউটারটি একটা collection of electronic parts হয়ে থাকত যেখানে electronic parts গুলো একে অপরের সাথে যোগাযোগ করতে বা একসাথে কাজ করতে পারত না। অপারেটিং সিস্টেম এই ফাঁক পূরণ করে Hardware এর  ক্ষমতা কাজে লাগাতে এবং Software গুলো কার্যকরভাবে চালানোর অনুমতি দেয়।