সর্বাধিক গুরুত্বপূর্ণ বিষয়গুলি পসিক্স 7 সংজ্ঞা দেয়
সি এপিআই
ব্যাপকভাবে ANSI সি প্রসারিত মত বিষয়গুলিতে:
- আরো ফাইল অপারেশন:
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
কোনও প্রক্রিয়া ধারণার প্রয়োজন।
অনেকগুলি লিনাক্স সিস্টেম কল একটি নির্দিষ্ট পসিক্স সি এপিআই ফাংশন বাস্তবায়নের জন্য এবং লিনাক্সকে অনুগ্রহ করে, যেমন sys_write
,, তৈরি করার জন্য উপস্থিত রয়েছে ... এই সিস্টেমে বেশিরভাগের লিনাক্সsys_read
-নির্দিষ্ট এক্সটেনশনও রয়েছে।
মেজিন লিনাক্স ডেস্কটপ বাস্তবায়ন: গ্লিবসি, যা অনেক ক্ষেত্রে সিস্টেম কলগুলিতে কেবল অগভীর মোড়ক সরবরাহ করে।
সি এল এল ইউটিলিটিস
উদাহরণ: cd
, ls
, echo
, ...
অনেকগুলি ইউটিলিটিগুলি সম্পর্কিত সি এপিআই ফাংশনের জন্য সরাসরি শেল ফ্রন্ট প্রান্তগুলি হয়, যেমন mkdir
।
মেজর লিনাক্স ডেস্কটপ বাস্তবায়ন: ছোট বেশী জন্য গনুহ Coreutils, বড় বেশী জন্য পৃথক গনুহ প্রকল্পের: sed
, grep
, awk
, ... কিছু CLI ইউটিলিটি Bash দ্বারা প্রয়োগ করা হয় বিল্ট-ইন হিসেবে ।
শেল ভাষা
যেমন, a=b; echo "$a"
প্রধান লিনাক্স ডেস্কটপ বাস্তবায়ন: জিএনইউ বাশ ।
পরিবেশের পরিবর্তনশীল
উদাহরণ: HOME
, PATH
।
PATH
কীভাবে স্ল্যাশ PATH
অনুসন্ধানকে বাধা দেয় তা সহ অনুসন্ধান শব্দার্থবিজ্ঞান নির্দিষ্ট করা হয়েছে ।
প্রোগ্রাম প্রস্থান স্থিতি
এএনএসআই সি বলে 0
বা EXIT_SUCCESS
সাফল্যের EXIT_FAILURE
জন্য, ব্যর্থতার জন্য এবং বাকি বাস্তবায়ন সংজ্ঞায়িত করে।
পসিক্স যোগ করেছে:
126
: কমান্ড পাওয়া গেছে তবে কার্যকর হয়নি।
127
: কমান্ড পাওয়া যায় নি।
> 128
: একটি সংকেত দ্বারা সমাপ্ত।
তবে পসিক্স 128 + SIGNAL_ID
ব্যাশের দ্বারা ব্যবহৃত বিধিটি নির্দিষ্ট করে বলে মনে হচ্ছে না : প্রক্রিয়াটি শেষ হয়ে গেলে ডিফল্ট প্রস্থান কোড?
নিয়মিত প্রকাশ
দুটি প্রকার রয়েছে: বিআরই (বেসিক) এবং ইআরই (বর্ধিত)। বেসিক অবহেলা করা হয় এবং কেবল এপিআইগুলিকে না ভাঙ্গতে রাখা হয়।
এগুলি সি এপিআই ফাংশন দ্বারা প্রয়োগ করা হয় এবং সি grep
এল এল ইউটিলিটি জুড়ে ব্যবহৃত হয়, উদাহরণস্বরূপ বিআরই ডিফল্টরূপে গ্রহণ করে এবং এর সাথে EREs করে -E
।
উদাহরণ: echo 'a.1' | grep -E 'a.[[:digit:]]'
মেজিন লিনাক্স বাস্তবায়ন: গ্লিবসি regex.h এর অধীনে ফাংশনগুলি প্রয়োগ করে যা প্রোগ্রামগুলি grep
ব্যাকএন্ড হিসাবে ব্যবহার করতে পারে।
ডিরেক্টরি পদক্ষেপ
উদাহরণ: /dev/null
,/tmp
লিনাক্স এফএইচএস পসিক্সকে প্রসারিত করে।
ফাইলগুলির নাম
/
পথ বিভাজক হয়
NUL
ব্যবহার করা যাবেনা
.
হয় cwd
, ..
পিতামাতা
- পোর্টেবল ফাইলের নাম
- পুরো পথের জন্য সর্বাধিক 14 টি অক্ষর এবং 256 ব্যবহার করুন
- শুধুমাত্র এটি থাকতে পারে:
a-zA-Z0-9._-
আরও দেখুন: https://stackoverflow.com
কমান্ড লাইন ইউটিলিটি এপিআই কনভেনশন
বাধ্যতামূলক নয়, পসিক্স দ্বারা ব্যবহৃত, তবে প্রায় কোথাও নেই, উল্লেখযোগ্যভাবে জিএনইউতে নেই। তবে সত্য, এটি অত্যন্ত সীমাবদ্ধ, উদাহরণস্বরূপ একক বর্ণের পতাকাগুলি (উদাহরণস্বরূপ -a
), কোনও ডাবল হাইফেন দীর্ঘ সংস্করণ নয় (যেমন --all
)।
কয়েকটি বহুল ব্যবহৃত কনভেনশন:
-
মানে স্টিডিন যেখানে কোনও ফাইল প্রত্যাশিত
--
পতাকাগুলি সমাপ্ত করে, উদাহরণস্বরূপ ls -- -l
নামের তালিকাবদ্ধ করতে-l
আরও দেখুন: https://stackoverflow.com/questions/8957222/are-there-standards-for-linux-command-line-switches-and-arguments
"পসিক্স এসিএলস" (অ্যাক্সেস কন্ট্রোল তালিকাগুলি), যেমন ব্যাকএন্ড হিসাবে ব্যবহৃত হয় setfacl
।
এটি প্রত্যাহার করা হয়েছিল তবে এটি লিনাক্সsetxattr
সহ বেশ কয়েকটি ওএসে প্রয়োগ করা হয়েছিল ।
পসিএক্স-এ কে সাবলীল?
অনেকগুলি সিস্টেম পসিক্সকে নিবিড়ভাবে অনুসরণ করে, তবে কয়েকটি কমপক্ষে ওপেন গ্রুপ দ্বারা সত্যায়িত হয় যা মান বজায় রাখে। উল্লেখযোগ্য প্রত্যয়িতগুলির মধ্যে রয়েছে:
- ওএস এক্স (অ্যাপল) এক্স এর অর্থ 10 এবং ইউনিক্স উভয়ই। ২০০১ সালে প্রকাশিত প্রথম অ্যাপল পসিক্স সিস্টেম ছিল, এটি ২০০১ সালে প্রকাশিত হয়েছিল also এছাড়াও দেখুন: https://stackoverflow.com
- এআইএক্স (আইবিএম)
- এইচপি-ইউএক্স (এইচপি)
- সোলারিস (ওরাকল)
বেশিরভাগ লিনাক্স ডিস্ট্রোস খুব কমপ্লায়েন্ট, তবে শংসাপত্রিত হয় না কারণ তারা সম্মতি চেকটি দিতে চায় না। ইন্সপুরের কে-ইউএক্স এবং হুয়াওয়ের ইউলরোস দুটি স্বীকৃত উদাহরণ।
শংসাপত্রপ্রাপ্ত সিস্টেমগুলির আনুষ্ঠানিক তালিকাটি এখানে পাওয়া যাবে: https://www.opengroup.org/openbrand/register/ এবং উইকি পৃষ্ঠায় ।
উইন্ডোজ
উইন্ডোজ তার কিছু পেশাদার বিতরণে পসিএক্স বাস্তবায়ন করেছিল।
যেহেতু এটি একটি alচ্ছিক বৈশিষ্ট্য ছিল তাই প্রোগ্রামাররা বেশিরভাগ শেষ ব্যবহারকারী অ্যাপ্লিকেশনগুলির জন্য এটির উপর নির্ভর করতে পারেন না।
সমর্থনটি উইন্ডোজ 8 এ অবচয় করা হয়েছিল:
২০১ In সালে "লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেম" নামে একটি নতুন অফিসিয়াল লিনাক্সের মতো এপিআই ঘোষণা করা হয়েছিল। এটিতে লিনাক্স সিস্টেম কল, ইএলএফ চলমান, /proc
ফাইল সিস্টেমের অংশগুলি , ব্যাশ, জিসিসি, (টোডো সম্ভবত গ্লাবসি?) apt-get
এবং আরও অনেক কিছু অন্তর্ভুক্ত রয়েছে: https://channel9.msdn.com/Events/Build/2016/P488 তাই আমি বিশ্বাস করি যে এটি উইন্ডোজকে পসিক্সের অনেক কিছু চালানোর অনুমতি দেবে। তবে এটি শেষ ব্যবহারকারীদের পরিবর্তে বিকাশকারী / স্থাপনার উপর দৃষ্টি নিবদ্ধ করে। বিশেষত, উইন্ডোজ জিইউআইতে অ্যাক্সেসের অনুমতি দেওয়ার কোনও পরিকল্পনা ছিল না।
অফিসিয়াল মাইক্রোসফ্ট পসআইএক্স সামঞ্জস্যতার overতিহাসিক ওভারভিউ: http://brianreiter.org/2010/08/24/the-sad-history-of-t-- Microsoft-posix-subs systemm/
সাইগউইন উইন্ডোজের জন্য "যথেষ্ট পরিমাণে পসিক্স এপিআই কার্যকারিতা সরবরাহ করে" এর জন্য একটি সুপরিচিত জিপিএল তৃতীয় পক্ষের প্রকল্প, তবে আপনার যদি প্রয়োজন হয় যে আপনি যদি উইন্ডোজে চালাতে চান তবে আপনার অ্যাপ্লিকেশনটি উত্স থেকে পুনর্নির্মাণ করুন। এমএসওয়াইএস 2 একটি সম্পর্কিত প্রকল্প যা মনে হয় সাইগউইনের শীর্ষে আরও কার্যকারিতা যুক্ত করে।
অ্যান্ড্রয়েড
অ্যান্ড্রয়েডের নিজস্ব সি লাইব্রেরি রয়েছে (বায়োনিক) যা অ্যান্ড্রয়েড ও হিসাবে পোসিক্সকে পুরোপুরি সমর্থন করে না: https://stackoverflow.com/questions/27604455/is-android-posix-comp موافق
বোনাস স্তর
লিনাক্স স্ট্যান্ডার্ড বেস আরও POSIX প্রসারিত করে।
নন-ফ্রেম সূচকগুলি ব্যবহার করুন, সেগুলি আরও বেশি পাঠযোগ্য এবং সন্ধানযোগ্য: http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html
গ্রেপিংয়ের জন্য এইচটিএমএল পৃষ্ঠাগুলির একটি সম্পূর্ণ জিপ করা সংস্করণ পান: https://stackoverflow.com/questions/453993/is-there-a-listing-of-the-posix-api-function/45832939#45832939