অপারেটিং সিস্টেমটি কীভাবে পরিচালনা করতে হবে বলে মনে করা হচ্ছে একই চিপটিতে চালানো যেতে পারে?


17

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

তবে আমি যখন অপারেটিং সিস্টেম কম্পিউটারের অপারেশন পরিচালনা করার প্রয়োজন হয় তখন এটি কীভাবে তদারকি করে তা সম্পর্কে আমি বিভ্রান্ত হয়ে পড়েছি।

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

সুতরাং এটি কীভাবে হতে পারে যে ওএস কেবল একই সিপিইউতে সময়ের অংশটি চালায় যা অন্য সমস্ত প্রক্রিয়াগুলির মধ্যে ভাগ করে নিতে হয়? এটি কীভাবে কাজ শেষ করে?


1
একজন পরিচালককে তার কর্মীদের পাওয়ার সরঞ্জামগুলি ব্যবহার করা উচিত নয়! পরিবর্তে, তাকে নিশ্চিত করতে হবে যে কর্মীদের কর্মক্ষম পাওয়ার সরঞ্জাম রয়েছে।
ম্যাসাল্টার

উত্তর:


15

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

এই "পাওয়ার সরঞ্জামগুলি" রিসোর্স ব্যবস্থাপনার জন্য কিছু বিশেষ সুযোগসুবিধা: মেমরি নিয়ন্ত্রণ করুন, হার্ডওয়্যারটিতে অ্যাক্সেস এবং কতক্ষণ ব্যবহারকারীর স্তরের কোড কোনও বাধা ছাড়াই কার্যকর করা যেতে পারে।

সিপিইউ ওএসকে তার বিশেষ সুবিধাগুলি সহ কার্যকর করে যখন নিম্নলিখিত ইভেন্টগুলির মধ্যে একটি ঘটে:

  1. একটি ব্যবহারকারী মোড প্রক্রিয়া স্পষ্টভাবে নিয়ন্ত্রণটি কার্নেল মোড প্রক্রিয়াটিকে হস্তান্তর করে। একে সিস্কল বলা হয় ।
  2. কার্নেল মোড প্রক্রিয়াটি নির্দিষ্ট ইভেন্টগুলির জন্য নিবন্ধকরণের জন্য তার বিশেষ সুযোগগুলি ব্যবহার করতে পারে (যেমন বাহ্যিক হার্ডওয়্যার সিপিইউতে একটি বিশেষ সংকেত প্রেরণ করে বা একটি ব্যবহারকারী স্থান প্রক্রিয়া একটি সংরক্ষিত সংস্থান অ্যাক্সেস করার চেষ্টা করে)। যখন এই জাতীয় ঘটনা ঘটে তখন সিপিইউ ব্যবহারকারী মোড প্রক্রিয়াটি তত্ক্ষণাত বন্ধ করে দেয় এবং কার্নেল মোড প্রক্রিয়াটি নিয়ন্ত্রণের হাতে দেয়। সাধারণত একটি বাধা থেকে কথা বলে ।

সুতরাং ওএস একই চিপটিতে চলতে পারে কারণ চিপটি এটির জন্য নির্মিত। এটি নিজের জন্য বিশেষ সুবিধা সংরক্ষণ করতে পারে। সিপিইউ এই বিশেষ সুযোগগুলি ছাড়াই অন্য কোনও কোডের টুকরোটি বাধাগ্রস্ত করতে পারে এবং ওএসের কাছে নিয়ন্ত্রণ হস্তান্তর করতে পারে।

খুব সীমাবদ্ধ সমর্থনযুক্ত কিছু চিপগুলিতে (যেমন একটি মাইক্রোকন্ট্রোলার ) বিশেষ সুবিধাযুক্ত কোডের জন্য এই সমর্থন নেই don't এই চিপগুলি সাধারণত কোনও ওএস ছাড়াই চলে। কেবলমাত্র একটি বড় প্রোগ্রাম চলছে, যা সরাসরি হার্ডওয়্যার অ্যাক্সেস করতে পারে, অবশ্যই হার্ডওয়্যার বিঘ্নগুলির জন্য সাড়া দিতে হবে এবং যে কোনও সময় যে কোনও সংস্থান অ্যাক্সেস করতে পারে। যদি সেই প্রোগ্রামটি একটি ভুল করে তবে সাধারণত পুরো জিনিসটি ক্রাশ হয়ে যায়।


17

তাদের সবচেয়ে আদিম আকারে, অপারেটিং সিস্টেমগুলি সময়-সময়ে অপারেটিং সিস্টেমে ভাল আচরণ এবং নিয়ন্ত্রণ ফিরিয়ে আনার উপর নির্ভর করে। যদি কোনও প্রক্রিয়া ভাল আচরণ না করা হয়, তবে প্রকৃতপক্ষে এটি ঘটতে পারে যে অপারেটিং সিস্টেমটি হিমশীতল।

বেশিরভাগ সিপিইউ-তে তবে বাধা রয়েছে : একটি বাধা বর্তমান প্রক্রিয়া (প্রিম্পশন) বিরতি দেয় এবং হ্যান্ডস কন্ট্রোলটি অপারেটিং সিস্টেমে ফিরে আসে। আপনি নির্দিষ্ট বিরতিতে বাধা নির্ধারণ করতে পারেন, বা বাহ্যিকভাবে ট্রিগার করা (উদাহরণস্বরূপ রিসেট বোতামটি চাপানো)।

মূলত, সিপিইউ একটি দ্রুতগতিতে দ্রুত গতিতে ওএস চালনা এবং প্রসেসিং প্রক্রিয়াগুলির মধ্যে পিছনে পিছনে স্যুইচ করে। তদতিরিক্ত, সিপিইউতে "ব্যবহারকারী মোড" এবং "কার্নেল মোড" রয়েছে। প্রক্রিয়াগুলি ব্যবহারকারী মোডে চলে এবং ওএস কার্নেল মোডে চলে runs ব্যবহারকারী মোডে চালানো কোনও প্রক্রিয়াটিকে সীমাবদ্ধ কমান্ডগুলি কার্যকর করতে বাধা দেয় (যেমন আইও)। যদি কোনও প্রক্রিয়া ডিস্কে লিখতে চায় তবে ওএসকে এটি করতে বলা উচিত। ওএস কার্নেল মোডে স্যুইচ করে এবং প্রক্রিয়াটির পক্ষে লিখনটি করে (প্রক্রিয়াটির প্রয়োজনীয় অনুমতি রয়েছে তা নিশ্চিত করার পরে)।


7
@ ইম্রে সত্যই নয়, সিপিইউতে ওএস হ'ল কোডের আরেকটি বিট। তবে সিপিইউতে এমন অনেকগুলি বৈশিষ্ট্য রয়েছে যা কোনও ওএসের নির্মাতারা ব্যবহারের জন্য ডিজাইন করেছেন।
টম ভ্যান ডার জ্যান্ডেন

3
আমি জানি না "সচেতন" হ'ল সঠিক পরিভাষা, তবে সিপিইউয়ের কোনও ওএস চালানো ছাড়া অন্য কোনও কারণ নেই। এটি অবশ্যই সম্পূর্ণ স্বাধীন নয়। আসলে, সিপিইউ তার বিভিন্ন মোডগুলি পরিচালনা করতে এবং অন্যথায় এটি কী করতে হবে তা জানাতে সম্পূর্ণ ওএসের উপর নির্ভরশীল।
মোহাইর

2
@ মোহাইর এমন অনেকগুলি মাইক্রোকন্ট্রোলার রয়েছে যা কোনও OS ছাড়াই চলে না, সেগুলি কি সিপিইউ হিসাবে গণনা করে?
টম ভ্যান ডার জ্যান্ডেন

2
"সেগুলি কি সিপিইউ হিসাবে গণনা করে?" অবশ্যই তারা। এটি আমার প্রথম কম্পিউটারে 6502 করেছে যদিও এর আলাদা ব্যবহারকারীর এবং কার্নেল রিং নেই, এবং আপনি pokeকমান্ড-লাইন থেকে সমস্ত ধরণের দুষ্কর্ম কাজ করতে পারেন।
ডিএমকেকে --- প্রাক্তন মডারেটর বিড়ালছানা

2
@ টমভান্ডারজান্দেন ঠিক কীভাবে করেন the CPU switches back and forth between running the OS and running processes? কি স্যুইচ ট্রিগার?
jnovacho

1

ইউজারস্পেস এবং কার্নেল স্পেস কোড চালানোর জন্য আপনার মাইক্রোপ্রসেসরের জন্য দুটি পৃথক প্রসেসরের প্রয়োজন নেই। মূলত এটি এইভাবে কাজ করে যখন আপনি নিজের কম্পিউটারকে আপনার বায়োস লোড বুটলোডার (ডিস্কে 512 কেবি কোড যা 55aa বুটলোডার স্বাক্ষরটি শেষ হয়) তে চালাবেন এবং এই বুটলোডারটির মাধ্যমে আপনার কর্নেলটি র‍্যামে বোঝা হয়ে যায় এবং আপনি আপনার কম্পিউটার বন্ধ না করা অবধি চিরকাল চলে। এবং আপনার কার্নেল মেমরি পরিচালনা করে এবং আপনার কার্নেল কোডটিকে মেমরি দেয় না যা ব্যবহারকারীর স্পেস কোড দ্বারা ওভাররাইট করা যাবে না। এই উদ্দেশ্যে, সিস্টেম কলগুলি রয়েছে যা এই সিস্টেম কলগুলি ব্যবহার করে ব্যবহারকারীর স্পেস কোডটি প্রেরণ করা হয়েছে এবং আপনার ব্যবহারকারীর স্পেস কোডটিকে রামে যুক্ত করুন এবং এটি কার্যকর করতে শুরু করুন। অপারেটিং সিস্টেমে এই ধারণাটি মেমরি ম্যানেজমেন্ট হিসাবে গবেষণা করা হয়। এখানে লিঙ্কটি পড়তে পারেন এটি শুরু করার জন্য খুব ভাল https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf


0

অন্যান্য উত্তরের উপর ভিত্তি করে তৈরি করার জন্য, আপনি যদি মনে করেন যে কার্নেল নিজেই কোনও প্রক্রিয়া নয় তবে একটি পরিচালনা কোড। যে কোনও ব্যবহারকারীর প্রক্রিয়া ব্যবহারকারীর মোড থেকে কার্নেল মোডে স্থানান্তরিত করতে পারে এবং কার্নেল স্পেসের কিছু অংশ ব্যবহার করে কার্নেল কোড (প্রাইভেলজড নির্দেশাবলী) চালিত করতে পারে। তারপরে প্রক্রিয়াটি ব্যবহারকারী মোডে ফিরে যেতে পারে এবং আবার ব্যবহারকারীর স্পেসে চলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.