Saturday 2 May 2015

Moving Faster

Moving target is hard to hit. Move faster

Sent from my Windows Phone

Saturday 31 December 2011

Why DOTNET framework - எதற்காக டாட்நெட் கட்டமைப்பு?


Why DOTNET framework?

      The purpose of the computer is to interact with the user and to process or store the user information. But how this computer interacts with user, process and stores the user data into it. Basically a computer require set of program codes (called Operating System) to perform such work.

What is program code and how it looks?

     So far, what we understood is, Computer is used to interact the user, process and store the user information with the help of program codes (Operating System). Now, two things are clear that computer (Hardware) and Operating System-(Software) combines to form a full functioning "Computer System".
     Here, one thing we need to analyze is how computer run the program codes? Its handled by the core hardware of the computer called "Processor". Processor is responsible to run the program codes.

     A Program code or  Program is a set of instructions. These instructions work or execute one by one in sequential.
     Processor is an hardware, designed to hold and execute the predefined set of instructions. Depending upon the user service (example : Input/Output Service in Windows Operating System) program, required instructions are grouped to form a program.

     Following is an 8 bit micro-processor, instruction codes or program for addition, subtraction and increment operations.


Program Memory Address (8 BIT)
Operation Code
(Instructions)
Operand
0x0001 to 0x0002
ADI
32H
0x0003 to 0x0004
ADD
B
0x0005 to 0x0006
SUI
30H
0x0007 to 0x0008
SUB
B
0x0009 to 0x0010
INR
A
 
      1. ADI - Add an 8 bit hexadecimal number 32 to “A“ register. (note: A register is also program address memory to store the value but this memory is commonly shared by all instructions or Operation Codes.)
      2. ADD - Add content of “B” register and “A” register. And store it in “A” register.
      3. SUI - Subtract an 8 bit hexadecimal number 30 to “A“ register.
      4. SUB - Subtract content of “B” register and “A” register. And store it in “A” register.
      5. INR - Increment the content of “A” register by 1.

     This Program or Instruction Code also called as Machine Language or Native Code or Assembly Language.

Now time to come back to our original question, why DOTNET framework?

     So far we saw few things on Program or Instruction code or Machine Language, Operating System, Processor. Now consider a person writing the Input/Output Service Program in Machine Language. Do you think is it possible? Of course its possible but it will take months or even year to complete.

     To overcome this problem, Microsoft developed a software program named DOTNET framework, it drastically reduced the Machine Language based programming time for the users. For that DOTNET framework providing a graphic oriented developing environment called Visual Studio.

     In this environment user can write the program in a story based manner. This way of writing program is termed as scripting. DOTNET framework developing environment provides many kind of scripting language (Example: C#.NET, VB.NET etc.,). This scripting languages are functionally similar to Machine language but reduces major part of programming or coding comparing to machine language based programming.

    But how the processor understand these scripting languages? Answer is, one of the important job of DOTNET framework is to make that scripting language understandable by processor. That means specific module named Just In Time(JIT) Compiler in the DOTNET framework  will convert the scripting language to machine language(example: C#.NET to Instruction codes or Machine language). This process of conversion in DOTNET Framework is termed as Compile and Build and also called Code Translation.

எதற்காக டாட்நெட் கட்டமைப்பு?

     கணிணியின் வேலையாவது பயனரிடம் தொடர்புகொண்டு அவர்களிடமிருந்து பெரும் தகவல்களை முறைபடுத்தி சேமித்து வைப்பதே. ஆனால் இதனை கணிணியால் எவ்வாறு செய்யமுடிகிறது. அடிப்படையில் கணிணி இத்தகைய வேலைய செய்ய உதவுவது அதனுள் அமைத்திருக்கும் பல குறியீடுகளின் தொகுப்பு அதாவது "இயக்க அமைப்பு(Operating System)".

அது என்ன குறியீடு, அவை பார்ப்பதற்கு எவ்வாறு இருக்கும்?

          இதுவரை நாம் புரிந்து கொண்டது, கணிணி பல குறியீடுகளின் அதாவது "இயக்க அமைப்பு(Operating System)" உதவியால் பயனர்களிடம் தொடர்புகொண்டு அவகளிடமிருந்து பெரும் தகவல்களை முறைபடுத்தி பதிவு செய்கிறது. இதிலிருந்து இரண்டு பொருள் புரியவருகிறது, ஒன்று கணிணி அதாவது வன்பொருள் மற்றொன்று "இயக்க அமைப்பு" அதாவது மென்பொருள். இவை இரண்டும் இனைந்து முழு செயல்பாடு கொண்ட கணிணி அமைப்பாக உருகொள்கிறது.

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

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

     இந்த செயலி வன்பொருள், முன் வரையறுக்கப்பட்ட பல கற்பித்தல் குறியீடுகளை தக்கவைத்து மற்றும் இயக்கும் வகையில் வடிவமைக்கபட்டிருக்கிறது. உதாரணதிற்கு ஒரு பயனர் சேவை குறியீடு அதாவது Windows இயக்க அமைப்பில் உள்ள ஒரு பயனர் சேவையான இன்புட்/அவுட்புட் சேவையின் இயக்க வேலையே பொறுத்து தேவையான கற்பித்தல் குறியீடுகள் அதாவது Instructions குழுவாக்கி சேவை குறியீடாக உருகொள்கிறது.

     தொடர்வது ஒரு 8 பைனரி இலக்க நுண்-செயலியின் கற்பித்தல் குறியீடுகள், இந்த கற்பித்தல் குறியீடுகளின் நடவடிக்கைகள் கூட்டல், கழித்தல் மற்றும் பெருக்கம்

Program Memory Address (8 BIT)
Operation Code
(Instructions)
Operand
0x0001 to 0x0002
ADI
32H
0x0003 to 0x0004
ADD
B
0x0005 to 0x0006
SUI
30H
0x0007 to 0x0008
SUB
B
0x0009 to 0x0010
INR
A

1. ADI - இந்த கற்பித்தல் குறியீடு ஒரு 8 பைனரி இலக்க அறுபதின்ம எண் 32 உடன் " A " பதிவின் உள்ளடக்கத்தின் கூட்டல். (குறிப்பு: " A " பதிவு என்பது குறிப்பிட்ட அளவு கொண்ட நினைவகம். இந்த நினைவகத்தில் 8 பைனரி இலக்க எண்ணை பதிவு செய்யும் திறன் கொண்டது)
2. ADD - இந்த கற்பித்தல் குறியீடு " A " பதிவின் உள்ளடக்கத்தையும் மற்றும் " B " பதிவின் உள்ளடக்கத்தையும் கூட்டி அதன் முடிவை " A " பதிவிலேயே சேமித்து வைக்கும்.
3. SUI - இந்த கற்பித்தல் குறியீடு ஒரு 8 பைனரி இலக்க அறுபதின்ம எண் 30 உடன் " A " பதிவின் உள்ளடக்கத்தின் கழித்தல்.
4. SUB - இந்த கற்பித்தல் குறியீடு " A " பதிவின் உள்ளடக்கத்தையும் மற்றும் " B " பதிவின் உள்ளடக்கத்தையும் கழித்து அதன் முடிவை " A " பதிவிலேயே சேமித்து வைக்கும்.
5. INR - இந்த கற்பித்தல் குறியீடு " A " பதிவின் உள்ளடக்கத்துடன் 8 பைனரி இலக்க அறுபதின்ம எண் 1 கூட்டி அதன் முடிவை " A " பதிவிலேயே சேமித்து வைக்கும்.

இந்த கற்பித்தல் குறியீடுகளின் குழுவை " MACHINE LANGUAGE " அதாவது எந்திர மொழி என்று கூறலாம்.

இப்பொழுது நாம் ஆரம்ப கட்ட கேள்விக்கு வருவோம், எதற்காக டாட்நெட் கட்டமைப்பு?

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

     இவ்வகை சவால்களை எதிர்கொள்ளும் வகையில், ஒரு மென்பொருள் குறியீட்டினை microsoft நிறுவனம் உருவாக்கி வழங்கியிருகிறது அதன் பெயர் தான் டாட்நெட் கட்டமைப்பு. இந்த மென்பொருள் microsoft வழங்கப்பட்ட இயக்க அமைப்பு மென்பொருளான WINDOWS இன் கட்டுபாட்டின் கீழ் இயங்கும் வகையில் வடிவமைக்கபட்டுள்ளது. இந்த கட்டமைப்பின் உதவியால் எந்திர மொழி சார்ந்த குறியீடு எழுதும் நேரத்தை பெருமளவில் குறைக்கலாம். இந்த டாட்நெட் கட்டமைப்பின் சேவைகளை வரைகலை சார்ந்த குறியீடு வளர்ச்சி சூழலின் மூலம் பெறலாம். இத்தகைய சூழலை " VISUAL STUDIO " என பெயரிடுகிறார்கள்.

     இத்தகைய சூழலில் ஒரு பயனர் தன் தேவைகேற்ப குறியீடுகளை கதை அடிப்படைமுறையில் எழுதலாம். இந்த முறையில் எழுதும் குரியிடுகளைதான் " SCRIPTING " அதாவது கதை எழுதுதல் என கூறுகிறார்கள். பிறகு டாட்நெட் கட்டமைப்பின் குறியீடு வளர்ச்சி சூழல் பயனருக்கு " SCRIPTING " அதாவது கதை எழுதுதலை பல கணிணி அறிந்த மொழிகளில் வழங்குகிறது, அவற்றுள் C#.NET, VB.NET மற்றும் பல. இந்த மொழிகள் செயல் வகையில் எந்திர மொழியுடன் ஒத்திருக்கும் ஆனால் எந்திர மொழியின் வேலை நேரத்தில் பல மடங்கு அலவை குறைக்கும்.

     ஆனால் எவ்வாறு கணினியின் அங்கமான செயலி இந்த டாட்நெட் கட்டமைப்பின் மொழியை புரிந்து கொள்ளும்? பதில், டாட்நெட் கட்டமைப்பின் முதன்மையான வேலையே இதன் மொழியில் உள்ள குறியீடுகளை செயலி புரிந்து இயக்கும் வகையில் மொழி மாற்றம் செய்வதே. அதாவது டாட்நெட் கட்டமைப்பில் "ஜஸ்ட் இன் டைம்" கம்பைலர் எனப்படும் தொகுதி டாட்நெட் மொழியிலிருந்து எந்திர மொழிக்கு மொழி மாற்றம் செய்கிறது (எவ்வாறென்றால் C#.NET இருந்து எந்திர மொழிக்கு). இந்த மாற்றும் செயலைத்தான் டாட்நெட் கட்டமைப்பில் " COMPILE AND BUILD " அதாவது " திரட்டு மற்றும் உருவாக்கம் " அல்லது மொழி மாற்றம் என்று கூறுவார்கள்.

Tuesday 27 December 2011

What is computer Operating System - கணிணி இயக்க அமைப்பு என்றால் என்ன?

What is computer Operating System?

     It is a set of programs, work or run in the computer to make the computer hardware utilization for the users.

How computer Operating System helps the users to utilize the computer hardware?

     In computer, many number of  programs (Operating System) are running or working. These programs are responsible to provide services to the user. By using these services, user get access to computer hardware's.

     Example : If the user want to create and store a text document, this operation can be done by using the Input/Output service provided by the Operating System. This Input/Output service is responsible to get the user input from input devices such as Keyboard, Mouse, etc., and store into the storage device such as  Hard Disk Memory etc., and display it in the display or output device such as Monitor etc., please refer the below figure

கணிணி இயக்க அமைப்பு என்றால் என்ன?

      இயக்க அமைப்பு என்பது பல குறியீடுகளின் தொகுப்பு. இந்த குறியீடுகளின் இயக்கம் கணிணி பயனர்களுக்கு கணிணியின் உபகரணங்களை உபயோகிக்கும் வகையில் செயல்படுகிறது.

கணிணி இயக்க அமைப்பு எவ்வாறு பயனர்களுக்கு கணிணி உபகரணங்களை பயன்படுத்தும் வகையில் செயல்படுகிறது?

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

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





    

Thursday 22 December 2011

What is DOTNET Framework - டாட்நெட் கட்டமைப்பு என்றால் என்ன ?



What is DOTNET Framework?

     DOTNET is macro software given by Microsoft Company. It comprises several program modules.  The purpose of the program module is to communicate with the computer hardware’s through the services provided by the computer "Operating System" or with the other associated program module. These modules composition has been shown in below figure with version.


டாட்நெட் கட்டமைப்பு என்றால் என்ன?

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