並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 689件

新着順 人気順

カーネルの検索結果281 - 320 件 / 689件

  • 「Linuxカーネル5.2」リリース | OSDN Magazine

    Linuxの開発を主導するLinus Torvalds氏が7月7日、「Linuxカーネル5.2」のリリースを発表した。オーディオデバイス向けのオープンソースファームウェア開発プロジェクト「Sound Open Firmware」のコアがマージされるなど、さまざまな強化が加わっている。 Linuxカーネル5.2は5月末に公開されたバージョン5.1に続く安定版。開発コードは「Bobtail Squid」で、7回のリリース候補(RC)を経てのリリースとなる。 DSPオーディオデバイス向けファームウェアをオープンソースで開発するプロジェクト「Sound Open Firmware(SOF)」のコアやIntelのオープンソースファームウェアを取り込んだ。SOFはIntelとGoogleが中心となって進めるオープンソースプロジェクト。オープンソースのファームウェアを提供することでファームウェアのカスタ

      「Linuxカーネル5.2」リリース | OSDN Magazine
    • Windows 11のUEFIセキュアブートをバイパスしてPCを乗っ取る恐るべきマルウェア「BlackLotus」が70万円弱で販売されていることが発覚

      UEFIは従来のBIOSに変わるソフトウェアインターフェースの仕様で、OSが起動する前に改ざんされていないかどうかをチェックするセキュアブートというプロトコルが規定されています。サイバーセキュリティ企業・ESETの研究者が、ハッカーが「Windows 11のセキュリティ保護をバイパスしてマルウェアをインストールし、脆弱(ぜいじゃく)なPCを完全に制御できる」とされる「BlackLotus」と呼ばれるブートキットを5000ドル(約68万円)で販売していると報告しました。 BlackLotus UEFI bootkit: Myth confirmed | WeLiveSecurity https://www.welivesecurity.com/2023/03/01/blacklotus-uefi-bootkit-myth-confirmed/ BlackLotus bootkit can b

        Windows 11のUEFIセキュアブートをバイパスしてPCを乗っ取る恐るべきマルウェア「BlackLotus」が70万円弱で販売されていることが発覚
      • NVIDIAがGPUのLinux向けカーネルモジュールをオープンソース化、すでにダウンロード可能に

        by Jonathan Cutrer NVIDIAがGPUのLinux向けカーネルモジュールをオープンソース化しました。ソースコードはGPLライセンスとMITライセンスのデュアルライセンスで公開されており、記事作成時点ですでにダウンロード可能となっています。 NVIDIA Releases Open-Source GPU Kernel Modules | NVIDIA Technical Blog https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/ これまで、NVIDIAがGPU関連ソフトウェアのオープンソース化に積極的でないことは広く知られており、2012年にはLinuxの生みの親であるリーナス・トーバルズ氏がLinux対応を怠るNVIDIAに対して中指を突き立てる事件が発生し

          NVIDIAがGPUのLinux向けカーネルモジュールをオープンソース化、すでにダウンロード可能に
        • Tiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べる - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

          この記事はLinux Advent Calendar 2020 - Qiitaの1日目の記事です。 Tiny Core Linux(以下tcl)を使ってLinuxのブートプロセスを見てましょう。Tiny Core Linuxは軽量ディストリビューションで最小のisoイメージだと11MBほどです😃 ブートプロセスを見ると言っても電源onからの流れではなくてinitプロセスの実行に関する部分です。 この記事ではバージョン11.1のCore-current.iso を利用しています。 www.tinycorelinux.net isoファイルの構成 まずはtclのisoがどんな感じで構成されていて、Linuxを起動させるのか確認しましょう。 isoファイルの構成はこのようになっています。 $ sudo mount -o loop Core-current.iso ./mnt $ tree ./

            Tiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べる - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
          • 軽量Linuxディストリビューション「antiX-22」が登場

            Linuxディストリビューション「antiX」の開発チームは、最新バージョンである「antiX-22」を10月19日(現地時間)に公開した。antiXはDebianを基にしたLinuxディストリビューションで、古いハードウェアでも軽快に動作することが特徴。今回の新バージョンは「Debian 11 bullseye」を基にしている。 今回の新バージョンでは、Linuxカーネルをバージョン4.9.0-326に更新したほか、軽量ウィンドウマネージャー「IceWM」をバージョン3に、Webブラウザ「Firefox ESR」をバージョン102.3に、インターネット統合アプリケーション「SeaMonkey」をバージョン2.53.14に更新するなど、収録プログラムを更新した。 また、ターミナルから利用できるYouTubeプレイヤー「mps-youtube」は利用者が少ないため削除となり、モデムを制御する

              軽量Linuxディストリビューション「antiX-22」が登場
            • Windows 11の標準機能でLinuxを動かす、GUIアプリもサクサク

              約6年ぶりのWindows新版「Windows 11」が登場した。Linuxとの連携が強化されているのが特徴だ。Windows 11で具体的にLinuxをどう生かしていくかを解説する。 Windows 11では、Windowsの中でLinuxを動かす「WSL(Windows Subsystem for Linux)」に新機能や変更が加わっています。そうした変更点を解説していきましょう。 インストールが簡単に Windows 11のWSLに関して変わった点として、まずインストールが以前と比べて簡単になったことが挙げられます。 少し前までは、Windows 10でWSLをインストールして使えるようにするには、システム設定の「Windowsの機能の有効化または無効化」からWSLと仮想マシンプラットフォームを有効にしたり、WSL用のLinuxカーネルをインストールしたり、WSL2をデフォルトにした

                Windows 11の標準機能でLinuxを動かす、GUIアプリもサクサク
              • Microsoft is rewriting core Windows libraries in Rust

                Microsoft is rewriting core Windows libraries in the Rust programming language, and the more memory-safe code is already reaching developers. David "dwizzle" Weston, director of OS security for Windows, announced the arrival of Rust in the operating system's kernel at BlueHat IL 2023 in Tel Aviv, Israel, last month. "You will actually have Windows booting with Rust in the kernel in probably the ne

                  Microsoft is rewriting core Windows libraries in Rust
                • eBPF - Introduction, Tutorials & Community Resources

                  Dynamically program the kernel for efficient networking, observability, tracing, and security Programs are verified to safely executeHook anywhere in the kernel to modify functionalityJIT compiler for near native execution speedAdd OS capabilities at runtime

                    eBPF - Introduction, Tutorials & Community Resources
                  • ZigでWriting an OS in 1,000 Linesをやる

                    ZigでWriting an OS in 1,000 Linesをやる #2023-11-21 自作 OS で学ぶマイクロカーネルの設計と実装(通称エナガ本)の補足資料として公開されているWriting an OS in 1,000 Linesを、できるだけZigでやってみることにした。 目次成果物 #repositoryは以下。 さいしょに #エナガ本は一通り読んでいたのだが、機能に対していくつかのOSの実装を眺める。という構成になっており、個人的には「同じような難易度でRV32を対象に 0->1 でシンプルなOSを作る書籍があるといいなあ」と思いながら読んでいたのだが、まさに欲していたものが公開されたので大喜びで実装を開始した。 自分はそのまま写経してしまうと頭に入らないため、異なる言語で書いてみたり、何らかの制約を課して実施することが多い。今回はZigで書いてみることにした。 概ね問

                      ZigでWriting an OS in 1,000 Linesをやる
                    • TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ

                      CNCF連載 の4本目です。 はじめに数年前にクラウドネイティブ注目技術として挙げられたeBPFにかねてよりキャッチアップしたいなと思っていたので、この連載のタイミングでeBPFとその関連プロダクトに入門してみることにしました。 CNCFプロジェクト傘下のeBPFを活用したプロダクトとしてはCilium, Falcoなどが挙げられます。CiliumはKubernetesなどのクラウドネイティブな環境でネットワーク、オブサーバビリティの機能を提供するOSSなのですが、今回はそのいわばサブプロジェクト的な位置づけのセキュリティツールである、Tetragonに触ってみます。 Cilium, Tetragonの開発をメイン行っているIsovalent社は、書籍やハンズオンラボなどで自社の製品・eBPFについての学習リソースを多く提供しています。 https://isovalent.com/reso

                        TetragonでeBPFとセキュリティオブサーバビリティ入門 | フューチャー技術ブログ
                      • Linux生みの親リーナス・トーバルズが15年ぶりにメインマシンのCPUをIntelからAMDに変更

                        次期Linuxカーネル「Linux 5.7」のリリース候補版である「Linux 5.7-rc7」のお知らせの中で、リーナス・トーバルズ氏が、メインマシンを新調したことを明かしました。このマシンは、トーバルズ氏にとって約15年ぶりとなる、Intel CPU以外のマシンだとのこと。 LKML: Linus Torvalds: Linux 5.7-rc7 https://lkml.org/lkml/2020/5/24/407 Linux 5.7-rc7は、パッケージとしてごく何の変哲もないサイズのもので、修正内容も難題をクリアしたようなものではなかったため、トーバルズ氏は「今週、一番興奮したのはメインマシンをアップグレードしたことです」とお知らせに綴っています。 トーバルズ氏によると、新PCのCPUはAMDの第3世代Ryzen Threadripper 3970Xで、実に約15年ぶりにIntel

                          Linux生みの親リーナス・トーバルズが15年ぶりにメインマシンのCPUをIntelからAMDに変更
                        • SKBパケット選抜総選挙 〜 僕たちは誰について行けばいい? 〜 /osc21do

                          Concentrated Isolation for Container Networks Toward Application-aware Sandbox Tailoring / UCC-21

                            SKBパケット選抜総選挙 〜 僕たちは誰について行けばいい? 〜 /osc21do
                          • Linux perf Profiler UIs

                            Linux perf Profiler UIs pprof Web UI looking at a flamechart of regexp stack traces. This post is a quick literature review of CPU profiler user interfaces available for analysing Linux program performance. I couldn't find any list of profiler UIs online. Hopefully this can help people find the profiler UI that's right for them. CPU Profiler output is extremely multidimensional — processes, thread

                              Linux perf Profiler UIs
                            • Linuxカーネル内部をフックするeBPFを用いてコンテナ間通信を実現する「Cilium」、十分成熟したソフトウェアに到達したとして、CNCFの卒業プロジェクトに

                              Linuxカーネル内部をフックするeBPFを用いてコンテナ間通信を実現する「Cilium」、十分成熟したソフトウェアに到達したとして、CNCFの卒業プロジェクトに Cloud Native Computing Foundation(CNCF)は、eBPFを用いたコンテナ間通信を実現する「Cilium」が十分成熟した段階に到達したとして、「卒業」(Graduation)プロジェクトになったことを発表しました。 [NEWS] Announcing the graduation of @ciliumproject - the #eBPF-powered #cloudnative #opensource for providing, securing, and observing network connectivity between workloads Read more: https://t

                                Linuxカーネル内部をフックするeBPFを用いてコンテナ間通信を実現する「Cilium」、十分成熟したソフトウェアに到達したとして、CNCFの卒業プロジェクトに
                              • Linuxカーネルのファジングツールsyzkaller / Linux kernel fuzzing tool syzkaller - Speaker Deck

                                syzkaller/syzbot は、2 年で 1500 件以上の Linux カーネルの不具合修正に貢献しています。自らが生成した複数の仮想マシンに対して問題の起きそうな入力を送り続けることで未発見の不具合を発見します。最小限の入力で不具合を再現させるための再試行を繰り返し、最終的には不具合を再現するための C 言語のプログラム生成を試みます。 syzkaller の概要 syzkaller のドキュメント調査結果 syzkaller のソースコード調査結果 syzkaller の動作確認結果 (未発見の不具合の発見)

                                  Linuxカーネルのファジングツールsyzkaller / Linux kernel fuzzing tool syzkaller - Speaker Deck
                                • 1893件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術 / syzkaller Kernel VM Kansai 10th

                                  1893件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術 / syzkaller Kernel VM Kansai 10th syzkaller は、Google の Dmitry Vyukov さんが開発し OSS として公開したカーネルのファジングツールで、2 年で 1500 件以上の Linux カーネルの不具合修正に貢献した実績を持ちます。自らが生成した複数の仮想マシンに対して問題の起きそうな入力を送り続けることで未発見の不具合を発見します。最小限の入力で不具合を再現させるための再試行を繰り返し、最終的には不具合を再現するための C 言語のプログラム生成を試みます。本資料は 2020/2/8 の「カーネル/VM探検隊@関西 10回目」の発表資料です。

                                    1893件以上のカーネルの不具合修正に貢献した再現用プログラムを自動生成するsyzkallerのテスト自動化技術 / syzkaller Kernel VM Kansai 10th
                                  • ptraceより100倍以上高速なエミュレートを実現 バイナリの書き換えでシステムコールをフックする

                                    Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。yasukata氏は、バイナリの書き換えで、システムコールをフックする「Zpoline」の仕組みについて紹介しました。 システムコールをフックしたくなった理由 yasukata氏(以下、yasukata):yasukataといいます。発表を始めます。 今回は、「Zpoline」という、バイナリを書き換えることでシステムコールをフックする仕組みを紹介します。ここではx84-64のCPUで動作するLinuxを想定しています。(スライドを示して)ソースコードはこちらにURLがあるので、よろしければ見てみてください。あとでスライドも公開するので、そちらも併せてご覧ください。 まず、なぜシステムコールをフックしたくなったのかですが、個人的にカーネルに実装

                                      ptraceより100倍以上高速なエミュレートを実現 バイナリの書き換えでシステムコールをフックする
                                    • Segment Routingを用いたKubernetes Podネットワーキングの実装 | CyberAgent Developers Blog

                                      こんにちは、技術本部 プライベートクラウドグループの中西(@whywaita)です。 今回はCA Tech JOBの制度を用いてインターンに参加して頂いた上野さんからの寄稿記事です。 以下本文です。 みなさんはじめまして。 メディア事業部技術本部プライベートクラウドグループで、2ヶ月間のインターン(CA Tech JOB)を行いました上野裕一郎 (https://www.y1r.org) です。普段は東京工業大学で深層学習をスパコンなどの高性能計算技術で加速・大規模化させる研究をしています。 本インターンではSegment Routing、とくにSRv6を用いてKubernetesのPodネットワーキング機能(CNI)を実装しました。本稿では、CNIとSegment Routingについて紹介したのち、その実装と動作を説明します。 Container Network Interface;

                                        Segment Routingを用いたKubernetes Podネットワーキングの実装 | CyberAgent Developers Blog
                                      • 【Ruby】LinuxとRubyとCoW - 地方エンジニアの学習日記

                                        hiboma.hatenadiary.jp こちらのアンサー記事を書いてみますw なぜ CoW の話が出てきたのか なぜCoWを気にしたのかを話すとまず社内で動かしているAPIサーバがメモリ利用過多となってアラートがなったのが話のスタートでした。サービス自体はUnicornを使って動いています。 メモリ利用過多となったときに調べる手法は言語ごとに様々ですが私はRubyの経験がほぼなくプロファイラなども使ったことがありません。この状況でできることは/procを見るくらいしかなかったので/proc/$pid/smapsを見始めました。そこで始めたのがメモリ共有率の計算でした。 以下のツールを書いてUnicornの親子プロセスのメモリ共有率を確認するとなんと40~60%程度となっていて「え!?」ってなったのが始まりでした。プロセスの生存期間が長いのかと思ったのですが起動時間も出すと数分前に起動し

                                          【Ruby】LinuxとRubyとCoW - 地方エンジニアの学習日記
                                        • /dev: アンチチート カーネルドライバ - リーグ・オブ・レジェンド

                                          免責事項:今回の投稿は技術的な内容となっており、『リーグ・オブ・レジェンド』以外にも使用されるチート対策ツールについて取り上げています。この新たなチート対策はLoLよりも先に、『プロジェクト A』のような別タイトルで導入される予定です。 連邦政府による2000万ドルの支援と8年近い歳月を費やした共同研究の中で、一流の科学者たちは紀元前35億年から1985年11月20日までの時間軸に、チート開発の種を蒔くことに成功しました。明確な起源は現在も明らかになっておりませんが、現実問題として「ある事実」が一般に認知されるようになりました。つまりそれは、「チーターはチートをするものだ」ということです。 過去20年にわたり、チート開発とその対策技術は、「ゲームクライアントのメモリをめぐる名誉をかけた戦い」から、「チーターが使用する機器のオペレーティングシステム(あるいは使用するハードそのもの)の改変を試

                                            /dev: アンチチート カーネルドライバ - リーグ・オブ・レジェンド
                                          • このKernel、どんなKernel? - Qiita

                                            はじめに この記事は、Linux Advent Calendar 2019 - Qiitaの8日目です。 この記事では、今使っているLinux Kernelがどんなkernelなのか、どんな設定で動いているのかを確認する方法を紹介します。 Linux Kernelは様々な用途に使われています。 そのため、ひとくちにLinux Kernelと言っても、動作はシステムによって全然違います。 現状を把握する手段を知ることで、効率的にKernelのコードリーディングやより良い設定を探す一助になれば幸いです。 また、コメント大歓迎ですので、なんでもお気づきのことがありましたらぜひお気軽にお願いします。 この記事で書くこと Linux Kernelの素性を確認する方法 Linux Kernelの設定値を確認する方法 この記事で書かないこと 各プロセスや各ユーザなどに対する設定(ulimitやniceや

                                              このKernel、どんなKernel? - Qiita
                                            • bpftrace 2020 - 睡分不足

                                              (この記事はLinux Advent Calendar 2020 - Qiitaの2日目の記事です.前日はmasami256さんのTiny Core LinuxでLinuxのinitプロセスが実行されるあたりを調べるでした.) みなさんこんにちはこんばんは.bpftraceを使っていますか? (e)BPFといえば最近は専らCiliumなどネットワークが話題ですが,bpftraceはBPF*1を利用したトレーシングツールです.私は昨年からぼちぼち使い始めて,機能追加やバグ修正のパッチをいろいろと投げていた(130+)ら気づいたらコミッタになっていました.ということでbpftraceについては比較的よく知っていると思うので,今年にbpftraceに追加された主要な機能や変更点を紹介したいと思います. bpftrace知らないなぁという方はこちら(拙文です)を,bpftrace使ってないなぁとい

                                                bpftrace 2020 - 睡分不足
                                              • Fuchsiaオペレーティング・システムで遊ぶ

                                                Quarkslabのブログより。 新しいFuchsiaオペレーティング・システムの概要 はじめに Fuchsiaは、Googleが開発した新しいオペレーティング・システムで、AArch64とx86_64アーキテクチャをターゲットにしています。このOSの目的と使用場所についてはほとんど分かっていませんが、スマートフォンのAndroidとノートパソコンのChrome OSを置き換えることを目的としているように思われます。 将来的には、何百万ものデバイスで動作する可能性のあるOSに関する知識を得るために、Fuchsiaをざっと見て、内部設計、セキュリティ特性、長所と短所について学び、攻撃する方法を見つけることにしました。 モノリシック・カーネルとマイクロカーネル 今日のカーネル設計の最も一般的な形式は、モノリシック・カーネルです。例えば、LinuxやBSDカーネルはすべてモノリシックで、Linu

                                                  Fuchsiaオペレーティング・システムで遊ぶ
                                                • TensorFlowとPyTorchの相互変換はどうやるか 機械学習の困りごとに使える重み変換のテクニック

                                                  「分析コンペLT会」は、KaggleやSIGNATEなど、データ分析のコンペに関連するLT(ライトニングトーク)を行う会です。rishigami氏は、TensorFlow/PyTorchのモデル移植について発表しました。全2回。前半は、TensorFlow、PyTorchそれぞれのモデル実装の基礎と、それぞれの違い、重み変換のテクニックについて。 フレームワークにまつわる、ありがちな困りごと 石上氏:今回は「TensorFlow/PyTorchモデル移植のススメ」というタイトルで発表します。 あらためて自己紹介ですが、私は石上と申します。ハンドルネームは「rishigami」でやっていて、Kaggleでは現在Competitions Masterとなっています。ただ最近はちょっと忙しくて、Kaggleに参加できておらず、つい最近NFLコンペが開催された(※取材当時)ということで、ちょっとそ

                                                    TensorFlowとPyTorchの相互変換はどうやるか 機械学習の困りごとに使える重み変換のテクニック
                                                  • GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱

                                                    この記事では,私の研究分野であるGPU向けコンパイラの最適化の紹介と論文のサーベイを行う. 以下,随時更新. 分岐発散 (Branch Divergence) 分岐発散とは Independent Thread Scheduling 分岐発散に対する最適化 Software based approaches Hardware based approaches その他 サーベイ論文 カーネル融合 (Kernel Fusion) Kernel Fusionとは 垂直融合(vertical fusion) 水平融合(horizontal fusion) Inner Thread Block Inter Thread Block カーネル融合に関する論文 その他のGPU関連の論文 Dimensionally redundant instruction elimination Others 分岐発散

                                                      GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱
                                                    • 「Linux」メンテナーの燃え尽き症候群問題--業務内容の変化と支援の必要性

                                                      「Linux」カーネル開発者であり、LWN.netの編集責任者を務めているJonathan Corbet氏は「Linux Foundation Member Summit」の場で、Linuxカーネルのメンテナーが抱えている問題と、そうした状況が手に余るようになってきている理由について説明した。 事実、Linuxコードのメンテナーの多くがバーンアウト(燃え尽き症候群)に陥っている。なぜだろうか。その理由は数多くある。しかしまず、Linuxカーネルのメンテナーが実際に行っている作業を理解する必要がある。 Linuxコードのメンテナーというのは、何千人もの開発者からのマージ依頼を受け取り、コード中にエラーがなく、リグレッション(退行)がないことを確認し、ワークツリーの上流や下流にある他のメンテナーによるパッチとの連携を調整し、最後にマージ対象パッチをメインラインに取り込むという作業を担う人々だ。

                                                        「Linux」メンテナーの燃え尽き症候群問題--業務内容の変化と支援の必要性
                                                      • device mapperによるディスクI/O障害のエミュレーション

                                                        Linuxカーネルのdevice mapper機能を使ってブロックデバイスレベルでディスクI/O障害をエミュレーションをする方法について紹介しました。kernel/vm 北陸 part6で発表しました。 https://kernelvm.connpass.com/event/297033/?utm_campaign=event_participate_to_follower&utm_source=notifications&utm_medium=twitter

                                                          device mapperによるディスクI/O障害のエミュレーション
                                                        • Linuxカーネル開発の第2言語にRustを採用する試み、議論の意義とこれから

                                                          Liam Tung (Special to ZDNET.com) 翻訳校正: 石橋啓一郎 2021-07-29 06:30 この30年間、Linuxの開発にはずっとC言語が使われてきたが、その状況が変わる可能性があるだろうか。 プログラミング言語の「Rust」をLinuxカーネル開発の第2言語にしようとする取り組みが一部で見られるようになっている。Googleは、開発者のMiguel Ojeda氏が中心となって進めている、Linuxカーネルのさまざまな要素の開発にRustを使用することを目指すプロジェクトを支援している。 Googleは、Rustを使えばセキュリティ上の脆弱性を引き起こすメモリーエラーを減らせるはずだと主張している(多くのIT企業やオープンソースプロジェクトがアップデートで修正しているセキュリティホールの多くは、メモリーエラーが原因になっている)。このプロジェクトの目標は、

                                                            Linuxカーネル開発の第2言語にRustを採用する試み、議論の意義とこれから
                                                          • libbpf-rsを使ったRustとeBPFプログラミング - Qiita

                                                            この記事は、Supershipグループ Advent Calendar 2021の17日目の記事になります。 はじめに この記事ではeBPFを活用してLinuxカーネルにフック用プログラムを注入することにより、ネットワークパケット処理を拡張する例を示します。 その実装にあたり、Rustとlibbpfの統合を行うlibbpf-rsを使った開発体験を記したいと思います。 TL;DR libbpf-rsによってRustとeBPFを組み合わせたプログラムのコンパイルやロード処理の手間は省けるようになります。実際、システムコールの呼び出し部分はほとんど意識する必要がありませんでした。 一方でeBPFプログラミングで特に苦労したのは以下の点でした。 デバッグとテスト つまりeBPFプログラミングにおいて周辺的な問題がツールによって解決されていき、よりプログラムの機能そのものの問題に時間を割くことができ

                                                              libbpf-rsを使ったRustとeBPFプログラミング - Qiita
                                                            • linux kernelでのFPU, MMX, SSEについて - 私のひらめき日記

                                                              linux kernelでのFPU, MMX, SSEについて 本記事では、linux kernel 2.6.11でのFPU(Float Point Unit)やMMX, SSEがどう設定、使用されているのかを確認する。FPU, MMX SSE命令を使用する際は、使用する際に意図的に#NM(Interrupt7: Device not available exception)を出し、各種フラグを切り替え(特にcr0.TS flagをOFFにして)、これらの命令を使えるようにしている。(後述の通り、Kernel Modeでは、kernel_fpu_begin, kernel_fpu_endにてフラグの切り替えをおこなっている1ため、この限りでない。) プログラミング言語の例外処理はパフォーマンスを落とすものとして一般に嫌われているが、ハードウェア(この場合x86)のレイヤでは、例外をあえて意

                                                                linux kernelでのFPU, MMX, SSEについて - 私のひらめき日記
                                                              • Learning operating system development using Linux kernel and Raspberry Pi

                                                                Learning operating system development using Linux kernel and Raspberry Pi Learning operating system development using Linux kernel and Raspberry Pi This repository contains a step-by-step guide that teaches how to create a simple operating system (OS) kernel from scratch. I call this OS Raspberry Pi OS or just RPi OS. The RPi OS source code is largely based on Linux kernel, but the OS has very lim

                                                                • プログラミング言語「Rust」、Linuxカーネルでの採用の道を模索

                                                                  Liam Tung (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2020-08-13 07:30 システムプログラミング言語「Rust」の開発者らは、この言語がLinuxカーネルの開発で利用されるようになる道を模索している。 元Intelのエンジニアで、Rust言語プロジェクトのリードを務めるJosh Triplett氏は、慎重に取り組む限り、そしてLinuxカーネルの生みの親であるLinus Torvalds氏の機嫌を損ねない限り、「カーネル開発にRustを取り入れていく道を探りたい」と考えていると述べた。 Triplett氏は、「Linux Plumbers Conference 2020」でLinuxカーネルツリー内でのRustサポートに関するセッションの開催を提案するという、Linuxカーネルメーリングリストのスレッドの中で、「カーネル内にRust

                                                                    プログラミング言語「Rust」、Linuxカーネルでの採用の道を模索
                                                                  • 第46回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[7] | gihyo.jp

                                                                    前回は、4.14カーネルでcgroup v2に導入されたスレッドモードの概要を説明しました。今回は、実際にスレッド化サブツリーを作成して操作を行ってみましょう。 今回の実行例は、デフォルトではcgroupをマウントしないPlamo Linux 7.2環境で試しています。systemdを採用したディストリビューションの場合、カーネルの起動パラメータにcgroup_no_v1=allと指定して、すべてのコントローラがcgroup v2から使えるようにするとcgroup v2の機能が試しやすいでしょう。 そして、今回の実行例はいずれもrootユーザで実行しています。 それでは早速、cgroup v2のツリー中でどのようにスレッド化サブツリーを作り、操作していくのかを見ていきましょう。 スレッド化サブツリーを作るには2つの方法があります。 cgroup.typeファイルへの書き込みによるスレッド化

                                                                      第46回 Linuxカーネルのコンテナ機能 ― cgroupの改良版cgroup v2[7] | gihyo.jp
                                                                    • ThinkPad T14 Gen3 のサスペンド問題 - tmtms のメモ

                                                                      [2022-09-23 追記] BIOS アップデート(n3buj05w)で解決した! https://support.lenovo.com/jp/ja/downloads/ds557163-bios-update-utility-bootable-cd-for-windows-11-10-64-bit-thinkpad-t14-gen-3-p14s-gen-3-t16-gen-1-p16s-gen-1 前回の続き ThinkPad T14 Gen3 の Ubuntu がサスペンドすると正常に復帰しない。 画面が消えたまま。10秒くらい待ってると点灯するけど数秒でまた消える…というのを繰り返し。 X が起動してると何もわからないので、コンソールでサスペンドを試すとこんなメッセージが出てた。 i915 0000:00:02.0: [drm] *ERROR* Failed to write s

                                                                        ThinkPad T14 Gen3 のサスペンド問題 - tmtms のメモ
                                                                      • 大規模Kafkaクラスターで起きたリクエスト遅延 どのように問題を特定して解決したか

                                                                        2021年11月10日と11日の2日間、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2021」がオンラインで開催されました。そこで岡田遥来氏が、LINEで最もよく使われるミドルウェアの1つ「Kafka」クラスターのリクエスト遅延を、どのように解決したかについて紹介しました。後半は、実際どのように問題を特定して解決したかについて。前半はこちら。 TCP windowの概念について 岡田遥来氏:さて、このようにブローカーがSYN flood状態になって、一部のクライアントのhandshakeがSYN Cookiesを使ったフローにフォールバックしてしまっていたことがわかったわけですが、実はこのSYN Cookiesというのは、TCPスループットの悪化を引き起こすケースがあるということが知られています。これについて見るために、まずはTCP w

                                                                          大規模Kafkaクラスターで起きたリクエスト遅延 どのように問題を特定して解決したか
                                                                        • Python(とGo)で複数プロセスから一つのファイルにログを書き込んでいいのか?

                                                                          概要 マルチプロセスでレスポンスの処理を行う(1リクエストにつき1プロセスがレスポンスの処理を行う)PythonのWEBフレームワーク[1]でAPIサーバーを実装している際、各プロセスから一つのファイルにログを書き出しても、行が上書きされる・順番が前後するといった不整合がおきないのか、という疑問がわきました。(ファイルは各プロセスで独立にopenするものとします。) Pythonのロギングに関する公式ドキュメントには、「複数プロセスから1ファイルへのロギングはサポートしていないから別の方法で工夫しろ」と書いてあるのですが、別の記事では「書き込むログの長さが短ければ不整合はおきない」と記述されていたり、よくわからなくなったので自分で調べてみました。 結論としては、Python標準のloggingモジュールでログの長さが2,147,479,552(=0x7ffff000)バイト以下なら「原子性

                                                                            Python(とGo)で複数プロセスから一つのファイルにログを書き込んでいいのか?
                                                                          • Who murdered my lovely Prometheus container in Kubernetes cluster?

                                                                            As of October 1, 2023, LINE has been rebranded as LY Corporation. Visit the new blog of LY Corporation here: LY Corporation Tech Blog This blog post is about an interesting experience I had while investigating and resolving a problem that happened in the Prometheus container which was still in the CrashLoopBackoff state. The phenomenon itself and the solution are obvious and simple; so simple that

                                                                              Who murdered my lovely Prometheus container in Kubernetes cluster?
                                                                            • パソコンが壊れるまで動作し続けるUEFIルートキットが見つかる

                                                                              Kaspersky Labは7月25日(米国時間)、「CosmicStrand: the discovery of a sophisticated UEFI firmware rootkit|Securelist」において、ユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI: Unified Extensible Firmware Interface)ファームウェアルートキットを発見したと伝えた。「CosmicStrand」と名付けられたUEFIルートキットは、中国の脅威アクターによって開発されたものと見られている。 CosmicStrand: the discovery of a sophisticated UEFI firmware rootkit|Securelist このルートキットに初期感染する経路は判明していないが、感染したデバイスはGigabyteまたは

                                                                                パソコンが壊れるまで動作し続けるUEFIルートキットが見つかる
                                                                              • 第688回 eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する | gihyo.jp

                                                                                実行中のシステムの挙動を詳細にトレースする仕組みは、特に「よくわからない問題」に遭遇している時に重要です。今回はLinux向けのトレーシングツールの本命とも言えるeBPFを利用した各種ツールを紹介します。 eBPFに関する記事が今回以降、数回にわたって解説されています。あわせてご覧ください。 第688回 eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する(今回の記事) 第690回 BCCでeBPFのコードを書いてみる 第692回 sysfsやbpftoolを用いたeBPFの活用 第694回 libbpfとclangでポータブルなBPF CO-REバイナリ作成 第695回 入門BPF CO-RE eBPFとBPF Compiler Collection 改めて言うまでもなく、Linuxカーネルもしくはカーネル上で動いている各種タスクのパフォーマンスや挙動を調べなくてはならない

                                                                                  第688回 eBPFのコンパイラーに対応したツールでさまざまな挙動を可視化する | gihyo.jp
                                                                                • KubeflowとJupyter Enterprise GatewayでJupyter Notebook環境をさらに便利に | CyberAgent Developers Blog

                                                                                  KubeflowとJupyter Enterprise GatewayでJupyter Notebook環境をさらに便利に AI事業本部のインフラ組織SIAでエンジニアをしている牧垣です。 はじめに Jupyter Notebookは機械学習・データ解析の分野ではすっかり空気のようなインフラになりました。仮説・実験・考察のサイクルを回しやすいので、科学分野では昔から人気があります。コードと結果が可視化できるという基本機能そのものに、作業ログや手順書・使い方ドキュメントなど、他分野での需要もあります。 夢を膨らませると用途はまだまだ思いつきそうですが、つまり「複数人で同じものを見て、同じ認識をすることができる」というのがJupyter Notebookの良いところです。「あの件、どうだった?」「あ、たぶん大丈夫だと思います」といったあやしげな状態になりにくくなります。また、可視化が容易な点も

                                                                                    KubeflowとJupyter Enterprise GatewayでJupyter Notebook環境をさらに便利に | CyberAgent Developers Blog