# யுனிக்சு

*UNIX*' (யுனிக்ஸ் அல்லது யுனிக்ஃசு, UNIX)) என்பது ஒரு கணினி இயக்கு தளம் ("UNIX" வணிகப்பதிவுப் பெயர்). இவ் இயக்குதளம் பல பணிகளை ஒரே நேரத்தில் செய்யக் கூடிய, பலர் ஒரே நேரத்தில் பயன்படுத்தக்கூடிய, ஓரு கணினி இயக்கு தளம் . ஆகும். இது 1969 இல் பெல் செயற்கூடங்களில் ("Bell Lab" ) பணியாற்றிய கென் தாம்சன் (Ken Thompson), டென்னிஸ் ரிட்சி, டக்லசு மெக்கில்ராய், சோ. ஓசண்ணா ஆகியோர் அடங்கிய குழுவால் உருவாக்கப்பட்டது.  

யுனிக்சு இயங்கு தளத்தை யுனிக்சு **ஷெல் (shell)**, யுனிக்சு **கருனி (kernal)** என இரண்டாகப் பிரிக்கலாம். பயனர்கள் யுனிக்ஸ் ஷெல் ஊடாக கட்டளைகளை இடுவார்கள். யுனிக்ஸ் கருனி கணினியின் வன்பொருட்களை தகுந்தவாறு இயக்கி அந்த கட்டளைகளை நிறைவேற்றும்.  

தற்கால யுனிக்ஸ் பல்வேறு கிளைகளாக பிரிந்து வெவ்வேறு நிறுவனங்களாலும் விரிவாக்கி வளர்த்தெடுக்கப்பட்டுள்ளது. தற்போது யுனிக்சின் தொழிற்குறியீட்டு (trademark) உரிமை **தி ஓபன் குரூப்** **(The Open Group)** என்ற அமைப்பிடம் உள்ளது. **தனி யுனிக்சு குறிப்புகளுக்கு (Single Unix Specification)** முற்றிலும் இசைந்த (compliant) இயங்கு தள மென்பொருள்களுக்கே இந்த தொழிற்குறியீடு (trademark) கொடுக்கப்பட்டு சான்றளிக்கப்படுகிறது. சன் குழுமத்தின் **சொலாரிஸ்** **(Sun Solaris)**, ஐ.பி.எம்.(IBM)-ன் **எய்க்ஸ்** **(IBM AIX)**, ஹியூலட் பக்கார்டின் **ஹெச்.பி.அக்ஸ் (HP-UX)**, ஸான்றா க்ரூஸ் ஆபரேஸன்ஸின் **யுனிக்ஸ்வேர் (SCO Unixware)** இயங்கு தள மென்பொருள்கள் ஆகியன முற்றிலும் சான்றளிக்கப்பட்டவை. இவ்வாறு சான்றளிக்கப்படாமல் உள்ளவை **யுனிக்ஸ் போன்றவை (Unix-Like)** என அழைக்கப்படுகின்றன. லினக்ஸ் (Linux), பி.எசு.டி. (BSD- Free BSD, NetBSD,etc) ஆகியவை இதில் அடங்கும்.  

## மேலோட்டம்

யுனிக்ஸ் இயங்கு தளம் முக்கியமாக தொழில் ரீதியிலான மென்பொருள்கள் இயங்கக் கூடிய சேவை வழங்கிகளிலும் (server) **ஒர்க்ஸ்டேஸன்களி**லும் (Workstation) உபயோகப்படுகிறது. இது ஒரு **பல்-பயனர் (multi-user)**, **பல்செயல் (multi-tasking)** இயங்குதளமாகும்.  
### இயங்குதளம்
இயங்குதளம் என்பது கணினியின் மற்ற வன்பொருள் மற்றும் மென்பொருள் பாகங்களை இயக்கும் நிரல் (program). கணினியின் வள ஆதாரங்களை (resources) பகிர்ந்து கொடுக்கவும் வேலைகளை (tasks) பட்டியல் இட்டு செயல் படுத்தவும் (schedule) செய்கிறது.  
### இயந்திர சார்பின்மை
யுனிக்ஸின் மிக சிறிய பாகமே இயந்திர சார்புடையது. ஆதலால் இதனை வெகு எளிதாக மற்ற கணினி இயந்திரங்களில் இயங்கும்படி மாற்றியமைக்கலாம்.  

## யுனிக்ஸ் வரலாறு
### 1969

யுனிக்ஸ் இயங்கு தளம் உருவாக்கும் வேலை ஐக்கிய அமெரிக்காவின் நியூ ஜெர்ஸி மாநிலம் முரே ஹில்லில் உள்ள **ஏ.டி & டி (AT&T)** **பெல் ஆய்வகத்தில்** துவங்கப்பட்டது. **கென் தாம்ஸன்** *(Ken THOMPSON)*, **டென்னிஸ் ரிட்சி** *(Dennis RITCHIE)*, *ரூட் கனடே* *(Rudd CANADAY)*, *ப்ரைன் கேர்நிகேன்* *(Brian KERNIGHAN)* மற்றும் பலர் பெல் ஆய்வகத்தின் பி.டி.பி.-7 என்ற கணினியில் இதற்கானவற்றை துவங்கினர்.  

### 1971
யுனிக்ஸின் முதல் பதிப்பு வெளியிடப்பட்டது. இதன் முக்கிய அம்சம் ஆக்க உரிமை ஆவணங்களை தயாரிக்கும் கருவிகளான **roff**, **ed**, **தொகுப்பி (assembler)** மற்றும் **கோப்பு தளம் (file system)** ஆகியவை.முதலில் யுனிக்ஸ் சேர்வுமொழி (Assembly language)யில் எழுதப்பட்டாலும் 1973-க்குப் பிறகு பெரும்பாலும் C என்ற உயர்நிலை கணினி மொழியிலேயே இந்த இயங்கு தளம் அமைக்கப்பட்டது. இயந்திர மொழிக்கு சுலபமாக மாற்றக்கூடிய சேர்வுமொழி (Assembly language) மிகமிக குறைவாகவே உபயோகப்படுத்தப்பட்டது.  

### 1975
யுனிக்ஸ் பல இடங்களிலும் கிடைக்கும்படியாக **ஏ.டி.& டி.** செய்தது. கல்வி நிறுவனங்களுக்கு மிக குறைந்த விலையில் அளிக்கப்பட்டது. 1981-ல் வெளியிடப்பட்ட System III வரை ஏ.டி.& டி. நிறுவனம் யுனிக்ஸின் தர பதிப்புகளில் ஆதார நிரற்ரொடரையும் (Source code) இணைத்தே விற்பனை செய்தது. எனவே இயங்குதளத்தில் ஏதேனும் மாற்றம் செய்ய வேண்டும் என்றால் ஆதார நிரற்ரொடரில் மாற்றம் செய்து இருமமாக்கி (compilation) உபயோகிக எளிதாக இருந்தது. இக்காரணத்தால் பல்கலை கழகங்களின் கணினி இயல் துறைகளிலும் மாணவர்களிடமும் மிகவும் பிரபலமாகிவிட்டது.  

### 1985லிருந்து இன்றுவரை
**பெர்க்லியில் உள்ள கலிபோர்னியா பல்கலைகழகம்** யுனிக்ஸை அபிவிரித்தி செய்து **பி.எஸ்.டி. (Berkley Standard Distribution)** யுனிக்ஸை வெளியிட்டது. பி.எஸ்.டி. யின் சிறப்பியல்புகளை ஏ.டி. & டி. யும் தனது **ஸிஸ்டம் V (System V)** பதிப்பில் இணைத்துக் கொண்டது. தற்போதைய சான்றளிக்கப்பட்ட யுனிக்ஸ் ஸிஸ்டம் V ரிலீஸ் 4 (SVR 4) ஐ அடிப்படையாக கொண்டது. 1992 - ல் ஏ.டி. & டி. தனது யுனிக்ஸ் வியாபாரத்தை **நோவெல்** நிறுவனத்திடம் விற்றுவிட்டது. 1993 -ல் நோவெல் யுனிக்ஸ் வர்த்தககுறியீட்டு உரிமையை **எக்ஸ்/ஓப்பன் (X/Open)** -க்கு விற்றது. 1996 - ல் எக்ஸ்/ஓப்பன் ஓ.ஸ்.எப். உடன் இணைந்து **ஓபன் குரூப்** உருவானது. இன்னிறுவனமே தனி யுனிக்ஸ் குறிப்புகளை வரையறுக்கிறது. நோவெல் நிறுவனத்திடம் மீதமிருந்த யுனிக்ஸ் வர்த்தகம் 1995 - ல் **ஸான்றா க்ரூஸ் ஆபரேஸன்ஸிடம் (SCO)** விற்பனை செய்யப்பட்டது.  

### ஸ்கோ வழக்குகள்
ஸ்கோ (ஸான்றா குரூஸ் ஆப்பரேஷன்ஸ் - SCO) -வின் உரிமையாளர்கள் யுனிக்ஸ் வர்ததகத்தை வாங்கிய பிறகு 2001-ல் ஸ்கோ - வை **கேல்டெரா (Caldera)** என்ற லினக்ஸ் நிறுவனத்திற்கு விற்று விட்டனர். கேல்டெரா பின்னர் அதன் பெயரை ஸ்கோ என்று மாற்றிக்கொண்டது. பிறகு அதன் லினக்ஸ் சம்பந்தமான அனைத்து வர்தகங்களையும், செயல்களையும் முடித்துக்கொண்டு முழுமூச்சாக யுனிக்ஸில் இறங்கியது. 2003 - ல் ஐ.பி.எம்.(I.B.M.) யுனிக்ஸ் ஆதார நிரல் தொடர்களின் பகுதிகளை லினக்ஸில் உபயோகிப்பதாகவும், யுனிக்ஸ் உரிமைகள் த்ங்களிடம் இருப்பதால் தங்களுக்கு நஷ்ட ஈடு தர வேண்டுமென்றும் வழக்கு தொடர்ந்தது. மேலும் சில லினக்ஸ் உபயோகிக்கும் நிறுவனங்கள் **(AutoZone and Daimler Chrysler)** மீதும் வழக்கு போட்டது. ஆனால் இந்த வழக்குகளின் முடிவில் எந்த பலனும் ஸ்கோ - விற்கு கிடைக்கவில்லை.  

## யுனிக்ஸின் பாகங்கள்

யுனிக்ஸ் இயங்கு தளம் **கருனி (kernel)**,**ஷெல் (shell)**, **சிஸ்டம் கால் நூலகம் (System Call Library)**, **பிரயோக நிரல்கள் (Application programs)**, **தளப் பயன்பாட்டு நிரல்கள் (System utility programs)**, **வரைபட பயனர் இடைமுகப்பு (Graphical User Interface)** என பல பாகங்களை கொண்டது. பயனர்கள் யுனிக்ஸ் ஷெல் (shell) ஊடாக கட்டளைகளை இடுவார்கள் அல்லது வரைபட பயனர் இடைமுகப்பு வழியாக என்ன செய்ய வேண்டும் என தெரிவு செய்வார்கள். யுனிக்ஸ் கருனி கணினியின் வன்பொருகளை தகுந்தவாறு இயக்கி அந்த கட்டளைகளை நிறைவேற்றும்.  

## யுனிக்ஸ் கோப்பு தளம்
யுனிக்ஸ் கோப்பு தளம் (File System) என்பது **கோப்புகளை (File)** மேலாண்மை செய்யவதற்கானது.  

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

1.நீங்கள் ஒரு கணினி தொகுப்பானை உபயோகித்து ஒரு ஆவணத்தை தயாரித்து சேமிக்கிறீர்கள். இவ்வாறு நீங்கள் சேமிப்பது ஒரு கோப்பு ஆகும்.  

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

யுனிக்ஸின் கோப்பு தளம் கோப்புகளை கையாளவும் மேலாண்மை செய்யவும் பயன்படுகிறது.  

### கோப்பு தள அமைப்பு

கோப்பு தளம் ஒரு தலைகீழ் மரத்தை போன்ற அமைப்பைக் கொண்டது. இதனை விவரகொத்து மரம் (Directory Tree) என்று அழைக்கிறார்கள். கோப்பு தளத்தின் உச்சியில் ரூட் (root) என்ற விவரகொத்து இருக்கிறது. இதனை பொதுவாக **/** என்று குறிப்பிடுவர். இதன் கீழ் வரும் எல்லா கோப்புகளும் (விவரகொத்தும் ஒரு வகை கோப்பு தான்) ரூட்-ன் சந்ததியினர் எனச் சொல்லலாம். எந்த கோப்பாயிருந்தாலும் அதன் முழுப் பெயர் **/** -ல் இருந்து தொடங்குகிறது. உதாரணமாக படத்தில் கொடுக்கப்பட்டுள்ள john என்ற கோப்பினை **/export/home/john** என்று குறிப்பிடுவர்.  

## யுனிக்ஸ் கட்டளைகள்

யுனிக்ஸ் இயங்கு தளத்தை உபயோகிக்க கட்டளைகளை (*commands*) பயன்படுத்தவேண்டும்.  

**அதிகமாக உபயோகமாகும் யுனிக்ஸ் கட்டளைகள்:**  

### விவரக்கொத்து மற்றும் கோப்புகளை உருவாக்குதலும் பயணித்தலும்
ls cd pwd mkdir rm rmdir cp find touch mv  
### கோப்புகளை பார்வையிடவும் மாற்றியமைக்கவும்
more less ed vi emacs head tail  
### ஆவணம் தயாரித்தல்
echo cat grep sort uniq sed awk cut tr split printf  
### கோப்புகளை ஒப்பிடுதல்
comm cmp diff patch  
### பிற ஷெல் உபகரணிகள்
yes test xargs  
### தள மேலாண்மை
chmod chown ps su w who |(pipe)  
### தொடர்பியல்
mail telnet ftp finger ssh  
### அதிகார சான்றளித்தல்
su login passwd  

## யுனிக்ஸ் செயல்கள்
யுனிக்ஸ் இயங்குதளத்தில் ஒரு நிரல் (program) துவங்கி செயல்படுவது **செயல் (process)** என அழைக்கப்படும். ஒவ்வொரு செயலுக்கும் ஒரு அடையாள எண் (PID) உண்டு. கணீனியை ஆன் (on) செய்யும் பொழுது இயங்கு தளமும் துவங்குகிறது. முதலில் **init** என்ற செயல் துவங்குகிறது. இதன் அடையாள எண் **1** ஆகும். மற்ற எல்லா செயல்களும் இதன் சந்ததிச் செயல்கள் என்று சொல்லப்படுகிறது. தற்பொழுது எந்தெந்த செயல்கள் நடக்கின்றன என்பதை அறிய **ps** என்ற கட்டளையை பயன்படுத்தவேண்டும். செயல்களில் இருவகை உண்டு. அவை - **முன்னணிச் செயலும்** (Foreground process) **பின்னணிச் செயலுமாம்**(Background process).  

### உள்ளீடு வெளியீடு
கணினி இயந்திரத்துடன் பயனர்கள் தொடர்புகொள்ள உள்ளீடு(கீபோர்ட், மவுஸ், போன்றவை) வெளியீடு (கணினியின் திரை - screen, பிரிண்டர், போன்றவை) உதவுகின்றன. யுனிக்ஸ் இவற்றையும் கோப்புகளாகவே பார்க்கிறது.  

யுனிக்ஸ் செயல்கள் **தர உள்ளீட்டிலிருந்து (standard input - keyboard)** டேட்டாவை (தரவு) பெறுகிறது. **தர வெளியீட்டில் (standard output - screen)** எழுதுகிறது அல்லது டேட்டாவை அனுப்புகிறது. **தர பிழை** (standard error)- யில் பிழைகளை அனுப்புகிறது. இவை மூன்றும் சானல்கள் (standard channels) எனப்படுகின்றன. சாதாரணமாக, தர வெளியீடு, தர பிழை அகிய இரண்டு சானல்களிலும் அனுப்பப்படும் டேட்டா கணினியின் திரைக்கே போய்ச்சேருகின்றன.  

## கலைச்சொற்கள்
- இயங்குதளம் - Operating System
- ஓடு - Shell
- கருனி - Kernel