சனி, 5 ஏப்ரல், 2014

அதிகம் படித்தலைவிட ஆழப்படித்தலே சிறந்தது (Linux boot process) - கணினிக்கதை


சென்ற தமிழ் கம்ப்யூட்டர் இதழில் (மார்ச் 16-31,2014, பக்கம் 44) வெளியான எனது கணினிக்கதை.
“எங்கே போகுதோ வானம், அங்கே போகிறோம் நாமும்…” யுட்யூபில் வெளியாகியிருந்த அதி உயர் தொழிற்நுட்பத்தில் (motion capturing) இருந்த கோச்சடையான் கணினி வரைகலைப்பாடலை தனது தந்த நிற (ivory colour) XUV500 வில் ஒலிக்கவிட்டு இளைப்பாறிக் கொண்டிருந்தான் நெடிலன். வண்டியில் இசையின் ஒலியளவு அதிகம் இருந்ததால் அவனது தோழி நுட்பாவின் கைபேசி அழைப்பு அவனுக்கு கேட்கவில்லை.

பாடல் முடிந்தவுடன் இருந்திருந்தாற்போன்று அவனது கண்கள் கைபேசியின் பக்கம் திரும்பியது. அனிச்சையாக கைபேசியைப் பார்த்தவனுக்கு ஐந்து ஏற்கா அழைப்புகள் (missed calls) இருந்தது அதிர்ச்சியளித்தது.
ஐந்தும் நுட்பாவினுடையதுதான். “மறுபடியும் கூப்டா நல்லா திட்டப்போறா..” நினைத்துக் கொண்டே கைபேசியைத் தடவி அழைப்புச் செய்தான் அந்த உயர் மென்பொறிஞன்.
கைபேசி அழைப்பு எடுக்கப்பட்டபின் 15 நொடிகள் மறுமுனையில் அமைதி.
"நுட்பா.." மௌனத்தை உடைத்தான் நெடிலன்.
"சொல்லுங்க.. நெடில்.." இது நுட்பா.
“இல்ல. நீ தான் கூப்டிருந்த...” இழுத்தான் அந்த இளமென்பொறிஞன்.
“எனக்கு நாளைக்கு பன்னாட்டு மென்பொருள் நிறுவனத்துல‌ நேர்காணல் இருக்கு.
“நீங்க. நேர்ல வந்தா நெறய ஐயங்கள் கேக்கணும். அதான்...” திட்டாமல் அமைதியாகப் பேசினாள் நுட்பா.
“அதுக்கென்ன பத்து மணித்துளிகள்ல வர்றேன்.” பளிச்சென்று பேசினான். பேசியவன், சொன்ன சொல் காப்பாற்றி பத்தே மணித்துளிகளில் நுட்பாவின் புத்தில்லமான பொற்குடிலுக்கு வந்தான்.
தனது நான்கு சக்கர ஊர்தியை அதற்குரிய இடத்தில் இட்டுவிட்டு சிரித்தபடி பொற்குடிலுக்குள் நடந்தான்.
"கைபேசிய எடுக்காம என்ன பண்ணிங்க?" வந்தவுடன் செல்லமாகக் கோபித்துக் கொண்டாள் நுட்பா.
“XUV500ல அடர்குறுவட்டு இயக்கில (DVD player) பாட்டுக் கேட்டுக்கிட்டிருந்தேன்.”  உண்மையை உளறியபடி, “அதான் வந்துட்டனே, ஒன்னோட கேள்வியெல்லாம் தொடங்கு...” நிலைமையைச் சமாளித்தான் நெடிலன்.
“உயர் மென்பொறி நிறைஞர் (Senior System Admin) பதவிக்கு ஐபிஎம்ல நாளைக்கு நேர்காணல். லினக்ஸ்தான் முக்கியமா கேக்கறாங்க.  நா..சாம்பா சர்வர், அப்பாச்சி சர்வர், PXE சர்வர், DHCP சர்வர் எல்லாம் படிச்சுட்டேன். நீங்க எதாவது உதவித்துளிகள் (tips) குடுத்தா பரவாயில்லை.”
“சர்வரெல்லாம் படிச்சுட்ட சரி, Linux boot process தெரியுமா? போர்ட் நம்பரெல்லாம் தெரியுமா?” விடையாக வேறொரு கேள்வி கேட்டான் நெடிலன்.
“அதெல்லாமா கேப்பாங்க. இது உயர் மென்பொறிஞர் பதவிதான…ரொம்ப நிறைய வழங்கிகள் (servers) பத்தித்தான கேப்பாங்க..” மறுமொழிந்தாள் நுட்பா.
“இந்த நெனப்புத்தான் தப்பு. எப்பவுமே நேர்காணல்ல, அடிப்படையான கேள்விதான் (fundamental questions) மொதல்ல கேப்பாங்க. அது சரியா இருந்தா, நம்ம மேல அவங்களுக்கு ஒரு நல்ல கருத்து (opinion) ஏற்படும். அதனால மேல போகப் போக‌ நாம தப்பா சொன்னாலும், அத விட்டுட்டு வேற கேள்வி கேப்பாங்க. நேர் சிந்தனையோட இருப்பாங்க. அடிப்படைலயே தப்பு பண்ணா, மேல கேள்வி எதும் கேக்கமாட்டாங்க. எதிர் சிந்தனை வந்துடும். இதுதான் அடிப்படை மனித விதி(basic human psycology).” நீட்டினான் நெடிலன்.
“ஐயோ! நா.. எனக்கு, linux boot process மறந்து போச்சே!.  அதுபத்தி சொல்லுங்க நெடில்.” மெல்லிய பதற்றத்துடன் நெடிலனின் நீள் நெற்றி நோக்கினாள் நுட்பா.
“பொதுவாக தொடக்க இயங்குதள ஏற்றினையே பூட் பிராசஸ் அப்டீன்னு சொல்றோம். Linux boot process, பொறுத்தவரையில் நான்கு நிலைகள் உண்டு.
  1. BIOS – Basic Input Output System
இதுல எதன் மூலம் லினக்ஸானது பொறிக்குள் வரவேண்டும் என்பது குறிப்பிடப்படும். அதாவது first boot device,
  1. boot from harddisk
  2. boot from DVD Live
  3. boot from network
நாம ஏற்கனவே பொறியில இருக்கற லினக்ஸ் பத்தி பேசறதால, boot from harddisk ஐ எடுத்துக்கலாம். அதுக்கடுத்து, 2. GRUB (Grand Unified Boot Loader version 0.97) க்கு பொறியானது வரும். நீ ரெட் ஹாட் லினக்ஸ் படிச்சிருக்கறதால, இந்தப் பதிப்பு பத்திப் பேசினாப் போதும். உபுண்டுன்னா, GRUB2.0 பதிப்பு வரும். அதப்படிச்சு இப்ப கொழப்பிக்க வேணாம். இந்த பூட் லோடர், /boot/grub/grub.conf கோப்புல இருக்கும். கூடிய மட்டும் அந்தக் கோப்புல (/boot/vmlinuz kernel file) இருக்கற சேதிகள மனப்பாடம் செஞ்சுக்க முயற்சி பண்ணணும். மொதல்ல, விஎம்லினக்ஸ் கோப்பானது ஏற்றப்படணும். இதுதான் கர்னல் கோப்பு. இந்தக்கோப்பு அழிஞ்சா அவ்வளவுதான் இயங்குதளம் எற்றப்படுவது நிறுத்தப்பட்டும்.
3. மூனாவது, இனிஷியல் ராம் டிஸ்க் கோப்பாகும். (/boot/initrd.img) இந்தக்கோப்பு அழிக்கப்பட்டு இருந்தா,  நாம mkinitrd கட்டள மூலமா அத‌ regenerate பண்ண முடியும். இது ரெண்டும் நல்லா லோட் ஆயிடுச்சுன்னா, அடுத்தது
4. runlevel லோட் ஆகணும்.
லினக்ஸ்ல ஏழு run levels உண்டு.” ஆங்கிலத்தில் தொடர்ந்தான் நெடிலன்.
init 0 halt / shutdown
init 1 single user mode
init 2 multi user mode without network
init 3 multi user mode with network
init 4 unused kept for future enhancement purpose
init 5 XII / GUI (Graphical User Interface)
init 6 reboot
“இந்த runlevels எல்லாம் மறந்து போனா, நாம‌, gedit /etc/inittab கட்டள குடுத்து எளிமையாப் பாக்கலாம்.” முனைப்புடன் பேசினான் நெடிலன்.
அவன் பேசும் அழகைச் சுவைத்துக் கொண்டே, “இப்ப எனக்கு நல்லா ஞாபகம் வந்துடுச்சு”, சொன்னாள் நுட்பா.
தனது கைபேசியில், கூகுளில் தேடி, /boot/grub/grub.conf கோப்பின் மாதிரியை எடுத்து (கீழே கொடுக்கப்பட்டுள்ள கட்டளை வரிகள்) விளக்கத் தொடங்கினான் நெடிலன் சரளமான ஆங்கிலத்தில்.
default=0
timeout=5
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-71.el6.i686)
root (hd0,5)
kernel /boot/vmlinuz-2.6.32-71.el6.i686 ro root=UUID=261182d6-76bb-46cc-a095-83d55a180724 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us nomodeset crashkernel=auto rhgb quiet
initrd /boot/initramfs-2.6.32-71.el6.i686.img
title Other
rootnoverify (hd0,0)
chainloader +1
இதுல default=0 ங்கறது முதல் இயங்குதளத்த லோட் செய்ய உதவுது. timeout=5 அப்டீங்கறது, பயனருக்கு கொடுக்கற அவகாசம். இங்க 5 நொடிகள் இருக்கு. splashimage என்பது பூட் திரைக்கு பின்னால வர்ற, படம். hiddenmenu இந்த தேவையில்லாத வரிகள பயனருக்குத் தெரியாம மறைக்கறதுக்கு. titile பயனருக்கு எந்த இயங்குதளம்ன்னு சொல்றதுக்கு.  இந்த‌ GRUB ல ரெண்டு OS இருக்கு. title Other ங்கறது விண்டோஸ் இயங்குதளம்.” விறுவிறு வென விளக்கி முடிதான் நெடிலன்.
“இப்போ போர்ட் நம்பர் பத்தி பாக்கலாம். மொத்தம் 65535 போர்ட் நம்பர்கள் இருக்கு. எல்லாமே logical port numbersதான். well-known port numbers 0-1023. Registered port numbers 1024-49151 dynamic or private port numbers 49152-65535. போர்ட் நம்பர்ஸ் போதுமா?” கேள்வியுடன் முடித்தான் அந்த மென்பொருள் வல்லுநன்.
“சரி நெடில், போர்ட் நம்பரெல்லாம் மறந்துடுத்துன்னா என்ன பண்றது?” நுட்பா நுணுக்கமாகக் கேட்டாள்.
“ரெண்டு வகையாக நம்ம இந்த போர்ட நம்பர்களப் பாக்கலாம். OSல இருந்துக்கிட்டே பாக்கணும்னா,
Linux file for port numbers gedit /etc/services.
Windows file for port numbers C:\Windows\System32\Drivers\etc\services இணையத்துல பாக்கணும்னா, http://pnaplinux.blogspot.in/search/label/Misc தொடுப்பைப் பாக்கலாம் தனது கைபேசியில் மாதிரி வெளியீட்டினைக் காட்டிக் கொண்டே ஆங்கிலத்தில் அளந்தான் நெடிலன்.
“நன்றி நெடில். நீங்க சொன்னது எனக்கு நாளைக்கு நேர்காணலுக்கு கண்டிப்பா உதவும். மெத்த மகிழ்ச்சி.” அவனது அறிவினை வியந்த வண்ணம் நவின்றாள் நுட்பா.
“நேர்காணலில் வெற்றி பெற வாழ்த்துக்கள் நுட்பா.” வெகு இயல்பாகச் சொன்னான் நெடிலன்.

“ஆமா, நான் 5 தடவ கைபேசினேன் நீங்கதான் எடுக்கவேயில்ல. ஏன்?” வேண்டுமென்றே மீண்டும் கேட்டாள் நுட்பா.
“அப்பா...மறுபடியும் மொதல்லர்ந்தா?” மெல்லச் சிரித்த நெடிலன், “எங்கே போகுதோ வானம், அங்கே போகிறோம் நாமும்…” மகிழ்ச்சியுடன் முணுமுணுத்தான்.

0 Comments: