Glibc 2.36 Linux-এর জন্য নতুন বৈশিষ্ট্য, উন্নতি এবং আরও অনেক কিছু নিয়ে এসেছে

বিকাশের ছয় মাস পরে, glibc 2.36 এর নতুন সংস্করণ প্রকাশের ঘোষণা করা হয়েছিল, যা ISO C11 এবং POSIX.1-2017 মানগুলির প্রয়োজনীয়তাগুলিকে সম্পূর্ণরূপে মেনে চলে এবং যার মধ্যে নতুন সংস্করণে 59 জন বিকাশকারীর সংশোধন অন্তর্ভুক্ত রয়েছে।

যারা গ্লিবসির সাথে অপরিচিত, তাদের জানা উচিত এটি কী একটি GNU C গ্রন্থাগার, সাধারণত glibc নামে পরিচিত স্ট্যান্ডার্ড GNU C রানটাইম লাইব্রেরি। যেসব সিস্টেমে এটি ব্যবহার করা হয় সেখানে এই সি লাইব্রেরি সিস্টেম কল এবং অন্যান্য মৌলিক ফাংশন প্রদান করে এবং সংজ্ঞায়িত করে, এটি প্রায় সব প্রোগ্রাম দ্বারা ব্যবহৃত হয়। 

Glibc 2.36 এর প্রধান নতুন বৈশিষ্ট্য

নতুন এই সংস্করণে যেটি উপস্থাপন করা হয়েছে, সেটিই তুলে ধরা হয়েছে একটি নতুন আপেক্ষিক স্থানান্তর ঠিকানা বিন্যাসের জন্য সমর্থন যোগ করা হয়েছে DT_RELR, যা আপনাকে PIE (পজিশন ইন্ডিপেনডেন্ট এক্সিকিউটেবল) মোডে শেয়ার্ড অবজেক্ট এবং লিঙ্ক করা এক্সিকিউটেবলে আপেক্ষিক স্থানান্তরের আকার কমাতে দেয়। ELF ফাইলে DT_RELR ক্ষেত্রের ব্যবহারের জন্য লিঙ্কারে "-z pack-relative-relocs" বিকল্পের সমর্থন প্রয়োজন, যা binutils 2.38-এ চালু করা হয়েছে।

নতুন সংস্করণে দাঁড়িয়ে থাকা আরেকটি পরিবর্তনটি হ'ল লিনাক্সের জন্য ফাংশন pidfd_open, pidfd_getfd, এবং pidfd_send_signal পিডিএফডি কার্যকারিতা অ্যাক্সেস প্রদানের জন্য প্রয়োগ করা হয়েছিল যা PID পুনঃব্যবহারের পরিস্থিতি পরিচালনা করতে সাহায্য করে নিরীক্ষণ করা ফাইলগুলিতে অ্যাক্সেস করার প্রক্রিয়াগুলিকে আরও সঠিকভাবে সনাক্ত করতে (pidfd একটি নির্দিষ্ট প্রক্রিয়ার সাথে যুক্ত এবং পরিবর্তন হয় না, যখন প্রক্রিয়া শেষ হওয়ার পরে PID অন্য প্রক্রিয়ার সাথে সংযুক্ত করা যেতে পারে) এর সাথে যুক্ত বর্তমান প্রক্রিয়া পিআইডি)।

এর পাশাপাশি, লিনাক্সেও আসে process_madvise(), Que একটি প্রক্রিয়াকে অন্য প্রক্রিয়ার পক্ষে একটি madvise() সিস্টেম কল চালানোর অনুমতি দেয়, পিডিএফডি ব্যবহার করে লক্ষ্য প্রক্রিয়া চিহ্নিত করা। madvise(), আপনি প্রক্রিয়ার মেমরি ব্যবস্থাপনা অপ্টিমাইজ করার জন্য মেমরির সাথে কাজ করার বৈশিষ্ট্য সম্পর্কে কার্নেলকে অবহিত করতে পারেন, উদাহরণস্বরূপ, পাস করা তথ্যের উপর ভিত্তি করে, কার্নেল অতিরিক্ত ফ্রি মেমরি প্রকাশ করা শুরু করতে পারে।

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

অন্যদিকে, এটি যোগ করা হয়েছে উল্লেখ্য "no-aaaa" বিকল্পের জন্য সমর্থন এর সমন্বিত বাস্তবায়নের জন্য DNS রেজোলিউশন, যা আপনাকে AAAA রেকর্ডের জন্য DNS অনুরোধ পাঠানো অক্ষম করতে দেয় (হোস্টনাম দ্বারা একটি IPv6 ঠিকানা নির্ধারণ করা), এমনকি NSS ফাংশন যেমন getaddrinfo() চালানোর সময়, সমস্যা সমাধানকে সহজ করতে। এই বিকল্পটি /etc/hosts-এ সংজ্ঞায়িত IPv6 অ্যাড্রেস বাইন্ডিং এবং AI_PASSIVE ফ্ল্যাগ সহ getaddrinfo()-এ কল করাকে প্রভাবিত করে না।

লিনাক্সের জন্য, ফাংশন যোগ করা হয়েছে fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, এবং mount_setattr জন্য ফাইল সিস্টেম কিভাবে মাউন্ট করা হয় তা নিয়ন্ত্রণ করতে একটি নতুন কার্নেল API-তে অ্যাক্সেস প্রদান করুন মাউন্ট নেমস্পেসের উপর ভিত্তি করে। প্রস্তাবিত ফাংশনগুলি বিভিন্ন মাউন্টিং ধাপের পৃথক প্রক্রিয়াকরণের অনুমতি দেয় (সুপারব্লক প্রক্রিয়াকরণ, ফাইল সিস্টেম সম্পর্কে তথ্য পাওয়া, মাউন্ট করা, মাউন্ট পয়েন্টের সাথে সংযুক্ত করা), যা পূর্বে সাধারণ মাউন্ট() ফাংশন ব্যবহার করে সম্পাদিত হয়েছিল।

যোগ করা হয়েছিল ফাংশন arc4random, arc4random_buf এবং arc4random_uniform সিস্টেম কলে বাইন্ডিং প্রদান করতে র্যান্ডম এবং ইন্টারফেস /দেব/অযৌক্তিক, উচ্চ-মানের ছদ্ম-এলোমেলো সংখ্যা ফেরত দিচ্ছে।

লিনাক্সে চলাকালীন, আর্কিটেকচারের জন্য সমর্থন প্রদান করা হয়। নির্দেশিকা সেট থেকে লুংআর্চ Loongson 3 5000 প্রসেসরে ব্যবহৃত হয় এবং MIPS এবং RISC-V এর মতো একটি নতুন RISC ISA প্রয়োগ করা হয়। তার বর্তমান আকারে, শুধুমাত্র সামঞ্জস্য উপলব্ধ 64-বিট ভেরিয়েন্ট সহ LoongArch (LA64) থেকে। এটি চালানোর জন্য কমপক্ষে binutils 2.38, GCC 12, এবং Linux kernel 5.19 প্রয়োজন।

অন্যান্য পরিবর্তনগুলির মধ্যে যেগুলি দাঁড়িয়ে আছে:

  • প্রিলিঙ্কিং মেকানিজম, সেইসাথে সম্পর্কিত LD_TRACE_PRELINKING এবং LD_USE_LOAD_BIAS এনভায়রনমেন্ট ভেরিয়েবল এবং লিঙ্কার বৈশিষ্ট্যগুলিকে অবমূল্যায়ন করা হয়েছে এবং ভবিষ্যতে রিলিজে সরিয়ে দেওয়া হবে৷
  • লিনাক্স কার্নেল সংস্করণ পরীক্ষা করতে এবং LD_ASSUME_KERNEL এনভায়রনমেন্ট ভেরিয়েবল পরিচালনা করতে কোড সরানো হয়েছে। Glibc কম্পাইল করার সময় ন্যূনতম কার্নেল সংস্করণ সমর্থিত ELF ক্ষেত্র NT_GNU_ABI_TAG দ্বারা নির্ধারিত হয়।
  • LD_LIBRARY_VERSION এনভায়রনমেন্ট ভেরিয়েবল লিনাক্স প্ল্যাটফর্মে অবচয় করা হয়েছে।

পরিশেষে, যদি আপনি এটি সম্পর্কে আরও জানতে আগ্রহী হন, তাহলে আপনি বিস্তারিত জানতে পারেন নীচের লিঙ্কে।


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।