লিনাক্স POSIX- অনুগত?

Is Linux Posix Compliant



সফটওয়্যার বিভিন্ন ব্যাকগ্রাউন্ড সহ অসংখ্য ডেভেলপার দ্বারা লিখিত। সাধারণ অ্যালগরিদম একটি বিনামূল্যে লাইসেন্সের অধীনে পাওয়া যায় বা বৈজ্ঞানিকভাবে প্রকাশিত হয়েছে, এবং সেগুলি অধ্যয়নের উদ্দেশ্যে বিনামূল্যেও পাওয়া যেতে পারে। এটি বিভিন্ন বাস্তবায়ন এবং সফ্টওয়্যার সংস্করণ যা বিভিন্ন প্রয়োজনের সাথে মেলে। ইন্টারফেস এবং ডেটা ফরম্যাটের একটি মানককরণ এই ভিন্ন বাস্তবায়নগুলি বিনিময়যোগ্য এবং মডুলার উভয়ই করতে প্রয়োজনীয়।

সংক্ষেপে, POSIX [1] UNIX এবং UNIX- এর মতো সিস্টেমের জন্য ঠিক তাই করে (এই বিষয়ে আরও বিস্তারিত ইতিহাসের জন্য জ্যাক এইচ এর নিবন্ধ [4] দেখুন)। এটি সফ্টওয়্যারের জন্য বিনিময় ইন্টারফেস, কলিং মেকানিজম এবং ডেটা স্থানান্তরিত করে কিন্তু সফটওয়্যারের ডেভেলপার বা রক্ষণাবেক্ষণকারীর উপর অভ্যন্তরীণ বাস্তবায়ন ছেড়ে দেয়। লক্ষ্য হল বিভিন্ন ইউনিক্স ফর্ক এবং ইউনিক্স-এর মতো সিস্টেমগুলিকে একত্রিত করা যাতে বিভিন্ন সফটওয়্যার বাস্তবায়ন একে অপরের সাথে যোগাযোগ করতে পারে। POSIX এর প্রধান সুবিধা হল এই উপাদানগুলির জন্য একটি বাধ্যতামূলক ডকুমেন্টেশন - ইন্টারফেস, মেকানিজম এবং ডেটা - লিখিত আকারে উপলব্ধ।







একটি অপারেটিং সিস্টেম যা সম্পূর্ণভাবে POSIX মান অনুসরণ করে তাকে POSIX- অনুবর্তী হিসাবে শ্রেণীবদ্ধ করা হয়। এই প্রবন্ধে, আমরা ব্যাখ্যা করেছি যে পসিক্সের অর্থ কী, লিনাক্স এই শ্রেণীর অন্তর্ভুক্ত কিনা তা নির্ধারণ করুন এবং লিনাক্সের উপাদানগুলিকে এই শ্রেণীবিভাগ থেকে বাদ দেওয়া উচিত।



POSIX শব্দটির অর্থ কী?

পসিক্স হল পোর্টেবল অপারেটিং সিস্টেম ইন্টারফেসের সংক্ষিপ্ত রূপ। উপরে সংক্ষেপে ব্যাখ্যা করা হয়েছে, POSIX হল মানগুলির একটি সংগ্রহের নাম যা অপারেটিং সিস্টেমের মধ্যে সামঞ্জস্য বজায় রাখার জন্য প্রয়োজনীয়। ইউনিক্স এবং অন্যান্য অপারেটিং সিস্টেমের সাথে সফ্টওয়্যার সামঞ্জস্যের জন্য [1], [এটি] কমান্ড-লাইন শেল এবং ইউটিলিটি ইন্টারফেস সহ অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস (API) সংজ্ঞায়িত করে। POSIX এর প্রথম সংস্করণ 1988 সালে প্রকাশিত হয়েছিল। তারপর থেকে, POSIX ক্রমাগত সম্প্রসারিত এবং অস্টিন কমন স্ট্যান্ডার্ডস রিভিশন গ্রুপ (সহজভাবে অস্টিন গ্রুপ নামেও পরিচিত) দ্বারা আপডেট করা হয়েছে [7]।



2021 অনুযায়ী, POSIX স্ট্যান্ডার্ডে নিম্নলিখিত অংশগুলি রয়েছে:





  1. মূল সেবা (স্ট্যান্ডার্ড ANSI C অন্তর্ভুক্ত করে) (IEEE std 1003.1-1988)-প্রসেস ক্রিয়েশন অ্যান্ড কন্ট্রোল, সিগন্যালস, ফাইল অ্যান্ড ডাইরেক্টরি অপারেশনস, পাইপস, সি লাইব্রেরি, আই/ও পোর্ট ইন্টারফেস অ্যান্ড কন্ট্রোল, প্রসেস ট্রিগারস
  1. এক্সটেনশন (প্রতীকী লিঙ্ক)
  2. রিয়েল-টাইম এবং I/O এক্সটেনশন -
  3. থ্রেড এক্সটেনশন (IEEE Std 1003.1c-1995)-থ্রেড ক্রিয়েশন, কন্ট্রোল এবং ক্লিন-আপ, থ্রেড শিডিউলিং, থ্রেড সিঙ্ক্রোনাইজেশন, সিগন্যাল হ্যান্ডলিং
  4. আরও রিয়েল-টাইম এক্সটেনশন
  5. নিরাপত্তা এক্সটেনশন (অ্যাক্সেস নিয়ন্ত্রণ তালিকা)
  1. শেল এবং ইউটিলিটি (IEEE Std 1003.2-1992)-কমান্ড ইন্টারপ্রেটার, ইউটিলিটি প্রোগ্রাম

প্রযুক্তিগত পরিবর্তন এবং উন্নতিগুলি প্রতিফলিত করার জন্য মানটি নিয়মিত পর্যালোচনা করা হয়। একটি নতুন সংস্করণ প্রকাশিত হওয়ার আগে এবং পরিবর্তনগুলি অন্তর্ভুক্ত করার আগে এটি কখনও কখনও কয়েক বছর সময় নিতে পারে। এটি অসুবিধাজনক হতে পারে, তবে মানদণ্ডের সুযোগ দেওয়া হলে এটি বোধগম্য।

সাম্প্রতিক বছরগুলিতে, রিয়েল-টাইম প্রক্রিয়াকরণে এক্সটেনশন যোগ করা হয়েছে। বর্তমান সংস্করণটি 2018 সালের প্রথম দিকে প্রকাশিত হয়েছিল [3]। SibylFS [5] এর লেখকরা উচ্চতর অর্ডারের যুক্তি এবং মিথস্ক্রিয়া নির্ধারণের জন্য POSIX মানদণ্ডে অনেক টীকা প্রকাশ করেছেন।



POSIX- অনুগত হওয়ার অর্থ কী?

POSIX- অনুকূল শব্দটির অর্থ হল যে একটি অপারেটিং সিস্টেম সমস্ত POSIX মানদণ্ড পূরণ করে। একটি অপারেটিং সিস্টেম ইউনিক্স প্রোগ্রামগুলি স্থানীয়ভাবে চালাতে পারে, অথবা একটি অ্যাপ্লিকেশন ইউনিক্স সিস্টেম থেকে অন্য সিস্টেমে পোর্ট করা যায়। ইউনিক্স থেকে টার্গেট অপারেটিং সিস্টেমে একটি অ্যাপ্লিকেশন পোর্ট করা সহজ, বা অন্ততপক্ষে সহজ, যদি এটি পসিক্স সমর্থন করে না। নিরাপদ দিকে থাকার জন্য, একটি অপারেটিং সিস্টেমের সফলভাবে POSIX সার্টিফিকেশন অর্জন করা উচিত [2]। একটি স্বয়ংক্রিয় সার্টিফিকেশন পরীক্ষায় উত্তীর্ণ হয়ে এই ধাপটি (খরচে) অর্জন করা হয়। সংশ্লিষ্ট পরীক্ষার স্যুট এখানে পাওয়া যাবে [11]।

2021 অনুযায়ী, POSIX- সার্টিফাইড অপারেটিং সিস্টেমের তালিকায় IBM থেকে AIX, HP থেকে HP-UX, SGI থেকে IRIX, Huawei থেকে EulerOS [6], Mac থেকে OS X থেকে Apple (10.5 Leopard থেকে), Solaris এবং QNX Neutrino থেকে ওরাকল, ইনসপুরের কে-ইউএক্স [11], এবং গ্রীন হিলস সফটওয়্যার [15] থেকে রিয়েল-টাইম ওএস ইন্টিগ্রিটি। ওপেনসোলারিস, ইলুমোস এবং ওপেন ইন্ডিয়ানার তিনটি সোলারিস উত্তরসূরিদের নতুন সংস্করণগুলি সম্পূর্ণ পসিক্স-অনুগত হিসাবে শ্রেণীবদ্ধ করা হয়েছে কিনা তা বর্তমানে স্পষ্ট নয়। POSIX 2001 পর্যন্ত এই অপারেটিং সিস্টেমগুলি POSIX- অনুবর্তী ছিল।

অন্যান্য অপারেটিং সিস্টেম যা বেশিরভাগ (কিন্তু পুরোপুরি নয়) POSIX- অনুসারে দেখা যায় তার মধ্যে রয়েছে Android, BeOS, FreeBSD, হাইকু, লিনাক্স (নিচে দেখুন), এবং VMWare ESXi। মাইক্রোসফট উইন্ডোজের জন্য, সাইগউইন একটি বড় পসিক্স-অনুগত উন্নয়ন এবং রান-টাইম পরিবেশ প্রদান করে।

লিনাক্স POSIX- অনুগত?

লিনাক্স শব্দটি সমগ্র লিনাক্স অপারেটিং সিস্টেমকে নির্দেশ করে, যেমন গন্ধ নির্বিশেষে, যেমন ডেবিয়ান জিএনইউ/লিনাক্স, রেডহ্যাট লিনাক্স, লিনাক্স মিন্ট, উবুন্টু লিনাক্স, ফেডোরা এবং সেন্টোস, উদাহরণস্বরূপ। সুনির্দিষ্টভাবে বলতে গেলে, লিনাক্স কেবলমাত্র কার্নেলের নাম যা এই বিনামূল্যে অপারেটিং সিস্টেমের মূল উপাদান।

লিনাক্স কার্নেল বিকাশের জন্য লিনাস টরভাল্ডস জাস্ট ফর ফান [8] বইতে যেমন বর্ণনা করেছেন, তিনি পসিক্স স্ট্যান্ডার্ডের একটি অনুলিপি অনুরোধ করেছিলেন। এটি তাকে একই পদ্ধতি প্রয়োগ করতে সাহায্য করেছিল যা বাণিজ্যিক ইউনিক্স সিস্টেমে ব্যবহৃত হয়। তদুপরি, এটি তাকে জিএনইউ সরঞ্জামগুলির সাথে লিনাক্স কার্নেলকে সংযুক্ত করার অনুমতি দেয় যা মূলত একই পদ্ধতি অনুসরণ করে। ন্যায্য হতে, একটি লিনাক্স সিস্টেমের সফটওয়্যার বিভিন্ন উৎস থেকে অবদান রাখে যা POSIX মানকে সম্মান করে, কিন্তু এটি কখনও কখনও তাদের নিজস্ব ধারণাগুলি বাস্তবায়ন করে। একই সময়ে, তবে এটি একটি বৈচিত্র্যও দেখায় যা লিনাক্সকে একটি অপারেটিং সিস্টেম হিসাবে তৈরি করে।

এর একটি উদাহরণ হল যেভাবে কমান্ড-লাইন আর্গুমেন্ট লেখা হয়। দুটি ড্যাশ (যেমন, –help) যুক্তিগুলি হল GNU কনভেনশন, যেখানে POSIX কমান্ড কখনোই দুই -ড্যাশ আর্গুমেন্ট ব্যবহার করে না বরং শুধুমাত্র একটি একক (যেমন, -হেল্প)। শুরু থেকেই, লিনাক্সটি জিএনইউকে মাথায় রেখে ডিজাইন করা হয়েছিল এবং সে কারণেই কমান্ডগুলিতে জিএনইউ-স্টাইল রয়েছে

যুক্তি. POSIX সম্মতি অর্জনের জন্য, POSIX- স্টাইলের আর্গুমেন্টগুলি ধাপে ধাপে যোগ করা হয়েছে। তবুও, চূড়ান্ত সিদ্ধান্ত ডেভেলপার দ্বারা করা হয়। আজ পর্যন্ত, বেশিরভাগ কমান্ডই ছোট এবং দীর্ঘ উভয় যুক্তিই গ্রহণ করে, অথবা এমনকি কোন ড্যাশ ছাড়াই আর্গুমেন্ট, যেমন find কমান্ড, উদাহরণস্বরূপ। ন্যায়সঙ্গত হওয়ার জন্য, একটি সিস্টেমে কমান্ডের মধ্যে কোন ধারাবাহিকতা নেই, এবং এটি একটি সমস্যা হতে পারে যখন আপনি একটি ভিন্ন ইউনিক্স-ভিত্তিক সিস্টেমে একই কমান্ড ব্যবহার করতে চান, বিশেষ করে যখন লিনাক্স, ওএস এক্স এবং সোলারিসের মধ্যে স্যুইচ করার সময়।

আপাতত, লিনাক্স দুইটি বাণিজ্যিক লিনাক্স বিতরণ ইনসপুর কে-ইউএক্স [12] এবং হুয়াওয়ে ইউলারোস [6] ব্যতীত উচ্চ খরচের কারণে পসিক্স-প্রত্যয়িত নয়। পরিবর্তে, লিনাক্সকে বেশিরভাগ POSIX- অনুবর্তী হিসাবে দেখা হয়।

এই মূল্যায়নটি এই কারণে যে প্রধান লিনাক্স বিতরণগুলি POSIX [9] এর পরিবর্তে লিনাক্স স্ট্যান্ডার্ড বেস (LSB) অনুসরণ করে। LSB- এর লক্ষ্য পৃথক লিনাক্স বিতরণের মধ্যে পার্থক্য কমানো [14]। এটি লিনাক্স কার্নেলে ব্যবহৃত ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড (এফএইচএস) সহ সফ্টওয়্যার সিস্টেম কাঠামোকে বোঝায়। LSB POSIX স্পেসিফিকেশন, সিঙ্গেল UNIX স্পেসিফিকেশন (SUS) [10], এবং অন্যান্য বেশ কিছু খোলা স্ট্যান্ডার্ডের উপর ভিত্তি করে তৈরি করা হয়েছে, কিন্তু নির্দিষ্ট কিছু এলাকায় সেগুলিকে প্রসারিত করে।

এলএসবি-ভিত্তিক লিনাক্স বিতরণগুলির মধ্যে রয়েছে রেডহ্যাট লিনাক্স, ডেবিয়ান জিএনইউ/লিনাক্স (2002-2015), এবং উবুন্টু (2015 পর্যন্ত), কয়েকটি নাম।

POSIX কে মাথায় রেখে ডেভেলপ করা

আরও বিস্তারিতভাবে POSIX বোঝার জন্য, আমরা POSIX স্ট্যান্ডার্ডের একটি অনুলিপি পাওয়ার এবং এটি সম্পূর্ণরূপে পড়ার পরামর্শ দিই। আপনি ওপেন গ্রুপের ওয়েবসাইট থেকে বইটি পেতে পারেন। এর জন্য একটি রেজিস্ট্রেশন ফি প্রয়োজন কিন্তু আপনাকে এই মূল্যবান সম্পদে পূর্ণ প্রবেশাধিকার দেয়। মানগুলি সাহায্য করে কারণ তারা আপনাকে এমনভাবে সফ্টওয়্যার বিকাশের অনুমতি দেয় যাতে এটি সমস্ত ইউনিক্স প্ল্যাটফর্মে একইভাবে আচরণ করে।

লিঙ্ক এবং রেফারেন্স

ধন্যবাদ

এই নিবন্ধটি প্রস্তুত করার সময় লেখক সাহায্য এবং পরামর্শের জন্য অ্যাক্সেল বেকার্ট এবং ভিট শিয়েলকে ধন্যবাদ জানাতে চান।