लिनक्स कर्नेल में, किसी प्रक्रिया के मेमोरी क्षेत्रों को संग्रहीत करने के लिए, लिनक्स एक लिंक्ड सूची और लाल-काले पेड़ दोनों का उपयोग करता है। find_vma एक ऐसा फ़ंक्शन है जो पहले मेमोरी क्षेत्र का पता लगाता है जिसका vm_end फ़ील्ड लाल काले पेड़ के माध्यम से पारित पते से अधिक है। हालांकि, मुझे लगता है कि find_vma() के अंदर लाल काले पेड़ के लिए कोई सुरक्षा (लॉक की तरह) नहीं है। क्या होगा यदि एक और धागा पेड़ पर कुछ तत्व हटाने के लिए rb_erase फ़ंक्शन को कॉल करता है?कर्नेल में लाल काला पेड़ संरक्षित नहीं है?
5
A
उत्तर
2
हां, find_vma फ़ंक्शन कॉल सेमफोर के माध्यम से समवर्ती पहुंच से संरक्षित है। शेड्यूलर में फ़ंक्शन का उपयोग सैमफोर कॉल के साथ किया जाता है।
2209 down_read(&mm->mmap_sem);
2210 vma = find_vma(mm, start);
....
up_read(&mm->mmap_sem);
mmap_sem is used to protect this function call which is a read-write semaphore.
struct rw_semaphore mmap_sem; defined inside struct mm_struct.
संबंधित मुद्दे
- 1. सॉर्टेड डिक्शनरी एक लाल-काला पेड़ है?
- 2. क्या मेरा लाल डेटा का लाल-काला पेड़ है?
- 3. लाल काला पेड़ छद्म कोड रिडंडेंसी
- 4. लाल पेड़ बनाम बी पेड़
- 5. लाल-काले पेड़ कैसे काम करता है?
- 6. ढेर या लाल-काले पेड़?
- 7. लाल-काले पेड़ के अनुप्रयोग
- 8. क्या प्रत्येक वैध लाल-काले पेड़ मौजूद हो सकता है?
- 9. लाल काले पेड़ की सबसे खराब स्थिति की काला ऊंचाई के लिए सम्मिलन का आदेश
- 10. जावास्क्रिप्ट: एक सभ्य लाल काले पेड़ कार्यान्वयन की आवश्यकता है
- 11. क्या बीओएल पेड़ पेटेंट द्वारा संरक्षित हैं?
- 12. लाल-काले पेड़ के एसटीएल के आंतरिक कार्यान्वयन का उपयोग
- 13. जावा ट्रीमैप के लिए लाल-काले पेड़ आधारित कार्यान्वयन क्यों?
- 14. प्लॉटिंग (कॉर्मन) लाल-काले पेड़ डालने के अजीब परिणाम
- 15. संरक्षित मोड में BIOS इंटरप्ट्स
- 16. पेड़ रिवाइटिंग
- 17. ट्री बनाम लाल-काले पेड़: जो अंतरिक्ष और समय में बेहतर है?
- 18. निर्मित png छवि काला
- 19. एक्सकोड 4.3.1 क्यों इस संरक्षित चर के माध्यम से लाल स्ट्राइकथ्रू डाल रहा है?
- 20. क्या GRUB संरक्षित मोड में स्विच करता है?
- 21. फ़ायरफ़ॉक्स में DOCTYPE लाइन लाल क्यों है?
- 22. कर्नेल अनुभाग मेल नहीं खाता क्या है?
- 23. लाल-काले पेड़ों को जोड़ना
- 24. मुझे एक साधारण लाल-काले पेड़ कार्यान्वयन कहां मिल सकता है?
- 25. मल्टीमैप में सम्मिलन आदेश संरक्षित क्यों नहीं है?
- 26. एफ # में संरक्षित एक्सेस संशोधक क्यों नहीं है?
- 27. नेविगेशनबार शीर्षक काला रंग
- 28. UISearchController नियंत्रक काला
- 29. नेटबीन्स - बंद करें - लाल लाल रेखांकित - कैसे?
- 30. जेसीआरपी पारदर्शी छवि काला
क्या यह आरसीयू के माध्यम से प्रबंधित नहीं है? – Joe
ऐसा लगता है कि 'find_vma' को समवर्ती पहुंच (संशोधन) से कुछ सुरक्षा के साथ बुलाया जाना चाहिए। @ जो: सूचियों के विपरीत, आरसीयू द्वारा आरबी-पेड़ को संरक्षित नहीं किया जा सकता है। – Tsyvarev
@Tsyvarev आपके उत्तर के लिए धन्यवाद। मैं आपसे सहमत हुँ। उदाहरण के लिए, [sys_msync] में (http://lxr.free-electrons.com/source/mm/filemap.c?v=2.4.37#L2381) ('msync' का सिस्टम कॉल), यह' डाउन_read 'कहता है (और वर्तमान-> मिमी-> mmap_sem) 'पहले और फिर' find_vma'। क्या यह लाल काले पेड़ की रक्षा करता है? – HuangJie