பல்வேறு பின்னணிகளைக் கொண்ட பல டெவலப்பர்களால் மென்பொருள் எழுதப்பட்டுள்ளது. பொது வழிமுறைகள் இலவச உரிமத்தின் கீழ் கிடைக்கின்றன அல்லது அறிவியல் பூர்வமாக வெளியிடப்பட்டுள்ளன, மேலும் அவை படிக்கும் நோக்கங்களுக்காகவும் இலவசமாகக் கிடைக்கலாம். இதன் விளைவாக பல்வேறு செயல்பாடுகள் மற்றும் பல்வேறு தேவைகளுக்கு ஏற்ற மென்பொருள் பதிப்புகள் உள்ளன. இடைமுகங்கள் மற்றும் தரவு வடிவங்களின் தரப்படுத்தல் இந்த மாறுபட்ட செயலாக்கங்களை ஒன்றுக்கொன்று மாற்றாகவும் மட்டுப்படுத்தலாகவும் செய்ய வேண்டும்.
சுருக்கமாக, POSIX [1] யுனிக்ஸ் மற்றும் யுனிக்ஸ் போன்ற அமைப்புகளுக்குச் சரியாகச் செய்கிறது (இந்த தலைப்பில் மேலும் விரிவான வரலாற்றிற்கு Zak H இன் கட்டுரையைப் [4] பார்க்கவும்). இது மென்பொருளுக்கான பரிமாற்ற இடைமுகங்கள், அழைப்பு வழிமுறைகள் மற்றும் பரிமாற்றப்பட்ட தரவை வரையறுக்கிறது, ஆனால் மென்பொருளின் டெவலப்பர் அல்லது பராமரிப்பாளருக்கு உள் செயல்படுத்தலை விட்டுவிடுகிறது. பல்வேறு மென்பொருள் செயலாக்கங்கள் ஒன்றுடன் ஒன்று தொடர்பு கொள்ளும் வகையில் பல்வேறு யுனிக்ஸ் முட்கரண்டி மற்றும் யுனிக்ஸ் போன்ற அமைப்புகளை ஒருங்கிணைப்பதே இதன் நோக்கம். POSIX இன் முக்கிய நன்மை இந்த கூறுகளுக்கான பிணைப்பு ஆவணங்கள் - இடைமுகங்கள், வழிமுறைகள் மற்றும் தரவு - எழுத்து வடிவத்தில் கிடைக்கிறது.
POSIX தரத்தை முழுமையாகப் பின்பற்றும் ஒரு இயக்க முறைமை POSIX- இணக்கமாக வகைப்படுத்தப்பட்டுள்ளது. இந்த கட்டுரையில், POSIX என்றால் என்ன என்பதை விளக்குகிறோம், லினக்ஸ் இந்த வகையைச் சேர்ந்ததா என்பதைத் தீர்மானிக்கிறது, மேலும் இந்த வகைப்பாட்டிலிருந்து எந்த லினக்ஸ் கூறுகள் விலக்கப்பட வேண்டும் என்பதை பட்டியலிடுகிறோம்.
POSIX என்ற சொல் எதைக் குறிக்கிறது?
POSIX என்பது போர்ட்டபிள் ஆப்பரேட்டிங் சிஸ்டம் இன்டர்ஃபேஸின் சுருக்கமாகும். மேலே சுருக்கமாக விளக்கப்பட்டுள்ளபடி, POSIX என்பது இயக்க முறைமைகளுக்கு இடையே பொருந்தக்கூடிய தன்மையைப் பராமரிக்கத் தேவைப்படும் தரங்களின் தொகுப்பிற்கான பெயர். யூனிக்ஸ் மற்றும் பிற இயக்க முறைமைகளின் மாறுபாடுகளுடன் மென்பொருள் இணக்கத்தன்மைக்கு, கட்டளை-வரி ஷெல்ஸ் மற்றும் பயன்பாட்டு இடைமுகங்களுடன், அப்ளிகேஷன் புரோகிராமிங் இன்டர்ஃபேஸ் (API) ஐ வரையறுக்கிறது [1]. POSIX இன் முதல் பதிப்பு 1988 இல் வெளியிடப்பட்டது. அப்போதிருந்து, POSIX ஆஸ்டின் பொது தரநிலை திருத்தக் குழுவால் தொடர்ந்து விரிவாக்கப்பட்டு மேம்படுத்தப்பட்டது (வெறுமனே தி ஆஸ்டின் குழு என்றும் அழைக்கப்படுகிறது) [7].
2021 நிலவரப்படி, POSIX தரநிலை பின்வரும் பகுதிகளைக் கொண்டுள்ளது:
- முக்கிய சேவைகள் (நிலையான ANSI C ஐ உள்ளடக்கியது) (IEEE std 1003.1-1988)-செயல்முறை உருவாக்கம் மற்றும் கட்டுப்பாடு, சமிக்ஞைகள், கோப்பு மற்றும் அடைவு செயல்பாடுகள், குழாய்கள், C நூலகம், I/O துறைமுக இடைமுகம் மற்றும் கட்டுப்பாடு, செயல்முறை தூண்டுதல்கள்
- நீட்டிப்புகள் (குறியீட்டு இணைப்புகள்)
- நிகழ்நேர மற்றும் I/O நீட்டிப்புகள் (IEEE Std 1003.1b-1993)-முன்னுரிமை திட்டமிடல், நிகழ்நேர சமிக்ஞைகள், கடிகாரங்கள் மற்றும் டைமர்கள், செமாஃபோர்ஸ், செய்தி அனுப்பல், பகிரப்பட்ட நினைவகம், ஒத்திசைவற்ற மற்றும் ஒத்திசைவு I/O, நினைவக பூட்டுதல் இடைமுகம்
- நூல் நீட்டிப்புகள் (IEEE Std 1003.1c-1995)-நூல் உருவாக்கம், கட்டுப்பாடு மற்றும் சுத்தம், நூல் திட்டமிடல், நூல் ஒத்திசைவு, சமிக்ஞை கையாளுதல்
- மேலும் நிகழ்நேர நீட்டிப்புகள்
- பாதுகாப்பு நீட்டிப்புகள் (அணுகல் கட்டுப்பாட்டு பட்டியல்கள்)
- ஷெல் மற்றும் பயன்பாடுகள் (IEEE Std 1003.2-1992)-கட்டளை மொழி பெயர்ப்பாளர், பயன்பாட்டுத் திட்டங்கள்
தொழில்நுட்ப மாற்றங்கள் மற்றும் மேம்பாடுகளை பிரதிபலிக்க தரநிலை தொடர்ந்து மதிப்பாய்வு செய்யப்படுகிறது. சில நேரங்களில் ஒரு புதிய பதிப்பு வெளியிடப்பட்டு மாற்றங்கள் சேர்க்கப்படுவதற்கு சில வருடங்கள் ஆகலாம். இது பாதகமாக இருக்கலாம், ஆனால் தரத்தின் நோக்கத்தைப் பொறுத்தவரை இது புரிந்துகொள்ளத்தக்கது.
சமீபத்திய ஆண்டுகளில், நிகழ்நேர செயலாக்கத்திற்கான நீட்டிப்புகள் சேர்க்கப்பட்டுள்ளன. தற்போதைய பதிப்பு 2018 ஆரம்பத்தில் வெளியிடப்பட்டது [3]. SibylFS [5] இன் ஆசிரியர்கள் உயர் வரிசை தர்க்கம் மற்றும் தொடர்புகளைத் தீர்மானிக்க POSIX தரத்திற்கு பல சிறுகுறிப்புகளை வெளியிட்டுள்ளனர்.
POSIX- இணக்கமாக இருப்பது என்றால் என்ன?
POSIX-compliant என்ற சொல்லுக்கு ஒரு இயக்க முறைமை அனைத்து POSIX அளவுகோல்களையும் பூர்த்தி செய்கிறது. ஒரு இயக்க முறைமை யுனிக்ஸ் நிரல்களை சொந்தமாக இயக்கலாம் அல்லது ஒரு பயன்பாட்டை யுனிக்ஸ் அமைப்பிலிருந்து மற்றொரு அமைப்புக்கு அனுப்பலாம். யுனிக்ஸிலிருந்து இலக்கு இயங்குதளத்திற்கு ஒரு பயன்பாட்டை போர்ட் செய்வது எளிதானது, அல்லது குறைந்தபட்சம் எளிதானது, அது POSIX ஐ ஆதரிக்கவில்லை என்றால். பாதுகாப்பான பக்கத்தில் இருக்க, ஒரு இயக்க முறைமை POSIX சான்றிதழை வெற்றிகரமாக அடைந்திருக்க வேண்டும் [2]. தானியங்கி சான்றிதழ் தேர்வில் தேர்ச்சி பெறுவதன் மூலம் (ஒரு செலவில்) இந்த நடவடிக்கை அடையப்படுகிறது. தொடர்புடைய சோதனை தொகுப்பை இங்கே காணலாம் [11].
2021 ஆம் ஆண்டு நிலவரப்படி, POSIX- சான்றளிக்கப்பட்ட இயக்க முறைமைகளின் பட்டியலில் IBM, HP- யிலிருந்து HP-UX, SGI இலிருந்து IRIX, EulerOS [6] Huawei, Mac OS X (Apple 10.5 சிறுத்தையிலிருந்து), சோலாரிஸ் மற்றும் QNX நியூட்ரினோ ஆரக்கிள், இன்ஸ்பூரின் K-UX [11], மற்றும் கிரீன் ஹில்ஸ் மென்பொருளிலிருந்து நிகழ்நேர OS இன்டெக்ரிட்டி [15]. ஓபன் சோலாரிஸ், இல்லுமோஸ் மற்றும் ஓபன்இண்டியானா ஆகிய மூன்று சோலாரிஸ் வாரிசுகளின் புதிய பதிப்புகள் முழுமையாக POSIX- இணக்கமாக வகைப்படுத்தப்பட்டுள்ளதா என்பது தற்போது தெளிவாகத் தெரியவில்லை. POSIX 2001 வரை இந்த இயக்க முறைமைகள் POSIX- இணக்கமாக இருந்தன.
அண்ட்ராய்டு, பீஓஎஸ், ஃப்ரீபிஎஸ்டி, ஹைகு, லினக்ஸ் (கீழே பார்க்கவும்) மற்றும் விஎம்வேர் இஎஸ்எக்ஸ்ஐ ஆகியவை பெரும்பாலும் (ஆனால் முழுமையாக இல்லை) போஸிக்ஸ்-இணக்கமாக காணப்படும் பிற இயக்க முறைமைகள். மைக்ரோசாப்ட் விண்டோஸுக்கு, சிக்வின் பெரும்பாலும் POSIX- இணக்கமான வளர்ச்சி மற்றும் இயக்க நேர சூழலை வழங்குகிறது.
லினக்ஸ் POSIX- இணக்கமானதா?
லினக்ஸ் என்ற சொல் டெபியன் GNU/Linux, RedHat Linux, Linux Mint, Ubuntu Linux, Fedora மற்றும் CentOS போன்ற சுவையைப் பொருட்படுத்தாமல் முழு லினக்ஸ் இயக்க முறைமையையும் குறிக்கிறது. சரியாகச் சொல்வதானால், லினக்ஸ் என்பது இந்த இலவச இயக்க முறைமையின் முக்கிய அங்கமாக இருக்கும் கர்னலின் பெயர்.
லினக்ஸ் டார்வால்ட்ஸ் ஜஸ்ட் ஃபார் ஃபன் [8] புத்தகத்தில் விவரித்தபடி, லினக்ஸ் கர்னலை உருவாக்க, அவர் POSIX தரத்தின் நகலைக் கோரினார். வர்த்தக யுனிக்ஸ் அமைப்புகளில் பயன்படுத்தப்படும் அதே வழிமுறைகளைச் செயல்படுத்த இது அவருக்கு உதவியது. மேலும், இது லினக்ஸ் கர்னலை முக்கியமாக அதே அணுகுமுறையைப் பின்பற்றிய GNU கருவிகளுடன் இணைக்க அனுமதித்தது. சரியாகச் சொல்வதானால், லினக்ஸ் கணினியில் உள்ள மென்பொருள் POSIX தரத்தை மதிக்கும் பல்வேறு ஆதாரங்களில் இருந்து வழங்கப்படுகிறது, ஆனால் அது சில சமயங்களில் தங்கள் சொந்தக் கருத்துகளையும் செயல்படுத்துகிறது. இருப்பினும், அதே நேரத்தில், இது லினக்ஸை ஒரு இயக்க முறைமையாக உருவாக்கும் பன்முகத்தன்மையையும் காட்டுகிறது.
கட்டளை வரி வாதங்கள் எழுதப்பட்ட விதம் இதற்கு ஒரு எடுத்துக்காட்டு. இரண்டு கோடுகளுடன் கூடிய வாதங்கள் (எ.கா. –உதவி) GNU மாநாடுகளாகும், அதேசமயம் POSIX கட்டளைகள் இரண்டு -கோடு வாதங்களைப் பயன்படுத்துவதில்லை, மாறாக ஒரு ஒற்றை (எ.கா. -உதவி). தொடக்கத்திலிருந்தே, லினக்ஸ் GNU ஐ மனதில் கொண்டு வடிவமைக்கப்பட்டது, அதனால்தான் கட்டளைகளில் GNU- பாணி உள்ளது
வாதங்கள் POSIX இணக்கத்தை அடைய, POSIX பாணி வாதங்கள் படிப்படியாக சேர்க்கப்பட்டுள்ளன. இருப்பினும், இறுதி முடிவு டெவலப்பரால் எடுக்கப்படுகிறது. இன்றைய நிலவரப்படி, பெரும்பாலான கட்டளைகள் குறுகிய மற்றும் நீண்ட வாதங்களை ஏற்றுக்கொள்கின்றன, அல்லது கண்டுபிடிப்பு கட்டளை போன்ற எந்த கோடுகளும் இல்லாத வாதங்கள் கூட. சரியாகச் சொல்வதானால், ஒரு கணினியில் உள்ள கட்டளைகளுக்கு இடையே நிலைத்தன்மை இல்லை, மேலும் அதே கட்டளையை வேறு யுனிக்ஸ் அடிப்படையிலான கணினியில் பயன்படுத்த நினைக்கும் போது, குறிப்பாக லினக்ஸ், ஓஎஸ் எக்ஸ் மற்றும் சோலாரிஸுக்கு இடையில் மாறும்போது இது ஒரு பிரச்சனையாக இருக்கலாம்.
இப்போதைக்கு, இரண்டு வணிக லினக்ஸ் விநியோகங்களான இன்ஸ்பூர் கே-யுஎக்ஸ் [12] மற்றும் ஹவாய் யூலர்ஓஎஸ் [6] தவிர, அதிக செலவுகள் காரணமாக லினக்ஸ் போஸிக்ஸ் சான்றிதழ் பெறவில்லை. அதற்கு பதிலாக, லினக்ஸ் பெரும்பாலும் POSIX- இணக்கமாக காணப்படுகிறது.
இந்த மதிப்பீடு முக்கிய லினக்ஸ் விநியோகங்கள் POSIX க்கு பதிலாக Linux Standard Base (LSB) ஐப் பின்பற்றுகிறது [9]. LSB தனிப்பட்ட லினக்ஸ் விநியோகங்களுக்கிடையிலான வேறுபாடுகளைக் குறைப்பதை நோக்கமாகக் கொண்டுள்ளது [14]. இது லினக்ஸ் கர்னலில் பயன்படுத்தப்படும் கோப்பு முறைமை வரிசைமுறை தரநிலை (FHS) உட்பட மென்பொருள் அமைப்பு கட்டமைப்பைக் குறிக்கிறது. LSB POSIX விவரக்குறிப்பு, ஒற்றை UNIX விவரக்குறிப்பு (SUS) மற்றும் பல திறந்த தரங்களை அடிப்படையாகக் கொண்டது, ஆனால் சில பகுதிகளில் அவற்றை நீட்டிக்கிறது.
LSB- அடிப்படையிலான லினக்ஸ் விநியோகங்களில் RedHat Linux, Debian GNU/Linux (2002-2015), மற்றும் Ubuntu (2015 வரை) ஆகியவை அடங்கும்.
POSIX ஐ மனதில் கொண்டு வளரும்
POSIX ஐ இன்னும் விரிவாகப் புரிந்துகொள்ள, POSIX தரத்தின் நகலைப் பெற்று முழுமையாகப் படிக்க பரிந்துரைக்கிறோம். புத்தகத்தை ஓபன் குரூப் இணையதளத்தில் இருந்து பெறலாம். இதற்கு பதிவு கட்டணம் தேவை ஆனால் இந்த மதிப்புமிக்க வளத்திற்கு முழு அணுகலை வழங்குகிறது. எல்லா யுனிக்ஸ் தளங்களிலும் ஒரே மாதிரியாக செயல்படும் வகையில் மென்பொருளை உருவாக்க அவை உங்களை அனுமதிப்பதால் தரநிலைகள் உதவுகின்றன.
இணைப்புகள் மற்றும் குறிப்புகள்
- [1] POSIX, விக்கிபீடியா, https://en.wikipedia.org/wiki/POSIX
- [2] POSIX சான்றிதழ், http://get.posixcertified.ieee.org/
- [3] POSIX தரநிலை, திறந்த குழு, https://publications.opengroup.org/t101
- Zak H: POSIX தரநிலை, https://linuxhint.com/posix-standard/
- [5] POSIX சிறுகுறிப்புகள், SybilFS, https://github.com/sibylfs/sibylfs_src
- [6] EulerOS, https://developer.huaweicloud.com/ict/en/site-euleros/euleros
- [7] ஆஸ்டின் காமன் ஸ்டாண்டர்ட்ஸ் ரிவிஷன் குரூப், https://www.opengroup.org/austin/
- [8] டார்வால்ட்ஸ், லினஸ்; டயமண்ட், டேவிட் (2001). வேடிக்கைக்காக: ஒரு விபத்து புரட்சியாளரின் கதை. நியூயார்க் நகரம், அமெரிக்கா: ஹார்பர்காலின்ஸ். ISBN 0-06-662072-4
- [9] லினக்ஸ் ஸ்டாண்டர்ட் பேஸ் (LSB), விக்கிபீடியா, https://en.wikipedia.org/wiki/Linux_Standard_Base
- [10] ஒற்றை யுனிக்ஸ் விவரக்குறிப்பு (SUS), விக்கிபீடியா, https://en.wikipedia.org/wiki/Single_UNIX_Specification
- [11] POSIX சோதனை தொகுப்புகள், https://www.opengroup.org/testing/testsuites/vsx4.htm
- [12] இன்ஸ்பூர் கே-யுஎக்ஸ், விக்கிபீடியா, https://en.wikipedia.org/wiki/Inspur_K-UX
- [14] லினக்ஸ் ஸ்டாண்டர்ட் பேஸ் (LSB), https://wiki.linuxfoundation.org/lsb/start
- [15] இன்டெக்ரிட்டி, https://www.ghs.com/products/rtos/integrity.html
நன்றி
இந்த கட்டுரையைத் தயாரிக்கும் போது உதவியாளர் மற்றும் அறிவுரைக்காக ஆசிரியர் ஆக்செல் பெக்கர்ட் மற்றும் வெய்ட் ஷீலுக்கு நன்றி தெரிவிக்க விரும்புகிறார்.