অপারেটিং সিস্টেম | শিক্ষক নিবন্ধন লিখিত (ICT) পর্ব ৬

By | March 5, 2020

অপারেটিং সিস্টেম এর আজকের পর্বে আপনাদের স্বাগতম। বেসরকারি শিক্ষক নিবন্ধন লিখিত পরীক্ষার প্রস্তুতির আজকের পর্বে  আমরা নিম্নোক্ত বিষয়গুলো দেখবো:

  • অপারেটিং সিস্টেম ও এর প্রকারভেদ
  • স্ট্রাকচার
  • প্রসেস
  • সিপিইউ সিডিউলিং
  • ডেডলক
  • মেমরি ম্যানেজমেন্ট
  • ফাইল সিস্টেম
অপারেটিং সিস্টেম

শুরুতেই আজকের সিলেবাসটা দেখে নিই

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

শিক্ষক নিবন্ধনের সকল পোস্ট পেতে এখানে ক্লিক করুন।

অপারেটিং সিস্টেম কী? এর কার্যাবলীসমূহ কী কী?

Operating System হলো এমন কতগুলো প্রোগ্রামের সমষ্টি যেগুলো কম্পিউটারের সকল হার্ডওয়্যার ও সফটওয়্যারকে নিয়ন্ত্রণ, তত্ত্বাবধান এবং কম্পিউটার সিস্টেমের সকল কার্যক্রম সক্রিয় ও সম্পন্ন হতে সাহায্য করে। মূল কথা, Operating System একটি কম্পিউটারের সকল রিসোর্সসমূহকে নিয়ন্ত্রণ ও পরিচালনা করে।

অপারেটিং সিস্টেম এর কার্যবলীসমূহ:

  • প্রসেস ম্যানেজমেন্ট
  • মেমরি ম্যানেজমেন্ট
  • ফাইল ম্যানেজমেন্ট
  • ডিভাইস ম্যানেজমেন্ট
  • সিকিউরিটি ম্যানেজমেন্ট

অপারেটিং সিস্টেম এর শ্রেণিভেদ

গঠনপ্রণালী ও কার্যাবলীর উপর ভিত্তি করে অপারেটিং সিস্টেমকে বিভিন্ন ভাগে ভাগ করা যায়:

  • ব্যাচ প্রসেসিং
  • মাল্টি প্রোগ্রামিং
  • মাল্টি প্রোসেসিং
  • রিয়েল টাইম
  • টাইম শেয়ারিং
  • ভার্চুয়াল স্টোরেজ
  • ডিস্ট্রিবিউটেড

i) ব্যাচ প্রসেসিং অপারেটিং সিস্টেম: যে পদ্ধতিতে একটি নির্দিষ্ট সময়ে একটিমাত্র প্রোগ্রাম প্রসেস করা হয় এবং প্রসেস করার পর অন্য কোন নতুন প্রোগ্রাম প্রোসেস করা হয় তাকে ব্যাচ প্রসেসিং অপারেটিং সিস্টেম বলে। এক্ষেত্রে একাধিক প্রোগ্রাম একত্রে execute করা যায় না। প্রোগ্রাম নির্বাহের সময় কম্পিউটারের যাবতীয় ক্ষমতা ও সুযোগ শুধুমাত্র চলমান প্রোগ্রামের জন্য নিয়োজিত থাকে। এ পদ্ধতিতে পরিচালনায় অনেক সময় লেগে যায়। এই পদ্ধতিতে সিরিয়াল, সিকুয়েন্সিয়াল অথবা অফলাইন মোড বলা হয়। উদাহরণ: CP/M, MS DOS ইত্যাদি।

ii) মাল্টিপ্রোগ্রামিং অপারেটিং সিস্টেম: যে অপারেটিং সিস্টেম দ্বারা একসাথে অনেকগুলো প্রোগ্রাম (মাল্টিপ্রোগ্রাম) পরিচালনার কাজ করা যায় তাকে মাল্টিপ্রোগ্রামিং অপারেটিং সিস্টেম বলা হয়। সাধারণত, কম্পিউটারের i/o অপারেশনের সময় CPU কর্মহীন সময় কাটায়। মাল্টিপ্রোগ্রামিং অপারেটিং সিস্টেম এই সময়কে কাজে লাগিয়ে একসাথে একাধিক প্রোগ্রাম পরিচালনা করে। উদাহরণ: IBM, UNIX ইত্যাদি।

iii) মাল্টিপ্রোসেসিং অপারেটিং সিস্টেম: যে পদ্ধতিতে একাধিক CPU ও প্রোসেসর ব্যবহার করে প্রোগ্রাম প্রসেস করা হয় তাকে মাল্টিপ্রোসেসিং অপারেটিং সিস্টেম বলা হয়। এই পদ্ধতিতে বিভিন্ন প্রোগ্রাম একাধিক প্রোসেসরে কার্যকর হতে পারে। আবার বিভিন্ন প্রোসেসর একই প্রোগ্রামের বিভিন্ন অংশ পরিচালনা করতে পারে। এক্ষেত্রে কোন প্রোসেসর অলস সময় কাটায় না এবং একটি প্রোসেসর নষ্ট হয়ে গেলেও সিস্টেমের কার্যক্রম বন্ধ হয় না। জটিল প্রোসেসিং এর ক্ষেত্রে এই পদ্ধতিতে ভালো আউটপুট পাওয়া যায়।

iv) রিয়েল টাইম Operating System: যে পদ্ধতিতে বিভিন্ন স্থান থেকে প্রাপ্ত ডেটার মধ্যে গুরুত্বের ভিত্তিতে প্রোগ্রাম execute করা হয় তাকে রিয়েল টাইম অপারেটিং সিস্টেম বলে। এই পদ্ধতিতে অনলাইন টার্মিনাল হতে সরাসরি কম্পিউটারে ডেটা পাঠানো যায়। দূরবর্তী বিভিন্ন স্থানে স্থাপিত টার্মিনাল বা কম্পিউটারগুলো উচ্চ গতিসম্পন্ন টেলিফোন লাইনের মাধ্যমে কেন্দ্রিয় প্রোসেসরের সাথে সংযুক্ত থাকে। এজন্য একে অনলাইন রিয়েল টাইম অপারেটিং সিস্টেমও বলা হয়ে থাকে। উদাহরণ: অনলাইন টিকেটিং সিস্টেম।

v) টাইম শেয়ারিং Operating System: যে পদ্ধতিতে কেন্দ্রিয় প্রক্রিয়াকরণ অংশ cpu এর সাথে যুক্ত হয়ে একাধিক কম্পিউটারের ব্যবহারকারীগণ একই সাথে একাধিক প্রোগ্রাম পরিচালনা করতে পারে তাকে টাইম শেয়ারিং অপারেটিং সিস্টেম বলে। এই পদ্ধতিতে কম্পিউটার এত দ্রুত কাজ করে, প্রতি ব্যবহারকারীর কাছে মনে হয় cpu কেবল তার নিজের কাজ করে যাচ্ছে। Time Slice পদ্ধতি ব্যবহার করে প্রতিটি ব্যবহারকারীর জন্য নির্দিষ্ট সময় নির্ধারণ করে কাজ করা হয়। উদাহরণ: UNIX, LINUX, IMB/VM, ইত্যাদি।

vi) ভার্চুয়াল স্টোরেজ অপারেটিং সিস্টেম: যে পদ্ধতিতে প্রধান মেমরির সীমাবদ্ধতা কাটিয়ে সহায়ক মেমরির অব্যবহৃত অংশকে প্রধান মেমরি হিসেবে ব্যবহার করা যায় এবং একসাথে একাধিক প্রোগ্রাম পরিচালনা করা যায় তাকে ভার্চুয়াল স্টোরেজ অপারেটিং সিস্টেম বলে। এক্ষেত্রে প্রধান মেমরিকে বলা হয় রিয়েল স্টোরেজ এবং সরাসরি সংযুক্ত চৌম্বক মেমরিকে বলা হয় ভার্চুয়াল স্টোরেজ। বড় প্রোগ্রামের ক্ষেত্রে মেমরিতে সীমাবদ্ধতার জন্য ছোট ছোট সেগমেন্টে ভাগ করে প্রোগ্রাম execute করা হয়। প্রোগ্রাম নির্বাহকালে কোন সেগমেন্ট রিয়েল স্টোরেজে থাকা অবস্থায় কাজ সম্পন্ন করার পর উক্ত প্রোগ্রাম সেগমেন্টকে রিয়েল স্টোরেজ থেকে ভার্চুয়াল স্টোরেজে স্থানান্তরিত করে এবং অন্য একটি সেগমেন্ট আবার ভার্চুয়াল স্টোরেজ হতে রিয়েল স্টোরেজে নিয়ে আসে। সেগমেন্টের এই আদান প্রদানকে বলা হয় সোয়াপিং। উদাহরণ: DOS-VM, WANa/VM ইত্যাদি।

vii) ডিস্ট্রিবিউটেড অপারেটিং সিস্টেম: যে অপারেটিং সিস্টেমে কমিউনিকেশন নেটওয়ার্কের মাধ্যমে পরষ্পর সম্পর্কযুক্ত একাধিক কম্পিউটার নিয়ন্ত্রণ ও তত্ত্বাবধান করা যায় তাকে ডিস্ট্রিবিউটেড অপারেটিং সিস্টেম বলে। এই সিস্টেমের উদ্দেশ্য হলো সম্পূর্ণ সিস্টেমের জন্য অভিন্ন পরিবেশ তৈরি করা এবং অল্প খরচে বৃহৎ কম্পিউটার নেটওয়ার্ক তত্ত্বাবধান করা। যে কম্পিউটারটি সম্পূর্ণ সিস্টেম পরিচালনা করে তাকে বলা হয় সার্ভার এবং সার্ভারের সাথে যুক্ত কম্পিউটারকে বলা হয় ক্লায়েন্ট কম্পিউটার। এই অপারেটিং সিস্টেমের সুবিধা হলো মূল সার্ভারের বা ক্লায়েন্ট এর সাথে সংযুক্ত হার্ডওয়্যার বা সফটওয়্যার ব্যবহার করা যায়। যেমন: প্রিন্টার।

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

স্ট্রাকচার বিভিন্ন রকমের হতে পারে। স্ট্রাকচার এর উপর Operating System এর পারফরমেন্স নির্ভর কলে। কয়েকটি স্ট্রাকচার:

  • সিম্পল স্ট্রাকচার
  • লেয়ারড স্ট্রাকচার
  • মাইক্রো কার্ণেল
  • কার্নেল মডিউল
  • হাইব্রিড সিস্টেম

i) সিম্পল স্ট্রাকচার:

অপারেটিং সিস্টেম সিম্পল
লেয়ারড স্ট্রাকচার অপারেটিং সিস্টেম

MS DOS Structure এ interface এবং functionality ভালোমত আলাদা করা নেই যার জন্য এতে error এবং virus সম্পূর্ণ অপারেটিং সিস্টেম crash করে ফেলতে পারে সহজেই। যদিও এই কনসেপ্ট অনেক পুরাতন এবং এর পিছনে যে সকল মানুষ কাজ করেছেন তারা জানতেন না পরবর্তীতে এটা এত জনপ্রিয় হয়ে উঠবে।

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

MS-DOS এর মত Traditional UNIX Structure hardware functionality তে সীমিত ছিল। এটি MS-DOS এর তুলনায় অধিক লেয়ারসম্পন্ন। এর performance ভালো তবে implement ও maintain কঠিন। তবে এদের কিছু কিছু গুণাবলী এখনও UNIX, LINUX এবং WINDOWS এ দেখা যায়।

ii) লেয়ারড স্ট্রাকচার

লেয়ারড স্ট্রাকচারে অপারেটিং সিস্টেমকে ছোট ছোট ভাগে বিভক্ত করে সেটিকে লেয়ারে সাজানো যায়। এর কর্মদক্ষতা MS-DOS এবং UNIX এর চেয়ে বেশি। এক্ষেত্রে layer 0 হলো হার্ডওয়্যার এবং layer n অর্থাৎ সবথেকে বাইরের লেয়ার হলো ইন্টারফেস। প্রতিটি লেয়ার তার lower লেয়ারে operate করে।

iii) মাইক্রো কার্ণেল

Micro Kernel

iv) কার্ণেল মডিউল

v) হাইব্রিড সিস্টেম

  • MAC OS X
  • iOS
  • Android

CPU Scheduling কী?

সিঙ্গেল প্রোসেসর সিস্টেমে একক সময়ে একটি প্রসেস run করতে পারে এবং cpu ফ্রি না হওয়া পর্যন্ত নতুন প্রোসেস লোড হতে পারে না। মাল্টিপ্রোগ্রামিং এ cpu utilization বাড়ানোর জন্য সর্বদা কোন একটি প্রোগ্রাম চলতে থাকে। কোন একটি প্রসেস execution এর পর i/o অপারেশন পর্যন্ত waiting অবস্থায় থাকে।

সিঙ্গেল প্রসেসিং এ i/o এর সময় নষ্ট হয়। মাল্টি প্রোগ্রামিং এ বেশ কয়েকটি প্রোসেস মেমরিতে রাখা হয় এবং একটি প্রসেস শেষ হয়ে গেলে অন্য প্রোসেস লোড হয়। যতসময় একটি প্রসেস waiting অবস্থায় থাকে, অন্য প্রসেস চলতে থাকে। এটি Operating System এর fundamental function. এই কাজটি করার প্রক্রিয়াই হলো cpu scheduling. CPU Scheduling এর কাজটি FIFO, priority, TREE অথবা linked list হতে পারে। যার মাধ্যমে সিডিউলিং সিলেক্ট করা হয় তাকে বলা হয় CPU Scheduler.

CPU Scheduling এর উদাহরণ

  • .
  • .
  • .
  • Load Store
  • Add store – cpu burst
  • Read from file
  • Wait for i/o – i/o burst
  • Store increment
  • index – cpu burst
  • Write to file
  • Wait for i/o – i/o burst
  • Load store
  • Add store – cpu burst
  • Read from file
  • Wait for i/o – i/o burst

ডেডলক কী?

ডেডলক হলো কম্পিউটারের এমন একটা অবস্থা যেখানে প্রসেস running অবস্থায় থাকে, নিজে execute হয় না এবং সিস্টেমের সকল resource ঐ process এ কাজ করতে থাকে যেন নতুন কোন প্রসেস শুরু না হতে পারে। ডেডলকে দুই বা ততোধিক প্রোগ্রাম একই রিসোর্স ব্যবহার করে এবং অপর প্রোগ্রামকে resouce ব্যবহার করতে বাধা প্রদান করে। এর ফলে কোন প্রোগ্রামই চলতে পারে না। ডেডলকের কারণসমূহ:

  • Mutual exclusion
  • Hold and wait
  • No pre emption
  • Circular wait

মেমরি ম্যানেজমেন্ট কী?

একটি কম্পিউটার সিস্টেমের সকল ধরণের মেমরি ম্যানেজ বা পরিচালনা করাই হলো মেমরি ম্যানেজমেন্ট। কম্পিউটারে ২ ধরণের মেমরি থাকে, ১) প্রাইমারি মেমরি ও ২) সেকেন্ডারি মেমরি। সকল প্রোগ্রাম execute  হবার পূর্বে তা প্রাইমারি মেমরিতে জমা হয়। Operating System এর ফাংশন ঠিক করে কোন প্রসেসের জন্য কতটুকু মেমরি বরাদ্দ করা হবে। মেমরি ম্যানেজমেন্টের কাজ হলো:

  • কোন প্রসেস কতটুকু মেমরি ব্যবহার করছে তার হিসাব রাখা
  • কোন প্রসেস পরবর্তীতে লোড হবে
  • মেমরি স্পেস allocate ও deallocate করা

File কী?

পরস্পর সম্পর্কযুক্ত কতগুলো রেকর্ডের সমন্বয়কে ফাইল বলে। হার্ডডিস্ক, পেনড্রাইভ, সিডি ইত্যাদিতে কোন ডাটা বা ইন্সট্রাকশন সংরক্ষণ কিংবা কোন বিষয় সম্পর্কিত প্রয়োজনীয় ডাটা বা ইনফরমেশন উপযুক্তভাবে বিন্যস্ত থাকাকে ফাইল বলে। ফাইল ২ প্রকার।

  • প্রোগ্রাম ফাইল
  • ডাটা ফাইল

আজকের অধ্যায় এখানেই শেষ। ভিডিও করার সময় বুঝতে পারিনি লেখা এত বড় হয়ে যাবে। এর জন্য দুঃখিত আশা করছি একটু কষ্ট করে হলেও পড়বেন। কোনো সমস্যা হলে iSudip ইউটিউব চ্যানেল থেকে অবশ্যই ভিডিও দেখে নিবেন আর কোনো সমস্যা হলে অবশ্যই জানাবেন। পরবর্তী অধ্যায়ের আশা রেখে আজকের মতো বিদায়।

Facebook Comments