వివిధ నేపథ్యాలతో అనేక మంది డెవలపర్ల ద్వారా సాఫ్ట్వేర్ వ్రాయబడింది. సాధారణ అల్గారిథమ్లు ఉచిత లైసెన్స్ కింద అందుబాటులో ఉన్నాయి లేదా శాస్త్రీయంగా ప్రచురించబడ్డాయి మరియు అవి అధ్యయన ప్రయోజనాల కోసం కూడా ఉచితంగా అందుబాటులో ఉండవచ్చు. ఇది వివిధ అవసరాలకు సరిపోయే విభిన్న అమలు మరియు సాఫ్ట్వేర్ వెర్షన్లకు దారితీస్తుంది. ఇంటర్ఫేస్లు మరియు డేటా ఫార్మాట్ల ప్రామాణీకరణ ఈ విభిన్న అమలులను పరస్పరం మార్చుకునే మరియు మాడ్యులర్గా చేయడానికి అవసరం.
సంక్షిప్తంగా, POSIX [1] UNIX మరియు UNIX లాంటి వ్యవస్థల కోసం సరిగ్గా చేస్తుంది (ఈ అంశంపై మరింత వివరణాత్మక చరిత్ర కోసం జాక్ H వ్యాసం [4] చూడండి). ఇది సాఫ్ట్వేర్ కోసం ఎక్స్ఛేంజ్ ఇంటర్ఫేస్లు, కాలింగ్ మెకానిజమ్లు మరియు బదిలీ చేయబడిన డేటాను నిర్వచిస్తుంది కానీ సాఫ్ట్వేర్ డెవలపర్ లేదా మెయింటెనర్కు అంతర్గత అమలును వదిలివేస్తుంది. వివిధ సాఫ్ట్వేర్ అమలులు ఒకదానితో ఒకటి సంకర్షణ చెందే విధంగా వివిధ యునిక్స్ ఫోర్కులు మరియు యునిక్స్ లాంటి వ్యవస్థలను ఏకం చేయడం లక్ష్యం. POSIX యొక్క ప్రధాన ప్రయోజనం ఈ భాగాల కోసం బైండింగ్ డాక్యుమెంటేషన్ - ఇంటర్ఫేస్లు, మెకానిజమ్లు మరియు డేటా - లిఖిత రూపంలో అందుబాటులో ఉంటుంది.
POSIX ప్రమాణాన్ని పూర్తిగా అనుసరించే ఆపరేటింగ్ సిస్టమ్ POSIX- కంప్లైంట్గా వర్గీకరించబడింది. ఈ ఆర్టికల్లో, POSIX అంటే ఏమిటి, Linux ఈ వర్గానికి చెందినదా అని నిర్ధారిస్తుంది మరియు ఈ వర్గీకరణ నుండి ఏ Linux భాగాలను మినహాయించాలో జాబితా చేస్తాము.
పోసిక్స్ అనే పదం దేనిని సూచిస్తుంది?
పోసిబుల్ అనేది పోర్టబుల్ ఆపరేటింగ్ సిస్టమ్ ఇంటర్ఫేస్ యొక్క సంక్షిప్తీకరణ. పైన క్లుప్తంగా వివరించినట్లుగా, POSIX అనేది ఆపరేటింగ్ సిస్టమ్ల మధ్య అనుకూలతను నిర్వహించడానికి అవసరమైన ప్రమాణాల సేకరణకు పేరు. యునిక్స్ మరియు ఇతర ఆపరేటింగ్ సిస్టమ్ల వేరియంట్లతో సాఫ్ట్వేర్ అనుకూలత కోసం, కమాండ్-లైన్ షెల్లు మరియు యుటిలిటీ ఇంటర్ఫేస్లతో పాటు, అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్ఫేస్ (API) ని [1] లో నిర్వచించినట్లుగా. POSIX యొక్క మొదటి వెర్షన్ 1988 లో ప్రచురించబడింది. అప్పటి నుండి, POSIX ని ఆస్టిన్ కామన్ స్టాండర్డ్స్ రివిజన్ గ్రూప్ (కేవలం ఆస్టిన్ గ్రూప్ అని కూడా పిలుస్తారు) ద్వారా నిరంతరం విస్తరించబడింది మరియు నవీకరించబడింది [7].
2021 నాటికి, POSIX ప్రమాణం కింది భాగాలను కలిగి ఉంది:
- ప్రధాన సేవలు (స్టాండర్డ్ ANSI C)
- పొడిగింపులు (సంకేత లింకులు)
- రియల్ టైమ్ మరియు I/O పొడిగింపులు (IEEE Std 1003.1b-1993)-ప్రాధాన్యత షెడ్యూల్, రియల్ టైమ్ సిగ్నల్స్, గడియారాలు మరియు టైమర్లు, సెమాఫోర్స్, మెసేజ్ పాసింగ్, షేర్డ్ మెమరీ, ఎసిన్క్రోనస్ మరియు సింక్రోనస్ I/O, మెమరీ లాకింగ్ ఇంటర్ఫేస్
- థ్రెడ్ల పొడిగింపులు (IEEE Std 1003.1c-1995)-థ్రెడ్ క్రియేషన్, కంట్రోల్ మరియు క్లీన్-అప్, థ్రెడ్ షెడ్యూల్, థ్రెడ్ సింక్రొనైజేషన్, సిగ్నల్ హ్యాండ్లింగ్
- మరిన్ని నిజ-సమయ పొడిగింపులు
- భద్రతా పొడిగింపులు (యాక్సెస్ నియంత్రణ జాబితాలు)
- షెల్ మరియు యుటిలిటీస్ (IEEE Std 1003.2-1992)-కమాండ్ ఇంటర్ప్రెటర్, యుటిలిటీ ప్రోగ్రామ్లు
సాంకేతిక మార్పులు మరియు మెరుగుదలలను ప్రతిబింబించడానికి ప్రమాణం క్రమం తప్పకుండా సమీక్షించబడుతుంది. క్రొత్త సంస్కరణ ప్రచురించబడటానికి మరియు మార్పులు చేర్చబడటానికి కొన్నిసార్లు కొన్ని సంవత్సరాలు పట్టవచ్చు. ఇది ప్రతికూలమైనది కావచ్చు, కానీ ప్రమాణం యొక్క పరిధిని బట్టి ఇది అర్థమవుతుంది.
ఇటీవలి సంవత్సరాలలో, నిజ-సమయ ప్రాసెసింగ్కు పొడిగింపులు జోడించబడ్డాయి. ప్రస్తుత వెర్షన్ 2018 ప్రారంభంలో విడుదల చేయబడింది [3]. హై-ఆర్డర్ లాజిక్ మరియు పరస్పర చర్యలను గుర్తించడానికి సిబిల్ఎఫ్ఎస్ [5] రచయితలు POSIX ప్రమాణానికి అనేక ఉల్లేఖనాలను కూడా ప్రచురించారు.
POSIX- కంప్లైంట్ అంటే ఏమిటి?
POSIX- కంప్లైంట్ అనే పదం అంటే ఆపరేటింగ్ సిస్టమ్ అన్ని POSIX ప్రమాణాలకు అనుగుణంగా ఉంటుంది. ఆపరేటింగ్ సిస్టమ్ యునిక్స్ ప్రోగ్రామ్లను స్థానికంగా అమలు చేయగలదు, లేదా యునిక్స్ సిస్టమ్ నుండి మరొక సిస్టమ్కి అప్లికేషన్ను పోర్ట్ చేయవచ్చు. UNIX నుండి అప్లికేషన్ను లక్ష్య ఆపరేటింగ్ సిస్టమ్కి పోర్టింగ్ చేయడం సులభం, లేదా కనీసం POSIX కి మద్దతు ఇవ్వకపోయినా సులభం. సురక్షితంగా ఉండటానికి, ఆపరేటింగ్ సిస్టమ్ POSIX సర్టిఫికేషన్ను విజయవంతంగా సాధించి ఉండాలి [2]. ఆటోమేటెడ్ సర్టిఫికేషన్ పరీక్షలో ఉత్తీర్ణత సాధించడం ద్వారా (ఖర్చుతో) ఈ దశ సాధించబడుతుంది. సంబంధిత టెస్ట్ సూట్ ఇక్కడ చూడవచ్చు [11].
2021 నాటికి, POSIX- సర్టిఫైడ్ ఆపరేటింగ్ సిస్టమ్ల జాబితాలో IBM నుండి AIX, HP నుండి HP-UX, SGI నుండి IRIX, EulerOS [6] Huawei నుండి Mac OS X, Apple నుండి Mac OS X (10.5 చిరుత నుండి), సోలారిస్ మరియు QNX న్యూట్రినో ఒరాకిల్, ఇన్స్పూర్ యొక్క K-UX [11], మరియు గ్రీన్ హిల్స్ సాఫ్ట్వేర్ నుండి రియల్ టైమ్ OS ఇంటెగ్రిటీ [15]. మూడు సోలారిస్ వారసులు, ఓపెన్ సోలారిస్, ఇల్యూమోస్ మరియు ఓపెన్ఇండియానా యొక్క కొత్త వెర్షన్లు పూర్తిగా పోసిక్స్-కంప్లైంట్గా వర్గీకరించబడ్డాయా అనేది ప్రస్తుతం అస్పష్టంగా ఉంది. POSIX 2001 వరకు ఈ ఆపరేటింగ్ సిస్టమ్లు POSIX- కంప్లైంట్.
ఎక్కువగా (కానీ పూర్తిగా కాదు) POSIX- కంప్లైంట్గా కనిపించే ఇతర ఆపరేటింగ్ సిస్టమ్లు Android, BeOS, FreeBSD, Haiku, Linux (క్రింద చూడండి) మరియు VMWare ESXi. మైక్రోసాఫ్ట్ విండోస్ కోసం, సిగ్విన్ ఎక్కువగా POSIX- కంప్లైంట్ డెవలప్మెంట్ మరియు రన్-టైమ్ ఎన్విరాన్మెంట్ను అందిస్తుంది.
Linux POSIX- కంప్లైంట్ ఉందా?
Linux అనే పదం డెబియన్ GNU/Linux, RedHat Linux, Linux Mint, Ubuntu Linux, Fedora మరియు CentOS వంటి రుచితో సంబంధం లేకుండా మొత్తం Linux ఆపరేటింగ్ సిస్టమ్ని సూచిస్తుంది. ఖచ్చితంగా చెప్పాలంటే, ఈ ఉచిత ఆపరేటింగ్ సిస్టమ్ యొక్క ప్రధాన భాగం అయిన కెర్నల్ పేరు మాత్రమే లైనక్స్.
లినక్స్ కెర్నల్ను అభివృద్ధి చేయడానికి లినస్ టోర్వాల్డ్స్ జస్ట్ ఫర్ ఫన్ [8] పుస్తకంలో వివరించినట్లుగా, అతను POSIX ప్రమాణాన్ని కాపీని అభ్యర్థించాడు. వాణిజ్య యునిక్స్ సిస్టమ్లలో ఉపయోగించే అదే విధానాలను అమలు చేయడానికి ఇది అతనికి సహాయపడింది. ఇంకా, ఇది Linux కెర్నల్ను ప్రధానంగా అదే విధానాన్ని అనుసరించే GNU టూల్స్తో లింక్ చేయడానికి అతడిని అనుమతించింది. నిజాయితీగా చెప్పాలంటే, లైనక్స్ సిస్టమ్లోని సాఫ్ట్వేర్ POSIX ప్రమాణాన్ని గౌరవించే వివిధ వనరుల నుండి అందించబడింది, కానీ అది కొన్నిసార్లు వారి స్వంత భావనలను కూడా అమలు చేస్తుంది. అయితే, అదే సమయంలో, ఇది లైనక్స్ను ఆపరేటింగ్ సిస్టమ్గా తయారుచేసే వైవిధ్యాన్ని కూడా చూపుతుంది.
కమాండ్-లైన్ వాదనలు వ్రాయబడిన విధానం దీనికి ఒక ఉదాహరణ. రెండు డాష్లతో వాదనలు (ఉదా. –హెల్ప్) GNU కన్వెన్షన్లు, అయితే POSIX కమాండ్లు ఎప్పుడూ రెండు -డాష్ ఆర్గ్యుమెంట్లను ఉపయోగించవు, బదులుగా ఒకే ఒక్క (ఉదా. -హెల్ప్). ప్రారంభం నుండే, GNU ని దృష్టిలో ఉంచుకుని Linux రూపొందించబడింది, అందుకే ఆదేశాలలో GNU- శైలి ఉంటుంది
వాదనలు. POSIX సమ్మతిని సాధించడానికి, POSIX తరహా వాదనలు దశలవారీగా జోడించబడ్డాయి. అయినప్పటికీ, డెవలపర్ ద్వారా తుది నిర్ణయం తీసుకోబడుతుంది. ఈనాటి నుండి, చాలా కమాండ్లు చిన్న మరియు పొడవైన వాదనలు లేదా ఫైండ్ కమాండ్ వంటి డాష్లు లేని వాదనలు కూడా అంగీకరిస్తాయి, ఉదాహరణకు. సరిగ్గా చెప్పాలంటే, ఒక సిస్టమ్లోని ఆదేశాల మధ్య స్థిరత్వం లేదు, మరియు మీరు అదే ఆదేశాన్ని వేరే UNIX- ఆధారిత సిస్టమ్లో ఉపయోగించాలనుకున్నప్పుడు, ప్రత్యేకించి Linux, OS X మరియు Solaris మధ్య మారేటప్పుడు ఇది సమస్య కావచ్చు.
ప్రస్తుతానికి, రెండు వాణిజ్య లైనక్స్ పంపిణీలు ఇన్స్పూర్ K-UX [12] మరియు Huawei EulerOS [6] మినహా అధిక ఖర్చులు కారణంగా Linux POSIX- ధృవీకరించబడలేదు. బదులుగా, Linux ఎక్కువగా POSIX- కంప్లైంట్గా కనిపిస్తుంది.
ప్రధాన లైనక్స్ పంపిణీలు POSIX [9] కు బదులుగా Linux ప్రామాణిక బేస్ (LSB) ని అనుసరించడం వలన ఈ అంచనా. వ్యక్తిగత లైనక్స్ పంపిణీల మధ్య వ్యత్యాసాలను తగ్గించడం LSB లక్ష్యం [14]. ఇది లైనక్స్ కెర్నల్లో ఉపయోగించే ఫైల్సిస్టమ్ హైరార్కీ స్టాండర్డ్ (FHS) తో సహా సాఫ్ట్వేర్ సిస్టమ్ నిర్మాణాన్ని సూచిస్తుంది. LSB POSIX స్పెసిఫికేషన్, సింగిల్ యునిక్స్ స్పెసిఫికేషన్ (SUS), మరియు అనేక ఇతర ఓపెన్ స్టాండర్డ్స్పై ఆధారపడి ఉంటుంది, కానీ వాటిని కొన్ని ప్రాంతాల్లో విస్తరిస్తుంది.
LSB- ఆధారిత Linux పంపిణీలలో RedHat Linux, Debian GNU/Linux (2002-2015) మరియు ఉబుంటు (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
- [4] జాక్ 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] ఇన్స్పూర్ K-UX, వికీపీడియా, 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
ధన్యవాదాలు
రచయిత ఈ కథనాన్ని తయారు చేస్తున్నప్పుడు వారి సహాయం మరియు సలహా కోసం ఆక్సెల్ బెకెర్ట్ మరియు వీట్ స్కీల్కి కృతజ్ఞతలు తెలుపుతున్నారు.