වැදගත්ම දේ POSIX 7 අර්ථ දක්වයි
සී API
වැනි දේ සමඟ ANSI C විශාල වශයෙන් විහිදේ :
- වැඩි ගොනු මෙහෙයුම් කටයුතු:
mkdir
, dirname
, symlink
, readlink
, link
(hardlinks), poll()
, stat
, sync
,nftw()
- ක්රියාවලිය හා කැටි නූල්:
fork
, execl
, wait
, pipe
, semaphors sem_*
, හවුල් මතකය ( shm_*
), kill
, සටහන් පරාමිතීන් ( nice
, sched_*
), sleep
, mkfifo
,setpgid()
- ජාලකරණය:
socket()
- මතක කළමනාකරණය:
mmap
, mlock
, mprotect
, madvise
,brk()
- උපයෝගිතා: නිත්ය ප්රකාශන (
reg*
)
එම ඒපීඅයි මඟින් ඔවුන් රඳා පවතින යටින් පවතින පද්ධති සංකල්ප ද තීරණය කරයි, උදා: fork
ක්රියාවලියක් පිළිබඳ සංකල්පයක් අවශ්ය වේ.
බොහෝ Linux පද්ධතිය ඇමතුම් උදා, නිශ්චිත POSIX සී API කාර්යය ක්රියාත්මක කිරීමට සහ ලිනක්ස් අනුකූල කිරීමට පවතින sys_write
, sys_read
, ... අය syscalls බොහෝමයක් කෙසේ වෙතත් ලිනක්ස්-විශේෂිත දිගු තියෙනවා.
ප්රධාන ලිනක්ස් ඩෙස්ක්ටොප් ක්රියාත්මක කිරීම: බොහෝ අවස්ථාවලදී පද්ධති ඇමතුම් සඳහා නොගැඹුරු ආවරණයක් සපයන glibc.
CLI උපයෝගිතා
උදා: cd
, ls
, echo
, ...
බොහෝ උපයෝගීතා අනුරූපී සීපී ඒපී ශ්රිතයක් සඳහා සෘජු ෂෙල් ඉදිරිපස කෙළවර වේ, උදා mkdir
.
ඩෙස්ක්ටොප් ප්රධාන ලිනක්ස් ක්රියාත්මක කිරීම: කුඩා අය සඳහා GNU Coreutils, මහා අය සඳහා වෙනම GNU ව්යාපෘති: sed
, grep
, awk
, ... සමහර විට CLI උපයෝගිතා බෑෂ් මගින් ක්රියාත්මක කරනු ලැබේ ඉදි වීම් ලෙස .
ෂෙල් භාෂාව
උදා, a=b; echo "$a"
ප්රධාන ලිනක්ස් ඩෙස්ක්ටොප් ක්රියාත්මක කිරීම: ග්නූ බෑෂ් .
පරිසර විචල්යයන්
උදා: HOME
, PATH
.
PATH
සොයන්න semantics නිශ්චිතව දක්වා ඇත ඇතුළු කප්පාදු කරන වැළැක්වීම ආකාරය PATH
සෝදිසි .
වැඩසටහන් පිටවීමේ තත්වය
ANSI C පවසන්නේ 0
හෝ EXIT_SUCCESS
සාර්ථකත්වය EXIT_FAILURE
සඳහා, අසමත් වීම සඳහා වන අතර ඉතිරි ක්රියාත්මක කිරීම අර්ථ දක්වා ඇත.
POSIX එකතු කරයි:
126
: විධානය හමු වූ නමුත් ක්රියාත්මක කළ නොහැක.
127
: විධානය සොයාගත නොහැකි.
> 128
: සං by ාවකින් අවසන් වේ.
නමුත් පොසික්ස් 128 + SIGNAL_ID
විසින් Bash භාවිතා කරන රීතිය සඳහන් කර ඇති බවක් නොපෙනේ : ක්රියාවලිය අවසන් වූ විට පෙරනිමි පිටවීමේ කේතය?
සාමාන්ය ලෙස
වර්ග දෙකක් තිබේ: BRE (Basic) සහ ERE (Extended). මූලික දේ අතහැර දමා ඇති අතර ඒපීඅයි කඩ නොකිරීමට පමණක් තබා ඇත.
ඒවා ක්රියාත්මක කරනු ලබන්නේ සී ඒපීඅයි කාර්යයන් මගිනි, සහ සීඑල්අයි උපයෝගිතා පුරාම භාවිතා වේ, උදා: grep
පෙරනිමියෙන් බීආර්ඊ පිළිගනී, සහ ඊආර්ඊ සමඟ -E
.
උදා: echo 'a.1' | grep -E 'a.[[:digit:]]'
ප්රධාන ලිනක්ස් ක්රියාත්මක කිරීම: glibc විසින් regex.h යටතේ ඇති කාර්යයන් ක්රියාත්මක කරන අතර එම වැඩසටහන් වලට පසුපෙළgrep
ලෙස භාවිතා කළ හැකිය.
නාමාවලි නූල්
උදා: /dev/null
,/tmp
ලිනක්ස් එෆ්එච්එස් පොසික්ස් විශාල ලෙස විහිදේ.
ගොනු නාම
/
මාර්ගය බෙදුම්කරු වේ
NUL
භාවිතා කළ නොහැක
.
ය cwd
, ..
මව්
- අතේ ගෙන යා හැකි ගොනු නාම
- සම්පූර්ණ මාර්ගය සඳහා උපරිම වශයෙන් අක්ෂර 14 ක් සහ 256 ක් භාවිතා කරන්න
- අඩංගු විය හැක්කේ:
a-zA-Z0-9._-
මෙයද බලන්න: /programming/18550253/what-is-posix-compliance-for-filesystem
විධාන රේඛා උපයෝගිතා API සම්මුතීන්
POSIX විසින් භාවිතා කිරීම අනිවාර්ය නොවේ, නමුත් වෙනත් තැනක පාහේ, විශේෂයෙන් GNU හි නොමැත. නමුත් ඇත්ත, එය ඕනෑවට වඩා සීමා කර ඇත, උදා: තනි අකුරු කොඩි පමණි (උදා -a
), ද්විත්ව යටි ඉර දිගු අනුවාද නොමැත (උදා --all
).
බහුලව භාවිතා වන සම්මුතීන් කිහිපයක්:
-
ගොනුවක් අපේක්ෂා කරන තැන stdin යන්නයි
--
කොඩි අවසන් කරයි, උදා ls -- -l
නම් නාමාවලියක් ලැයිස්තුගත කිරීම-l
මෙයද බලන්න: /programming/8957222/are-there-standards-for-linux-command-line-switches-and-arguments
“POSIX ACLs” (ප්රවේශ පාලන ලැයිස්තු), උදා setfacl
.
මෙය ඉවත් කර ගත් නමුත් එය ලිනක්ස්setxattr
ඇතුළු මෙහෙයුම් පද්ධති කිහිපයක ක්රියාත්මක විය .
පොසික්ස් වලට අනුකූල වන්නේ කවුද?
බොහෝ පද්ධති POSIX සමීපව අනුගමනය කරයි, නමුත් ඇත්ත වශයෙන්ම විවෘත සමූහය විසින් සහතික කරනු ලබන්නේ ස්වල්පයක් පමණි. සැලකිය යුතු සහතික කළ අය අතර:
- OS X (Apple) X යනු 10 සහ යුනික්ස් යන දෙකම නියෝජනය කරයි. 2001 දී පමණ නිකුත් කරන ලද පළමු ඇපල් පොසික්ස් පද්ධතියයි. මෙයද බලන්න: /programming/5785516/is-osx-a-posix-os
- AIX (IBM)
- HP-UX (HP)
- සොලාරිස් (ඔරකල්)
බොහෝ ලිනක්ස් ඩිස්ට්රෝ ඉතා අනුකූල වේ, නමුත් අනුකූලතා චෙක්පත ගෙවීමට අවශ්ය නැති නිසා සහතික කර නොමැත. ඉන්ස්පූර් හි K-UX සහ Huawei හි EulerOS සහතික කළ උදාහරණ දෙකකි.
සහතික කළ පද්ධතිවල නිල ලැයිස්තුව: https://www.opengroup.org/openbrand/register/ සහ විකී පිටුවෙන් සොයාගත හැකිය .
වින්ඩෝස්
වින්ඩෝස් එහි සමහර වෘත්තීය බෙදාහැරීම් මත POSIX ක්රියාත්මක කළේය.
එය විකල්ප අංගයක් බැවින්, බොහෝ අවසාන පරිශීලක යෙදුම් සඳහා ක්රමලේඛකයන්ට එය මත විශ්වාසය තැබිය නොහැකි විය.
වින්ඩෝස් 8 හි සහාය අවලංගු කරන ලදි:
2016 දී "ලිනක්ස් සඳහා වින්ඩෝස් උප පද්ධතිය" නමින් නව නිල ලිනක්ස් වැනි API එකක් නිවේදනය කරන ලදී. එයට ලිනක්ස් පද්ධති ඇමතුම්, ඊඑල්එෆ් ධාවනය, /proc
ගොනු පද්ධතියේ කොටස් , බාෂ්, ජීසීසී, (TODO බොහෝ විට glibc?) apt-get
සහ තවත් බොහෝ දේ ඇතුළත් වේ: https://channel9.msdn.com/Events/Build/2016/P488 එබැවින් මම එය විශ්වාස කරමි POSIX හි වින්ඩෝස් බොහෝ දුරට ධාවනය කිරීමට ඉඩ දෙයි. කෙසේ වෙතත්, එය අවසාන පරිශීලකයින් වෙනුවට සංවර්ධකයින් / යෙදවීම කෙරෙහි අවධානය යොමු කරයි. වින්ඩෝස් GUI වෙත ප්රවේශ වීමට ඉඩ සැලසීමේ සැලසුමක් නොතිබුණි.
නිල Microsoft POSIX ගැළපුම පිළිබඳ over තිහාසික දළ විශ්ලේෂණය: http://brianreiter.org/2010/08/24/the-sad-history-of-the-microsoft-posix-subsystem/
සිග්වින් යනු වින්ඩෝස් සඳහා “සැලකිය යුතු පොසික්ස් ඒපීඅයි ක්රියාකාරිත්වය සපයයි” සඳහා සුප්රසිද්ධ ජීපීඑල් තෙවන පාර්ශවීය ව්යාපෘතියකි, නමුත් “ඔබේ යෙදුම වින්ඩෝස් මත ක්රියාත්මක වීමට අවශ්ය නම් එය ප්රභවයෙන් නැවත ගොඩනඟා ගැනීම” අවශ්ය වේ. MSYS2 යනු සිග්වින්ට ඉහළින් වැඩි ක්රියාකාරිත්වයක් එක් කරන බව පෙනෙන ව්යාපෘතියකි.
Android
ඇන්ඩ්රොයිඩ් සතුව තමන්ගේම සී පුස්තකාලයක් (බයෝනික්) ඇති අතර එය ඇන්ඩ්රොයිඩ් ඕ හි පොසික්ස් සඳහා පූර්ණ සහය නොදක්වයි: /programming/27604455/is-android-posix-compatible
පාරිතෝෂික මට්ටම
මෙම ලිනක්ස් සම්මත මූලික තවදුරටත් POSIX විහිදී ඇත.
රාමු නොවන දර්ශක භාවිතා කරන්න, ඒවා වඩාත් කියවිය හැකි සහ සෙවිය හැකි ය: http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html
අතුගා දැමීම සඳහා HTML පිටු වල සම්පූර්ණ සිප් අනුවාදයක් ලබා ගන්න: /programming/453993/is-there-a-listing-of-the-posix-api-functions/45832939#45832939