கற்றுக்கொள்க லின்கஸின்உருவாக்கமைய நிரலாக்கத்தின் அடிப்படைகளை

ஒரு இயக்க முறைமையின் மையமும் மையக் கூறும் உருவாக்கமையம்(kernel) என அழைக்கப்படுகிறது. பணி மேலாண்மை ,வட்டு மேலாண்மை போன்ற அனைத்து அடிப்படை வன்பொருள் நிலையிலான செயல்பாடுகளும் இயக்க முறைமையின் உருவாக்கமையத்தால் கண்காணிக்கப்படுகின்றன. ஒரு பயனர்-நிலையில் செயல்முறைக்கு வன்பொருள் கூறுகளுக்கு நேரடி அணுகல் தேவைப்படும் போது, அது உருவாக்கமையத்திற்கு ஒரு கோரிக்கையை அனுப்புகிறது, இது கணினியின் அழைப்பு என குறிப்பிடப்படுகிறது.
உருவாக்கமையம் ஆனது மிகவும் பாதுகாக்கப்பட்ட பகுதியில் உள்ளது, அனுமதிஅளிக்கப்பட்ட பயனர்கள் மட்டுமே அணுக முடியும். இதன்மூலம் வன்பொருளை நேரடியாக அணுக முடியும் எனவே உருவாக்கமைய செயலிகள் பொதுவாக சாதாரண பயனர் செயலிகளை விட மிகவிரைைவாக இருக்கும். . அனைத்து கணினி வளங்களையும் அணுகுதல், அனைத்து வளங்களையும் நிர்வகித்தல், அத்துடன் நினைவகத்தையு , முழு சாதனத்தையும் நிர்வகித்தல் ஆகியவையே உருவாக்க மையத்தின் முக்கிய செயல்பாடுகளாகும்.
யார்யாரெல்லாம் அணுகமுடியும் என்பதை உருவாக்கமையம் தீர்மாணிக்கிறது. இதில் ‘rings’’ (படம் 1 இல் காட்டப்பட்டுள்ளபடி) எனும் ஒன்று உள்ளது, இதுவே யர்யாருக்கு எவ்வாறான அணுகுவதற்கான அனுமதிஉள்ளது என்பதை தீர்மாணிக்க உதவுகிறது. அடிப்படையில், உருவாக்கமைய-நிலையிலான நிரல்களை இயக்க ஒரு குறிப்பிட்ட பகுதி உள்ளது, இது உருவாக்கமையத்திற்கானஇடம் என அழைக்கப்படுகிறது. இதேபோன்று, பயனரின் நிரல்கள் இயங்கும் இடம் ஒன்றுஉள்ளது, இது பயனர் இடம் என்று அழைக்கப்படுகிறது.

படம் 1: இயக்க முறைமை கட்டமைப்பு
ஆனால் நாம் ஏன் உருவாக்கமைய-நிலைக்கான நிரலாக்கத்தைக் கற்றுக்கொள்ள வேண்டும்?
அதன்முக்கிய நன்மை என்னவென்றால், உருவாக்கமைய மட்டத்தில் நிரலாக்கத்தின் மூலம், கணினி மேலாண்மை, வலைபின்னல், நினைவகம், கோப்புகளை கையாளுதல் உள்ளிட்ட அனைத்து அடிப்படை துணை அமைப்பு களுக்கான அணுகலைநாம் பெறுகிறோம். நாம் உருவாக்கமையத்திற்கான தொகுப்புகளை தனித்தனியாக உருவாக்கி, கணினி இயங்கிக் கொண்டிருக்கும் போதே அவற்றை அதில் இணைக்கலாம். இதன் பொருள், உருவாக்கமையத்தினை நாமே பயன்படுத்திக்கொள்ளலாம், பயனர் அடுக்குகளைத் தவிர்த்து அதை அணுகலாம் என்பதுதான்..
உருவாக்கமையத்தின் நிலையானது மிகவும் உள்ளகமானதாகவும், மிகவும் பாதுகாக்கப்பட்ட அடுக்காகவும் உள்ளது என்பது தெளிவாகிறது, அதே நேரத்தில் பயன்பாட்டு அடுக்கு என்பது வன்பொருளுக்குள் மிகவும் வெளிப்புறமானதும் குறைந்தபட்சம் பாதுகாக்கப்பட்டதுமான அடுக்கு ஆகும்.
உருவாக்கமையத்துடன் எவ்வாறு தொடர்புகொள்வது என்பதைப் புரிந்து கொள்வதும், அதனுள் நமது சொந்த சிறிய நிரலைச் சேர்ப்பதும் நம்முடைய முக்கிய குறிக்கோள்! மிக சுவாரஸ்யமாகத் தெரிகிறது,அல்லவா? எனவே தொடங்குவோம்!
ஒரு ‘make’எனும் கோப்பினை உருவாக்குதல்
‘make’எனும் கோப்பினை உருவாக்குவதே நம்முடைய துவக்கசெயலாகும். ஒரு‘make’ எனும் கோப்பில் குறிப்பிடப்பட்ட கட்டளைகளின் தொகுப்பை இயக்க ‘make’ எனும் கட்டளை நமக்கு உதவுகிறது.
உரை திருத்தியைத் திறந்து பின்வரும் குறிமுறைவரிகளைச் சேர்த்திடுக. இதற்கு ‘Makefile’ என்று பெயரிட்டு, கீழே காட்டப்பட்டுள்ளபடி ஒரு இடத்தில் சேமித்திடுக.
obj-m += jishnuos.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean6
இந்த ‘Makefile’ ஆனது நாம் பயன்படுத்தி கொள்வதற்காக தயாராக இருப்பதால், இப்போது நமது உருவாக்கமையத்தினை இயக்க அற்கான குறிமுறைவரிகளை எழுதலாம். இந்த வழக்கில், இரண்டு எண்களைச் சேர்க்க, நம்முடைய உருவாக்கமையத்தில் ஒரு தொகுப்பைச் சேர்த்திடுவோம்.
இங்கே உள்ள குறிமுறைவரிகளில் காட்டப்பட்டுள்ளபடி, object எனும் பெயருடன் ஒரு கோப்பை உருவாக்கிடுக. இப்போது இந்த கோப்பை ‘Makefile’ஐ சேமித்த அதே இடத்தில் சேமித்திடுக.
<linux/module.h>
<linux/kernel.h>
<linux/kthread.h>
<linux/sched.h>
<linux/time.h>
int init_module(void)
{
int pi
int q = 5;
int r = 3;
p= q + r;

printk (KERN_INFO “The sun of the numbers is %d\n”,p)
return 0;
}

void cleanup_module(void){
printk(KERN_INFO”BYE\n”);
}
இவ்வாறு உருவாக்கமையத்திற்கான நிரலாக்கம் தயாரானதும், இந்த தொகுப்பினை உருவாக்கமையத்தில் செருகிடலாம்.
இதைச் செய்ய, முதலில் ‘make’ எனும் கட்டளையை இயக்கிடுக. அதற்காக ஒரு முனைமத்தைத் திறந்து படம் 2 இல் காட்டப்பட்டுள்ளபடி ‘make’ எனும்கட்டளையை உள்ளிடுக.

படம் 2: கட்டளையை உருவாக்குதல்
அடுத்து, ஒரு முனைமத்தினைத் திறந்து, கோப்புகளை சேமித்து வைத்திருக்கும் இடத்திற்குச் சென்று படம் 3 இல் காட்டப்பட்டுள்ளபடி கட்டளைவரிகளைப் பயன்படுத்திடுக.

படம் 3: insmod எனும்கட்டளைவரி
sudo insmod sumofnumber.ko
544 / 5,000
Translation results
Translation result
இப்போது நம்முடைய தொகுப்பு ஆனது உருவாக்க மையத்தில் செருகப்பட்டுவிட்டது, படம் 4 இல் காட்டப்பட்டுள்ளபடி, நமது வெளியீட்டைச் சரிபார்க்க ‘dmesg’ எனும் கட்டளையைப் பயன்படுத்தலாம். இது நாம் வழங்கிய இரண்டு எண்களின் கூட்டுத்தொகையை திரையில் காண்பிக்கிறது, இது நம்முடைய குறிமுறைவரிகள் செயல்பாட்டினை குறிக்கிறது!

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

%d bloggers like this: