Memory management (operating systems)
இயக்க முறைமைகளில், நினைவக மேலாண்மை என்பது கணினியின் முதன்மை நினைவகத்தை நிர்வகிக்கும் பொறுப்பாகும். நினைவக மேலாண்மை செயல்பாடு ஒதுக்கப்பட்ட அல்லது இலவசமாக ஒவ்வொரு நினைவக இருப்பிடத்தின் நிலையையும் கண்காணிக்கிறது. இது போட்டி செயல்முறைகளுக்கு இடையில் நினைவகம் எவ்வாறு ஒதுக்கப்படுகிறது என்பதை தீர்மானிக்கிறது, எது நினைவகத்தைப் பெறுகிறது, எப்போது அதைப் பெறுகிறது, எவ்வளவு அனுமதிக்கப்படுகிறது என்பதை தீர்மானிக்கிறது. நினைவகம் ஒதுக்கப்படும்போது அது எந்த நினைவக இருப்பிடங்கள் ஒதுக்கப்படும் என்பதை தீர்மானிக்கிறது. நினைவகம் விடுவிக்கப்படும்போது அல்லது ஒதுக்கப்படாதபோது இது கண்காணிக்கிறது மற்றும் நிலையை புதுப்பிக்கிறது. இது பயன்பாட்டு நினைவக மேலாண்மையிலிருந்து வேறுபட்டது, இது ஒரு செயல்முறை இயக்க முறைமையால் ஒதுக்கப்பட்ட நினைவகத்தை எவ்வாறு நிர்வகிக்கிறது. நினைவக மேலாண்மை நுட்பங்கள் ஒற்றை தொடர்ச்சியான ஒதுக்கீடு ஒற்றை ஒதுக்கீடு என்பது எளிய நினைவக மேலாண்மை நுட்பமாகும். கணினியின் அனைத்து நினைவகங்களும், பொதுவாக இயக்க முறைமைக்காக ஒதுக்கப்பட்ட ஒரு சிறிய பகுதியை தவிர, ஒரு பயன்பாட்டிற்கு மட்டுமே கிடைக்கும். இந்த வழியில் நினைவகத்தை ஒதுக்கும் அமைப்புக்கு MS-DOS ஒரு எடுத்துக்காட்டு. ஒரே பயன்பாட்டை இயக்கும் உட்பொதிக்கப்பட்ட அமைப்பும் இந்த நுட்பத்தைப் பயன்படுத்தலாம். ஒற்றை தொடர்ச்சியான ஒதுக்கீட்டைப் பயன்படுத்தும் ஒரு அமைப்பு பயனர்களிடையே மாற நினைவகத்தின் உள்ளடக்கங்களை மாற்றுவதன் மூலம் இன்னும் பல பணிகளைச் செய்யலாம். இசை இயக்க முறைமையின் ஆரம்ப பதிப்புகள் இந்த நுட்பத்தைப் பயன்படுத்தின. பகிர்வு செய்யப்பட்ட ஒதுக்கீடு முதன்மை நினைவகத்தை பல நினைவக பகிர்வுகளாகப் பிரிக்கிறது, பொதுவாக நினைவகத்தின் தொடர்ச்சியான பகுதிகள். ஒவ்வொரு பிரிவிலும் ஒரு குறிப்பிட்ட வேலை அல்லது பணிக்கான அனைத்து தகவல்களும் இருக்கலாம். நினைவக மேலாண்மை என்பது ஒரு வேலை தொடங்கும் போது ஒரு பகிர்வை ஒதுக்குவது மற்றும் வேலை முடிவடையும் போது அதை ஒதுக்குவது ஆகும். பகிர்வு செய்யப்பட்ட ஒதுக்கீட்டுக்கு பொதுவாக வேலைகள் ஒருவருக்கொருவர் அல்லது இயக்க முறைமையில் தலையிடுவதைத் தடுக்க சில வன்பொருள் ஆதரவு தேவைப்படுகிறது. ஐபிஎம் சிஸ்டம்/360 ஒரு பூட்டு மற்றும் விசை நுட்பத்தைப் பயன்படுத்தியது. பிற அமைப்புகள் அடிப்படை மற்றும் எல்லை பதிவேடுகளைப் பயன்படுத்தின, அவை பகிர்வின் வரம்புகளைக் கொண்டிருந்தன மற்றும் தவறான அணுகல்களைக் குறிக்கின்றன. UNIVAC 1108 சேமிப்பு வரம்புகள் பதிவேட்டில் அறிவுறுத்தல்கள் மற்றும் தரவுகளுக்காக தனித்தனி அடிப்படை/கட்டுப்பட்ட தொகுப்புகள் இருந்தன. ஐ வங்கி மற்றும் டி வங்கி என்று அழைக்கப்படுவதை தனித்தனி நினைவக தொகுதிகளில் வைக்க இந்த அமைப்பு நினைவக இன்டர்லீவிங்கைப் பயன்படுத்திக் கொண்டது. பகிர்வுகள் நிலையானதாக இருக்கலாம், இது ஆரம்ப நிரல் சுமை (ஐ. பி. எல்) அல்லது துவக்க நேரத்தில் வரையறுக்கப்படுகிறது, அல்லது கணினி ஆபரேட்டரால் வரையறுக்கப்படுகிறது, அல்லது டைனமிக், அதாவது ஒரு குறிப்பிட்ட பணிக்காக தானாகவே உருவாக்கப்படுகிறது. ஐபிஎம் சிஸ்டம்/360 ஆப்பரேட்டிங் சிஸ்டம் மல்டிப்ரோகிராமிங் ஒரு நிலையான எண்ணிக்கையிலான பணிகளுடன் (எம்எஃப்டி) நிலையான பகிர்வுக்கு ஒரு எடுத்துக்காட்டு, மேலும் மாறுபட்ட எண்ணிக்கையிலான பணிகளுடன் (எம்விடி) மல்டிப்ரோகிராமிங் என்பது மாறும் தன்மைக்கு ஒரு எடுத்துக்காட்டு. எம்விடி மற்றும் வாரிசுகள் மற்ற அமைப்புகளில் உள்ள நிலையானவற்றிலிருந்து மாறும் பகிர்வுகளை வேறுபடுத்திப் பார்க்க பிராந்தியம் என்ற வார்த்தையைப் பயன்படுத்துகின்றனர். பரோஸ் கார்ப்பரேஷன் B5500 போன்ற வன்பொருள் தட்டச்சு செய்யப்பட்ட நினைவகம் அல்லது PDP-10 அல்லது GE-635 போன்ற அடிப்படை மற்றும் எல்லை பதிவேடுகளைப் பயன்படுத்தி பகிர்வுகள் இடமாற்றம் செய்யப்படலாம். இடமாற்றம் செய்யக்கூடிய பகிர்வுகள் தொடர்ச்சியான உடல் நினைவகத்தின் பெரிய துண்டுகளை வழங்குவதற்காக சுருக்கப்படலாம். சுருக்கமானது பெரிய தொடர்ச்சியான இலவச பகுதிகளை உருவாக்குவதற்காக செயல்முறை நிறுத்தத்தால் ஏற்படும் "துளைகள்" அல்லது பயன்படுத்தப்படாத நினைவக பகுதிகளை அகற்ற நினைவகத்தின் "பயன்பாட்டில் உள்ள" பகுதிகளை நகர்த்துகிறது. சில அமைப்புகள் கூடுதல் நினைவகத்தை விடுவிக்க பகிர்வுகளை இரண்டாம் நிலை சேமிப்பகத்திற்கு மாற்ற அனுமதிக்கின்றன. ஐபிஎம் இன் டைம் ஷேரிங் ஆப்ஷனின் (டிஎஸ்ஓ) ஆரம்ப பதிப்புகள் நேர பகிர்வு பகிர்வுகளுக்கு உள்ளேயும் வெளியேயும் பயனர்களை மாற்றிக் கொண்டன. பக்க நினைவக மேலாண்மை பக்க ஒதுக்கீடு கணினியின் முதன்மை நினைவகத்தை பக்க பிரேம்கள் எனப்படும் நிலையான அளவிலான அலகுகளாகவும், நிரலின் மெய்நிகர் முகவரி இடத்தை அதே அளவிலான பக்கங்களாகவும் பிரிக்கிறது. வன்பொருள் நினைவக மேலாண்மை அலகு பக்கங்களை பிரேம்களுக்கு வரைபடமாக்குகிறது. முகவரி இடம் தொடர்ச்சியாகத் தோன்றும் போது இயற்பியல் நினைவகத்தை ஒரு பக்க அடிப்படையில் ஒதுக்கலாம். வழக்கமாக, பக்க நினைவக மேலாண்மையுடன், ஒவ்வொரு வேலையும் அதன் சொந்த முகவரி இடத்தில் இயங்குகிறது. இருப்பினும், ஒரே முகவரி இடத்திற்குள் அனைத்து செயல்முறைகளையும் இயக்கும் சில ஒற்றை முகவரி இட இயக்க முறைமைகள் உள்ளன, எடுத்துக்காட்டாக ஐபிஎம் ஐ, இது ஒரு பெரிய முகவரி இடத்திற்குள் அனைத்து செயல்முறைகளையும் இயக்குகிறது, மேலும் ஐபிஎம் ஓஎஸ்/விஎஸ் 2 (எஸ். வி. எஸ்), இது அனைத்து வேலைகளையும் ஒரே 16 எம்ஐபி மெய்நிகர் முகவரி இடத்தில் இயக்கியது. முதன்மை மற்றும் இரண்டாம் நிலை நினைவகத்திற்கு இடையில் தேவைக்கேற்ப கணினி பக்கங்களை நகர்த்தும்போது பக்க நினைவகத்தை கோரிக்கை-பக்கமாக மாற்றலாம். பிரிக்கப்பட்ட நினைவக மேலாண்மை என்பது ஒரே நினைவக மேலாண்மை நுட்பமாகும், இது பயனரின் நிரலுக்கு "நேரியல் மற்றும் தொடர்ச்சியான முகவரி இடத்தை" வழங்காது. பிரிவுகள் என்பது நினைவகத்தின் பகுதிகளாகும், அவை பொதுவாக குறியீடு செயல்முறை அல்லது தரவு வரிசை போன்ற தகவல்களின் தர்க்கரீதியான குழுவுடன் ஒத்திருக்கின்றன. பிரிவுகளுக்கு ஒரு பிரிவு அட்டவணையின் வடிவத்தில் வன்பொருள் ஆதரவு தேவைப்படுகிறது, இது வழக்கமாக நினைவகத்தில் உள்ள பிரிவின் இயற்பியல் முகவரி, அதன் அளவு மற்றும் அணுகல் பாதுகாப்பு பிட்கள் மற்றும் நிலை (மாற்றப்பட்டது, மாற்றப்பட்டது போன்றவை) போன்ற பிற தரவுகளைக் கொண்டுள்ளது. நினைவக குறிப்புகள் ஒரு குறிப்பிட்ட பிரிவுடன் தொடர்புடையவை என்பதால், பிரிவு மற்ற திட்டங்களைக் காட்டிலும் சிறந்த அணுகல் பாதுகாப்பை அனுமதிக்கிறது, மேலும் அந்த பிரிவுக்கு வரையறுக்கப்படாத நினைவகத்தைக் குறிப்பிட பயன்பாட்டை வன்பொருள் அனுமதிக்காது. பேஜிங்குடன் அல்லது இல்லாமல் பிரிவினையை செயல்படுத்த முடியும். பேஜிங் ஆதரவு இல்லாமல் பிரிவு என்பது தேவைப்பட்டால் நினைவகத்திற்கு உள்ளேயும் வெளியேயும் மாற்றப்படும் இயற்பியல் அலகு ஆகும். பேஜிங் ஆதரவுடன் பக்கங்கள் வழக்கமாக பரிமாற்றத்தின் அலகு மற்றும் பிரிவு ஒரு கூடுதல் அளவிலான பாதுகாப்பை மட்டுமே சேர்க்கிறது. ஒரு பிரிக்கப்பட்ட அமைப்பில் உள்ள முகவரிகள் பொதுவாக பிரிவு ஐடி மற்றும் பிரிவு அடிப்படை முகவரியுடன் தொடர்புடைய ஒரு ஆஃப்செட் ஆகியவற்றைக் கொண்டுள்ளன, அவை ஆஃப்செட் பூஜ்ஜியமாக வரையறுக்கப்படுகின்றன. இன்டெல் IA-32 (x86) கட்டமைப்பு ஒரு செயல்முறையை 4GiB வரை 16,383 பிரிவுகளைக் கொண்டிருக்க அனுமதிக்கிறது. IA-32 பிரிவுகள் கணினியின் நேரியல் முகவரி இடத்தின் உட்பிரிவுகளாகும், இது பேஜிங் வன்பொருளால் வழங்கப்படும் மெய்நிகர் முகவரி இடமாகும். மல்டிக்ஸ் இயக்க முறைமை அநேகமாக பிரிக்கப்பட்ட நினைவகத்தை செயல்படுத்தும் சிறந்த அறியப்பட்ட அமைப்பாகும். மல்டிக்ஸ் பிரிவுகள் 256 பக்கங்கள் வரை கணினியின் இயற்பியல் நினைவகத்தின் உட்பிரிவுகளாகும், ஒவ்வொரு பக்கமும் 1K 36-பிட் சொற்களின் அளவாக இருக்கும், இதன் விளைவாக அதிகபட்ச பிரிவு அளவு 1MiB (மல்டிக்ஸில் பயன்படுத்தப்படுவது போல 9-பிட் பைட்டுகளுடன்) இருக்கும். ஒரு செயல்முறை 4046 பிரிவுகள் வரை இருக்கலாம். ரோல்அவுட்/ரோல்அவுட்/ரோல்இன் (ஆர்ஓ/ஆர்ஐ) என்பது ஒரு கணினி இயக்க முறைமை நினைவக மேலாண்மை நுட்பமாகும், இதில் ஒரு இயங்கும் நிரலின் முழு பகிரப்படாத குறியீடு மற்றும் தரவு மற்றொரு பணிக்கு இலவச பிரதான சேமிப்பகத்திற்கு துணை நினைவகத்திற்கு (வட்டு அல்லது டிரம்) மாற்றப்படுகிறது. திட்டங்கள் "கோரிக்கை முடிவில் or.when சில நீண்ட நிகழ்வுக்காக காத்திருக்கின்றன" மூலம் வெளியிடப்படலாம். ரோல்அவுட்/ரோலின் பொதுவாக நேரப் பகிர்வு அமைப்புகளில் பயன்படுத்தப்பட்டது, அங்கு பயனரின் "சிந்தனை நேரம்" இடமாற்றத்தைச் செய்வதற்கான நேரத்துடன் ஒப்பிடும்போது ஒப்பீட்டளவில் நீண்டதாக இருந்தது. மெய்நிகர் சேமிப்பு-பேஜிங் அல்லது பிரிவு போலல்லாமல், வெளியீடு/ரோலின் எந்த சிறப்பு நினைவக மேலாண்மை வன்பொருள் தேவையில்லை; இருப்பினும், கணினியில் நினைவக வரைபடம் அல்லது அடிப்படை மற்றும் வரம்புகள் பதிவேடுகள் போன்ற இடமாற்ற வன்பொருள் இல்லையென்றால், நிரல் அதன் அசல் நினைவக இருப்பிடங்களுக்கு மீண்டும் உருட்டப்பட வேண்டும். ரோல்அவுட்/ரோலின் பெரும்பாலும் மெய்நிகர் நினைவகத்தால் மாற்றப்பட்டுள்ளது. ரோல்அவுட்/ரோலின் என்பது ஓஎஸ்/360 மல்டிப்ரோகிராமிங்கின் ஒரு விருப்ப அம்சமாகும், இது மாறுபட்ட எண்ணிக்கையிலான பணிகளுடன் (எம்விடி) ரோல்அவுட்/ரோலின் ஒரு குறிப்பிட்ட வேலையை அதன் முதலில் குறிப்பிடப்பட்ட பகுதிக்கு அப்பால் தற்காலிக, மாறும் விரிவாக்கத்தை அனுமதிக்கிறது. ஒரு வேலைக்கு அதிக இடம் தேவைப்படும்போது, வேலையின் பயன்பாட்டிற்காக ஒதுக்கப்படாத சேமிப்பகத்தைப் பெற ரோல் அவுட்/ரோலின் முயற்சிக்கிறது. அத்தகைய ஒதுக்கப்படாத சேமிப்பு இல்லையென்றால், மற்றொரு வேலை தொடங்கப்படுகிறது-அதாவது, துணை சேமிப்பகத்திற்கு மாற்றப்படுகிறது-இதனால் அதன் பகுதி முதல் வேலையால் பயன்படுத்தப்படலாம். முதல் வேலையால் வெளியிடப்படும்போது, இந்த கூடுதல் சேமிப்பு மீண்டும் கிடைக்கிறது, ஒன்று (1) ஒதுக்கப்படாத சேமிப்பாக, அது அதன் ஆதாரமாக இருந்தால், அல்லது (2) மீண்டும் பிரதான சேமிப்பகத்திற்கு மாற்றப்பட வேண்டிய வேலையைப் பெற (உருட்டப்பட்டது). OS/360 இல், ரோல்அவுட்/ரோலின் தொகுதி வேலைகளுக்கு மட்டுமே பயன்படுத்தப்பட்டது, மேலும் ரோலின் பகுதி கடன் வாங்கும் வேலை முடிவடையும் வரை ஏற்படாது. மேலும் காண்க நினைவக அதிகப்படியான அர்ப்பணிப்பு நினைவக பாதுகாப்பு x86 நினைவக பிரிவு குறிப்புகள் குறிப்புகள் இயக்க முறைமைகள்