இங்குதளம்(Operating System) என்பது ஒரு கணிணியின் வன்பொருளுக்கும் மென்பொருளுக்கும் இடையில் இயங்கும் நிரல்கட்டமைப்பு. CPU என்பதை ஒரு மூளையோடு ஒப்பிட்டால் இயங்குதளத்தை புத்தியோடு ஒப்பிடலாம். பிரபலமான சில இங்குதளங்களின் பெயரைக்கேட்டால் UNIX, XP,Linux என்பீர்கள். சரி கணிணி சார் பொருட்கள் அனைத்தையும் ஓரிடத்தில் குவித்து வைத்து அதில் நாம் அன்றாடம் பயன்படுத்தும் Windows, Linux , Mac OS போன்றவற்றால் இயங்கும் உபகரணங்களை மட்டும் பிரித்தால் எத்தனை சதவிகிதம் இருக்கும்? (விடை கடைசியில்)
இயங்குதளம் சரி, அது என்ன நிகழ்நேர(Real-time OS) இயங்குதளம்? சுருங்கச் சொன்னால் இவை சிறப்பு வகையை சார்ந்த இயங்குதளம். பதிகணினியியலில்(embedded technology)
அதிகம் பயன்படுத்தப்படும் இயங்குதளம். சாதாரணமாக நாம் உபயோகிக்கும் இயங்குதளங்கள் நேரக் கட்டுபாடு கொண்டவையல்ல. உதாரணம் MS WORD ஐ சொடுக்கும் போது
தொடர்புடைய மற்றொரு நிரல் நினைவகத்தில் ஏறுவதற்கு நேரம் எடுத்துக்கொண்டாலோ அல்லது செயல்படவில்லையெனிலோ இயங்குதளம் தன் கட்டுப்பாட்டை இழந்துவிட்டதாக கருதமுடியாது. ஆனால் விமானத்தின் இயக்கத்தில் இதே மாதிரி ஒரு பிழை நேர்ந்தால்...?
விமான கட்டுப்பாட்டகம், ராக்கெட், ஏவுகணை போன்றவை, வின்வெளி செயற்கை கோள்கள், தொலை தொடர்பு இயக்ககங்கள், இயந்திரர் (robots), நாற்சக்கர வாகனங்கள், நிழற்பட, நிகழ்பட இயக்கிகள், கைத்தொலைபேசிகள், மருத்துவ உபகரணங்கள் என்று நீண்டுகொண்டே செல்லும் கணிணிசார் உபகரணங்களில் பெருமளவில் இந்த வகை இயங்கு தளங்கள் உபயோகப்படுகிறது.
இதனைப்பற்றி சொல்லப்படும் சொலவடை சாதாரண இயங்குதளம் இயங்காமல் போனால்வேலை போகும், நிகழ்நேர இயங்குதளங்களால் உயிர்கள் போகும். உதாரணம் இதயத்துடிப்பை கண்காணிக்கும் கருவிகள், space shuttle failures, சரியான நேரத்தில் போய்ச்சேராத ஒரு தகவல்.
சரி அப்படியென்ன வித்தியாசமானவை இந்த இயங்குதளங்கள்? மேல் சொன்ன உதாரணங்களை கொண்டு நிகழ்நேர இயங்குதளங்கள் மிக வேகமான இயங்குதளங்கள் என்று
முடிவுகட்டிக்கொள்ளக்கூடாது. செயற்கைக்கோளுக்கு இருக்கும் செயல் வேகத்தை விட ஒரு தொலைபேசி இயக்கத்திற்கு இருக்கக் கூடிய வேகம் அதிகம் தேவையில்லை. ஆனால் இரண்டிற்கும் பொதுவானவை வினையை செய்து முடித்து அடுத்த வினைக்கு கொடுக்கவேண்டிய சமிஞ்ஞைகளையும், தகவல்களையும் கொடுக்க வேண்டிய நேரத்தில் கொடுக்க வேண்டும். அதாவது சரியாக செய்யவேண்டியவை(logical முடிவு) மட்டுமல்ல நேரமுடிவும் (timing) மிகவும் முக்கியம். இது பெருமளவில் வடிவமைப்பு தொழிற்நுட்பம் சார்ந்த இயங்குதளங்கள் எனக்கொள்ளலாம். எல்லா இயங்குதளங்களையும் இவ்வாறு செயல்படுத்த முடியும். ஆனால் அதற்கான தேவையும் சிறப்பு இயக்கி(Processor)களும் தேவை.
ஒரு சிறு உதாரணம், இரண்டு மோட்டார்கள் உள்ளன. அதில் ஒன்று பத்து வினாடி தண்ணீர் இறைத்து தொட்டியில் விட வேண்டும். மற்றொன்று இருபத்தொன்றாவது வினாடியில் அதை எடுத்து வயலுக்கு பாய்ச்ச வேண்டும். இப்பொழுது இவை இரண்டும் சரியான நேரத்தில் இரண்டையும் செய்ய வேண்டும். இதில் மேலும் ஒரு வினையை சேர்ப்போம் தொட்டியில் கொள்ளளவு பாதி வந்தவுடன் அதாவது 10வினாடியிலிருந்து 15 வினாடி வரை வெப்பபடுத்த வேண்டும். இதுவும் சரியாக வேலை செய்கிறது. அடுத்து ஒவ்வொரு 10 முறைகளுக்கு பிறகும் வயலுக்கு போகும் ஓடையின் திசையை இரண்டாவது தொட்டி 90 degree க்கு மாற்ற வேண்டும் என்று ஒரு கட்டளை. தொட்டியில் ஒரு சிறிய மாற்றம் செய்வோம், தண்ணீர் ஒரு குறிப்பிட்ட அளவு இல்லையெனில் வெப்பம் 2.5 நொடிகளும், இரண்டாவது தொட்டி 20 முறைக்கு ஒரு தடவையும் 90 degree க்கு மாற வேண்டும் என்று. இந்த மொத்த இயக்கத்தையும் ஒரு வயல் செயலியாக கருதிக்கொள்ளுங்கள். இதே போல் நூறு வயல் செயலிகளை ஒரே கட்டுபட்டாகம் கொண்டு இயக்க வேண்டும். இவற்றில் ஒன்று இயங்காமல் ஒத்திசையாமல் போனால் கூட மொத்த இயக்கமும் கட்டுப்பாட்டை இழந்துவிட்டதாக கொள்ளவேண்டும். இதை போன்ற செயலிகளுக்கு நிகழ்நேர இயங்குதளம் தேவைப்படும்.
சாதரண இயங்குதளங்களைவிட மூன்று முக்கிய வேறுபாடுகள்.
1. நேரக்கட்டுப்பாடு. எல்லா சூழ்நிலைகளிலும், வேலைப்பளு இருந்தாலும இல்லாவிட்டாலும் ஒரு வினைத்தொடருக்கான நேரம் மாறவேகூடாது.
2. அறுதியிடப்பட்ட வரையறைக்குள்(நினைவகம் முதற்கொண்டு) செயல்களை முடிக்கும் திறன்.
3. எதிர்பார்க்கும் வினைமுடிவு.
இதோடு நிறுத்திவிட்டு மேலும் சில விவரங்களை பார்க்கலாம். இயங்குதளங்களின் உள்விவரம் தெரிந்தவர்கள் மேலோட்டத்தோடு நிறுத்துகிறேன் என்று சண்டைக்கு வராதீர்கள். இன்னும் விவரமாக எழுத ஒரு தொடரோ அல்லது ஒரு தனி புத்தகமோ எழுதுமளவிற்கு விஷயமிருப்பதை அறிவீர்கள்.
VxWorks, pSOS, QNX, RTLinux போன்றவை பதிகணினியியலில்(embedded) உலகத்தின் Windows, Linux வகையறாக்கள். அதிலும் VxWorks தான் முடிசூடா மன்னன். இன்னும் சில
(பல) குறிப்பிட்ட வகை உபயோகத்திற்கென நி.இதளங்கள் உள்ளன. உ.ம்; Symbian - கைத்தொலைபேசிக்கானவை. ஒரு முக்கிய விஷயத்தை கவனத்தில் கொள்ளவேண்டும். முன்பே சொன்னமாதிரி வடிவைப்பும், எதற்காக பயன்படுத்துகிறோம் என்பதும் முக்கியம். சிலவகை மிகச்சிறிய உபகரணங்களில்(உ.ம்; சாலை விளக்குகள்), இயங்குதளமே தேவைப்படாது.
பல நேரங்களில் வடிவமைப்பில் பிழை நேரும்போதுதான் பல விபத்துகளுக்கும்(செவ்வாயில் உணமையில் என்ன நடந்தது?) , கடலில் விழும் ராக்கெட்டுகளுக்கும் காரணம்.
அன்றாடம் பயன்படுத்தும் Windows, Linux , Mac OS போன்றவற்றால் இயங்கும் உபகரணங்களை மட்டும் பிரித்தால் எத்தனை சதவிகிதம் இருக்கும் என்று கேட்டிருந்தேனல்லவா?
Windows, Linux எல்லாம் சேர்த்து வெறும் 5 சதவிகிதம் தான் வரும். மீதி தொண்ணூற்றைந்து சதவிகிதம் உலகை ஆளவது நிகழ்நேர இயங்குதளங்களே!!
இயங்குதளம் சரி, அது என்ன நிகழ்நேர(Real-time OS) இயங்குதளம்? சுருங்கச் சொன்னால் இவை சிறப்பு வகையை சார்ந்த இயங்குதளம். பதிகணினியியலில்(embedded technology)
அதிகம் பயன்படுத்தப்படும் இயங்குதளம். சாதாரணமாக நாம் உபயோகிக்கும் இயங்குதளங்கள் நேரக் கட்டுபாடு கொண்டவையல்ல. உதாரணம் MS WORD ஐ சொடுக்கும் போது
தொடர்புடைய மற்றொரு நிரல் நினைவகத்தில் ஏறுவதற்கு நேரம் எடுத்துக்கொண்டாலோ அல்லது செயல்படவில்லையெனிலோ இயங்குதளம் தன் கட்டுப்பாட்டை இழந்துவிட்டதாக கருதமுடியாது. ஆனால் விமானத்தின் இயக்கத்தில் இதே மாதிரி ஒரு பிழை நேர்ந்தால்...?
விமான கட்டுப்பாட்டகம், ராக்கெட், ஏவுகணை போன்றவை, வின்வெளி செயற்கை கோள்கள், தொலை தொடர்பு இயக்ககங்கள், இயந்திரர் (robots), நாற்சக்கர வாகனங்கள், நிழற்பட, நிகழ்பட இயக்கிகள், கைத்தொலைபேசிகள், மருத்துவ உபகரணங்கள் என்று நீண்டுகொண்டே செல்லும் கணிணிசார் உபகரணங்களில் பெருமளவில் இந்த வகை இயங்கு தளங்கள் உபயோகப்படுகிறது.
இதனைப்பற்றி சொல்லப்படும் சொலவடை சாதாரண இயங்குதளம் இயங்காமல் போனால்வேலை போகும், நிகழ்நேர இயங்குதளங்களால் உயிர்கள் போகும். உதாரணம் இதயத்துடிப்பை கண்காணிக்கும் கருவிகள், space shuttle failures, சரியான நேரத்தில் போய்ச்சேராத ஒரு தகவல்.
சரி அப்படியென்ன வித்தியாசமானவை இந்த இயங்குதளங்கள்? மேல் சொன்ன உதாரணங்களை கொண்டு நிகழ்நேர இயங்குதளங்கள் மிக வேகமான இயங்குதளங்கள் என்று
முடிவுகட்டிக்கொள்ளக்கூடாது. செயற்கைக்கோளுக்கு இருக்கும் செயல் வேகத்தை விட ஒரு தொலைபேசி இயக்கத்திற்கு இருக்கக் கூடிய வேகம் அதிகம் தேவையில்லை. ஆனால் இரண்டிற்கும் பொதுவானவை வினையை செய்து முடித்து அடுத்த வினைக்கு கொடுக்கவேண்டிய சமிஞ்ஞைகளையும், தகவல்களையும் கொடுக்க வேண்டிய நேரத்தில் கொடுக்க வேண்டும். அதாவது சரியாக செய்யவேண்டியவை(logical முடிவு) மட்டுமல்ல நேரமுடிவும் (timing) மிகவும் முக்கியம். இது பெருமளவில் வடிவமைப்பு தொழிற்நுட்பம் சார்ந்த இயங்குதளங்கள் எனக்கொள்ளலாம். எல்லா இயங்குதளங்களையும் இவ்வாறு செயல்படுத்த முடியும். ஆனால் அதற்கான தேவையும் சிறப்பு இயக்கி(Processor)களும் தேவை.
ஒரு சிறு உதாரணம், இரண்டு மோட்டார்கள் உள்ளன. அதில் ஒன்று பத்து வினாடி தண்ணீர் இறைத்து தொட்டியில் விட வேண்டும். மற்றொன்று இருபத்தொன்றாவது வினாடியில் அதை எடுத்து வயலுக்கு பாய்ச்ச வேண்டும். இப்பொழுது இவை இரண்டும் சரியான நேரத்தில் இரண்டையும் செய்ய வேண்டும். இதில் மேலும் ஒரு வினையை சேர்ப்போம் தொட்டியில் கொள்ளளவு பாதி வந்தவுடன் அதாவது 10வினாடியிலிருந்து 15 வினாடி வரை வெப்பபடுத்த வேண்டும். இதுவும் சரியாக வேலை செய்கிறது. அடுத்து ஒவ்வொரு 10 முறைகளுக்கு பிறகும் வயலுக்கு போகும் ஓடையின் திசையை இரண்டாவது தொட்டி 90 degree க்கு மாற்ற வேண்டும் என்று ஒரு கட்டளை. தொட்டியில் ஒரு சிறிய மாற்றம் செய்வோம், தண்ணீர் ஒரு குறிப்பிட்ட அளவு இல்லையெனில் வெப்பம் 2.5 நொடிகளும், இரண்டாவது தொட்டி 20 முறைக்கு ஒரு தடவையும் 90 degree க்கு மாற வேண்டும் என்று. இந்த மொத்த இயக்கத்தையும் ஒரு வயல் செயலியாக கருதிக்கொள்ளுங்கள். இதே போல் நூறு வயல் செயலிகளை ஒரே கட்டுபட்டாகம் கொண்டு இயக்க வேண்டும். இவற்றில் ஒன்று இயங்காமல் ஒத்திசையாமல் போனால் கூட மொத்த இயக்கமும் கட்டுப்பாட்டை இழந்துவிட்டதாக கொள்ளவேண்டும். இதை போன்ற செயலிகளுக்கு நிகழ்நேர இயங்குதளம் தேவைப்படும்.
சாதரண இயங்குதளங்களைவிட மூன்று முக்கிய வேறுபாடுகள்.
1. நேரக்கட்டுப்பாடு. எல்லா சூழ்நிலைகளிலும், வேலைப்பளு இருந்தாலும இல்லாவிட்டாலும் ஒரு வினைத்தொடருக்கான நேரம் மாறவேகூடாது.
2. அறுதியிடப்பட்ட வரையறைக்குள்(நினைவகம் முதற்கொண்டு) செயல்களை முடிக்கும் திறன்.
3. எதிர்பார்க்கும் வினைமுடிவு.
இதோடு நிறுத்திவிட்டு மேலும் சில விவரங்களை பார்க்கலாம். இயங்குதளங்களின் உள்விவரம் தெரிந்தவர்கள் மேலோட்டத்தோடு நிறுத்துகிறேன் என்று சண்டைக்கு வராதீர்கள். இன்னும் விவரமாக எழுத ஒரு தொடரோ அல்லது ஒரு தனி புத்தகமோ எழுதுமளவிற்கு விஷயமிருப்பதை அறிவீர்கள்.
VxWorks, pSOS, QNX, RTLinux போன்றவை பதிகணினியியலில்(embedded) உலகத்தின் Windows, Linux வகையறாக்கள். அதிலும் VxWorks தான் முடிசூடா மன்னன். இன்னும் சில
(பல) குறிப்பிட்ட வகை உபயோகத்திற்கென நி.இதளங்கள் உள்ளன. உ.ம்; Symbian - கைத்தொலைபேசிக்கானவை. ஒரு முக்கிய விஷயத்தை கவனத்தில் கொள்ளவேண்டும். முன்பே சொன்னமாதிரி வடிவைப்பும், எதற்காக பயன்படுத்துகிறோம் என்பதும் முக்கியம். சிலவகை மிகச்சிறிய உபகரணங்களில்(உ.ம்; சாலை விளக்குகள்), இயங்குதளமே தேவைப்படாது.
பல நேரங்களில் வடிவமைப்பில் பிழை நேரும்போதுதான் பல விபத்துகளுக்கும்(செவ்வாயில் உணமையில் என்ன நடந்தது?) , கடலில் விழும் ராக்கெட்டுகளுக்கும் காரணம்.
அன்றாடம் பயன்படுத்தும் Windows, Linux , Mac OS போன்றவற்றால் இயங்கும் உபகரணங்களை மட்டும் பிரித்தால் எத்தனை சதவிகிதம் இருக்கும் என்று கேட்டிருந்தேனல்லவா?
Windows, Linux எல்லாம் சேர்த்து வெறும் 5 சதவிகிதம் தான் வரும். மீதி தொண்ணூற்றைந்து சதவிகிதம் உலகை ஆளவது நிகழ்நேர இயங்குதளங்களே!!
கருத்துகள்
ஆனால் நிகழ்நேர இயங்குதளத்தில் இல்லை
தமிழாக்கம் ரொம்ப அட்டகாசம்.. வாழ்த்துக்கள் சத்யா..
முயற்சி பண்றேன்.
\\தமிழாக்கம் ரொம்பவே ஆச்சர்யபடுத்துது\\
இதுல இருக்கற ஒரு சில வார்த்தைகளை தவிர மற்றதெல்லாம் ஏற்கனவே மக்கள் பயன்படுத்தறதுதான். விக்சனரி குழுமத்தில இருக்கறதும், முடிந்தவரை நற்றமிழ் விரதமும் உதவுகிறது.
என்ன லேயர். விவரமா சொல்லுங்க
பேசலாம்.
விக்கி பசங்க ல பின்றீங்க. அவையடக்கம் இவ்வளவா.
வருகைக்கு நன்றி,
புரியாத ஒரு விஷயத்தை சுட்டிக்காட்டினாக்கூட
அதப்பத்தி தனி பதிவா போட்டுடறேன். அடிப்படை விஷயங்களை எழுதும்போதுதான் எனக்கும் புரிதலின் அளவு தெரியும். கட்டுரை எழுத விஷயமும் கிடைக்கும்.
ஆனால் நிகழ்நேர இயங்குதளத்தில் இல்லை
தமிழாக்கம் ரொம்ப அட்டகாசம்.. வாழ்த்துக்கள் சத்யா
\\
நானும் ரொம்ப ஆழத்துல இல்லை. எதுல வேலை செய்யறீங்கன்னு சொல்லுங்க. ஒரு புதிய விஷயம் கிடைச்சா மாதிரி இருக்கும்.
தமிழாக்கம் என்னோடசொந்த உழைப்பு மட்டுமில்லை. விக்சனரி குழுமத்தையும் சாரும.
மீண்டும் வருகைக்கு நன்றி,\\
சற்றுமுன் போட்டிக்கு அனுப்பலாமே \\
அனுப்பிட்டா போச்சு.
நிறைந்த தமிழ்ச் சொற்களும், அதிகம் தெரியாத துறையாகவும் இருப்பதால், படிப்பவர்களுக்கு ஆர்வம் ஏற்படுத்த ஏதும் படங்கள் போட்டு விளக்கினால் நம்ம மக்கள் தயக்கமின்றி படிப்பார்கள் என்று நினைக்கிறேன்.. ;)
அடுத்த முறை முயலுகிறேன். புரிகிற மாதிரி படங்களுக்கு மிகவும மெனக்கெடவேண்டும். சோம்பேறித்தனம் தான் எல்லாம். ;-)
embed - பதி - சரியா இருக்காதுன்னு தோணுது..பொதிந்து வைக்கிறது சரியா இருக்கலாம். tvu பார்த்து சொல்றேன்..
நட்சத்திர வாரத்துல இப்படி ஓர் இடுகை எழுத ரொம்ப துணிச்சல் வேணும் :)
என்னடா தமிழ்ப்படுத்த தடவிக்கிட்டு இருந்தப்போ, 'நிகழ்நேரம்' னு எடுத்து குடுத்த ஐரோப்பியரை காணோமேன்னு நெனச்சிகிட்டு இருந்தேன். வந்துட்டீங்க.
embedded software, system-பொதிந்த மென்பொருள்,கணினியல் அப்பிடின்னு தான் தமிழ்ப்பிச்சேன். tvu-ல இல்லை.விக்கில பதிகணினினு யாரோ போட்டிருந்தாங்க சரி பயன்படுத்துவோம்னு போட்டுட்டேன். விக்சனரில நம்ம சண்டைய தொடரலாம்.
\\நட்சத்திர வாரத்துல இப்படி ஓர் இடுகை எழுத ரொம்ப துணிச்சல் வேணும் :)\\
நன்றி!!
மேலும் மேலும் இது போன்ற தலைப்புகளில் எழுத வாழ்த்துக்கள்!! :-)