অপারেটিং সিস্টেম

অপারেটিং সিস্টেম (ইংরেজি: Operating System, সংক্ষেপে OS) হলো একটি সিস্টেম সফটওয়্যার যা কম্পিউটার ও সফটওয়্যার এবং কম্পিউটার প্রোগ্রামের জন্যে সাধারণ সেবা সরবরাহ করে।
অপারেটিং সিস্টেম কম্পিউটার ও ব্যবহারকারীদের ইনপুট নেয় এবং বিভিন্ন টাস্ক ও কম্পিউটারের অভ্যন্তরীণ সিস্টেম সম্পদগুলি বণ্টন ও ব্যবস্থাপনা করে ব্যবহারকারী ও অন্যান্য প্রোগ্রামকে সেবা প্রদান করে। মেমরি বণ্টন ও নিয়ন্ত্রণ, সিস্টেম অণুরোধগুলির অগ্রাধিকার নির্ণয়, ইনপুট ও আউটপুট ডিভাইস নিয়ন্ত্রণ, কম্পিউটার নেটওয়ার্কিং ও ফাইল সিস্টেম ব্যবস্থাপনা ইত্যাদি অপারেটিং সিস্টেমের কাজ। উইন্ডোজ, উবুন্টু, আইওএস, ক্রোম ওএস, ম্যাক ওএস ও অ্যান্ড্রয়েড প্রচলিত কয়েকটি অপারেটিং সিস্টেম। অপারেটিং সিস্টেম অ্যাপ্লিকেশন প্রোগ্রামগুলি চালাবার জন্য পরিবেশ তৈরি করে। ব্যবহারকারীর কাছে অপারেটিং সিস্টেমের সবচেয়ে দৃশ্যমান রূপ হল কম্পিউটারের ব্যবহারকারী ইন্টারফেস।
সাধারণ উদ্দেশ্যের জন্য নির্মিত ডেস্কটপ অপারেটিং সিস্টেমগুলির মধ্যে আধিপত্য বিস্তারকারীটির নাম হল মাইক্রোসফট উইন্ডোজ, যা বিশ্ব বাজারের প্রায় তিন-চতুর্থাংশ দখল করে আছে। অ্যাপল কোম্পানির ম্যাকওএস প্রায় ১৮% এবং লিনাক্স অপারেটিং সিস্টেমের বিভিন্ন প্রকার প্রায় ২% ডেস্কটপ কম্পিউটারে ব্যবহৃত হয়। মোবাইল অপারেটিং সিস্টেমগুলির মধ্যে (যার মধ্যে বুদ্ধিমান মুঠোফোন বা স্মার্টফোন ও ট্যাবলেট কম্পিউটার অন্তর্ভুক্ত) গুগল কোম্পানির অ্যান্ড্রয়েড অপারেটিং সিস্টেমের বাজারাংশ ২০২০ সালের জুলাই মাসের সর্বশেষ তথ্যানুযায়ী ৮৭% ছিল। এর বিপরীতে অ্যাপল কোম্পানির আইওএস অপারেটিং সিস্টেমটির বাজারাংশ ছিল ১৩%। লিনাক্স অপারেটিং সিস্টেমের বিভিন্ন বিতরণগুলি সার্ভার ও সুপারকম্পিউটার খাতে আধিপত্য বিস্তার করেছে। এছাড়া বিশেষায়িত শ্রেণীর তথা বিশেষ উদ্দেশ্যের অপারেটিং সিস্টেমেরও (যেমন গ্রথিত ও বাস্তব-সময় ব্যবস্থাসমূহ) অনেক প্রয়োগ আছে।
কিছু অপারেটিং সিস্টেম কম্পিউটারে সংস্থাপন বা ইনস্টল করতে হয়। আবার কিছু কিছু অপারেটিং সিস্টেম ক্রয়কৃত কম্পিউটারে পূর্ব-সংস্থাপিত হয়ে থাকতে পারে। আবার কিছু কিছু অপারেটিং সিস্টেম অন্যান্য তথ্য সংরক্ষণ মাধ্যম যেমন লাইভ সিডি বা ফ্ল্যাশ মেমরি থেকে সরাসরি চালানো সম্ভব।
সিপিইউ সর্বাধিক দক্ষভাবে ব্যবহার করার জন্য আধুনিক অপারেটিং সিস্টেমগুলোতে বহুপ্রোগ্রামিং পদ্ধতি ব্যবহার করা হয়। এতে মেমরিতে একসাথে একাধিক জব থাকতে পারে, ফলে সবসময়ই কোন না কোন জব প্রস্তুত থাকে যা সিপিইউ-কে দিয়ে করিয়ে নেয়া যায়। বহুপ্রোগ্রামিং ব্যবস্থার একটি সম্প্রসারিত রূপ হল সময়-শেয়ারকারী ব্যবস্থা। এই ব্যবস্থায় সিপিইউ-এর শিডিউলিং অ্যালগোরিদমগুলি খুব দ্রুত এক জব থেকে আরেক জবে সুইচ করে, ফলে মনে হয় সবগুলো জব একসাথে চলছে।
ব্যবহারকারীর প্রোগ্রামগুলো যাতে কম্পিউটারের কাজে ব্যাঘাত করতে না পারে, সেজন্য হার্ডওয়্যার দুই মোডে চলে: কার্নেল মোড ও ব্যবহারকারী মোড। I/O নির্দেশ ও হল্টিং নির্দেশগুলোসহ অন্যান্য প্রিভিলেজপ্রাপ্ত নির্দেশগুলো শুধু কার্নেল মোডে চলতে পারে। মেমরির যেখানে অপারেটিং সিস্টেম রাখা থাকে, সে এলাকাটাকেও ব্যবহারকারীর হাত থেকে সুরক্ষিত রাখতে হয়, যাতে ব্যবহারকারী এর কোন পরিবর্তন করতে না পারেন। অসীমসংখ্যক লুপ যাতে সৃষ্টি না হয়, সেজন্য টাইমার ব্যবহার করা হয়। এই ব্যবস্থাগুলিই (দ্বৈত মোড, প্রিভিলেজপ্রাপ্ত নির্দেশ, মেমরি সুরক্ষা, টাইমার দিয়ে ইন্টেরাপ্ট) অপারেটিং সিস্টেমের সঠিকভাবে চলার ভিত্তি হিসেবে কাজ করে।
প্রসেস বা জব হল অপারেটিং সিস্টেমের কাজের মৌলিক একক। প্রসেস ব্যবস্থাপনা বলতে প্রসেস সৃষ্টি করা, প্রসেস মুছে দেয়া, প্রসেসগুলো কীভাবে একে অপরের সাথে যোগাযোগ করতে পারে ও সময় মিলিয়ে চলতে পারে, তার মেকানিজমগুলো প্রদান করা, ইত্যাদিকে বোঝায়। মেমরি ব্যবস্থাপনার অংশ হিসেবে অপারেটিং সিস্টেম মেমরির কোন অংশ কে ব্যবহার করছে, তার হিসাব রাখে। অপারেটিং সিস্টেম ডাইনামিকভাবে মেমরি এলাকা খালি করতে পারে ও বণ্টন করতে পারে। অপারেটিং সিস্টেম স্টোরেজ ব্যবস্থাগুলোরও দেখাশোনা করে। এ-সংক্রান্ত কাজের মধ্যে আছে ফাইল ও ডিরেক্টরি উপস্থাপনের জন্য ফাইল সিস্টেম প্রদান করা, গণ-স্টোরেজ ব্যবস্থাগুলোর জায়গা ব্যবস্থাপনা করা।
অপারেটিং সিস্টেম ব্যবহারকারী ও নিজেকে রক্ষার জন্যও কাজ করে। দুইটি ধারণা এক্ষেত্রে উল্লেখ্য: সুরক্ষা/প্রোটেকশন ও নিরাপত্তা/সিকিউরিটি। কম্পিউটারের সম্পদ কীভাবে বিভিন্ন প্রসেস বা ব্যবহারকারী অ্যাক্সেস করবেন, অপারেটিং সিস্টেমের প্রোটেকশন মেকানিজমগুলো তা নিয়ন্ত্রণ করে। আর সিকিউরিটি পদক্ষেপগুলো কম্পিউটারকে বাইরের বা ভেতরের আক্রমণ থেকে রক্ষা করে।
বিতরণকৃত ব্যবস্থাগুলিতে ব্যবহারকারীরা ভৌগলিকভাবে ছড়ানো কিন্তু কম্পিউটার নেটওয়ার্কের মাধ্যমে যুক্ত একাধিক হোস্টের সম্পদ শেয়ার করতে পারেন। এই সেবা ক্লায়েন্ট-সার্ভার কিংবা পিয়ার-টু-পিয়ার যেকোনভাবে দেয়া যেতে পারে। গুচ্ছ বা ক্লাস্টার ব্যবস্থায় একাধিক যন্ত্র শেয়ারকৃত স্টোরেজে রাখা উপাত্তের উপর গণনামূলক কাজ চালাতে পারে। এবং ক্লাস্টারের এক বা একাধিক যন্ত্র ফেল করলেও গণনা অব্যাহত থাকতে পারে।
এছাড়াও আরও কয়েক ধরনের কম্পিউটার ব্যবস্থা আছে যেগুলো বিশেষ ধরনের কাজের জন্য ব্যবহার করা হয়। এমবেডেড পরিবেশ, যেমন ক্রেতাদের ব্যবহৃত যন্ত্রসমূহ, যানবাহন, রোবট, ইত্যাদিতে রিয়েল-টাইম অপারেটিং সিস্টেম ব্যবহার করা হয়। রিয়েল-টাইম অপারেটিং সিস্টেমে সুসংজ্ঞায়িত ও নির্দিষ্ট সময়সীমা থাকে। ঐ সময়সীমার ভেতরে প্রসেসিং সমাপ্ত করতেই হয়, নয়তো সিস্টেম অকার্যকর গণ্য করা হয়। মাল্টিমিডিয়া ব্যবস্থায় মাল্টিমিডিয়া উপাত্ত সরবরাহ-সংক্রান্ত কাজের পরিমাণ বেশি। কীভাবে অডিও, ভিডিও ও সিংক্রোনাইজড অডিও-ভিডিও ধারা দেখানো ও চালানো হবে, তার জন্য এতে ব্যবহৃত অপারেটিং সিস্টেমে কিছু বিশেষ চাহিদা পূর্ণ করা হয়। ইদানীং ইন্টারনেট ও ওয়ার্ল্ড ওয়াইড ওয়েবের প্রভাবে আধুনিক অপারেটিং সিস্টেমগুলোতে ওয়েব ব্রাউজার, নেটওয়ার্কিং ও যোগাযোগ সফটওয়্যার অপরিহার্য ফিচার হিসেবে অন্তর্ভুক্ত করা হয়।