Theory
Bench साझा करने की आपात स्थिति
कल्पना कीजिए आप हमारे LabOne server पर एक विशाल graphic design assignment पर काम कर रहे हैं। अचानक, 5 और students अपने semester project के लिए heavy database queries चलाने के लिए log in करते हैं। server RAM पूरी तरह भर जाती है और सब कुछ freeze हो जाता है। अगर LabOne के पास सबका code एक साथ रखने के लिए काफ़ी physical memory slots नहीं हैं, क्या server बस crash हो जाता है और आपकी unsaved प्रगति खो देता है? या यह आपके काम को अस्थायी रूप से किनारे कर सकता है ताकि दूसरे गुज़र सकें?
Theory
Library Reading Room की Table
RAM को college library में एक छोटी study table की तरह सोचिए जो एक समय में सिर्फ़ 3 किताबें फिट करती है। अपना BCA assignment पूरा करने के लिए आपको 5 विशाल reference किताबें पढ़नी हैं। हार मानने के बजाय, आप 3 किताबें table पर रखते हैं। जब आपको 4वीं किताब चाहिए, आप table से एक बेकार किताब उठाते हैं, इसे book shelf पर वापस रखते हैं, और नई किताब table पर लाते हैं। book shelf एक अस्थायी holding area के रूप में काम करता है ताकि आप table के physically रख सकने से ज़्यादा किताबों के साथ काम कर सकें।
Theory
Swapping औपचारिक रूप से परिभाषित करना
एक operating system में, swapping एक memory management technique है जहाँ एक पूरी तरह निष्क्रिय process को main memory (RAM) से हटाकर एक तेज़ secondary storage device पर move किया जाता है जिसे backing store कहते हैं। RAM का यह मुक्त होना दूसरी सक्रिय processes को execute करने देता है। जब swapped out process फिर चलने के लिए तैयार होती है, OS इसे backing store से वापस main memory में लाता है। यह cycle system को high load के तहत भी सहजता से चलाता रखता है।
At a glance
LabOne पर swapping cycle के दो बुनियादी चरण।
| Operation | दिशा | Trigger Condition |
|---|---|---|
| Swap Out | RAM से Backing Store तक | RAM पूरी तरह भरी है और एक higher priority process को जगह चाहिए |
| Swap In | Backing Store से RAM तक | process execution फिर शुरू करने के लिए तैयार है और RAM space उपलब्ध है |
Think first
कुल Transfer Time की गणना
मान लीजिए 10 MB आकार की एक student program को LabOne पर जगह बनाने के लिए RAM से swap out करना है। backing store 20 MB प्रति second की transfer rate वाली एक hard disk है। सिर्फ़ इस process को swap out करने में लगा बिल्कुल समय calculate कीजिए। चरण प्रकट करने से पहले division मन में करने की कोशिश कीजिए।
Show the answer
Step 1: दिए गए मान पहचानिए। Process Size = 10 MB. Transfer Rate = 20 MB प्रति second.
Step 2: formula लागू कीजिए: Transfer Time = Process Size / Transfer Rate.
Step 3: संख्याएँ रखिए: Transfer Time = 10 MB / 20 MB प्रति second = 0.5 seconds.
Step 4: इसका मतलब सिर्फ़ swap out चरण के लिए 500 milliseconds लगते हैं। एक पूर्ण swap cycle (swap out plus swap in) पूरे 1.0 second लेगा, जो एक तेज़ CPU के लिए एक बड़ा overhead है।
Quiz
अगर LabOne operating system अक्सर processes swap in और out करता है क्योंकि RAM गंभीर रूप से कम है, system performance पर सबसे संभावित असर क्या है?
- CPU speed disk operations सँभालने के लिए अपने-आप बढ़ती है
- server भारी disk read और write times के कारण बेहद धीमा हो जाता है
- कुल physical RAM क्षमता ज़्यादा processes store करने के लिए स्थायी रूप से बढ़ती है
- backing store student files को भ्रष्टाचार से बचाने के लिए पूरी तरह बंद हो जाता है
Show the answer
server भारी disk read और write times के कारण बेहद धीमा हो जाता है
Disk access RAM access से हज़ारों गुना धीमा है। जब operating system असली code execute करने से ज़्यादा समय processes को आगे-पीछे move करने में बिताता है, यह एक विशाल मंदी की ओर ले जाता है। यह स्थिति swapping overhead के कारण एक operational bottleneck है।
Think first
एक Swapped Process का गंतव्य
जब एक process को LabOne की physical RAM से swap out किया जाता है, इसे ठीक कहाँ रखा जाता है? जवाब प्रकट करने से पहले ज़रूरी storage device के प्रकार के बारे में सोचिए।
Show the answer
इसे secondary storage के एक समर्पित high speed section में store किया जाता है जिसे backing store कहते हैं, जो आम तौर पर एक तेज़ hard drive या solid state drive होता है। OS इस जगह को ख़ास तौर पर रुकी हुई processes के memory images रखने के लिए बनाए रखता है ताकि उन्हें तुरंत reload किया जा सके।
Watch out
Swapping बनाम Paging की उलझन
एक classic university exam ग़लती swapping और paging शब्दों को अदल-बदल कर इस्तेमाल करना है। विशुद्ध swapping में, operating system पूरी process को RAM और disk के बीच एक अकेले पूरे block के रूप में move करता है। इसके उलट, paging एक process को छोटे बराबर टुकड़ों में तोड़ता है जिन्हें pages कहते हैं और ज़रूरत के हिसाब से individual टुकड़े move करता है। यह लिखना कि swapping एक program के छोटे individual टुकड़े move करता है आपके paper पर आपके marks ले लेगा।
Theory
Unit 4 में Linux Swap Partitions
आप इस concept से Unit 4 में जीवंत मिलेंगे जब हम अपने LabOne server पर Linux install करने का अभ्यास करते हैं। installation चरणों के दौरान, आपसे swap space नामक एक समर्पित partition बनाने को कहा जाएगा। यह swap partition एक backing store का असली दुनिया कार्यान्वयन है, यह सुनिश्चित करते हुए कि आपका Linux system चालू रहे भले कई students बिल्कुल एक ही समय पर विशाल tasks load करें।
Summary
Key takeaways
- Swapping RAM उपयोग optimize करने के लिए पूरी processes को main memory और secondary storage के बीच move करता है।
- backing store एक तेज़ disk क्षेत्र है जो सिर्फ़ swapped out processes रखने के लिए इस्तेमाल होता है।
- Swap out एक process को RAM से disk में copy करता है, जबकि swap in इसे वापस RAM में copy करता है।
- swapping का मुख्य दंड धीमी disk access गति के कारण ऊँचा transfer time है।
- विशुद्ध swapping पूरे programs को शामिल करता है, जबकि paging छोटे fixed टुकड़ों से निपटता है।
- Memory hook: RAM भरी है, disk पर धकेलो: swap out करो जोखिम बचाने को!