ওএস ডিজাইন কেন বিদ্যুতের খরচ হ্রাস করতে সক্ষম?


11

আমি পড়েছি যে অ্যান্ড্রয়েড এবং আইওএসের মতো ওএসগুলি কোনওভাবে ব্যাটারির আয়ু উন্নত করতে অনুকূলিত হয়েছে।

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

এছাড়াও, যদি কোনও প্রক্রিয়া আরও বেশি র‍্যাম দখল করে, তবে এটি কি আরও বেশি শক্তি ব্যবহার করে?

উত্তর:


15

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

ব্যাটারি চালিত ডিভাইসগুলির জন্য অনুকূলিত সিপিইউগুলি অনেকগুলি কার্যকরী উপাদানগুলির সমন্বয়ে থাকে যার প্রত্যেকটির নিজস্ব ঘড়ি থাকে (উদাহরণস্বরূপ: এআরএম কর্টেক্স এ 8 )। যখন কোনও উপাদান নিষ্ক্রিয় থাকে, অপারেটিং সিস্টেম এটিকে বন্ধ করতে পারে (বা এর ঘড়ি হ্রাস করতে পারে), যা শক্তি সঞ্চয় করে। উদাহরণস্বরূপ, অনেকগুলি মাল্টিকোর সিপিইউতে (যেমন উচ্চ-প্রান্তের মোবাইল ডিভাইসগুলির মধ্যে) প্রতিটি কোর পৃথকভাবে চালু বা বন্ধ করা যায়। এআরএম এই গেমটিতে বিশেষত ভাল, যা বেশিরভাগ স্মার্টফোনে এআরএম সিপিইউ থাকার একটি কারণ।

ঘড়ির হারের বৈচিত্র্যকরণ বা বৈদ্যুতিন উপাদানগুলির ঘড়িটি বন্ধ করা শক্তি পরিচালনা হিসাবে পরিচিত । এটি কোনও ব্যাটারি চালিত ডিভাইসের জন্য অপারেটিং সিস্টেমটি লেখার এবং অনুকূলকরণের একটি জটিল অংশ হতে পারে, সঠিক হার্ডওয়্যার মডেলের অনেক নির্ভরতা সহ।

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

অ্যাপ্লিকেশনগুলির বিদ্যুৎ খরচ নিচে রাখার ক্ষেত্রে তাদের ভূমিকা রয়েছে: তাদের অবশ্যই অপারেটিং সিস্টেমটিকে এটি করার অনুমতি দিতে হবে। কোনও অ্যাপ্লিকেশন সবচেয়ে খারাপ কাজ করতে পারে তা হল ভোটদান - একটি লুপ চালানো while (not_ready()) {}। এমনকি while (not_ready()) {usleep(100);}প্রসেসরকে স্বল্প-শক্তি মোডে যেতে যথেষ্ট সময় দেয় না বা এটি যদি হয় তবে প্রতিটি ফলসজ্জা জাগ্রত মানে নষ্ট শক্তি in সুতরাং অপারেটিং সিস্টেমের এপিআইগুলি অবশ্যই তৈরি করা উচিত যাতে অ্যাপ্লিকেশনগুলিকে কখনই পোলিংয়ের প্রয়োজন হয় না, তবে পরিবর্তে কোনওরকম ইভেন্ট মেকানিজমের সাবস্ক্রাইব করতে পারে এবং কোনও প্রাসঙ্গিক ইভেন্ট সম্পর্কে অবহিত না হওয়া পর্যন্ত অলস থাকতে পারে। পরিবর্তে অ্যাপ্লিকেশনগুলিতে এই জাতীয় প্রক্রিয়াগুলির সুবিধা গ্রহণ করা প্রয়োজন, সুতরাং সম্পূর্ণ সফ্টওয়্যার স্ট্যাকের নকশার বিদ্যুৎ ব্যবহারের উপর প্রভাব পড়ে।

ইন্টেলের পাওয়ারটপ ইউটিলিটি দিয়ে আপনার পিসির পাওয়ার ব্যবহারের জন্য কী দায়ী তা সম্পর্কে আপনি কিছু তথ্য পেতে পারেন । স্মার্টফোনগুলিতে সাধারণত পাওয়ার অ্যাপ্লিকেশনগুলি কতটা গ্রাস করছে তা দেখার একটি উপায় রয়েছে। যথাযথভাবে অ্যাপ্লিকেশন দ্বারা বিদ্যুত ব্যবহারের জন্য অ্যাকাউন্টিং কঠিন: যদি কোনও উপাদান দুটি অ্যাপ্লিকেশনের জন্য জেগে ওঠে, জেগে ওঠার সময়গুলির মধ্যে কিছুটা নির্বিচারে বা উভয়কেই গণ্য করা যেতে পারে; পেরিফেরালগুলির বিদ্যুৎ খরচ সবসময় সহজেই দায়ী অ্যাপ্লিকেশনটিতে ট্র্যাক করা যায় না।

একটি র‌্যাম চিপ জানেন না যে এর কোনও বিট সক্রিয় প্রক্রিয়াটির ডেটা সঞ্চয় করে, তাই এটি এই পদ্ধতিতে নির্বাচন করে বন্ধ করা যায় না। কোনও প্রক্রিয়াটির পাওয়ার ব্যবহার যে পরিমাণ মেমরি ব্যবহার করে তার সাথে সম্পর্কিত নয় (র‌্যামের অ্যাক্সেসগুলি বিদ্যুৎ গ্রাহ্য করে না, তবে একই মেমরিটিকে পুনরায় ব্যবহার করা বা বিভিন্ন র‌্যাম অঞ্চল ব্যবহার করা বিদ্যুৎ ব্যবহারের ক্ষেত্রে কোনও পার্থক্য করে না)।


4

প্রসেসরের পাওয়ারের ক্ষেত্রে ওএসগুলি করতে পারে এমন প্রধান জিনিস যা ভোটদান থেকে অ্যাপ্লিকেশনকে নিরুৎসাহিত করে এমন API সরবরাহ করে। (এবং যদি কিছু থাকে তবে কার্নেল এবং ডিভাইস ড্রাইভারের মধ্যে থাকা সমস্ত পোলিংও সরিয়ে ফেলুন Then) এরপরে প্রসেসরটিকে যখন কম করার কিছু নেই তখন একটি কম পাওয়ার স্লিপ স্টেটে রাখা যেতে পারে।

প্রতিটি ডিভাইসের জন্য ব্যবহারকারীর অ্যাপ্লিকেশনগুলির জন্য একটি অনুরোধের পরে ঘুমাতে যেতে হবে এবং তারপরে ফলাফল প্রস্তুত হওয়ার পরে কেবল আবার জেগে ওঠা উচিত।

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

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


3

ওএসের প্রধান ভূমিকাটি হ'ল হার্ডওয়ার থেকে যথাসম্ভব স্বাধীনভাবে রানটাইম পরিবেশ সরবরাহ করা। কে জানে যে কোন হার্ডওয়্যারটি, কখন এবং কীভাবে কেউ হার্ডওয়্যার ব্যবহার করছে। এটি ওএসকে হার্ডওয়্যার শক্তি ব্যবহার কমানোর অনুমতি দেয়।

আধুনিক হার্ডওয়্যারগুলি বিদ্যুতের খরচ হ্রাস করার বিভিন্ন উপায় সরবরাহ করে, যেমন

  • অব্যবহৃত পেরিফেরিয়াল এবং প্রসেসরের অংশ বন্ধ করে দেওয়া (ভাসমান পয়েন্ট গণিত ইউনিট, প্রসেসরের কোর, ...)
  • কম ব্যবহৃত অংশগুলির ডাউন-ক্লকিং (প্রসেসর কোর সহ)
  • বর্তমান ঘড়ির ফ্রিকোয়েন্সি ফিট করার জন্য পাওয়ার-সাপ্লাই অ্যাডজাস্টমেন্ট (আপনি ফ্লাইতে একটি প্রসেসরের ওয়ার্কিং ভোল্টেজ সংশোধন করতে পারেন, কখনও কখনও কয়েকশত এমএ দ্বারা)

যদি কোনও প্রক্রিয়া আরও বেশি র‍্যাম দখল করে, এটি কি আরও বেশি বিদ্যুত ব্যবহার করে?

আসলে তা না. তবুও, যদি আপনার সিস্টেমে 1 জিবি ডিআরএএম থাকে তবে আপনি কেবল 512 এমবি ব্যবহার করেন, কিছু মেমরি নিয়ামক দিয়ে, ডিআআরএএম-এর সতেজ অংশটি বন্ধ করা সম্ভব, সুতরাং বিদ্যুতের খরচ হ্রাস করা সম্ভব। এলপিজিডিআর স্ব-রিফ্রেশ করার সময় আংশিক অঞ্চল স্ব- রিফ্রেশকে সমর্থন করে (প্রসেসরটি থামানো অবস্থায়, যা মোবাইল ডিভাইসে বেশিরভাগ সময় সত্য)।

আপনি দেখতে পাচ্ছেন যে আধুনিক স্থাপত্যগুলিতে বিদ্যুতের খরচ কমাতে অনেকগুলি উপায় রয়েছে তবে এটি পরিচালনা করতে ওএসের প্রয়োজন requires কিছু বৈশিষ্ট্য, যেমন পিএএসআর, ব্যবহার করা খুব জটিল, এটি স্থগিত / পুনরায় কাজ পদ্ধতি বাস্তবায়নের জন্য মেমরি পরিচালনার সাথে মানিয়ে নিতে ওএসে প্রচুর কাজ প্রয়োজন, ...


পার্শ্ব নোট: যদিও অগত্যা র‌্যাম-ক্ষুধার্ত প্রক্রিয়াটির সাথে সরাসরি সম্পর্কিত নয়, বৃহত্তর র‌্যাম ব্যবহারের ফলে কম ফাইল সিস্টেম ক্যাচিং হতে পারে যা শক্তির দক্ষতা (পাশাপাশি কর্মক্ষমতা) ক্ষতি করতে পারে।
পল এ। ক্লেটন

3

আপনি যেহেতু সন্দেহ রাখেন না, ওএস বিভিন্ন তালিকা বজায় রাখে। এর মধ্যে দুটি তালিকা প্রস্তুত তালিকা এবং টাইমার তালিকা। প্রস্তুত তালিকাটি চিহ্নিত করে যে কোন কাজ / থ্রেড চালানোর জন্য প্রস্তুত। টাইমার তালিকায় একটি কার্যসম্পাদনের সাথে অবরুদ্ধ অবস্থায় থাকা কার্য / থ্রেডগুলি সনাক্ত করে।

ভাবুন যে ওএসের একটি খালি প্রস্তুত তালিকা রয়েছে। অর্থাৎ এটি চালানোর জন্য প্রস্তুত কাজগুলি শেষ হয়ে গেছে (এটি নিষ্ক্রিয় অবস্থায় রয়েছে)। কিছু প্রসেসর (যেমন x86) একটি থামার নির্দেশ রয়েছে যে কোনও বাহ্যিক বাধা (যেমন টিক বাধা) দ্বারা জাগ্রত না হওয়া অবধি প্রসেসরটি থামিয়ে দেওয়ার জন্য ওএস অনুরোধ করতে পারে। এই সময়কালে, এটি কম শক্তি গ্রাস করে। টাইমার তালিকায় উঁকি দিয়ে এই কৌশলটি আরও উন্নত করা যেতে পারে। আপনি যদি অলস হয়ে থাকেন এবং আপনি যদি জানেন যে খুব শীঘ্রই কোনও কাজ টাইমার টিক থেকে 100 টিক দূরে জেগে উঠতে পারে তবে টিকের রেটটি অস্থায়ীভাবে 100 গুণ বেশি ধীরে ধীরে সংশোধন করা যেতে পারে। এইভাবে, প্রসেসর দীর্ঘ সময়ের জন্য আরও কম শক্তি ব্যয় করতে পারে কারণ এটি 100 টি টিক বাধা দিতে হবে না।

একবার বাহ্যিক বাধা এসে পৌঁছে গেলে টিকের হারটি পুনরায় গণনা করতে হবে। যদি বাহ্যিক বাধা কোনও কাজ প্রস্তুত করে তোলে তবে টিকের হারটি স্বাভাবিক হয়ে যায়। যদি তা না হয় তবে নতুন (ধীর) টিকের হারের সাথে ঘুমাতে টিকের সংখ্যাটি অবশ্যই পুনঃ গণনা করতে হবে।

আশাকরি এটা সাহায্য করবে.


2

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

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