আসলে একটি প্রক্রিয়া জন্য CPU ব্যবহার কি মানে


4

কম্পিউটারটি একটি একক কোর আছে - এটি অ্যাক্সেসের জন্য 100% CPU ক্ষমতা বনাম (বলতে দেয়) 10% CPU ক্ষমতাতে চলমান হওয়ার অর্থ কী?

যদি সিপিইউ 2.0 গিগাহার্টজ হয়, তাহলে প্রক্রিয়া A এর জন্য সময়সীমার মধ্যে এটির অর্থ হ'ল, প্রসেসর প্রতি সেকেন্ডে 2 বিলিয়ন ধাপে (যদি 100% ক্যাপে থাকে) নির্বাহ করে, তবে শুধুমাত্র 200 মিলিয়ন পদক্ষেপ কার্যকর করবে (যদি 10% )?

10% দৃশ্যকল্প বনাম 100% দৃশ্যকল্প কি হবে?


10% ব্যবহার এবং 100% ব্যবহারের মধ্যে ভিন্ন স্পষ্ট। এক ক্ষেত্রে কার্যকারিতা কার্যকর ক্ষমতার 10% গ্রহণ করা হয়। অন্য কথায় প্রতিবার ঘড়িটি ট্রিগার হয়, এক্সিকিউশন সময়টির 10%, সেই প্রক্রিয়াটিকে বরাদ্দ করা হয়। অনুরূপভাবে 100% ব্যবহার মানে কার্যকরকরণ সময় 100% বরাদ্দ করা হয় (যেমন অন্য কোনও প্রক্রিয়াগুলি কার্যকর করা যায় না) যার ফলে ডেডলক পরিস্থিতি তৈরি হয়। সিপিইউর প্রসেসটি বোঝার জন্য সহজ কাজ চালানোর জন্য আমার উদাহরণ একটি একক প্রক্রিয়া ব্যবহার করে।
Ramhound

যখন আপনি বলবেন যে 'প্রতিবার ঘড়িটি ট্রিগার হয় তখন', একই সময় কি একই সময় বা সিপিএমের আসল টিক হয়?
Dave Stibrany

@DaveStibrany এই ক্ষেত্রে, এটি কেবলমাত্র একটি সাধারণ সময়-টালি যা OS টাস্ক সময়সূচী দ্বারা নির্ধারিত (যদি আপনার প্রকৃত সংখ্যক প্রয়োজন হয় তবে আপনার নির্দিষ্ট OS / প্রসেসর আর্কিটেকচারের জন্য গ্র্যানুলারতার বিশদ খুঁজে পেতে সক্ষম হওয়া উচিত)। অসীম-লুপ আইডিয়াতে ফিরে যাওয়া, যদি আমি একটি প্রোগ্রাম লিখেছিলাম যা শুধুমাত্র একটি বড় তালিকা ছিল NOP নির্দেশাবলী, যেগুলি এখনও টেকনিক্যালি সিপিইউ ব্যবহার হিসাবে শ্রেণীবদ্ধ করা হবে (সময়সীমার সময় যেখানে OS বলে যে প্রোগ্রামটি "ঠিক আছে, এটি পরবর্তী এক্স মাইক্রোসেকেন্ডের জন্য চালানোর আপনার পালা", এমনকি যদি আমার প্রোগ্রামটি কিছুই না করে তবেও এটি এখনও দৌড় - এবং এটাই কি CPU ব্যবহার শতাংশ বর্ণনা করে।)
Breakthrough

@ ডেভস্ট্রিবিনি - আপনার 2Ghz ইন্টেল সিপিও আছে বলে দিন। এর মানে হল যে ঘড়ি সিগন্যালটি ট্রিগার হয়ে যাওয়ার সময় সিপিইউ প্রক্রিয়া করবে X x86 অপারেশন নির্দেশাবলী। আসলে কতগুলি নির্দেশাবলী সঞ্চালিত হয় বিভিন্ন বিভিন্ন জিনিসের উপর নির্ভর করে। যদি আপনার 2-কোর x86 CPU থাকে তবে এর অর্থ হল আপনি একই সময়ের মধ্যে 2 টি পৃথক নির্দেশাবলী সম্পাদন করতে পারেন। এর অর্থ হল 2 টি ভিন্ন প্রক্রিয়াগুলির সমান অগ্রাধিকার রয়েছে অথবা একটি একক প্রক্রিয়া দ্রুত দুইবার একটি নির্দেশনা সম্পাদন করতে পারে (যাতে আপনাকে এটি করার জন্য নির্দিষ্ট অভিযানের জন্য আপনাকে অবশ্যই বলা উচিত)।
Ramhound

প্রকৃতপক্ষে ঘড়ি চক্রের সময় কি ঘটে তা বোঝার একটি দুর্দান্ত সূচনা হল x86 সমাবেশ ভাষা শিখতে। একবার আপনি যে আপনি একটি নির্দেশ কি বুঝতে।
Ramhound

উত্তর:


7

CPU ব্যবহার অপারেটিং সিস্টেমের দ্বারা গণনা করা হয় প্রক্রিয়া / টাস্ক সময়সূচী । প্রকৃতপক্ষে, যদি একটি CPU ব্যবহার 10% হয়, তা নির্দেশ করে যে টাস্ক সক্রিয়ভাবে টাস্ক সময় নির্ধারণকারীর ইউনিট সময়সীমার 10% এর জন্য চলছে; অন্যান্য প্রোগ্রাম বাকি 90% CPU সময় চলতে পারে, বা ওএস সহজভাবে নিষ্ক্রিয় করা হবে। একইভাবে, যদি মোট জন্য CPU ব্যবহার সব প্রোগ্রাম 10%, যা নির্দেশ করে যে সিস্টেমে কোন প্রোগ্রাম 90% সময় নিখোঁজ করা হচ্ছে।

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

যদিও প্রক্রিয়া হয় সর্বদা চলমান, বেশিরভাগ ক্ষেত্রে তারা 100% CPU ব্যবহার করে না, কারণ কোনও প্রক্রিয়া কোনও নির্দিষ্ট ইভেন্ট / বিঘ্নিত ঘটনার জন্য অপেক্ষা করতে পারে, বা অপারেটিং সিস্টেমে অল্প সময়ের জন্য এটির অপারেশন স্থগিত / ঘুমানোর নির্দেশ দেয়।


@ ব্রেকাক্রু - আপনি 'বেয়ার মেটাল' বিবেচনা করেন কেননা আমি সর্বদা অ্যাসেম্বলি ভাষাতে লেখা একটি প্রোগ্রাম বলে মনে করেছি এবং আপনি অবশ্যই তা করতে পারেন।
Ramhound

2
@ রামহাউন্ড এক যা চালানো হয় না প্রক্রিয়া সময়সূচী , অর্থাত্ যেটি মাল্টিটাস্কিং অপারেটিং সিস্টেমের অধীনে চালানো হয় না। এটি DOS তে করা সম্ভব ছিল, তবে উইন্ডোজ নিজেই সেই নির্দিষ্ট কোডটি চালানোর সময় নির্ধারণ করে এবং কতক্ষণ ধরে (এটি প্রক্রিয়াটিকে বাধা দেবে এবং যতক্ষণ না এটি আপনার প্রক্রিয়াগুলির "চালু" না হওয়া পর্যন্ত চলতে আরও মঞ্জুরি দেয়)।
Breakthrough

আমি মনে করি "বাস্তব সময়" একটি ভাল শব্দ "বেয়ার মেটাল"
surfasb

1
@ সুরাফাসব এই প্রসঙ্গে তুলনাযোগ্য নয়। একজন বাস্তব সময় অপারেটিং সিস্টেম শুধু নিশ্চিত করে যে আপনার প্রক্রিয়া X মাইক্রো / মিলিসেকেন্ডগুলির মধ্যে কিছু ইভেন্ট / বাধাতে কাজ করতে পারে তবে প্রকৃতপক্ষে আপনার প্রোগ্রামটি অপারেটিং সিস্টেমের অধীনে চলছে।
Breakthrough

এটা এমনকি অসাধারণ কাজ করতে কত OS কোড জড়িত তা আশ্চর্যজনক। আপনার আদর্শ "হ্যালো ওয়ার্ল্ড" প্রোগ্রামের মুদ্রণ, যদি উইন্ডোজের অক্ষর-মোড উইন্ডোতে চালানো হয়, তবে একটি সাধারণ বার্তা উইন্ডো স্থাপন করার চেয়ে আসলে আরও বেশি OS কোড (এটি অন্য কিছুতে চলছে!) নেয়। আই-ও-তে কিছু কোড জড়িত আছে, এটার জন্য। কোনও OS ফাংশন কল করার জন্য সীমিত একটি প্রোগ্রাম "চালানো" হতে পারে তবে এটি কোথাও থেকে কোনও তথ্য পড়তে পারে না এবং যে কোনও ফলাফল পাঠাতে পারে না। ভাল হিসাবে এটি চালানো হতে পারে।
Jamie Hanrahan
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.