FreeBSD Q2019 XNUMX کی پیشرفت رپورٹ

شائع ہوا اپریل سے جون 2019 تک فری بی ایس ڈی پروجیکٹ کی ترقی پر رپورٹ۔ تبدیلیوں میں سے ہم نوٹ کر سکتے ہیں:

  • عمومی اور نظاماتی مسائل
    • کور ٹیم نے ایک ورکنگ گروپ قائم کرنے کا فیصلہ کیا تاکہ سورس کوڈ کو سنٹرلائزڈ سبورژن سورس کنٹرول سسٹم سے ڈی سینٹرلائزڈ گٹ سسٹم میں منتقل کرنے کے امکانات کو تلاش کیا جا سکے۔
    • سسٹم کا استعمال کرتے ہوئے فری بی ایس ڈی کرنل کی فز ٹیسٹنگ کی۔ syzkaller اور متعدد شناخت شدہ غلطیوں کو درست کیا گیا۔ 32 بٹ کرنل والے سسٹمز پر 64 بٹ ماحول کے ساتھ مطابقت کے لیے لائبریریوں کی فزنگ ٹیسٹنگ کے لیے ایک پرت شامل کی گئی۔ bhyve کی بنیاد پر ورچوئل مشینوں میں syzkaller چلانے کی صلاحیت کو نافذ کیا گیا ہے۔ اگلے مرحلے پر، سسٹم کال ٹیسٹنگ کی کوریج کو بڑھانے، کرنل کو چیک کرنے کے لیے LLVM سینیٹائزر کا استعمال، فزنگ ٹیسٹنگ کے دوران کریش کے دوران کرنل ڈمپ کو بچانے کے لیے نیٹ ڈمپ کا استعمال، وغیرہ کا منصوبہ بنایا گیا ہے۔
    • کرنل کی سطح پر zlib نفاذ کو اپ ڈیٹ کرنے پر کام شروع ہو گیا ہے۔ zlib کوڈ تک کرنل تک رسائی کے لیے، contrib/zlib ڈائرکٹری کا نام sys/contrib/zlib رکھ دیا گیا، اور zlib/crc.h کے ساتھ تنازعہ سے بچنے کے لیے crc.h ہیڈر فائل کا نام بھی تبدیل کر دیا گیا۔ میراثی کوڈ کو صاف کیا جو zlib اور inflate پر منحصر تھا۔ اس کے بعد، کمپریشن استعمال کرنے والے فنکشنز کے نئے ورژن میں بتدریج منتقلی کے لیے پرانے اور نئے zlib کے ساتھ بیک وقت دانا بنانے کی صلاحیت فراہم کرنے کا منصوبہ بنایا گیا ہے۔
    • لینکس انوائرمنٹ ایمولیشن انفراسٹرکچر (لینکسولیٹر) کو اپ ڈیٹ کر دیا گیا ہے۔ لینکس ڈیبگنگ ٹولز جیسے کہ سٹریس یوٹیلیٹی کے لیے سپورٹ میں اضافہ۔ linux-c7-strace پیکیج کو بندرگاہوں میں شامل کیا گیا ہے، جو معیاری truss اور ktrace افادیت کے بجائے لینکس کے قابل عمل فائلوں کو ٹریس کرنے کے لیے استعمال کیا جا سکتا ہے، جو ابھی تک لینکس کے مخصوص جھنڈوں اور ڈھانچے کو ڈی کوڈ نہیں کر سکتے ہیں۔ اس کے علاوہ، لینکس ٹیسٹ پروجیکٹ ایگزیکیوٹیبلز کے ساتھ linux-ltp پیکیج کو شامل کیا گیا ہے اور glibc کے نئے ورژن کے ساتھ منسلک ایگزیکیوٹیبلز کے ساتھ مطابقت کے مسائل کو حل کیا گیا ہے۔
    • pmap میکانزم میں تاخیر سے ہونے والی باطل کارروائیوں کے نفاذ کو ایک قطار پروسیسنگ الگورتھم کے استعمال میں منتقل کر دیا گیا ہے جو تالے کے بغیر کام کرتا ہے، جس نے متوازی unmap آپریشنز کی ایک بڑی تعداد کو انجام دیتے وقت اسکیل ایبلٹی کے مسائل کو حل کرنا ممکن بنایا ہے۔
    • execve() فیملی کی سسٹم کالز کے عمل کے دوران vnode کو بلاک کرنے کے طریقہ کار کو تبدیل کر دیا گیا ہے، جس نے ایک ہی فائل کے لیے execve() کو ایک ہی وقت میں چلاتے وقت زیادہ کارکردگی کا حصول ممکن بنا دیا ہے (مثال کے طور پر، جب متوازی کے ساتھ اسمبلی آپریشنز انجام دیتے ہیں۔ کمپائلر لانچ کا)
  • سیکورٹی
    • bhyve ہائپر وائزر ایک میزبان سے دوسرے میزبان ماحول کی براہ راست منتقلی اور محفوظ/بحال فعالیت کے لیے سپورٹ کو بہتر بناتا ہے، جو آپ کو گیسٹ سسٹم کو منجمد کرنے، اسٹیٹ کو فائل میں محفوظ کرنے، اور پھر عملدرآمد کو دوبارہ شروع کرنے کی اجازت دیتا ہے۔
    • libvdsk لائبریری کے استعمال کے ذریعے، bhyve نے QCOW2 فارمیٹ میں ڈسک امیجز کے لیے تعاون شامل کیا ہے۔ کام کرنے کے لیے تنصیب کی ضرورت ہے۔
      خاص طور پر نظر ثانی شدہ bhyve کا ورژن، جسے libvdsk کی بنیاد پر فائل آپریشن ہینڈلرز کے استعمال میں تبدیل کیا گیا ہے۔ رپورٹنگ کی مدت کے دوران، libvdsk نے نئے فارمیٹس کے لیے سپورٹ کے انضمام کو آسان بنانے، پڑھنے اور لکھنے کی کارکردگی کو بہتر بنانے، اور کاپی آن رائٹ کے لیے سپورٹ شامل کرنے کا کام بھی کیا۔ باقی کاموں میں سے، libvdsk کا bhyve کے مرکزی ڈھانچے میں انضمام نوٹ کیا گیا ہے۔

    • بندرگاہوں پر ٹریفک کی معلومات جمع کرنے کا نظام شامل کیا گیا ہے۔
      مالٹریل، جو آپ کو نقصان دہ نیٹ ورک کی درخواستوں کے لیے جال بنانے کی اجازت دیتا ہے (بلیک لسٹ سے آئی پیز اور ڈومینز کی جانچ پڑتال کی جاتی ہے) اور بعد میں بلاک کرنے یا حملے کی کوششوں کے تجزیہ کے لیے پتہ چلنے والی سرگرمی کے بارے میں معلومات مرکزی سرور کو بھیجنے کی اجازت دیتا ہے۔

    • حملوں کا پتہ لگانے، لاگز کا تجزیہ کرنے اور فائل کی سالمیت کی نگرانی کے لیے بندرگاہوں میں پلیٹ فارم شامل کیے گئے ہیں۔ وضو (کے ساتھ انضمام کی حمایت کے ساتھ Ossec کا کانٹا ELK-اسٹیک);
  • نیٹ ورک سب سسٹم
    • ena ڈرائیور کو ENAv2 (ایلاسٹک نیٹ ورک اڈاپٹر) نیٹ ورک اڈاپٹر کی دوسری نسل کو سپورٹ کرنے کے لیے اپ ڈیٹ کیا گیا ہے جو 2 Gb/s کی رفتار سے EC2 نوڈس کے درمیان مواصلات کو منظم کرنے کے لیے لچکدار کمپیوٹ کلاؤڈ (EC25) انفراسٹرکچر میں استعمال کیا جاتا ہے۔ NETMAP سپورٹ ena ڈرائیور میں شامل کر دی گئی ہے۔
    • FreeBSD HEAD CAM فریم ورک پر مبنی ایک نیا MMC/SD اسٹیک اپناتا ہے اور آپ کو آلات کو SDIO (Secure Digital I/O) انٹرفیس کے ساتھ جوڑنے کی اجازت دیتا ہے۔ مثال کے طور پر، SDIO بہت سے بورڈز کے لیے وائی فائی اور بلوٹوتھ ماڈیولز میں استعمال ہوتا ہے، جیسے کہ Raspberry Pi 3۔ نیا اسٹیک CAM انٹرفیس کو صارف کی جگہ پر موجود ایپلی کیشنز سے SD کمانڈ بھیجنے کے لیے استعمال کرنے کی بھی اجازت دیتا ہے، جس سے ڈیوائس بنانا ممکن ہو جاتا ہے۔ ڈرائیور جو صارف کی سطح پر کام کرتے ہیں۔ FullMAC موڈ میں کام کرنے والے Broadcom وائرلیس چپس کے لیے ڈرائیورز بنانے پر کام شروع ہو گیا ہے (چپ سائیڈ پر یہ اپنے 802.11 وائرلیس اسٹیک کے نفاذ کے ساتھ اپنے آپریٹنگ سسٹم کی جھلک چلاتا ہے)؛
    • فری بی ایس ڈی کے لیے NFSv4.2 (RFC-7862) کو نافذ کرنے کے لیے کام جاری ہے۔ NFS کا نیا ورژن posix_fadvise، posix_fallocate فنکشنز، lseek میں SEEKHOLE/SEEKDATA موڈز، اور سرور پر فائل کے حصوں کی مقامی کاپی کرنے کے آپریشن (کلائنٹ کو منتقل کیے بغیر) کے لیے تعاون شامل کرتا ہے۔

      FreeBSD فی الحال LayoutError، IOAdvise، Allocate، اور Copy آپریشنز کے لیے بنیادی مدد فراہم کرتا ہے۔ بس جو بچا ہے وہ NFS کے ساتھ lseek(SEEKHOLE/SEEKDATA) کو استعمال کرنے کے لیے درکار سیک آپریشن کو نافذ کرنا ہے۔ فری بی ایس ڈی 4.2 کے لیے NFSv13 سپورٹ کا منصوبہ بنایا گیا ہے۔

  • اسٹوریج اور فائل سسٹم
    • FUSE (USErspace میں فائل سسٹم) سب سسٹم کے لیے ڈرائیور کو دوبارہ کام کرنے کا پروجیکٹ، جو صارف کی جگہ میں فائل سسٹم کے نفاذ کی اجازت دیتا ہے، تکمیل کے قریب ہے۔ اصل میں فراہم کردہ ڈرائیور پرانا ہے اور اس میں بہت سے کیڑے ہیں۔ ڈرائیور کی جدید کاری کے منصوبے کے ایک حصے کے طور پر، FUSE 7.23 پروٹوکول کے لیے سپورٹ کو لاگو کیا گیا تھا (پہلے ورژن 7.8، جو 11 سال پہلے جاری کیا گیا تھا، سپورٹ کیا گیا تھا)، کرنل سائیڈ ("-o default_permissions") پر رسائی کے حقوق کو چیک کرنے کے لیے کوڈ شامل کیا گیا تھا، کالز VOP_MKNOD، VOP_BMAP اور VOP_ADVLOCK کو شامل کیا گیا، FUSE کی کارروائیوں میں خلل ڈالنے کی صلاحیت، fusefs میں بے نام پائپوں اور یونکس ساکٹ کے لیے سپورٹ شامل کیا گیا، /dev/fuse کے لیے kqueue استعمال کرنے کی صلاحیت، "mount -u" کے ذریعے ماؤنٹ پیرامیٹرز کو اپ ڈیٹ کرنے کی اجازت، اضافی سپورٹ NFS کے ذریعے fusefs کو برآمد کرنے کے لیے، RLIMIT_FSIZE اکاؤنٹنگ کو لاگو کیا گیا، FOPEN_KEEP_CACHE جھنڈے اور FUSE_ASYNC_READ شامل کیے گئے، نمایاں کارکردگی کی اصلاح کی گئی ہے اور کیشنگ تنظیم کو بہتر بنایا گیا ہے۔
    • BIO_DELETE آپریشن کے لیے سپورٹ کو سویپ پیجر کوڈ میں شامل کر دیا گیا ہے، جو آپ کو SSD ڈرائیوز سے بلاکس کو ہٹاتے وقت ان کی سروس لائف بڑھانے کے لیے TRIM کمانڈ استعمال کرنے کی اجازت دیتا ہے۔
  • ہارڈ ویئر سپورٹ
    • ARMv64 Cortex-A5871 پروسیسرز کے ساتھ ARM8 SoC Broadcom BCM57X کے لیے سپورٹ کو نافذ کرنے کے لیے کام جاری ہے، جس کا مقصد روٹرز، گیٹ ویز اور نیٹ ورک اسٹوریج میں استعمال کرنا ہے۔ رپورٹنگ کی مدت کے دوران، اندرونی اور بیرونی iProc PCIe بسوں کے لیے سپورٹ کو بہتر بنایا گیا، BNXT ایتھرنیٹ کے لیے سپورٹ شامل کیا گیا، اور IPsec کو تیز کرنے کے لیے بلٹ ان کرپٹو انجن کو استعمال کرنے کے لیے کام جاری ہے۔ HEAD برانچ میں کوڈ کا انضمام سال کے دوسرے نصف میں متوقع ہے۔
    • ARMv64 Cortex-A1046 پروسیسر پر مبنی 8-bit SoC NXP LS72A کے لیے ایک مربوط نیٹ ورک پیکٹ پروسیسنگ ایکسلریشن انجن، 10 Gb Ethernet، PCIe 3.0، SATA 3.0 اور USB 3.0 کے ساتھ تعاون پر کام شروع ہو گیا ہے۔ بیس پلیٹ فارم (ملٹی یوزر SMP) اور SATA 3.0 کے لیے سپورٹ پہلے ہی لاگو کیا جا چکا ہے۔ USB 3.0، SD/MMC اور I2C کے لیے سپورٹ تیار ہو رہا ہے۔ منصوبوں میں ایتھرنیٹ، جی پی آئی او اور کیو ایس پی آئی کے لیے تعاون شامل ہے۔ HEAD برانچ میں کام کی تکمیل اور شمولیت 4 کی چوتھی سہ ماہی میں متوقع ہے۔
    • Mellanox ConnectX-5 [Lx]، ConnectX-5 [Ex]، اور ConnectX-4 [Dx] ایتھرنیٹ اور InfiniBand اڈاپٹرز کے لیے mlx5en اور mlx6ib ڈرائیورز کو اپ ڈیٹ کیا گیا۔ Mellanox Socket Direct (ConnectX-6) اڈاپٹر کے لیے شامل کردہ تعاون، PCIe Gen 200 بس پر 3.0Gb/s تک کے تھرو پٹ کی اجازت دیتا ہے۔ ملٹی کور بلیو فیلڈ چپس کے لیے، RShim ڈرائیور کے لیے سپورٹ شامل کی گئی ہے۔ Mellanox اڈاپٹرز کے لیے تشخیصی افادیت کے سیٹ کے ساتھ mstflint پیکیج بندرگاہوں میں شامل کر دیا گیا ہے۔
  • ایپلی کیشنز اور پورٹ سسٹم
    • گرافکس اسٹیک اجزاء کو اپ ڈیٹ کر دیا گیا ہے۔ drm.ko (ڈائریکٹ رینڈرنگ مینیجر) ڈرائیور کو لینکس 5.0 کرنل سے پورٹ کیا گیا ہے۔ اس ڈرائیور کو تجرباتی سمجھا جاتا ہے اور اسے پورٹ ٹری میں بطور گرافکس/drm-devel-kmod شامل کیا گیا ہے۔ چونکہ ڈرائیور لینکس کرنل DRM API کے ساتھ ہم آہنگ ہونے کے لیے اپ ڈیٹ شدہ لینکس KPI فریم ورک کا استعمال کرتا ہے، اس لیے FreeBSD CURRENT کو چلانے کی ضرورت ہے۔ VirtualBox ورچوئل GPU کے لیے vboxvideo.ko drm ڈرائیور کو بھی Linux سے پورٹ کیا گیا ہے۔ میسا پیکج کو 18.3.2 ریلیز کرنے کے لیے اپ ڈیٹ کر دیا گیا ہے اور ڈیول/llvm80 کی بجائے devel/llvm60 پورٹ سے LLVM استعمال کرنے کے لیے سوئچ کر دیا گیا ہے۔
    • فری بی ایس ڈی پورٹس ٹری نے 37000 بندرگاہوں کو عبور کر لیا ہے، غیر بند پی آر کی تعداد 2146 پر برقرار ہے۔ رپورٹنگ کی مدت کے دوران، 7837 ڈویلپرز سے 172 تبدیلیاں کی گئیں۔ تین نئے شرکاء کو کمٹٹر کے حقوق ملے۔ بندرگاہوں میں اہم ورژن اپ ڈیٹس میں شامل ہیں: MySQL 5.7، Python 3.6، Ruby 2.5، Samba 4.8، Julia 1.0، Firefox 68.0، Chromium 75.0.3770.100۔ تمام گو بندرگاہوں کو "USES=go" پرچم استعمال کرنے کے لیے تبدیل کر دیا گیا ہے۔ ہاسکل کوڈ کے لیے استعمال ہونے والے کیبل پیکیج مینیجر میں "USES=cabal" جھنڈا شامل کیا گیا۔ سخت اسٹیک پروٹیکشن موڈ فعال ہے۔ ازگر کا ڈیفالٹ ورژن 3.6 کے بجائے 2.7 ہے۔
    • یوٹیلیٹی ریلیز تیار کر لی گئی ہے۔ nsysctl 1.0، جو /sbin/sysctl کو ایک اینالاگ پیش کرتا ہے جو استعمال کرتا ہے۔ libxo آؤٹ پٹ اور اختیارات کا ایک وسیع سیٹ فراہم کرنے کے لیے۔ Nsysctl کا استعمال sysctl اقدار کی حالت کو بصری طور پر مانیٹر کرنے اور ایک ساختی شکل میں اشیاء پر معلومات پیش کرنے کے لیے استعمال کیا جا سکتا ہے۔ XML، JSON اور HTML فارمیٹس میں آؤٹ پٹ ممکن ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں