இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

இயக்க முறைமைகளுக்கான அறிமுகம்

ஹே ஹப்ர்! எனது கருத்தில் ஒரு சுவாரஸ்யமான இலக்கியத்தின் தொடர்ச்சியான கட்டுரைகள்-மொழிபெயர்ப்புகளை உங்கள் கவனத்திற்குக் கொண்டு வர விரும்புகிறேன் - OSTEP. இந்த பொருள் யுனிக்ஸ் போன்ற இயக்க முறைமைகளின் வேலையை மிகவும் ஆழமாக விவாதிக்கிறது, அதாவது, செயல்முறைகள், பல்வேறு திட்டமிடுபவர்கள், நினைவகம் மற்றும் நவீன OS ஐ உருவாக்கும் பிற ஒத்த கூறுகளுடன் வேலை செய்கிறது. அனைத்து பொருட்களின் அசல் தன்மையையும் இங்கே காணலாம் இங்கே. மொழிபெயர்ப்பானது தொழில்சார்ந்த முறையில் (மிகவும் சுதந்திரமாக) செய்யப்பட்டது என்பதைக் கவனத்தில் கொள்ளவும், ஆனால் நான் பொதுவான அர்த்தத்தைத் தக்க வைத்துக் கொண்டேன் என்று நம்புகிறேன்.

இந்த விஷயத்தில் ஆய்வக வேலைகளை இங்கே காணலாம்:

மற்ற பாகங்கள்:

எனது சேனலையும் நீங்கள் பார்க்கலாம் தந்தி =)

பயனர்களுக்கு OS வழங்கும் மிக அடிப்படையான சுருக்கத்தைப் பார்ப்போம்: செயல்முறை. செயல்முறையின் வரையறை மிகவும் எளிது - அது இயங்கும் நிரல். நிரல் என்பது வட்டில் அமைந்துள்ள ஒரு உயிரற்ற விஷயம் - இது அறிவுறுத்தல்களின் தொகுப்பு மற்றும் சில நிலையான தரவு தொடங்கப்படுவதற்கு காத்திருக்கிறது. OS தான் அந்த பைட்டுகளை எடுத்து அவற்றை இயக்கி, நிரலை பயனுள்ள ஒன்றாக மாற்றுகிறது.
பெரும்பாலும், பயனர்கள் ஒரே நேரத்தில் ஒன்றுக்கு மேற்பட்ட நிரல்களை இயக்க விரும்புகிறார்கள், எடுத்துக்காட்டாக, உங்கள் லேப்டாப்பில் உலாவி, கேம், மீடியா பிளேயர், டெக்ஸ்ட் எடிட்டர் போன்றவற்றை இயக்கலாம். உண்மையில், ஒரு பொதுவான அமைப்பு பத்து அல்லது நூற்றுக்கணக்கான செயல்முறைகளை ஒரே நேரத்தில் இயக்க முடியும். இந்த உண்மை கணினியைப் பயன்படுத்துவதை எளிதாக்குகிறது, CPU இலவசமா என்பதைப் பற்றி நீங்கள் கவலைப்பட வேண்டியதில்லை, நீங்கள் நிரல்களை இயக்குகிறீர்கள்.

இது சிக்கலை எழுப்புகிறது: பல CPUகளின் மாயையை எவ்வாறு வழங்குவது? உங்களிடம் ஒரே ஒரு இயற்பியல் CPU மட்டுமே இருந்தாலும், OS ஆனது கிட்டத்தட்ட எண்ணற்ற CPUகளின் மாயையை எவ்வாறு உருவாக்க முடியும்?

OS இந்த மாயையை CPU மெய்நிகராக்கத்தின் மூலம் உருவாக்குகிறது. ஒரு செயல்முறையைத் தொடங்குவதன் மூலம், அதை நிறுத்துவதன் மூலம், மற்றொரு செயல்முறையைத் தொடங்குவதன் மூலம், பல மெய்நிகர் CPUகள் உள்ளன என்ற மாயையை OS பராமரிக்க முடியும், உண்மையில் ஒன்று அல்லது அதற்கு மேற்பட்ட இயற்பியல் செயலிகள் இருக்கும். இந்த நுட்பம் அழைக்கப்படுகிறது காலப்போக்கில் CPU வளங்களை பிரித்தல். இந்த நுட்பம் பயனர்கள் விரும்பும் பல ஒரே நேரத்தில் செயல்முறைகளை இயக்க அனுமதிக்கிறது. இந்த தீர்வின் விலை செயல்திறன் - CPU பல செயல்முறைகளால் பகிரப்பட்டால், ஒவ்வொரு செயல்முறையும் மிகவும் மெதுவாக செயலாக்கப்படும்.
CPU மெய்நிகராக்கத்தை செயல்படுத்த, குறிப்பாக அதை சிறப்பாக செய்ய, OS க்கு குறைந்த நிலை மற்றும் உயர் நிலை ஆதரவு தேவை. குறைந்த நிலை ஆதரவு அழைக்கப்படுகிறது வழிமுறைகள் செயல்பாட்டின் தேவையான பகுதியை செயல்படுத்தும் குறைந்த-நிலை முறைகள் அல்லது நெறிமுறைகள். இத்தகைய செயல்பாட்டிற்கு ஒரு எடுத்துக்காட்டு சூழல் மாறுதல் ஆகும், இது OS க்கு ஒரு நிரலை நிறுத்தி மற்றொரு நிரலை செயலியில் இயக்கும் திறனை வழங்குகிறது. இந்த நேரப் பிரிவு அனைத்து நவீன இயக்க முறைமைகளிலும் செயல்படுத்தப்படுகிறது.
இந்த வழிமுறைகளுக்கு மேல் OS இல் "கொள்கைகள்" வடிவத்தில் சில தர்க்கம் கட்டமைக்கப்பட்டுள்ளது. கொள்கை இயக்க முறைமைக்கான ஒரு குறிப்பிட்ட முடிவெடுக்கும் அல்காரிதம் ஆகும். அத்தகைய கொள்கைகள், எடுத்துக்காட்டாக, எந்த நிரலை (கட்டளைகளின் பட்டியலிலிருந்து) முதலில் தொடங்க வேண்டும் என்பதைத் தீர்மானிக்கிறது. எனவே, எடுத்துக்காட்டாக, இந்த பிரச்சனை ஒரு கொள்கை மூலம் தீர்க்கப்படும் திட்டமிடுபவர் (திட்டமிடல் கொள்கை) மற்றும் ஒரு தீர்வைத் தேர்ந்தெடுக்கும் போது, ​​இது போன்ற தரவுகளால் வழிநடத்தப்படும்: தொடக்க வரலாறு (கடைசி நிமிடங்களில் எந்த நிரல் மிக நீண்டதாக தொடங்கப்பட்டது), இந்த செயல்முறை என்ன சுமைகளைக் கொண்டுள்ளது (எந்த வகையான நிரல்களைத் தொடங்கப்பட்டது), செயல்திறன் அளவீடுகள் (கணினியாக இருந்தாலும் சரி ஊடாடும் தொடர்பு அல்லது செயல்திறனுக்காக உகந்ததாக உள்ளது ) மற்றும் பல.

சுருக்கம்: செயல்முறை

இயக்க முறைமையால் செயல்படுத்தப்படும் இயங்கும் நிரலின் சுருக்கத்தை நாம் அழைக்கிறோம் செயல்முறை. முன்னர் குறிப்பிட்டபடி, ஒரு செயல்முறையானது, எந்த ஒரு உடனடி நேரத்திலும் இயங்கும் நிரலாகும். இந்த நிரல் அணுகும் அல்லது அதன் செயல்பாட்டின் போது பாதிக்கும் பல்வேறு கணினி ஆதாரங்களில் இருந்து சுருக்கமான தகவலைப் பெறக்கூடிய ஒரு நிரல்.
செயல்முறையின் கூறுகளைப் புரிந்து கொள்ள, நீங்கள் அமைப்பின் நிலைகளைப் புரிந்து கொள்ள வேண்டும்: நிரல் அதன் செயல்பாட்டின் போது என்ன படிக்கலாம் அல்லது மாற்றலாம். எந்த நேரத்திலும், நிரலின் செயல்பாட்டிற்கு கணினியின் எந்த கூறுகள் முக்கியம் என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்.
செயல்முறையை உள்ளடக்கிய அமைப்பின் வெளிப்படையான கூறுகளில் ஒன்று நினைவகம். அறிவுறுத்தல்கள் நினைவகத்தில் அமைந்துள்ளன. நிரல் படிக்கும் அல்லது எழுதும் தரவு நினைவகத்தில் அமைந்துள்ளது. எனவே, ஒரு செயல்முறை உரையாற்றக்கூடிய நினைவகம் (முகவரி இடம் என்று அழைக்கப்படுகிறது) செயல்முறையின் ஒரு பகுதியாகும்.
கணினி நிலையின் ஒரு பகுதியும் பதிவேடுகள் ஆகும். பல அறிவுறுத்தல்கள் பதிவேடுகளின் மதிப்பை மாற்றுவதையோ அல்லது அவற்றின் மதிப்பைப் படிப்பதையோ நோக்கமாகக் கொண்டுள்ளன, இதனால் பதிவேடுகள் செயல்முறையின் செயல்பாட்டின் முக்கிய பகுதியாகும்.
இயந்திர நிலையும் சில சிறப்புப் பதிவேடுகளிலிருந்து உருவாகிறது என்பதைக் கவனத்தில் கொள்ள வேண்டும். உதாரணத்திற்கு, ஐபி - அறிவுறுத்தல் சுட்டி — நிரல் தற்போது செயல்படுத்தும் அறிவுறுத்தலுக்கான ஒரு சுட்டி. கூட உள்ளது அடுக்கு சுட்டிக்காட்டி மற்றும் அது தொடர்பான சட்ட சுட்டி, நிர்வகிக்கப் பயன்படும்: செயல்பாட்டு அளவுருக்கள், உள்ளூர் மாறிகள் மற்றும் திரும்பும் முகவரிகள்.
இறுதியாக, நிரல்கள் பெரும்பாலும் ROM ஐ அணுகும் (படிக்க மட்டும் நினைவகம்). இந்த "I/O" (உள்ளீடு/வெளியீடு) தகவலில் தற்போது செயல்பாட்டின் மூலம் திறக்கப்பட்ட கோப்புகளின் பட்டியல் இருக்க வேண்டும்.

செயல்முறை API

செயல்முறை எவ்வாறு செயல்படுகிறது என்பதைப் பற்றிய நமது புரிதலை மேம்படுத்த, எந்த இயக்க முறைமை இடைமுகத்திலும் சேர்க்கப்பட வேண்டிய கணினி அழைப்புகளின் எடுத்துக்காட்டுகளைப் படிப்போம். இந்த APIகள் ஏதேனும் ஒரு OS இல் ஏதேனும் ஒரு வடிவத்தில் கிடைக்கும்.

உருவாக்கு (உருவாக்கம்): புதிய செயல்முறைகளை உருவாக்க உங்களை அனுமதிக்கும் சில முறைகளை OS சேர்க்க வேண்டும். முனையத்தில் கட்டளையை உள்ளிடும்போது அல்லது ஒரு ஐகானில் இருமுறை கிளிக் செய்வதன் மூலம் ஒரு பயன்பாட்டைத் தொடங்கும்போது, ​​ஒரு புதிய செயல்முறையை உருவாக்க OS க்கு அழைப்பு அனுப்பப்பட்டு பின்னர் குறிப்பிட்ட நிரலைத் தொடங்கவும்.
அகற்றுதல்: ஒரு செயல்முறையை உருவாக்குவதற்கு ஒரு இடைமுகம் இருப்பதால், ஒரு செயல்முறையை அகற்றுவதை கட்டாயப்படுத்தும் திறனையும் OS வழங்க வேண்டும். பெரும்பாலான ப்ரோகிராம்கள் இயற்கையாகவே அவை இயங்கும்போது தானாகவே தொடங்கும் மற்றும் முடிவடையும். இல்லையெனில், பயனர் அவர்களைக் கொல்ல முடியும், இதனால் செயல்முறையை நிறுத்த ஒரு இடைமுகம் பயனுள்ளதாக இருக்கும்.
காத்திரு (காத்திருப்பது): சில நேரங்களில் ஒரு செயல்முறை முடிவடையும் வரை காத்திருப்பது பயனுள்ளதாக இருக்கும், எனவே காத்திருக்கும் திறனை வழங்கும் சில இடைமுகங்கள் வழங்கப்படுகின்றன.
மற்ற கட்டுப்பாடு (பல்வேறு கட்டுப்பாடு): கொலை மற்றும் செயல்முறைக்காக காத்திருப்பதைத் தவிர, பிற பல்வேறு கட்டுப்பாட்டு முறைகளும் உள்ளன. எடுத்துக்காட்டாக, பெரும்பாலான இயக்க முறைமைகள் ஒரு செயல்முறையை முடக்கும் திறனை வழங்குகின்றன (ஒரு குறிப்பிட்ட காலத்திற்கு அதன் செயல்பாட்டை நிறுத்தவும்) பின்னர் அதை மீண்டும் தொடங்கவும் (செயல்படுத்தலைத் தொடரவும்)
நிலைமை (நிலை): ஒரு செயல்முறையின் நிலையைப் பற்றிய சில தகவல்களைப் பெறுவதற்கு பல்வேறு இடைமுகங்கள் உள்ளன, அதாவது அது எவ்வளவு காலம் இயங்குகிறது அல்லது தற்போது எந்த நிலையில் உள்ளது.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

செயல்முறை உருவாக்கம்: விவரங்கள்

நிரல்கள் எவ்வாறு செயல்முறைகளாக மாற்றப்படுகின்றன என்பது சுவாரஸ்யமான விஷயங்களில் ஒன்றாகும். குறிப்பாக OS எவ்வாறு நிரலை எடுத்து இயக்குகிறது. செயல்முறை எவ்வாறு சரியாக உருவாக்கப்பட்டது.
முதலில், OS நிரல் குறியீடு மற்றும் நிலையான தரவை நினைவகத்தில் ஏற்ற வேண்டும் (செயல்முறை முகவரி இடத்தில்). நிரல்கள் பொதுவாக வட்டு அல்லது திட-நிலை இயக்ககத்தில் சில இயங்கக்கூடிய வடிவத்தில் அமைந்துள்ளன. எனவே, நிரல் மற்றும் நிலையான தரவை நினைவகத்தில் ஏற்றும் செயல்முறைக்கு OS ஆனது அந்த பைட்டுகளை வட்டில் இருந்து படித்து அவற்றை எங்காவது நினைவகத்தில் வைக்க முடியும்.

ஆரம்பகால இயக்க முறைமைகளில், ஏற்றுதல் செயல்முறை ஆர்வத்துடன் செய்யப்பட்டது, அதாவது நிரல் தொடங்கப்படுவதற்கு முன்பு முழு குறியீடும் நினைவகத்தில் ஏற்றப்பட்டது. நவீன இயக்க முறைமைகள் இதை சோம்பேறித்தனமாக செய்கின்றன, அதாவது, நிரல் செயல்பாட்டின் போது தேவைப்படும் போது மட்டுமே குறியீடு அல்லது தரவை ஏற்றுகிறது.

குறியீடு மற்றும் நிலையான தரவு OS நினைவகத்தில் ஏற்றப்பட்டதும், செயல்முறை இயங்குவதற்கு முன் இன்னும் சில விஷயங்களைச் செய்ய வேண்டும். ஸ்டாக்கிற்கு சில அளவு நினைவகம் ஒதுக்கப்பட வேண்டும். நிரல்கள் உள்ளூர் மாறிகள், செயல்பாட்டு அளவுருக்கள் மற்றும் திரும்பும் முகவரிகளுக்கு அடுக்கைப் பயன்படுத்துகின்றன. OS இந்த நினைவகத்தை ஒதுக்குகிறது மற்றும் செயல்முறைக்கு வழங்குகிறது. ஸ்டாக் சில வாதங்களுடன் ஒதுக்கப்படலாம், குறிப்பாக இது முக்கிய() செயல்பாட்டின் அளவுருக்களை நிரப்புகிறது, எடுத்துக்காட்டாக argc மற்றும் argv வரிசையுடன்.

இயக்க முறைமை நிரல் குவியலுக்கு சில நினைவகத்தையும் ஒதுக்கலாம். டைனமிக் ஒதுக்கப்பட்ட தரவை வெளிப்படையாகக் கோர நிரல்களால் குவியல் பயன்படுத்தப்படுகிறது. செயல்பாட்டிற்கு அழைப்பதன் மூலம் நிரல்கள் இந்த இடத்தைக் கோருகின்றன malloc () மற்றும் செயல்பாட்டை அழைப்பதன் மூலம் அதை வெளிப்படையாக அழிக்கிறது இலவச(). இணைக்கப்பட்ட தாள்கள், ஹாஷ் அட்டவணைகள், மரங்கள் மற்றும் பிற தரவு கட்டமைப்புகளுக்கு குவியல் தேவைப்படுகிறது. முதலில், ஒரு சிறிய அளவு நினைவகம் குவியலுக்கு ஒதுக்கப்படுகிறது, ஆனால் காலப்போக்கில், நிரல் இயங்கும் போது, ​​லைப்ரரி API அழைப்பு malloc() மூலம் குவியல் அதிக நினைவகத்தைக் கோரலாம். இந்த அழைப்புகளை திருப்திப்படுத்த உதவும் அதிக நினைவகத்தை ஒதுக்கும் செயல்பாட்டில் இயங்குதளம் ஈடுபட்டுள்ளது.

இயக்க முறைமை துவக்கப் பணிகளையும் செய்யும், குறிப்பாக I/O தொடர்பானவை. எடுத்துக்காட்டாக, UNIX கணினிகளில், இயல்புநிலையாக ஒவ்வொரு செயல்முறையும் நிலையான உள்ளீடு, வெளியீடு மற்றும் பிழைக்கு 3 திறந்த கோப்பு விளக்கங்களைக் கொண்டுள்ளது. இந்த கைப்பிடிகள் நிரல்களை டெர்மினலில் இருந்து உள்ளீட்டைப் படிக்கவும், திரையில் தகவலைக் காண்பிக்கவும் அனுமதிக்கின்றன.

இவ்வாறு, குறியீடு மற்றும் நிலையான தரவை நினைவகத்தில் ஏற்றுவதன் மூலம், அடுக்கை உருவாக்குதல் மற்றும் துவக்குதல் மற்றும் I/O பணிகளைச் செய்வது தொடர்பான பிற வேலைகளைச் செய்வதன் மூலம், OS செயல்முறையை செயல்படுத்துவதற்கான கட்டத்தை தயார் செய்கிறது. இறுதியாக, ஒரு கடைசி பணி மீதமுள்ளது: நிரலை அதன் நுழைவு புள்ளியின் மூலம் இயக்குகிறது, இது முக்கிய() செயல்பாடு என்று அழைக்கப்படுகிறது. பிரதான() செயல்பாட்டைச் செயல்படுத்துவதன் மூலம், OS ஆனது CPU கட்டுப்பாட்டை புதிதாக உருவாக்கப்பட்ட செயல்முறைக்கு மாற்றுகிறது, இதனால் நிரல் இயக்கத் தொடங்குகிறது.

செயல்முறை நிலை

ஒரு செயல்முறை என்றால் என்ன, அது எவ்வாறு உருவாக்கப்படுகிறது என்பதைப் பற்றி இப்போது நாம் புரிந்துகொண்டுள்ளோம், அது இருக்கக்கூடிய செயல்முறை நிலைகளை பட்டியலிடுவோம். எளிமையான வடிவத்தில், ஒரு செயல்முறை பின்வரும் நிலைகளில் ஒன்றில் இருக்கலாம்:
இயங்கும். இயங்கும் போது, ​​செயல்முறை செயலியில் இயங்கும். இதன் பொருள் அறிவுறுத்தல்கள் செயல்படுத்தப்படுகின்றன.
தயார். தயார் நிலையில், செயல்முறை இயக்க தயாராக உள்ளது, ஆனால் சில காரணங்களால் OS குறிப்பிட்ட நேரத்தில் அதை இயக்காது.
தடுக்கப்பட்ட. தடுக்கப்பட்ட நிலையில், ஒரு செயல்முறை சில செயல்பாடுகளைச் செய்கிறது, இது சில நிகழ்வுகள் நிகழும் வரை அதைச் செயல்படுத்தத் தயாராக இருப்பதைத் தடுக்கிறது. ஒரு பொதுவான உதாரணம் என்னவென்றால், ஒரு செயல்முறை IO செயல்பாட்டைத் தொடங்கும் போது, ​​அது தடுக்கப்படும், அதனால் வேறு சில செயல்முறைகள் செயலியைப் பயன்படுத்த முடியும்.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

இந்த நிலைகளை வரைபட வடிவில் நீங்கள் கற்பனை செய்யலாம். படத்தில் நாம் பார்ப்பது போல், OS இன் விருப்பப்படி, செயல்முறை நிலை இயங்கும் மற்றும் தயார்நிலைக்கு இடையில் மாறலாம். ஒரு செயல்முறையின் நிலை READY இலிருந்து இயங்கும் நிலைக்கு மாறும்போது, ​​செயல்முறை திட்டமிடப்பட்டுள்ளது என்று அர்த்தம். எதிர் திசையில் - தளவமைப்பிலிருந்து அகற்றப்பட்டது. ஒரு செயல்முறை தடைசெய்யப்பட்ட தருணத்தில், எடுத்துக்காட்டாக, நான் ஒரு IO செயல்பாட்டைத் தொடங்குகிறேன், சில நிகழ்வுகள் நிகழும் வரை OS அதை இந்த நிலையில் வைத்திருக்கும், எடுத்துக்காட்டாக IO முடிவடையும். இந்த நேரத்தில் READY நிலைக்கு மாறலாம் மற்றும் OS அவ்வாறு முடிவு செய்தால் உடனடியாக இயங்கும் நிலைக்கு மாறலாம்.
இந்த நிலைகளில் இரண்டு செயல்முறைகள் எவ்வாறு நகர்கின்றன என்பதற்கான உதாரணத்தைப் பார்ப்போம். தொடங்குவதற்கு, இரண்டு செயல்முறைகளும் இயங்குகின்றன, ஒவ்வொன்றும் CPU ஐ மட்டுமே பயன்படுத்துகின்றன என்று கற்பனை செய்துகொள்வோம். இந்த வழக்கில், அவர்களின் மாநிலங்கள் இப்படி இருக்கும்.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

பின்வரும் எடுத்துக்காட்டில், முதல் செயல்முறை, சிறிது நேரம் இயங்கிய பிறகு, IO ஐக் கோருகிறது மற்றும் தடுக்கப்பட்ட நிலையில் நுழைகிறது, இது மற்றொரு செயல்முறையை இயக்க அனுமதிக்கிறது (FIG 1.4). செயல்முறை 0 CPU ஐப் பயன்படுத்தவில்லை என்பதை OS பார்த்து, செயல்முறை 1 ஐத் தொடங்குகிறது. செயல்முறை 1 இயங்கும் போது, ​​IO முடிந்தது மற்றும் செயல்முறை 0 இன் நிலை தயாராக உள்ளது. இறுதியாக, செயல்முறை 1 முடிந்தது, முடிந்ததும், செயல்முறை 0 அதன் வேலையைத் தொடங்குகிறது, செயல்படுத்துகிறது மற்றும் முடிக்கிறது.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

தரவு அமைப்பு

OS என்பது ஒரு நிரலாகும், மற்ற நிரல்களைப் போலவே, இது பல்வேறு தொடர்புடைய தகவல்களைக் கண்காணிக்கும் சில முக்கிய தரவு கட்டமைப்புகளைக் கொண்டுள்ளது. ஒவ்வொரு செயல்முறையின் நிலையைக் கண்காணிக்க, OS சிலவற்றை ஆதரிக்கும் செயல்முறை பட்டியல் READY நிலையில் உள்ள அனைத்து செயல்முறைகளுக்கும் மற்றும் தற்போது இயங்கும் செயல்முறைகளைக் கண்காணிக்க சில கூடுதல் தகவல்களுக்கும். மேலும், தடுக்கப்பட்ட செயல்முறைகளை OS கண்காணிக்க வேண்டும். IO முடிந்ததும், OS தேவையான செயல்முறையை எழுப்பி, அதை இயக்கத் தயார் நிலையில் வைக்க வேண்டும்.

எடுத்துக்காட்டாக, செயலி பதிவேடுகளின் நிலையை OS பாதுகாக்க வேண்டும். செயல்முறை நிறுத்தப்படும் தருணத்தில், பதிவேடுகளின் நிலை செயல்முறையின் முகவரி இடத்தில் சேமிக்கப்படுகிறது, மேலும் அதன் செயல்பாடு தொடரும் தருணத்தில், பதிவேடுகளின் மதிப்புகள் மீட்டமைக்கப்படுகின்றன, இதனால் இந்த செயல்முறையை தொடர்ந்து செயல்படுத்துகிறது.

தயாராக, தடுக்கப்பட்ட, இயங்கும் மாநிலங்கள் தவிர, வேறு சில மாநிலங்களும் உள்ளன. சில நேரங்களில், உருவாக்கும் நேரத்தில், ஒரு செயல்முறை INIT நிலையில் இருக்கலாம். இறுதியாக, ஒரு செயல்முறை ஏற்கனவே முடிந்ததும் இறுதி நிலையில் வைக்கப்படலாம், ஆனால் அதன் தகவல் இன்னும் அழிக்கப்படவில்லை. யுனிக்ஸ் அமைப்புகளில் இந்த நிலை அழைக்கப்படுகிறது ஜாம்பி செயல்முறை. பெற்றோர் செயல்முறை ஒரு குழந்தையின் திரும்பக் குறியீட்டை அறிய விரும்பும் நிகழ்வுகளுக்கு இந்த நிலை பயனுள்ளதாக இருக்கும், எடுத்துக்காட்டாக, பொதுவாக 0 வெற்றி மற்றும் 1 பிழையைக் குறிக்கிறது, ஆனால் புரோகிராமர்கள் வெவ்வேறு சிக்கல்களைக் குறிக்க கூடுதல் வெளியீட்டு குறியீடுகளை வழங்கலாம். பெற்றோர் செயல்முறை முடிவடையும் போது, ​​குழந்தை செயல்முறை முடிவடையும் வரை காத்திருந்து, நிறுத்தப்பட்ட செயல்முறையுடன் தொடர்புடைய எந்தத் தரவையும் அழிக்க முடியும் என்று OS க்கு சமிக்ஞை செய்ய காத்திருப்பு() போன்ற இறுதி முறைமை அழைப்பை அது செய்கிறது.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 2: சுருக்கம்: செயல்முறை (மொழிபெயர்ப்பு)

விரிவுரையின் முக்கிய புள்ளிகள்:

செயல்முறை - OS இல் இயங்கும் நிரலின் முக்கிய சுருக்கம். எந்த நேரத்திலும், ஒரு செயல்முறையை அதன் நிலையால் விவரிக்க முடியும்: அதன் முகவரி இடத்தில் உள்ள நினைவகத்தின் உள்ளடக்கங்கள், அறிவுறுத்தல் சுட்டிக்காட்டி மற்றும் ஸ்டாக் பாயிண்டர் உள்ளிட்ட செயலி பதிவேடுகளின் உள்ளடக்கங்கள் மற்றும் திறந்த கோப்புகள் படிக்கப்படும் அல்லது எழுதப்படுவது போன்ற IO தகவல்.
செயல்முறை API நிரல்கள் செயல்முறைகளுக்கு செய்யக்கூடிய அழைப்புகளைக் கொண்டுள்ளது. பொதுவாக இவை உருவாக்குதல், நீக்குதல் அல்லது பிற அழைப்புகள்.
● இந்த செயல்முறை இயங்குவது, தயாராக உள்ளது, தடுக்கப்பட்டது உட்பட பல மாநிலங்களில் ஒன்றாகும். திட்டமிடல், திட்டமிடலில் இருந்து விதிவிலக்குகள் அல்லது காத்திருப்பு போன்ற பல்வேறு நிகழ்வுகள் ஒரு செயல்முறையின் நிலையை ஒன்றிலிருந்து மற்றொன்றுக்கு மாற்றலாம்.
செயல்முறை பட்டியல் கணினியில் உள்ள அனைத்து செயல்முறைகள் பற்றிய தகவல்களையும் கொண்டுள்ளது. அதில் உள்ள ஒவ்வொரு நுழைவும் செயல்முறை கட்டுப்பாட்டு தொகுதி என்று அழைக்கப்படுகிறது, இது உண்மையில் ஒரு குறிப்பிட்ட செயல்முறையைப் பற்றிய தேவையான அனைத்து தகவல்களையும் கொண்ட ஒரு கட்டமைப்பாகும். 

ஆதாரம்: www.habr.com

கருத்தைச் சேர்