பிராசஸ் மானேஜர் மாடூல்
கந்தசாமி; தற்கால சாப்ட்வேர் கம்பெனிகள் மற்றும் பி பி ஓ (BPO¤) நிர்வாகங்கள் எல்லாவற்றிலேயும் பிராசஸ் வார்த்தையை அதிகமா பயன் படுத்தராங்க. இல்லையா? BPO தொழிலில் ஈடுபட்டவர்கள் நான் இந்த பிராசஸ்லே இருக்கேன் இது சுலபம் அந்த பிராசஸ் கடினம் என்பார்கள். அந்த பிராசஸும் உனிக்ஸ் பிராசஸும் ஒண்ணுதான் இல்லையா?
நடராஜன்; பிராசஸ் என்னும் சொல் ஒரு பெரிய செயல் முறையைக் குறிக்கிறது.
திரும்பத் திரும்ப செய்யவேண்டிய எந்த ஒரு வேலையையும் திட்டமிட்டு, செய்முறைகளுக்கு எழுத்தில் வடிவமும் விளக்கமும் தந்து, தவறுகளைக் கண்டு பிடித்து, அவற்றை தவிற்க வழிவகுத்து, பயற்சி அளித்து ஒரு வரிசைக் கிரமமா செஞ்சு வந்தா, அதை ஒரு பிராசஸ் என்று குறிப்பிடலாம்.
இதன் சிறப்பு என்னவென்றால், இப்படிப்பட்ட செயல் முறையில் தவறுகள் மிக மிகக் குறைவாக இருக்கும்.
யுனிக்ஸ்லிலே பிராசஸ்:
யுனிக்ஸ் கம்ப்யூட்டரிலே ஒரு (exe, com போன்ற) எக்ஸிகூட்டபிள் பைல் ஒன்றை ஓட்டுவதற்கு, திட்டமிட்டு, தவறில்லாமல் ஓடவைக்க, ஒரு பிராசஸாக மாற்றி அமைக்கப்படுக்கிறது.
கந்தசாமி: பிராசஸ் என்றும் பிராசஸ் கண்ட்ரோல் என்கிற வார்த்தைகள் தொழில் துறையிலும் பயன்படுத்தப்படுகிறது..
நடராஜன்: இவை தாதுப் பொருட்கள் மற்றும் பல வகை ரசாயனப் பொருள் உற்பத்தி மற்றும் அவை தொடர்பான தொழிற்சாலைகளின் இயந்திரங்கள், அவற்றின் செயல் முறைகளைப் பிராசஸ் என்ற சொல்லுடன் இணைத்துப் பேசப்பட்டது.. இந்த பிராசஸ் தரும் விளக்கமும் முதலில் கண்ட விளக்கமும் ஒன்றேதான்.
பி.பி.ஓ, மற்றும் ரசாயனப் பொருள் உற்பத்தியைப் போலவே யுனிக்ஸின் இயக்கமும் சிக்கல் நிறைந்தது. எனவே, அவற்றை எளிமையாக்க பிராசஸ்களின் அடிப்படையில் யுனிக்ஸ் கட்டமைக்கப் பட்டுள்ளது.
கந்தசாமி; இதன் காரணமாக பிராசஸ் மானேஜர் மாடூல் இயங்கும் விதத்தை விளக்க அதிகமான விளக்கம் தேவைப்படும, இல்லையா?.
நடராஜன்: எனவே, இந்த அத்தியாயம், அதிக பக்கங்கள், அதிக விளக்கங்கள், அதிக கதைகள் கொண்டிருக்கும்
கந்தசாமி; யுனிக்ஸோட அடிப்படையை சுத்தமாக, மனசுலே ஏத்துவதற்கு சில சந்தேகங்களை தீர்த்துவைக்கணும்.
ஒவ்வொரு பிராசஸும் பல தவணைகளில் ஓட்டப் படுகிறது. அது எப்படி சாத்தியமாகிறது?
- இப்படி, ஒரே சுற்றில் முடிக்காமல், பல சுற்றுகளாக, பல தவணைகளில் ஓட்டப்படும் பிராசஸ்-களில், தவறு நிகழ வாய்ப்பில்லையா?
- என்னென்ன தவறுகள் நிகழலாம்?
- அப்படி நிகழாமல் தவிற்க, பெர்கலி பேராசிரியர்கள் என்னென்ன கருவிகள் மூலம் வித்தைகள் செய்தார்கள்?
நடராஜன்; முதல் கேள்விக்கு விடை ரொம்ப எளிதானது.
(1) ஒரு பிராசஸ் ஓடும்போது, அதற்கு அளிக்கப்பட்ட குறிப்பிட்ட சி.பி.யூ நேரத்துளிகள் முடியும் போதும், பிறகு அதன் முறை அடுத்த சுற்றில் வரும் போது, மீண்டும் தொடங்கும்போதும் தவறுகள் நிகழலாம்.
அனுமதிக்கப்பட்ட நேரத்துளிகள் முடிந்த உடனே சி.பி.யூ தன் ஓட்டத்தை உடனடி நிறுத்தினால், ஓட்டத்தில் தவறு நிகழும்.
இதைத் தவிர்க்க, தற்போது ஓடும் இன்ஸ்ட்றக்ஷன் முழுவதாக ஓடி முடியும் வரை காத்திருந்த பின்னரே ஓட்டம் நிருத்தப்படும்.
‘Completion of current instruction execution’
அடுத்ததாக, சி.பி.யூ ஒரு பிராசஸை ஓட்டும்போது பல ரெஜிஸ்டர்களைப் பயன்படுத்துகின்றது. அவற்றை பத்திரப்படுத்தி, (அவைகளை) பிராசஸ் அடுத்த சுற்றில் மீண்டும் ஓட்டப்படும் போது அதே ரெஜெஸ்டர்களில் சேர்ப்பித்த பிறகே சி.பி.யூ வின் ஓட்டம் துவங்க வேண்டும்.
இதை செய்வது மிக மிக சுலபம் என்கிறார் கிட்டு. அதற்கு கிட்டு என்ன சமாதானம் சொல்றாருன்னு கேட்போம்.
சினிமா ஷூட்டிங்
சின்ன வயசிலே சினிமாலே நடிக்க ஒரு ஆசை. ஒரு சொந்தக்காரர் சினிமாத் துறையிலே எடிட்டரா இருக்காரு. ஒரு வருடாந்திர விடுமுறையிலே, ஒரு சினிமா எடுக்கிற விதம் முழுவதையும் விளக்கிட்டாரு. அதற்குப்பிறகு சினிமா ஆசை ஓடிப்போயிருச்சு.
ஆனா அதிலேருந்து வாழ்க்கைக்குப் பயனாகும் பல அறிவு கிடைச்சுது. முக்கியமா, யுனிக்ஸ் தயார் செய்ய ஒரு முக்கியமான ஒரு செயல்முறையும் கிடைத்தது.
சினிமா டைட்டில்லே சாப்பாடு கொடுப்பவர்கள், ஆட்டோ ஓட்டுனர் என்று எல்லாரோட பேரையும் போடுவாங்க. ஆனா, அதில் மிக முக்கிய பங்கு வகிக்கும் ஒரு சிலரை விட்டுடராங்க. அதிலே ‘கண்டின்யுட்டி’ என்ற ஒரு டிபார்ட்டுமெண்டு.
- சினிமா ஒரே நாளிலே ஒரே சுற்றிலே முடிக்கிற விஷயமில்லே.
- யுனிக்ஸைப் போல, பல சுற்றுகளாக, தயாரிக்ககிராங்க ரு காட்சியைப் படம் எடுக்கும்போது பல காரணங்களுக்காக, ஒத்திப் போடப்படும்.அப்போ, கண்டின்யுட்டி டிபார்ட்மெண்டு சுறுசுறுப்பாபாயிடும். அறை குறையா நடந்த படப்பிடிப்பின் முக்கிய அம்சங்களை (காட்சியில் உள்ள பொருட்கள், அவைகள் இருந்த இடம், நடிகர்கள் உடை, காயங்கள், போன்ற ஒவ்வொரு விவரமும் குறித்து வைக்கப்பட்டு, அடுத்த முறை அதே காட்சியின் படப்பிடிப்பு தொடங்கும்போது,
குறித்து வைத்த செய்திகளிலிருந்து காட்சிப் பொருட்களும், நடிகர்களும் தயார் செய்யப்பட்டு, படப்பிடிப்பு தொடங்கும்.
அதிலே கவனக் குறைவு வந்தா, ஒரு காட்சியில், நடிகர் அணிந்திருக்கும் உடைகள் அல்லது வவற்றின் நிறம் திடீரென்று மாறிவிடும் திடீரென்று சோபா நாற்காலி ஆகியவை மாயமாக மறைந்துவிடும். ரசிகர்கள் இதைக் கவனித்து விசில் அடிப்பார்கள்.
இதே பிரச்சனைதான், யுனிக்ஸ்-ஓடும் கம்ப்யூட்டரிலேயும், வரும். சினிமா ஷூட்டிங் – சி.பி.யூ ஒரு யூசரோட புரோகிராம்களை ஓட்டும் முறைகளும் ஒண்ணுதான்.
சி.பி.யூ விலே எக்ஸிகூஷன் காண்டெக்ஸ்டு என்பதும் சினிமாவிலே படப்பிடிப்பு நிகழும் காட்சியும் ஒண்ணுதான்.
சி.பி.யூ உள்ளே நிரைய ரெஜிஸ்டர்கள் உள்ளன. சி.பி.யூ பிராசஸை ஓட்டும்போது, காண்டெக்ஸ்டும் மாறிவரும். ரெஜிஸ்டர்களில் சேரும் செய்திகளும் மாறிவரும்
தற்போதைய சுற்று நிறைவடைந்தவுடன், ரெஜிஸ்டர்களில் உள்ள செய்திகளை அப்படியே சேமித்து வைத்து, அடுத்த சுற்று சி.பி.யூ விலே ஓடத் தயாராகும் போது, சி.பி.யூ ரெஜிஸ்டர்களில் சேமிகிறது.
சுற்று முடிந்தவுடன் ரெஜிஸ்டர்களில் உள்ள டேட்டாவை சேமிப்பதும், அடுத்த சுற்று துவங்கும் முன்னால, சேமித்ததை ரெஜிஸ்டர்களில் சேமிப்பதும், தவறு நிகழாமல் தடுக்கிறது. அதாவது, ஒரு பிராசஸின் ஓட்டம் முடிந்தவுடன், அதன் எக்ஸிகூஷன் காண்டெக்ஸ்டை சேமிப்பதும், அடுத்து ஓடவிருக்கும் பிராசஸின், முந்தைய ஓட்டத்தின் கடைசிச் காட்சியை (காண்டெக்ஸ்ட்-ஐ) சி.பி.யூ ரெஜிஸ்டர்களில் சேமிப்பதையும் காண்டெஸ்ட் ஸ்விட்ச் என்று அழைக்கப்படுகிறது.
யுனிக்ஸில் பல சுற்றுகளாக யூசரின் புரோகிராராம்கள் சரிவர ஓட்ட, தவறில்லாமல் எக்ஸிகூஷன் நிறைவேற சில கருவிகள் தேவை.
(1) இதற்கு, முதல் படியாக, யுனிக்ஸ் ஆபரேடிங் சிஸ்டம் ஓடுர கம்ப்யூட்டரிலே ஒரு யூசரோட புரோகிராம் எப்படி ஓட ஆரம்பித்து எப்படி முடியுது என்பதை, சுருக்கமா சொல்லணும் என்றால் இப்படி சில கட்டங்களாகச் சொல்லலாம்.
- முதல்லே ஒரு யூசர், வெற்றிகரமாக லாகின் செய்யவது அவசியம். லாக்இன், பாஸ்வேர்டு ஆகியவற்றை சரிபார்க்க கெர்னலிலே டிமென் புரொகிராம் (இது என்ன என்று பின்னாலே விவரமா படிக்கலாம்) ஒண்ணு ஓடிக்கிட்டே இருக்கும்., அது, யூசர் கொடுத்த யூசர்-ஐடி, பாஸ்வேர்டு இரண்டையும் சரிபாபார்க்கும்.
- சரியா இருந்தா உடன், யூசரோட டெர்மினலிலே ஒரு ஷெல் புரோகிராம் ஓடவைக்கும்.
- பயணாளிகளோட எக்ஸிகூட்டபிள் புரோகிராம் டிஸ்குலே இருக்கும். (அதோட பெயர் myprog.exe என்று வைத்துக் கொள்ளுவோம)¢.
exec myprog என்று ஷெல்லில் எழுதி, எண்டர் கீயைத் தட்ட, பிராசஸ் மானேஜர் மாடூல் தன் செயல்பாட்டைத் தொடரும்.
முதலில் myprog.exe என்னும் புரோகிராமை ஒரு பிராசஸா மாற்றும்.
அதற்குப்பிறகு, டேட்டா ஸ்டட்சரில் பதிவு செய்யும். process ID என்னும் .ஒரு குறியீடு (pid) தரணும்.
பிராசஸா மாற்றப்பட்ட எக்ஸிகூட்டபிள் புரோகிராம், மெமொரியில் பயனாளிகளின் பிராசஸ்களுக்காக வரையறுக்கப்பட்ட இடத்தில் ஒரு வரிசையில் வைக்கப்படும்.
ஒரு எக்ஸிகூட்டபிள் புரோகிராம் (Executable program) கோட் அல்லது டெக்ஸ்ட் (text), என்றும் அறியப்படும்.
அதை பிராசஸாக மாற்றும் போது, டெக்ஸ்டும், டெக்ஸ்டைத் தவிர டேட்டா, ஸ்டாக், மற்றும் ஹீப் அல்லது உபரி செக்மெண்ட் என்று மூன்று பகுதிகளும் சேர்க்கப்படும்.
(4). மெமொரியிலிருந்து, வரிசையில் வைக்கப்பட்டிருக்கும் பிராசஸ்களை ஒன்று ஒன்றாக சி.பி.யு இயக்கும்.
ஒவ்வொன்றும் சுமார் 200 மில்லி செகண்டு அளவில் ஓட்டப்படும். (இந்த நேரத்துளிகளின் அளவை கூடுதலாகவோ, அல்லது குறைவாகவோ, சிஸ்டம் அட்மினிஸ்ட்ரேட்டர் மாற்றி அமைக்க முடியும்.
சி.பி.யு, வரிசையில் காத்திருக்கும் பிராசஸ்களை ஒன்றின் பின் ஒன்றாக ஓட்டுகிறது.
ஒவ்வொரு பிராசஸும், அவை முழுமையாக ஓடும் வரை, பல சுற்றுகளில் ஓட்டப்படும்.
கமாண்ட் மூலம் பிராசஸ், முழுமை பெறும் முன்னாலேயே வெளியேற்றப் படலாம்.
பிராசஸிங் முடிவுற்ற பின்னர், பிராசஸ் அகற்றப்படுகிறது. (killed). ஒரு பிராசஸ், தன் பயணத்தில் பல முறை நின்று, பல காரணங்களை முன்னிட்டு, தனது ஓட்டத்தில் தடை பட்டு, இறுதிவரை தன் பயணத்தைத் தொடர்கிறது.
பிராசஸ் ஓவ்வொன்றும், இவ்வாறு ஓடும்பொழுது ஒன்பது நிலைகளின் ஏதாவது ஒன்றில் காணப்படும். இதை பிராசஸ்- ஸ்டேட் (Process state) என்று அழைக்கப்படும்.
ஒர் சுற்றில் முடிக்காமல், பல சுற்றுகளாக, ஓட்டப்படும் பிராசஸ்களில் தவறு நிகழ வாய்ப்பில்லையா?
ஒன்றல்ல, ஓராயிரம் வாய்ப்புகள் உண்டு. தவறுகள் நிகழ்வதைத் தடுக்க சில எளிய, அதே சமயம் சிறப்பாகச் செயல்படும் கருவிகள் பயன்படுத்தப்பட்டுள்ளன.
பிராசஸ்களின் ஓட்டங்கள்:
யுனிக்ஸ் ஆபரேடிங்க் சிஸ்டம் உள்ள கம்ப்யூட்டரில் பயனாளிகளின் பிராசஸ்கள் பிராசஸரின் உதவியினால் ஓடும்.
ஓவ்வொரு பிராசஸும் ஒரு முறை இல்லை, பல முறை, சிறு துளி நேரங்களுக்கு, பல சுற்றுகளாக ஓடும் என்று பார்த்தோம்.
பிராசஸ்களின் ஓட்டத்தை எப்படி துவக்குவது?
ஷெல்லுனா என்னவெண்று பார்த்தோம். கெர்னலுக்கு பயனாளிகள் தங்கள் தேவைகளை தெரிவிக்க ஒரு எளிதான கருவி. ஒவ்வொரு யுனிக்ஸ் பயனாளியும், தன் ஷெல்லிலே, EXEC என்ற கமாண்டையும் அதோடு ஓட்டவேண்டிய புரோகிராம் பெயரைக் குறிப்பிட்டு கீ போடில் எண்டர் கீயைத் தட்ட, ஃபோர்க், fork() என்னும் ஒரு சிஸ்டம் கால் ஒன்றை ஓடவைக்கிறது.
உடனே, பிராசஸின் ஓட்டம் தொடங்கும். அப்புரம் என்னவாகும் என்று தெரிந்து கொள்ள கீழே வரும் கதையைப் படியுங்கள்..
பேராசிரியர் ஃபோர்ட் மருத்துவமனையில்!
யுனிக்ஸ் டிசைன் வேலையிலே பங்கு பெற்ற ஒரு சில வௌ¢ளைக்கார பேராசிரியர்களில் பேராசிரியர் ஃபோர்ட் என்ற ஒருவர் முக்கியமானர். அவர் ஒரு சமயம், ஆகிஸிடெண்டிலே. மாட்டிகிட்டாராம்.
அதைப் பல பேரு பல விதமா பேசிக்கிராங்க.. அதிலே ஒரு செய்தி, இப்படிப் போகுது.
ஒரு வார விடுமுறையில் தன் மனவியை, இந்தியர்கள் வீட்டிலே சுடர மாதிரி, வடை சுடச்சொன்னாராம்.
அந்தம்மாவுக்கு அதெல்லாம் வராது, ஆனா கோபம் மாத்திரம் குறைவில்லாம வருமாம். அப்படிக் கோபம் வந்து அந்த அம்மா வடை சுடாமல், தன் புருசனையே, (துப்பாக்கியாலே), சுட்டிருச்சாம்.
சுட்ட கையோட 911 என்கிற எண்ணை சுற்றிய சில நிமிடங்களில் ஆம்புலன்ஸ் முன்வர தீயணைப்பு, போலீஸ் வண்டிகளும் உடன் வர பேராசிரியர் அடுத்த சில மணித்துளிகளில் ஆஸ்பத்திரியில் சேர்க்கப்பட்டார்.
அங்கே அவருக்குக் கிடைத்தது மருத்துவம் மாத்திரம் இல்லை அங்கே ஃபோர்டுக்கு வைத்தியம் செய்யக் கடைபிடிச்ச வழிமுறைகள் அவரை மிகவும் கவர்ந்தது. அதை எடுத்து அப்படியே . யுனிக்ஸ்லே பிராசஸ் மானேஜ்மெண்ட் மாடூலா போட்டுட்டாரு.
யுனிக்ஸீலே பயனாகிர மாதிரி, ஆஸ்பத்திரியிலே குண்டடிபட்ட பேராசிரியருக்கு, என்ன அனுபவம் கிடைத்தது? ஆம்புலென்ஸ்லே ஆஸ்பத்திரி கொண்டுபோனாங்க இல்லையா.
(1) பெயர் மாற்றம், மற்றும் பதிவு: அங்கே அவரை பேராசிரியர் என்று யாருமே சொல்லவில்லை. அவரு ஒரு பேஷண்ட்.. அங்கே அவரோட பெயரை குறிப்பிடாமல், ஒரு புதியதாக ஒரு நம்பர் வச்சுட்டாங்க.
தமிழ் சினிமாலே காட்டுவாங்க இல்லையா? ஜெயில்லே கூட கைதியை பேரு சொல்ல மாட்டாங்க. ஒரு கைதி எண் ஒண்ணு கொடுப்பாங்களே அதைப் போலவே அவருக்கு ஆசுபத்திரியிலே எண் கொடுத்து அதை ஒரு பைலில் பதிஞ்சுட்டாங்க.
அவரு குணமாகி வீட்டுக்குப் போகிற வரையில் அவரு பேராசிரியர் இல்லை. ஒரு நோயாளி. அதோட நல்ல கவனியுங்க.
முதன் முதலா பேராசிரியரை ஒரு மருத்துவப் பயனாளியா மாத்தும்போது ஒரு பைல் போடுவாங்கல்ல, அந்தப் பைலிலே, அவரோட வீட்டு விலாசம் டெலிபோன் நம்பர், என்ன காரணமா மருத்துவ நிலையத்திற்குக் கொண்டு வந்தாங்க? ஏதாவது அலர்ஜி இருக்கா? இதெல்லாம் இரண்டே நிமிடங்களில் கம்ப்யூட்டரிலேயும்
ரெக்கார்டு பண்ணி,. ஒரு பிரிண்ட் எடுத்து பைல் உள்ளே போட்டுக் கிரெடிட்க். கார்டிலிருந்து காசைக் கொஞ்சம் பிடிங்கிட்டு, கூட வந்த மனைவி கையிலே கொடுதாங்க.
அவசர சிகிச்சை கொடுத்து, பிறகு ஒரு தனி அறையிலே தங்க வைத்தார்கள்.
இதைத் தொடர்ந்து ஒரு நர்ஸ் அந்தத் தனி அறைக்கு வந்து பிளட் பிரஷர், உடல் வெப்ப நிலை எல்லாம் பார்த்து ரெக்கார்டு பண்ணி, அதோடு ஒரு கையிலே ரத்த குழாயிலே ஒரு ஓட்டை போட்டு, அதுலே பிளாஸ்டிக் குழாய் ஒண்ணு பொருத்திட்டாரு.. அதுலே மருந்து மற்றும் குளுகோஸ் எல்லாம் ஏத்திருவாங்க.
- மருத்துவரின் வருகைக்காக காத்திருக்கணும். இப்போ, அடுத்த கட்டம். பெரிய சர்ஜன், டூட்டி டாக்டர் இரண்டு பேரும் வந்தாங்க.
காயத்தை ஆராய்ந்தாங்க. அடுத்து செய்ய வேண்டிய மருத்துவ பரிசோதனைகளை விளக்கமா பைலிலே எழுதிட்டாங்க. மருத்துவ உதவியில் இரண்டாம் கட்டம். ஓடி முடிந்தது என்று சொல்லலாம்
- பரிசோதனைக்குக் காத்திருக்கணும். ¢அடுத்தா, எக்ஸ்ரே, ஸ்கேனிங் அறைகளுக்கு முன்னால், தன் முறைக்குக் காத்திருக்கணும். மருத்துவ உதவியில் மூன்றாம் கட்டம். ஓடி முடிந்தது என்று சொல்லலாம்
அடுத்த நாள் வரை டிரிப்ஸ், மருந்து , உணவு எல்லாம் கொடுத்தாங்க. பிறகு அறைக்கு வந்து டெஸ்ட் ரிப்போர்ட்டு வருவதற்குக் காத்திருக்கணும்.
- மறுபடியும் ஒரு ஓட்டம். சர்ஜன் மற்றும் டூட்டி டாக்டர் வந்து, ரிப்போர்ட்டைப் படிச்சு, ஆப்பரேஷணுக்கு தயார் செய்ய சொன்னாங்க.
அடுத்ததா ஆப்பரேஷன் தியேட்டர் ஒண்ணு காலியாக, தயார் நிலையில் கிடைக்க காத்திருந்தாங்க.
- அடுத்தகட்ட ஓட்டம். அடுத்த .நாள் ஆப்பரேஷன் செய்து குண்டை வெளியே எடுத்து தையல் போட்டு அறையிலே சேர்த்துட்டாங்க. அடுத்து அறுவை சிகிச்சையின் காயம் ஆறுவதற்குக் காத்திருக்கணும்.
- சிகிச்சை முடிந்துவிட்டது. அடுத்த மூணு நாள் கழிச்சு, ஒருவாரம் சாப்பிட மருந்து எழுதிக் கொடுத்து. டிஸ்சார்ஜ் செய்ய, சர்ஜன் உத்தரவு போட்டாரு..இனிமே டாக்டர் வரமாட்டாரு. பில் கட்டிவிட்டு வீட்டுக்கு. போகலாம். டிஸ்சாஜுக்குக் காத்திருக்கணும்.
- பெற்ற சேவைக்கு கணக்கு பார்க்கணும். பேராசிரியரின் மனைவி, பில் கட்டிவிட்டு வந்த உடனே டூட்டி டாக்டர், கையிலே போட்டிருந்த பிளாஸ்டிக் குழாயை எடுத்துவிட்டு ஒரு பிளாஸ்திரி ஒட்டிவிட்டாரு.
மனைவி பேராசிரியரை ஒக்கார வச்சு காரை வீட்டுக்கு ஓட்டிக்கிட்டுப் போக, ஒரு நோயாளி, மீண்டும் ஒரு பேராசிரியராக மாறினார்.
யுனிகஸில் பயனாளிகளின் புரோகிராம்.
ஒரு யுனிக்ஸ் ஆப்பரேடிங் சிஸ்டம் சூழலில் ஒரு பயனாளியும், சிறு துளிகளாக, பல முறை சேவை அளிக்கப்படுகிறது, சேவைகளுக்கு இடையே பலமுறை பல காரணங்களுக்காகக் காத்திருந்து, சேவை அளிப்பது முடிவுக்கு வௌகிறது. இதை கடைசி கட்டமாக, ஜோம்பி zombi எனனும் ஒரு பிராசஸ் கட்டம் அளித்த சேவையை கணக்கெடுத்த பின் பிராசஸை மெமொரியிலிருந்து அகற்றுகிறது.
பெயர் மாற்றம்;
புரோகிராமை பிராசஸாக மாற்றும் தேவை வாழ்வில் பல நிகழ்வுகளில் காணலாம்.
கேசவன் என்பவரின் மகன் ஒரு பள்ளியில் சேர்ந்து படித்து பட்டதாரி ஆவதில்,ரயில் பயணத்துக்கு ரிசர்வேஷன் செய்து டிக்கெட் வாங்கின கிருஷ்ணசாமியோட பயணம், எல்லாவற்றிலும் இதன் சாயல் தெரியும்.
ரயில் நிர்வாக்ஸ்த்தில் பயணி ஒரு பி என் ஆர் எண்ணாக மாறிடுவார்.. மாணவருக்கு ஒரு ரோல் நம்பர், வங்கிப் பயனாளிக்கு, ஆயுள் காப்பீடு எல்லாவற்றிலும் பொதுவானது எழுத்துகளுடன் கூடிய ஒரு எண் தொடர்.
நிறுத்தி – விட்டு,விட்டு – அளிக்கப்படும் சேவை.
சேவைகளை பெறுவோருக்கு, குறியீடு அளிப்பது மட்டுமில்லாமல்,, எல்லா நிறுவனங்களிலும் சேவை அளிக்கப்படும் விதத்தில் ஒற்றுமை உண்டு. அது கீழே கண்டவாறு இருக்கும்.
பல சுற்றுகளாக சேவை தருவது. ஒவ்வொரு முறை சேவை அளிக்கும் போதும் அவை பதிவு செய்யப்படுவது இடையிடேயே பல காரணங்களுக்காக (சேவைக்குக் காத்திருப்பது) சேவை நிறுத்தப்படுவது
சேவை தருவதில் விளையும் தாமதத்தில், சேவை பெறுபவரால் உண்டாகும் தாமதமும் அடங்கும்.
சேவை நிறைவு பெறுவது
அளிக்கப்பட்ட சேவையைக் கணக்கிடுவது (பிறகு பைல் கடைசியாக மூடுவது). நாம் இப்போ என்ன தெரிஞ்சுக்கிட்டோம்?
ரோட்டிலே போயிட்டிருக்கிரப்போ நாம ஒரு சாதாரண குடிமகன். யுனிவர்சிடியிலே படிச்சு பட்டம் எல்லாம் வாங்கி ஒரு அமைப்பிலே நம்மைக் அலுவலரானதும் நம்மை ஒரு அலுவலராக, தொழிலாளியாக, அதிகாரியாக, பொரியியல் நிபுணராக மேலாளராக ஆசிரியராக பேராசிரியரா முதல்லே மாத்திடராங்க.
அப்புரம் அந்த அலுவலகத்திலேருந்து நாம வெளியேறினாலும் (இல்லே அவங்க வெளியேத்தினாலும்), அந்த நாள் வரை, அவர்கள் தந்த அந்தப் பெயரோடு தான் வாழ்வோம்.
இதெல்லாம் எதுக்காக விலாவாரியா விளக்கரோமின்னு கேக்கரீங்க இல்லையா?
பிராசஸ் மானேஜ்மெண்டும் – மருத்துவ சிகிச்சையும்.
பெர்கலி பேராசிரியர்க் குணமாகிக் திரும்பவும் யுனிவர்சிடி போகும்போது என்ன செஞ்சாருன்னா ஆசுபத்திரி அனுபவம் அத்தனையும் அப்படியே பிராசஸ் மேனேஜ்மெண்ட் டிசைனாக மாத்திட்டடாரு.
அவரோட மாணவர்கள் அதை அப்படியே புரோகிராம்களா மாத்தி பிராசஸ் மானாஜர் மாடூலை ரெடி பண்ணிட்டாரு.
அவரோட மாணவர்கள் இதை எல்லாம் சி கோட்-லே எழுதிட்டாங்க. அப்படி என்ன என்ன அனுபவங்கள்? ஓடக்கூடிய புரோகிராம் ஒன்றை பிராசஸ் மானாஜர்லே உள்ள புரோகிராம்கள் அதை பிராசஸ் என்று பெயர் மாற்றம் செய்து அத்ற்கு ஒரு நம்பர் பிராசஸ ஐ.டி (Process ID,, அல்லது PID.) கொடுத்து அதோட விவரவத்தை எல்லாம் அதோட பிராசஸ் டேபிளிலே விலாவாரியா குறிக்சு வைக்சுடும்.
அடுத்ததா ஒரு முக்கிய விஷயம். ஏதோ ஓட்டினோமா முடிக்சோமான்னு இல்லாமே ஒவ்வொரு கட்டத்திலேயும் காத்திருக்கணும். இதை ஒரு ஸ்டேட் டிரான்ஸிஷன் டேபிள் மூலம் விவரிக்கலாம்.
(1) பிராசஸ் கிரியேஷன் ஸ்டேட்:
முதலில், கொடுக்கப்பட்ட ஒரு புரோகிராமை, ஒரு பிராசஸா மாத்தணும்.
மாறின புரோகிராமை, டிஸ்கிலேருந்து கொண்டு வந்து, ஒரு வரிசையா மெமொரியிலே ஒக்காத்தி வைக்கணும்.. இதை, பிராசஸ் கிரியேடட் ஸ்டேட் (PEOCESS CREATED STATE ) என்கிறோம்.
(2) (ஓட) ரெடி – ஸ்டேட்:
இந்த பிராசஸ் ஓட ரெடியா இருக்கு. ஆனால், ஒரு முறை கூட ஓடல்லே.. தன் முறைக்காகக் காத்திருக்கிறது.. அல்லது, ஒரு முறை அல்லது பசல முறை ஓடிவிட்டது. அடுத்த சுற்றுக்காக காத்திருக்கிறது. இதற்கு முன், இந்தப் பிராசஸின் முறை வந்தபோது பிராசஸ் தயார் நிலையில் (ரெடியாக) இல்லை.. இப்பொழுது நிலமை மாறி, ஓடத் தயார் நிலையில் உள்ளது.
(3) ஓடும் ஸ்டேட்
பிராசஸர், தற்பொழுது, இந்த பிராசஸை ஓட்டிக் கொண்டிருக்கிறது.
(4) பிளாக்டு ஸ்டேட்: இந்த பிராசஸ் ஓடுவதிலிருந்து தாற்காலிகமாகத் தடை செய்யப்பட்டுள்ளது.. தடைக்குக் காரணம் ஒரு சிக்னலாக இருக்கலாம் அல்லது ஒரு ஐ / ஓ டிவைசிலிருந்து வரவேண்டிய டேட்டா வந்து சேராத காரணமாக இருக்கலாம். ஓரு நிகழ்வுக்காக எதிர்பார்த்திருப்பது ஒரு காரணம்.
(5) டெர்மினேடட் (Terminated) : தேவையான சுற்றுக்கள் ஓடி, பிராசஸிங் முடிந்தாகி விட்டது.
இனிமேல் பிராசரிஸிங் தேவை இல்லை என்ற நிலையை அடைந்துவிட்டது. இங்கிருந்து, பிராசஸின் நிலை அல்லது ஸ்டேட், ஜோம்பி என்னும் ஸ்டேட்டை அடைகிறது.
(6). ஜோம்பி ஸ்டேட்: மருத்துவ மனையில் தங்கி, மருத்துவ உதவி பெறும் ஒரு நோயாளி, குணம் அடைந்து விட்டார்.
சி.பி.யூ, வரிசையிலே முன்னமே இருக்கிர எல்லா பிராசஸ்களையும், ஒவ்வொன்றையும் குறிப்பிட்ட சில நேரத்துளிகள் ஓட்டிவிட்டு, கடைசியா, ரெடியா இருக்கிர இந்த பிராசசையயும் ஓட்டடிடும். அப்படி ஓடும் போது, இந்தப் புதிய பிராசஸ் ரன்னிங் ஸ்டேட்டில் (ணூதணணடிணஞ் ண்tச்tஞு) அதன் இருப்பதாக அறியலாம். பிறகு, அடுத்த சுற்றில் தன் முறைக்கு காத்திருக்கணும், இதை வெயிட் ஸ்டடேட் .
சிபியூ ஒரு பிராசஸை ஓட்டத் தயாரா இருந்தாலும் சில பிராசஸ்கள், ஒரு நிகழ்வுக்காகக் காத்திருக்கும். (உதாரணம்: ஒரு வெளி டிவைசிலுந்து டேட்டாவுக்கு. காத்திருக்கலாம்.). சாமி வரம் கொடுத்தாலும் பூசாரி குறுக்கே வரமாதிரி, சி.பி.யூ தயாராக இருந்தாலும் காத்திருக்கும் பிராசஸ் தயாராக இல்லை என்னும் நிலை.
(வெளியூர் செல்ல பஸ்ஸுக்கு காத்திருக்கிறோம். பயணத்தில் உடன் வர வேண்டியவர் வந்து சேரவில்லை. அல்லது கொண்டு செல்லவேண்டிய ஒரு பெட்டி வந்து சேரவில்லை என்பது போன்ற ஏதாவது ஒரு காரணத்திற்காக, பஸ் வந்தாலும். நாம் பயணத்தை ஒத்திவைக்கிறோம் இல்லையா? இதுவும் அப்படித்தான்.
சி.பி.யூ ரெடி, பிராசஸ் ரெடி இல்லை. இந்த சந்தர்ப்பத்தில் பிராசஸ் காத்திருப்பது (மெமொரியிலோ அல்லது டிஸ்கிலோ. பிராசஸ் வெயிட் ஸ்டேட்டில், தொடர்கிறது. பிராசஸுக்கு சூழ்னிலையில் மாற்றம் வந்து, பிராசஸுக்கு தயாரானதும், ஒடத்தயாராகிறது. அப்போது மீண்டும் ரெடி-டு-ரன் (ணூஞுச்ஞீதூ tணி ணூதண) ஸ்டேட்டை அடைந்து, அடுத்த சுற்றில் சி.பி.யூ அதை ஓட்டுகிறது.
பல முறை ஓடி, இப்போது பிராசஸ் முடிவுக்கு வந்துவிட்டதும், பிராசஸ், ஃஜோம்பி ஸ்டேட் (ஙூணிட்ஞடி) என்னும் நிலலையை அடைகிறது.
இங்கே, எத்தனை அளவு கம்ப்யூட்டர் பயன்படுத்தப்பட்டுள்ளது என்று துல்லியமாக கணக்கிடப்பட்டு, கடைசி கட்டமாக, இந்தப் பிராசஸ் கொல்லப்படுகிறது. (மெமொரியயிலிருந்து பிராசஸ் நீக்கப்பட்டு, அதன் தொடர்பான எல்லா பதிவுகளும் (டேட்டா ஸ்டட்சர்களிலிரருந்து) நீக்கப்படும்.
இங்கே பிராசஸின் பயணம் முடிவடைகிறது.