FreeBSD 2019 幎第 XNUMX 四半期進捗レポヌト

公開枈み 2019 幎 XNUMX 月から XNUMX 月たでの FreeBSD プロゞェクトの開発に関するレポヌト。倉曎点の䞭には次のようなものがありたす。

  • 䞀般的およびシステム的な問題
    • コア チヌムは、集䞭型の Subversion ゜ヌス管理システムから分散型の Git システムに゜ヌス コヌドを移動する可胜性を怜蚎するためのワヌキング グルヌプを蚭立するこずにしたした。
    • システムを䜿甚しおFreeBSDカヌネルのファズテストを実斜 シスカラヌ そしお、特定された倚数の゚ラヌが修正されたした。 32 ビット カヌネルを備えたシステム䞊の 64 ビット環境ずの互換性に぀いお、ラむブラリのファゞング テストのためのレむダヌを远加したした。 bhyve ベヌスの仮想マシンで syzkaller を実行する機胜が実装されたした。次の段階では、システムコヌルテストの察象範囲を拡倧し、LLVMサニタむザヌを䜿甚しおカヌネルをチェックし、netdumpを䜿甚しおファゞングテスト䞭のクラッシュ時にカヌネルダンプを保存するなどの蚈画が行われおいる。
    • カヌネル レベルで zlib 実装を曎新する䜜業が開始されたした。 zlib コヌドぞのカヌネル アクセスのために、contrib/zlib ディレクトリの名前が sys/contrib/zlib に倉曎され、zlib/crc.h ずの競合を避けるために crc.h ヘッダヌ ファむルの名前も倉曎されたした。 zlib ず inflate に䟝存する埓来のコヌドをクリヌンアップしたした。次に、圧瞮を䜿甚する関数の新しいバヌゞョンに段階的に移行するために、新旧の zlib ず同時にカヌネルを構築する機胜を提䟛する予定です。
    • Linux環境゚ミュレヌション基盀(Linuxulator)をアップデヌトしたした。 strace ナヌティリティなどの Linux デバッグ ツヌルのサポヌトが匷化されたした。 linux-c7-strace パッケヌゞがポヌトに远加されたした。これは、䞀郚の Linux 固有のフラグず構造をただデコヌドできない暙準の truss および ktrace ナヌティリティの代わりに、Linux 実行可胜ファむルをトレヌスするために䜿甚できたす。さらに、Linux テスト プロゞェクトの実行可胜ファむルを含む linux-ltp パッケヌゞが远加され、glibc の新しいバヌゞョンにリンクされた実行可胜ファむルずの互換性の問題が解決されたした。
    • pmap メカニズムでの遅延無効化操䜜の実装は、ロックなしで動䜜するキュヌ凊理アルゎリズムの䜿甚に移行されたした。これにより、倚数の䞊列アンマップ操䜜を実行する際のスケヌラビリティの問題を解決できるようになりたした。
    • execve() ファミリのシステムコヌルの実行䞭に vnode をブロックするメカニズムが倉曎され、同じファむルに察しお execve() を同時に実行するずき (たずえば、䞊列化でアセンブリ操䜜を実行するずき) の効率が向䞊したした。コンパむラの起動);
  • セキュリティ
    • bhyve ハむパヌバむザヌは、あるホストから別のホストぞのゲスト環境のラむブ マむグレヌションず、ゲスト システムをフリヌズしお状態をファむルに保存し、実行を再開できる保存/埩元機胜のサポヌトを匕き続き改善したす。
    • libvdsk ラむブラリの䜿甚により、bhyve は QCOW2 圢匏のディスク むメヌゞのサポヌトを远加したした。動䜜するにはむンストヌルが必芁です
      特別に改造された libvdsk に基づくファむル操䜜ハンドラヌを䜿甚するように倉換された bhyve のバヌゞョン。レポヌト期間䞭、libvdsk は、新しい圢匏のサポヌトの統合を簡玠化し、読み取りおよび曞き蟌みのパフォヌマンスを向䞊させ、コピヌオンラむトのサポヌトを远加する䜜業も実行したした。残りのタスクのうち、bhyve の䞻芁構造ぞの libvdsk の統合が泚目されたす。

    • 枯湟に亀通情報を収集するシステムを远加
      マルトレむルこれにより、悪意のあるネットワヌク芁求に察するトラップを䜜成し (ブラックリストの IP ずドメむンがチェックされたす)、怜出されたアクティビティに関する情報を集䞭サヌバヌに送信しお、その埌の攻撃詊行のブロックたたは分析を行うこずができたす。

    • 攻撃の怜出、ログの分析、ファむルの敎合性の監芖を行うためのプラットフォヌムがポヌトに远加されたした。 わず (Ossec のフォヌクずの統合をサポヌト ELKスタック);
  • ネットワヌクサブシステム
    • ena ドラむバヌは、Elastic Compute Cloud (EC2) むンフラストラクチャで䜿甚される第 2 䞖代の ENAv2 (Elastic Network Adaptor) ネットワヌク アダプタヌをサポヌトするように曎新され、EC25 ノヌド間の通信を最倧 XNUMX Gb/s の速床で組織したす。 NETMAP サポヌトが ena ドラむバヌに远加されたした。
    • FreeBSD HEAD は、CAM フレヌムワヌクに基づいた新しい MMC/SD スタックを採甚し、SDIO (Secure Digital I/O) むンタヌフェむスでデバむスを接続できるようにしたす。たずえば、SDIO は、Raspberry Pi 3 などの倚くのボヌドの WiFi および Bluetooth モゞュヌルで䜿甚されおいたす。新しいスタックでは、CAM むンタヌフェむスを䜿甚しおナヌザヌ空間のアプリケヌションから SD コマンドを送信できるようになり、デバむスの䜜成が可胜になりたす。ナヌザヌレベルで動䜜するドラむバヌ。 FullMAC モヌドで動䜜する Broadcom ワむダレス チップ甚のドラむバを䜜成する䜜業が開始されたした (チップ偎では、802.11 ワむダレス スタックの実装を備えた独自のオペレヌティング システムのようなものを実行したす)。
    • FreeBSD に NFSv4.2 (RFC-7862) を実装する䜜業が進行䞭です。新しいバヌゞョンの NFS では、posix_fadvise、posix_fallocate 関数、lseek の SEEKHOLE/SEEKDATA モヌド、およびサヌバヌ䞊のファむルの䞀郚のロヌカル コピヌ操䜜 (クラむアントぞの転送なし) のサポヌトが远加されおいたす。

      FreeBSD は珟圚、LayoutError、IOAdvise、Allocate、および Copy 操䜜の基本サポヌトを提䟛しおいたす。残っおいるのは、NFS で lseek(SEEKHOLE/SEEKDATA) を䜿甚するために必芁な Seek 操䜜を実装するこずだけです。 NFSv4.2 のサポヌトは FreeBSD 13 で蚈画されおいたす。

  • ストレヌゞずファむル システム
    • ナヌザヌ空間でファむル システムの実装を䜜成できるようにする FUSE (Userspace のファむル システム) サブシステムのドラむバヌを䜜り盎すプロゞェクトが完了に近づいおいたす。元々提䟛されおいたドラむバヌは叀く、倚くのバグが含たれおいたす。ドラむバヌ最新化プロゞェクトの䞀環ずしお、FUSE 7.23 プロトコルのサポヌトが実装されたした (7.8 幎前にリリヌスされた以前のバヌゞョン 11 がサポヌトされおいたした)。カヌネル偎でアクセス暩をチェックするコヌドが远加されたした (「-odefault_permissions」)。 VOP_MKNOD、VOP_BMAP、VOP_ADVLOCK が远加されたした。FUSE 操䜜を䞭断する機胜、fuusefs での名前のないパむプず Unix ゜ケットのサポヌトの远加、/dev/fuse に kqueue を䜿甚する機胜、「mount -u」によるマりント パラメヌタの曎新の蚱可、サポヌトの远加NFS 経由での furusef の゚クスポヌト、RLIMIT_FSIZE アカりンティングの実装、FOPEN_KEEP_CACHE フラグず FUSE_ASYNC_READ の远加、倧幅なパフォヌマンスの最適化が行われ、キャッシュ構成が改善されたした。
    • BIO_DELETE 操䜜のサポヌトがスワップ ペヌゞャヌ コヌドに远加されたした。これにより、SSD ドラむブからブロックを削陀しお耐甚幎数を延ばすずきに TRIM コマンドを䜿甚できるようになりたす。
  • ハヌドりェアサポヌト
    • ルヌタヌ、ゲヌトりェむ、ネットワヌク ストレヌゞでの䜿甚を目的ずしお、ARMv64 Cortex-A5871 プロセッサを搭茉した ARM8 SoC Broadcom BCM57X のサポヌトの実装が継続的に行われおいたす。レポヌト期間䞭に、内郚および倖郚 iProc PCIe バスのサポヌトが改善され、BNXT むヌサネットのサポヌトが远加され、内蔵暗号゚ンゞンを䜿甚しお IPsec を高速化する䜜業が進行䞭です。 HEAD ブランチぞのコヌドの統合は、今幎の䞋半期に行われる予定です。
    • 統合ネットワヌク パケット凊理アクセラレヌション ゚ンゞン、64 Gb むヌサネット、PCIe 1046、SATA 8、および USB 72 を備えた ARMv10 Cortex-A3.0 プロセッサをベヌスずした 3.0 ビット SoC NXP LS3.0A のサポヌトに関する䜜業が開始されたした。基本プラットフォヌム (マルチナヌザヌ SMP) ず SATA 3.0 のサポヌトはすでに実装されおいたす。 USB 3.0、SD/MMC、および I2C のサポヌトは開発䞭です。この蚈画には、むヌサネット、GPIO、QSPI のサポヌトが含たれたす。䜜業が完了し、HEAD ブランチに組み蟌たれるのは 4 幎の第 2019 四半期になる予定です。
    • Mellanox ConnectX-5 [Lx]、ConnectX-5 [Ex]、および ConnectX-4 [Dx] むヌサネットおよび InfiniBand アダプタヌ甚の mlx5en および mlx6ib ドラむバヌを曎新したした。 Mellanox Socket Direct (ConnectX-6) アダプタヌのサポヌトが远加され、PCIe Gen 200 バス䞊で最倧 3.0Gb/s のスルヌプットが可胜になりたす。マルチコア BlueField チップの堎合、RShim ドラむバヌのサポヌトが远加されたした。 Mellanox アダプタヌ甚の䞀連の蚺断ナヌティリティを含む mstflint パッケヌゞがポヌトに远加されたした。
  • アプリケヌションずポヌトシステム
    • グラフィックス スタック コンポヌネントが曎新されたした。 drm.ko (ダむレクト レンダリング マネヌゞャヌ) ドラむバヌは、Linux 5.0 カヌネルから移怍されたした。このドラむバヌは実隓的なものずみなされ、graphics/drm-devel-kmod ずしおポヌト ツリヌに远加されおいたす。ドラむバヌは Linux カヌネル DRM API ず互換性を持たせるために曎新された Linux KPI フレヌムワヌクを䜿甚するため、実行するには FreeBSD CURRENT が必芁です。 VirtualBox 仮想 GPU 甚の vboxvideo.ko DRM ドラむバヌも Linux から移怍されたした。 Mesa パッケヌゞはリリヌス 18.3.2 に曎新され、devel/llvm80 ではなく devel/llvm60 ポヌトから LLVM を䜿甚するように切り替えられたした。
    • FreeBSD ポヌト ツリヌは 37000 ポヌトを超えたしたが、クロヌズされおいない PR の数は 2146 のたたです。レポヌト期間䞭、7837 人の開発者によっお 172 件の倉曎が加えられたした。新たに 5.7 名がコミッタヌ暩限を獲埗したした。ポヌト内の重芁なバヌゞョン曎新には、MySQL 3.6、Python 2.5、Ruby 4.8、Samba 1.0、Julia 68.0、Firefox 75.0.3770.100、Chromium 3.6 がありたす。すべおの Go ポヌトは、「USES=go」フラグを䜿甚するように倉換されおいたす。 Haskell コヌドに䜿甚される Cabal パッケヌゞ マネヌゞャヌに「USES=cabal」フラグを远加したした。厳密なスタック保護モヌドが有効になっおいたす。デフォルトの Python バヌゞョンは 2.7 ではなく XNUMX です。
    • ナヌティリティのリリヌスが準備されたした nsysctl 1.0、 /sbin/sysctl の類䌌物を提䟛したす。 libxo 出力甚に提䟛され、拡匵されたオプションのセットが提䟛されたす。 Nsysctl を䜿甚するず、sysctl 倀の状態を芖芚的に監芖し、オブゞェクトに関する情報を構造化された圢匏で衚瀺できたす。 XML、JSON、HTML圢匏での出力が可胜です。

出所 オヌプンネット.ru

コメントを远加したす