সফটওয়্যার পরিচিতি: অপারেটিং সিস্টেম
অপারেটিং সিস্টেম কী? এর কার্যাবলী, উইন্ডোজ, লিনাক্স, অ্যান্ড্রয়েড, আইওএস এবং ইউজার ইন্টারফেস (GUI, CLI) সম্পর্কে বিস্তারিত জানুন।
সফটওয়্যার পরিচিতি: অপারেটিং সিস্টেম
- সফটওয়্যার পরিচিতি: অপারেটিং সিস্টেম
- পর্দার আড়ালের সেই জাদুকর!
- অপারেটিং সিস্টেম (OS) কী?
- কম্পিউটার সিস্টেমে OS এর অবস্থান
- OS-এর কাজ: প্রসেস ম্যানেজমেন্ট
- OS-এর কাজ: মেমরি ম্যানেজমেন্ট
- OS-এর কাজ: ফাইল এবং ডিভাইস ম্যানেজমেন্ট
- ইউজার ইন্টারফেস: GUI
- ইউজার ইন্টারফেস: CLI
- পার্থক্য: GUI বনাম CLI
- ডেস্কটপ অপারেটিং সিস্টেম
- মোবাইল অপারেটিং সিস্টেম
- সার্ভার অপারেটিং সিস্টেম (Server OS)
- এমবেডেড অপারেটিং সিস্টেম (Embedded OS)
- আধুনিক ইউজার ইন্টারফেস
- সারসংক্ষেপ
সফটওয়্যার পরিচিতি: অপারেটিং সিস্টেম
কম্পিউটার বা স্মার্টফোন চালু করার পর থেকে বন্ধ করা পর্যন্ত আমরা নানা ধরনের কাজ করে থাকি। কখনো আমরা গান শুনি, কখনো ইন্টারনেট ব্রাউজ করি, আবার কখনো মাইক্রোসফট ওয়ার্ডে অ্যাসাইনমেন্ট টাইপ করি। একটি যন্ত্র কীভাবে একসাথে এতগুলো কাজ কোনো কনফিউশন ছাড়াই নিখুঁতভাবে সামলায়, তা কি কখনো ভেবে দেখেছেন? এই জাদুকরী কাজটি যে সফটওয়্যারটি করে থাকে, তার নামই হলো অপারেটিং সিস্টেম (Operating System)।
সহজ কথায়, অপারেটিং সিস্টেম হলো কম্পিউটারের 'ম্যানেজার'। একটি অফিসে যেমন একজন ম্যানেজার সমস্ত কর্মী ও সম্পদের তদারকি করেন, ঠিক তেমনি অপারেটিং সিস্টেম কম্পিউটারের ভেতরের সব যন্ত্রপাতি ও প্রোগ্রামগুলোকে নিয়ন্ত্রণ করে। আমরা যখন কোনো কমান্ড দিই, তখন অপারেটিং সিস্টেম সেটি বুঝে হার্ডওয়্যারকে নির্দেশ দেয়।
জাতীয় বিশ্ববিদ্যালয়ের আইসিটি কোর্সের পরীক্ষায় এই অধ্যায়টি অত্যন্ত গুরুত্বপূর্ণ। এই রিডিং ম্যাটেরিয়ালে আমরা অপারেটিং সিস্টেমের আনুষ্ঠানিক সংজ্ঞা, এর কার্যাবলী, ইন্টারফেসের ধরন এবং বিভিন্ন প্রকারভেদ নিয়ে বিস্তারিত আলোচনা করব। বিশেষ করে GUI ও CLI এর পার্থক্য এবং ওপেন সোর্স বনাম প্রোপ্রাইটারি সফটওয়্যারের মতো বিষয়গুলো এখানে এমনভাবে উপস্থাপন করা হয়েছে, যা সরাসরি পরীক্ষার খাতায় লেখার জন্য অত্যন্ত সহায়ক হবে।
অপারেটিং সিস্টেম (OS) কী এবং সিস্টেম স্ট্যাক
অপারেটিং সিস্টেম মূলত কম্পিউটারের সবচেয়ে গুরুত্বপূর্ণ সফটওয়্যার, যা ছাড়া কম্পিউটার একটি নিষ্প্রাণ যন্ত্র মাত্র। এটি একটি বিশেষ ধরনের সিস্টেম সফটওয়্যার যা কম্পিউটারের হার্ডওয়্যার এবং অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে সেতুবন্ধন হিসেবে কাজ করে। আমরা যখন কোনো অ্যাপ্লিকেশন (যেমন ক্রোম ব্রাউজার বা এমএস ওয়ার্ড) ব্যবহার করি, তখন সেই অ্যাপ্লিকেশনটি সরাসরি হার্ডওয়্যারের সাথে কথা বলতে পারে না। অপারেটিং সিস্টেম তখন মাঝখানে থেকে এই যোগাযোগের কাজটি সম্পন্ন করে।
সংজ্ঞা (Definition): অপারেটিং সিস্টেম (Operating System) হলো এমন একগুচ্ছ সিস্টেম সফটওয়্যার, যা কম্পিউটারের হার্ডওয়্যার ও অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে সেতুবন্ধন তৈরি করে এবং কম্পিউটারের সকল কার্যক্রম ও রিসোর্স (Resource) নিয়ন্ত্রণ ও পরিচালনা করে।
কম্পিউটারের কাজের ধাপ বা স্তরগুলো বোঝার জন্য "সিস্টেম স্ট্যাক" (System Stack) ধারণাটি খুবই কার্যকর। এটি মূলত কম্পিউটারের হার্ডওয়্যার থেকে শুরু করে ব্যবহারকারী পর্যন্ত সফটওয়্যারের বিভিন্ন স্তরকে নির্দেশ করে। একটি স্তরের সাথে অন্য স্তরের সরাসরি যোগাযোগ কীভাবে হয়, তা এই স্ট্যাকের মাধ্যমে খুব সহজে বোঝা যায়।
গুরুত্বপূর্ণ (Important):
সিস্টেম স্ট্যাকের মূল স্তরগুলো হলো:
- ব্যবহারকারী (User): যিনি কম্পিউটার বা ডিভাইস ব্যবহার করেন এবং বিভিন্ন কমান্ড প্রদান করেন। ব্যবহারকারী সরাসরি অ্যাপ্লিকেশন সফটওয়্যারের সাথে কাজ করেন।
- অ্যাপ্লিকেশন সফটওয়্যার (Application Software): ব্যবহারকারীর নির্দিষ্ট কাজের জন্য তৈরি প্রোগ্রাম (যেমন: MS Word, Chrome), যা সরাসরি ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করে।
- অপারেটিং সিস্টেম (OS): এটি মূল নিয়ন্ত্রক সফটওয়্যার, যা অ্যাপ্লিকেশন থেকে কমান্ড গ্রহণ করে এবং তা হার্ডওয়্যারকে বুঝিয়ে দেয়।
- হার্ডওয়্যার (Hardware): কম্পিউটারের ভৌত যন্ত্রাংশ (CPU, RAM, Hard Disk), যা চূড়ান্তভাবে কাজটি সম্পন্ন করে।
ধরা যাক, আপনি এমএস ওয়ার্ডে একটি ডকুমেন্ট টাইপ করে প্রিন্ট কমান্ড দিলেন। আপনি (User) সরাসরি প্রিন্টারকে (Hardware) নির্দেশ দিতে পারেন না। আপনি এমএস ওয়ার্ডকে (Application) নির্দেশ দেন। এমএস ওয়ার্ড সেই নির্দেশ অপারেটিং সিস্টেমের (OS) কাছে পাঠায়। এরপর অপারেটিং সিস্টেম যাচাই করে দেখে প্রিন্টারটি সংযুক্ত আছে কি না এবং সবশেষে সে প্রিন্টারকে কাজটি করার নির্দেশ প্রদান করে।
অপারেটিং সিস্টেমের প্রধান কার্যাবলী
অপারেটিং সিস্টেম কম্পিউটারের ভেতরে একটি ট্রাফিক পুলিশের মতো কাজ করে। কোন কাজ আগে হবে, কোন কাজ পরে হবে এবং কোন কাজের জন্য কতটুকু মেমরি লাগবে—এই সবকিছুই সে অত্যন্ত দক্ষতার সাথে পরিচালনা করে। পরীক্ষায় প্রায়ই অপারেটিং সিস্টেমের কার্যাবলী সম্পর্কে বিস্তারিত জানতে চাওয়া হয়। নিচে এর প্রধান চারটি কাজের বিস্তারিত বর্ণনা দেওয়া হলো।
১. প্রসেস ম্যানেজমেন্ট (Process Management)
আমরা যখন কম্পিউটারে একসাথে একাধিক কাজ করি (যেমন: গান শোনা এবং টাইপ করা), তখন প্রতিটি কাজকে একটি "প্রসেস" বলা হয়। কম্পিউটারের প্রসেসর বা সিপিইউ (CPU) মূলত একবারে একটি কাজই করতে পারে। অপারেটিং সিস্টেম অত্যন্ত দ্রুতগতিতে সিপিইউ-এর সময়কে বিভিন্ন প্রসেসের মধ্যে ভাগ করে দেয়। এই কাজটিকে মাল্টিটাস্কিং (Multitasking) বলা হয়। এর ফলে আমাদের মনে হয় যে কম্পিউটার একসাথে সবগুলো কাজ করছে।
২. মেমরি ম্যানেজমেন্ট (Memory Management)
কম্পিউটারে যেকোনো প্রোগ্রাম চলতে হলে তাকে অবশ্যই প্রধান মেমরি বা র্যামে (RAM) জায়গা করে নিতে হয়। অপারেটিং সিস্টেম ঠিক করে দেয় কোন প্রোগ্রামের জন্য র্যামের কতটুকু জায়গা বরাদ্দ করা হবে। যখন কোনো প্রোগ্রামের কাজ শেষ হয়ে যায়, তখন অপারেটিং সিস্টেম সেখান থেকে মেমরি খালি করে নেয়, যাতে অন্য নতুন প্রোগ্রাম সেখানে জায়গা পেতে পারে। মেমরি ম্যানেজমেন্ট ঠিকমতো না হলে কম্পিউটার হ্যাং বা ধীরগতির হয়ে যায়।
৩. ফাইল ম্যানেজমেন্ট (File Management)
আমরা কম্পিউটারে যেসব ছবি, ভিডিও, অডিও বা ডকুমেন্ট সেভ করে রাখি, সেগুলো হার্ডডিস্কে বা স্টোরেজ ডিভাইসে সংরক্ষিত থাকে। এই ডেটাগুলোকে বিভিন্ন ফোল্ডার ও ড্রাইভে সুশৃঙ্খলভাবে সাজিয়ে রাখার কাজটি অপারেটিং সিস্টেম করে থাকে। ফাইল তৈরি করা, মুছে ফেলা, কপি করা বা এক জায়গা থেকে অন্য জায়গায় সরিয়ে নেওয়ার পুরো প্রক্রিয়াই ফাইল ম্যানেজমেন্টের অন্তর্ভুক্ত। ফাইলগুলোকে নিরাপত্তা প্রদান করাও এর অন্যতম কাজ।
৪. ডিভাইস ম্যানেজমেন্ট (Device Management)
কম্পিউটারের সাথে সংযুক্ত বিভিন্ন যন্ত্রাংশ যেমন—কিবোর্ড, মাউস, প্রিন্টার, স্ক্যানার বা পেনড্রাইভকে নিয়ন্ত্রণ করার কাজটি অপারেটিং সিস্টেম করে। প্রতিটি ডিভাইসের নিজস্ব কিছু নিয়ম থাকে, যা অপারেটিং সিস্টেমকে বুঝিয়ে দেওয়ার জন্য এক ধরনের ছোট প্রোগ্রামের প্রয়োজন হয়, যাকে ডিভাইস ড্রাইভার বলা হয়।
সংজ্ঞা (Definition): ডিভাইস ড্রাইভার (Device Driver) হলো এক ধরণের বিশেষ সফটওয়্যার যা অপারেটিং সিস্টেমকে কোনো নির্দিষ্ট হার্ডওয়্যার (যেমন- প্রিন্টার বা স্ক্যানার) এর সাথে যোগাযোগ করতে এবং সেটিকে নিয়ন্ত্রণ করতে সাহায্য করে। এটি মূলত হার্ডওয়্যার এবং ওএস এর মাঝখানে অনুবাদক (Translator) হিসেবে কাজ করে।
পরীক্ষার টিপস (Exam Tip): পরীক্ষায় "অপারেটিং সিস্টেমের কাজ বর্ণনা করো" প্রশ্নটি এলে এই চারটি পয়েন্ট (প্রসেস, মেমরি, ফাইল ও ডিভাইস ম্যানেজমেন্ট) নীল কালির কলম দিয়ে স্পষ্ট করে লিখবে। প্রতিটি পয়েন্টের নিচে ৩-৪ লাইনে ব্যাখ্যা দেবে এবং মাল্টিটাস্কিং বা ডিভাইস ড্রাইভারের মতো কি-ওয়ার্ডগুলো আন্ডারলাইন করে দেবে। এতে খুব সহজে পূর্ণ নম্বর পাওয়া সম্ভব।
ইউজার ইন্টারফেস: GUI বনাম CLI
আমরা কম্পিউটারের সাথে কীভাবে যোগাযোগ করব বা তাকে কীভাবে নির্দেশ দেব, সেই মাধ্যমটিকেই ইউজার ইন্টারফেস (User Interface) বলা হয়। মূলত অপারেটিং সিস্টেম ব্যবহারকারীদের জন্য এই ইন্টারফেস তৈরি করে দেয়। ইউজার ইন্টারফেস প্রধানত দুই ধরনের হয়ে থাকে: গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) এবং কমান্ড লাইন ইন্টারফেস (CLI)।
গ্রাফিক্যাল ইউজার ইন্টারফেস বা GUI (Graphical User Interface) হলো আধুনিক অপারেটিং সিস্টেমের সবচেয়ে জনপ্রিয় রূপ। এখানে বিভিন্ন ছবি, আইকন, বাটন এবং মেনু ব্যবহার করে কম্পিউটারকে নির্দেশ দেওয়া হয়। এটি ব্যবহার করা অত্যন্ত সহজ, কারণ এখানে কোনো কোড বা কমান্ড মুখস্থ রাখতে হয় না। শুধুমাত্র মাউসের সাহায্যে ক্লিক করেই সব কাজ করা যায়। উইন্ডোজ (Windows) বা ম্যাক (macOS) হলো GUI-এর চমৎকার উদাহরণ।
GUI-এর মূল ধারণাটিকে সংক্ষেপে WIMP (Window, Icon, Menu, Pointer) বলা হয়। অর্থাৎ এখানে স্ক্রিনে উইন্ডো থাকে, ক্লিক করার জন্য আইকন থাকে, অপশন বেছে নেওয়ার জন্য মেনু থাকে এবং নির্দেশ করার জন্য একটি মাউস পয়েন্টার থাকে।
অন্যদিকে, কমান্ড লাইন ইন্টারফেস বা CLI (Command Line Interface) হলো পুরনো এবং টেক্সট-ভিত্তিক পদ্ধতি। এখানে কোনো ছবি বা মাউসের ব্যবহার নেই। কাজ করার জন্য ব্যবহারকারীকে কীবোর্ড দিয়ে নির্দিষ্ট কমান্ড বা কোড লিখে এন্টার চাপতে হয়। এটি ব্যবহার করা সাধারণ মানুষের জন্য বেশ কঠিন, কারণ সব কমান্ড মুখস্থ রাখতে হয়। তবে প্রফেশনাল প্রোগ্রামার বা নেটওয়ার্ক ইঞ্জিনিয়াররা দ্রুত এবং জটিল কাজ করার জন্য লিনাক্স (Linux) টার্মিনাল বা এমএস-ডস (MS-DOS) এর মতো CLI ব্যবহার করেন।
গুরুত্বপূর্ণ (Important):
GUI এবং CLI এর তুলনামূলক পার্থক্য:
| বৈশিষ্ট | গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) | কমান্ড লাইন ইন্টারফেস (CLI) |
|---|---|---|
| ব্যবহার | সাধারণ ব্যবহারকারীদের জন্য অত্যন্ত সহজবোধ্য এবং আকর্ষণীয়। | প্রফেশনালদের জন্য উপযুক্ত এবং সাধারণ ব্যবহারকারীদের জন্য বেশ কঠিন। |
| ইনপুট পদ্ধতি | মাউস এবং কীবোর্ড উভয়ই ব্যাপকভাবে ব্যবহৃত হয়। | শুধুমাত্র কীবোর্ড দিয়ে কমান্ড লিখতে হয় (মাউসের ব্যবহার নেই)। |
| গতি ও মেমরি | গ্রাফিক্স থাকায় মেমরি বেশি লাগে এবং কাজ কিছুটা ধীরগতির হতে পারে। | শুধু টেক্সট হওয়ায় মেমরি খুব কম লাগে এবং কাজ অত্যন্ত দ্রুত হয়। |
| উদাহরণ | Microsoft Windows, macOS, Android | MS-DOS, Linux Terminal, Command Prompt |
পরীক্ষার টিপস (Exam Tip): GUI এবং CLI এর পার্থক্য পরীক্ষায় আসার সম্ভাবনা অনেক বেশি। পার্থক্য লেখার সময় অবশ্যই ছক (Table) ব্যবহার করবে। অন্তত ৪টি পয়েন্ট সুন্দর করে উপস্থাপন করবে। এছাড়া WIMP (Window, Icon, Menu, Pointer) এর পূর্ণরূপটি এমসিকিউ বা অতি সংক্ষিপ্ত প্রশ্নের জন্য ভালোভাবে মুখস্থ রাখবে।
অপারেটিং সিস্টেমের প্রকারভেদ (কাজের ধরন অনুযায়ী)
কম্পিউটার বা ডিভাইসের ধরন এবং ব্যবহারের উদ্দেশ্য অনুযায়ী অপারেটিং সিস্টেমকে বিভিন্ন ভাগে ভাগ করা যায়। একটি সাধারণ ল্যাপটপ এবং একটি বিশাল ব্যাংকের সার্ভার কখনোই একই অপারেটিং সিস্টেমে চলতে পারে না। এদের কাজের ধরন অনুযায়ী অপারেটিং সিস্টেমগুলো ভিন্ন ভিন্ন হয়ে থাকে।
১. ডেস্কটপ অপারেটিং সিস্টেম
আমরা দৈনন্দিন কাজে ল্যাপটপ বা ডেস্কটপ কম্পিউটারে যে অপারেটিং সিস্টেম ব্যবহার করি, তাকে ডেস্কটপ ওএস বলা হয়। এটি মূলত ব্যক্তিগত বা অফিসের সাধারণ কাজের জন্য তৈরি করা হয়। এখানে সাধারণ ইউজার ইন্টারফেস থাকে যেন সবাই সহজে ব্যবহার করতে পারে। মাইক্রোসফট উইন্ডোজ (Windows), অ্যাপলের ম্যাক ওএস (macOS) এবং উবুন্টু লিনাক্স (Ubuntu Linux) হলো এর উল্লেখযোগ্য উদাহরণ।
২. মোবাইল অপারেটিং সিস্টেম
স্মার্টফোন এবং ট্যাবলেটের জন্য বিশেষায়িত অপারেটিং সিস্টেমকে মোবাইল ওএস বলা হয়। এগুলোর প্রধান বৈশিষ্ট্য হলো এরা টাচস্ক্রিন ইন্টারফেস সাপোর্ট করে এবং তুলনামূলক কম মেমরি ও ব্যাটারিতে চলতে পারে। গুগলের অ্যান্ড্রয়েড (Android) এবং অ্যাপলের আইওএস (iOS) হলো বর্তমান বিশ্বের সবচেয়ে জনপ্রিয় মোবাইল অপারেটিং সিস্টেম।
৩. সার্ভার অপারেটিং সিস্টেম
বড় বড় নেটওয়ার্ক, ডেটাবেস এবং ওয়েবসাইট পরিচালনা করার জন্য শক্তিশালী কম্পিউটারের প্রয়োজন হয়, যাকে সার্ভার বলে। এই সার্ভারগুলোকে নিরবচ্ছিন্নভাবে এবং অত্যন্ত নিরাপদে পরিচালনা করার জন্য তৈরি ওএস-কে সার্ভার ওএস বলা হয়। এগুলো এমনভাবে ডিজাইন করা হয় যেন হাজার হাজার মানুষ একসাথে ডেটা আদান-প্রদান করলেও সিস্টেম ক্র্যাশ না করে। উইন্ডোজ সার্ভার (Windows Server) এবং লিনাক্স (Red Hat Linux) সার্ভারের জন্য সবচেয়ে বেশি ব্যবহৃত হয়।
৪. এমবেডেড অপারেটিং সিস্টেম
আমাদের চারপাশে এমন অনেক যন্ত্র আছে যেগুলোর ভেতরে ছোট ছোট কম্পিউটার চিপ বা মাইক্রোপ্রসেসর লাগানো থাকে। এই যন্ত্রগুলোকে নির্দিষ্ট কাজ করার জন্য যে অপারেটিং সিস্টেম দেওয়া হয়, তাকে এমবেডেড অপারেটিং সিস্টেম বলে।
সংজ্ঞা (Definition): এমবেডেড অপারেটিং সিস্টেম (Embedded OS) হলো এমন এক ধরনের বিশেষায়িত অপারেটিং সিস্টেম, যা কোনো নির্দিষ্ট যন্ত্র বা মেশিনের ভেতরে স্থায়ীভাবে যুক্ত থাকে এবং কেবল ওই যন্ত্রটির নির্দিষ্ট কিছু কাজই নিয়ন্ত্রণ করে।
উদাহরণ (Example):
- ডেস্কটপ ও সার্ভার: বাংলাদেশে কলেজ বা ভার্সিটির ল্যাব এবং বাসা-বাড়িতে মাইক্রোসফট উইন্ডোজ (Windows) সবচেয়ে জনপ্রিয়। অন্যদিকে, ন্যাশনাল ইউনিভার্সিটির ওয়েবসাইট বা ব্যাংকের ডেটাবেস দিন-রাত ২৪ ঘণ্টা চালু রাখার জন্য শক্তিশালী সার্ভার হিসেবে লিনাক্স (Linux) ব্যবহৃত হয়, কারণ এটি সহজে ভাইরাসে আক্রান্ত হয় না এবং হ্যাং করে না।
- এমবেডেড সিস্টেম: আধুনিক স্মার্ট টিভি, অটোমেটিক ওয়াশিং মেশিন বা মাইক্রোওয়েভ ওভেন যে নির্দিষ্ট নিয়মে ও সময়ে কাজ করে, তার পেছনে থাকা ছোট সফটওয়্যারটিই হলো এমবেডেড অপারেটিং সিস্টেমের উদাহরণ।
ওপেন সোর্স বনাম প্রোপ্রাইটারি অপারেটিং সিস্টেম
অপারেটিং সিস্টেম কে তৈরি করেছে এবং এটি ব্যবহারকারীদের জন্য কতটা উন্মুক্ত, তার ওপর ভিত্তি করে সফটওয়্যারকে সাধারণত ওপেন সোর্স এবং প্রোপ্রাইটারি—এই দুটি ভাগে ভাগ করা যায়। এই ধারণাটি আধুনিক প্রযুক্তির জগতে অত্যন্ত গুরুত্বপূর্ণ এবং পরীক্ষাতেও এর পার্থক্য প্রায়ই লিখতে বলা হয়।
ওপেন সোর্স (Open Source) সফটওয়্যার হলো এমন ধরনের সফটওয়্যার যার মূল প্রোগ্রামিং কোড বা সোর্স কোড সবার জন্য সম্পূর্ণ উন্মুক্ত থাকে। যে কেউ ইন্টারনেট থেকে বিনামূল্যে এটি ডাউনলোড করতে পারে এবং চাইলে এর কোডে পরিবর্তন এনে নিজের মতো নতুন ফিচার যুক্ত করতে পারে। যেহেতু সারা বিশ্বের হাজার হাজার প্রোগ্রামার মিলে ওপেন সোর্স সফটওয়্যার তৈরি ও আপডেট করে, তাই এর নিরাপত্তা ব্যবস্থা খুব শক্তিশালী হয়। লিনাক্স (Linux) এবং অ্যান্ড্রয়েড (Android) হলো ওপেন সোর্স অপারেটিং সিস্টেমের সেরা উদাহরণ।
অন্যদিকে, প্রোপ্রাইটারি (Proprietary) বা ক্লোজড সোর্স সফটওয়্যার হলো কোনো নির্দিষ্ট ব্যক্তি বা কোম্পানির ব্যক্তিগত সম্পত্তির মতো। এর সোর্স কোড অত্যন্ত গোপনীয় রাখা হয় এবং সাধারণ ব্যবহারকারীরা এতে কোনো পরিবর্তন করতে পারে না। এগুলো ব্যবহার করার জন্য সাধারণত টাকা দিয়ে লাইসেন্স কিনতে হয়। মাইক্রোসফট উইন্ডোজ (Windows) এবং অ্যাপলের ম্যাক ওএস (macOS) বা আইওএস (iOS) হলো প্রোপ্রাইটারি সফটওয়্যার। এর নিরাপত্তার পুরো দায়িত্ব ওই নির্দিষ্ট কোম্পানির (যেমন মাইক্রোসফট বা অ্যাপল) উপর নির্ভর করে।
গুরুত্বপূর্ণ (Important):
ওপেন সোর্স বনাম প্রোপ্রাইটারি অপারেটিং সিস্টেম:
- সোর্স কোড: ওপেন সোর্সের কোড উন্মুক্ত (যে কেউ দেখতে ও কাস্টমাইজ করতে পারে)। অন্যদিকে, প্রোপ্রাইটারির কোড সম্পূর্ণ গোপনীয় এবং অপরিবর্তনযোগ্য।
- ব্যবহারের খরচ: ওপেন সোর্স সফটওয়্যার সাধারণত বিনামূল্যে (Free) পাওয়া যায়। কিন্তু প্রোপ্রাইটারি ওএস কিনে ব্যবহার করতে হয় এবং এর লাইসেন্স ফি থাকে।
- মালিকানা ও নিয়ন্ত্রণ: ওপেন সোর্স কোনো নির্দিষ্ট কোম্পানির মালিকানায় থাকে না, এটি কমিউনিটি দ্বারা পরিচালিত। প্রোপ্রাইটারি ওএস নির্দিষ্ট কোম্পানির (যেমন- Microsoft, Apple) একচ্ছত্র নিয়ন্ত্রণে থাকে।
- উদাহরণ: ওপেন সোর্স ওএস হলো Linux (Ubuntu, Mint) এবং Android। প্রোপ্রাইটারি ওএস হলো Windows, macOS, এবং iOS।
সংক্ষিপ্ত সারাংশ (Quick Revision):
- অপারেটিং সিস্টেম (OS): এটি হলো ব্যবহারকারী ও হার্ডওয়্যারের মধ্যবর্তী সেতুবন্ধন এবং পুরো সিস্টেমের প্রধান ম্যানেজার।
- প্রধান কার্যাবলী: এটি প্রসেস ম্যানেজমেন্ট (মাল্টিটাস্কিং), মেমরি ম্যানেজমেন্ট, ফাইল ম্যানেজমেন্ট এবং ডিভাইস ম্যানেজমেন্টের কাজগুলো দক্ষতার সাথে সম্পন্ন করে।
- ইউজার ইন্টারফেস: মূলত দু’ধরনের ইন্টারফেস থাকে—GUI (মাউস ও গ্রাফিক্স নির্ভর) এবং CLI (কীবোর্ড ও কমান্ড নির্ভর)।
- প্রকারভেদ: কাজের ধরন ও ডিভাইস অনুযায়ী OS কে ডেস্কটপ (উইন্ডোজ), মোবাইল (অ্যান্ড্রয়েড), সার্ভার (লিনাক্স) এবং এমবেডেড (স্মার্ট টিভি) ভাগে ভাগ করা যায়।
- লাইসেন্সিং: লিনাক্স এবং অ্যান্ড্রয়েড হলো ওপেন সোর্স (উন্মুক্ত ও ফ্রি), অন্যদিকে উইন্ডোজ এবং আইওএস হলো প্রোপ্রাইটারি বা ক্লোজড সোর্স (লাইসেন্সযুক্ত)।
পরিভাষা (Glossary)
| পরিভাষা (Term) | সংজ্ঞা / অর্থ (Definition) |
|---|---|
| Operating System (OS) | সিস্টেম সফটওয়্যার যা হার্ডওয়্যার নিয়ন্ত্রণ করে এবং ইউজারকে কাজ করার উপযুক্ত পরিবেশ দেয়। |
| System Stack | কম্পিউটারের হার্ডওয়্যার থেকে ইউজার পর্যন্ত সফটওয়্যার ও কাজের বিভিন্ন স্তর (Hardware > OS > App > User)। |
| GUI (Graphical User Interface) | ছবি, আইকন, মেনু ও মাউস নির্ভর সহজ ইউজার ইন্টারফেস। |
| CLI (Command Line Interface) | কীবোর্ড থেকে টেক্সট বা কমান্ড লিখে নির্দেশ দেওয়ার কঠিন কিন্তু দ্রুতগতির ইন্টারফেস। |
| WIMP | Window, Icon, Menu, এবং Pointer-এর সংক্ষিপ্ত রূপ, যা GUI-এর মূল উপাদান। |
| Device Driver | ছোট প্রোগ্রাম বা সফটওয়্যার যা ওএস-কে নির্দিষ্ট হার্ডওয়্যারের (যেমন প্রিন্টার) সাথে যোগাযোগ করতে সাহায্য করে। |
| Multitasking | কম্পিউটারে একই সময়ে একাধিক কাজ বা প্রোগ্রাম (যেমন গান শোনা ও টাইপ করা) একসাথে চালানোর সক্ষমতা। |
| Open Source | যে সফটওয়্যারের সোর্স কোড উন্মুক্ত এবং বিনামূল্যে কাস্টমাইজ করা যায় (যেমন- লিনাক্স, অ্যান্ড্রয়েড)। |
| Proprietary Software | ব্যক্তি বা প্রতিষ্ঠানের মালিকানাধীন সফটওয়্যার, যা ব্যবহারের জন্য সাধারণত লাইসেন্স কিনতে হয় (যেমন- উইন্ডোজ)। |