並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 693件

新着順 人気順

kernelの検索結果41 - 80 件 / 693件

  • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

    BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いた本です。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新の本でしょう。他の著書に有名な本として(日本語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

      BPF Performance Toolsを読んだ感想 - go_vargoのブログ
    • 最強の WSL 環境を作る

      最強の WSL 環境を作る まあ、何が最強なのかよくわからないのですが。 WSLg は GUI が動いて音もなるので大変便利なのですが、systemd が動作していない弱点があります。LXD を多用している身としては結構しんどいのですね。 snapd が使えないので、JetBrains の開発ツールをインストールするのもちょっと面倒。まあ、Ubuntu Make を使えばいいのでそれほど気にはしていないのですが... というわけで、定期的にいろいろ試している今日この頃、ようやく自分が常用しているものが全部動く環境が作れました。 セットアップ (2022/01/11 追記) 手順は、入力するコマンドを PowerShell だったり、WSL だったりといりみだれます。次のルールで書いていますので、間違えないようにしてください。 プロンプトが > のときは PowerShell に入力してくだ

        最強の WSL 環境を作る
      • トーバルズ氏:Linuxでフロッピーディスクドライバーは「面倒を見る人がいなくなった」

        Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 編集部 2019-07-30 13:43 1991年に最初にLinuxを開発したとき、Linus Torvalds氏はフロッピードライブを備えた「386」搭載PCで同OSを構築した。物事は変わるものだ。2012年に、Torvalds氏は「i386」プロセッサーに別れを告げ、その際に「私は感傷的な人間ではない。せいせいする」と述べた。今回は、フロッピードライブがLinuxに別れを告げる番かもしれない。 Torvalds氏は、フロッピードライブプロジェクトについて、「面倒を見る人がいなくなった」と書いている。 それはなぜなのか。フロッピードライブが歴史的遺物のようになったからだ。もう誰もフロッピードライブを使っていない。Torvalds氏によると、フロッピードライブドライバーの開発を担

          トーバルズ氏:Linuxでフロッピーディスクドライバーは「面倒を見る人がいなくなった」
        • マイクロカーネルの設計と実装

          • C10K 問題、実は理解していない

            お願い 「C10K 問題とは何か」がわかる方は是非 Issue や Twitter などで教えてください。 追記: 自分の立場 1req ごとに 1 native thread を割り当てていたら、クライアントの数が増えれば増えるほど負荷が高まるのは当然だ。ただハードウェアの性能的に余裕があっても性能が劣化することがあり、それを C10K 問題と呼ぶ。C10K 問題は fd, pid の枯渇、スレッドを固定長サイズで確保することによるメモリの無駄遣い、コンテキストスイッチコストを含む。これを解決する方法が 1req ごとに 1 native thread を割り当てない技術で、シングルスレッド+イベントループ+IO 多重化といったテクニックや M:N モデルにつながる。 追記: @naoya_ito さんに解説してもらった当時の歴史的背景 https://twitter.com/naoya

              C10K 問題、実は理解していない
            • Linuxディレクトリ構造 - Qiita

              Linuxディレクトリ構造とファイルの種類 Linuxのディレクトリ構造もまともに把握できないまま開発をしていたのでこの機会に勉強してみました。 Linux入門者は、まずLinuxの構造について先に習得し、Linuxに適応するのに早いです。 Linuxファイルシステム構造 [全体構造図] 🚩me/はただのユーザー名の例として認識してください。 / (root) 最上のディレクトリであるルートディレクトリを意味。リナックスのすべてのディレクトリたちのスタート地点。すなわち、すべてのディレクトリを絶対経路で表記する際にこのディレクトリから始める必要がある。 /bin /binフォルダはBinary Folderの略で、OSの最小限の正常な駆動のため、すべてのユーザーが使用する実行ファイルが入っているフォルダ。 つまり、基本的なコマンドが保存されたディレクトリで、cat、chmod、chown

                Linuxディレクトリ構造 - Qiita
              • Dirty Pipe(CVE-2022-0847)の発見経緯が面白かった - knqyf263's blog

                最初に断っておくと今回は万人向けの記事ではないです。面白かったので自分が忘れないようにまとめているだけです。 本記事の位置付け はじめに 発見経緯 CRCのエラー HTTPアクセスログ 壊れたgzipのtrailerを見てみる 壊れたファイルの法則性 月次ログファイルの生成 Linuxカーネルのバグの可能性 バグ混入の歴史 ログ破損の原因 8バイトの謎 PoCの制約 まとめ 本記事の位置付け Dirty Pipe(CVE-2022-0847)三部作の最後です。ダークナイト三部作で言うとダークナイト ライジングにあたります。ダーティとダークって似てませんか。 spliceを使って高速・省メモリでGzipからZIPを作る 20分で分かるDirty Pipe(CVE-2022-0847) Dirty Pipe(CVE-2022-0847)の発見経緯が面白かった(本記事) 上の1, 2を前提知識と

                  Dirty Pipe(CVE-2022-0847)の発見経緯が面白かった - knqyf263's blog
                • Linuxカーネル開発者を目指す人のための無料オンラインコースが提供開始

                  CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                    Linuxカーネル開発者を目指す人のための無料オンラインコースが提供開始
                  • Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ

                    たとえば、かつてiptablesで設定していたIPv4に関連するパケットフィルタリング設定は、nftablesにおいては「ip」というアドレスファミリに紐付けたテーブルを作成することで設定できる。同様に、ip6tablesやarptables、ebtablesで設定していたものはそれぞれ「ip6」や「arp」、「bridge」というアドレスファミリに紐付けたテーブルで設定する。 「inet」「および「netdev」アドレスファミリはnftablesで新たに導入されたもので、まず「inet」はIPv4およびIPv6の両方を対象にした設定を行えるアドレスファミリだ。従来IPv4とIPv6の両方にまたがったフィルタリングルールを設定したい場合はiptablesとip6tablesの両方で同じようなルールを追加する必要があったが、nftablesではinetアドレスファミリで指定することで単一の設

                      Linuxにおける新たなパケットフィルタリングツール「nftables」入門 | さくらのナレッジ
                    • ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか

                      新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特徴があります。 ptrace より 100 倍以上高速 LD_PRELOAD や既存のバイナリ書き換えツールより確実 カーネルへの変更なし、かつカーネルモジュールを使わない プログラムのソースコード、プログラムの再コンパイル不要 eBPF でトレーシングをしているけれど、できれば制約が少ないユーザー空間でトレーシングツールを作りたい。もしくは、gVisor のようなサンドボックスを作りたいけれど、ptrace による性能劣化が大きいので、他の高速なシステムコールフックの仕組みが使いたい、というよう

                        ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか
                      • めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita

                        EDIT^7: blink と box86、FEX。 EDIT^6: Unikraft 。 EDIT^5: Tilck 。 EDIT^4: コメント。gVisor はすっかり忘れていました!Linuxを拡張するためにLinuxを実装した良い例だと思います。LINE有りましたね。。 SF.netのCVSはもう死んでしまったので除外にしました。。 OSvのバイナリ互換 はPIEであることが要求なので。。といっても世間的にはもうLinux = Debian/Ubuntu で良いですかね。。表現を調整しました。 EDIT^3: Noah忘れてた! EDIT^2: Cygwinは 下書き段階で削ってしまった 。。 qemuを移植したとき に互換性がイマイチだったので。。特殊fdやprocfsの充実ぶりとかを考えると "かなりLinux" と言って良いとは思うけど、 mmap 等でLinuxとWind

                          めくるめくLinuxカーネルじゃないLinux実装の世界 - Qiita
                        • 電源を切っても消えないメモリとの付き合い方

                          メモリのように書けて永続化される次世代ストレージデバイスNVDIMMの扱い方を解説します これは2019年10月19日に行われる予定だった カーネル/VM探検隊@北陸 5回目(台風の影響で中止) での発表資料です サンプルコード: https://github.com/Fadis/kernelvm_20191019_samples

                            電源を切っても消えないメモリとの付き合い方
                          • LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言

                            印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Linuxの生みの親であるLinus Torvalds氏は、LinuxカーネルにParagon SoftwareのNTFS3カーネルドライバーを導入することに同意し、Linuxカーネル5.15ではNTFSファイルシステムのサポートが強化されることになった。ただし同氏は、カーネルにコードをサブミットする際の手順とセキュリティに関する対応に苦言を呈した。 Paragon SoftwareのNTFSドライバーは、LinuxでWindowsのNTFSドライブを簡単に扱えるようにするものだ。NTFSはFATの後継にあたるMicrosoft独自のファイルシステムで、これによって数十年にわたって続いたNTFSがらみの困難が解消されることになる。 To

                              LinuxカーネルにNTFSドライバーが追加、トーバルズ氏はGitHub経由のマージに苦言
                            • 「バニラ」の起源について

                              IBMのBookMasterでは、デフォルトを"vanilla"、特別な設定を"mocha"と呼んでいたらしい。 http://web.archive.org/web/20211224091337/ftp://public.dhe.ibm.com/printers/products/dcf/samples/B2H.HTM 「Chapter 6. Caveats and restrictions (what's supported and what's not!)」に以下の記述がある。 Conditional sections (.cs) and BookMaster's "vanilla" DVCF macros (.CONFIG and .WHEN) are supported, but not BookMaster's "mocha" DVCF macros (e.g. .USING,

                                「バニラ」の起源について
                              • NginxとApacheって何が違うの?? - Qiita

                                はじめに Webサーバーを使うときに、NginxとApacheって言葉よく耳にしますよね。 ただその違いっていまいち良くわからなくないですか??(僕だけだったらすみません笑) ちなみに僕は「Nginxの方がなんか人気だし良さそうな気がする。。。」という何の根拠もないイメージしか持っていませんでした。 さすがにもう少しちゃんと理解したいと思い、今回はこの違いを記事にしてみました。 ぜひぜひ最後まで読んでみてください〜! ※ちなみにNginxとApacheはそれぞれ、「エンジンエックス」「アパッチ」と読みます。 そもそもNginxとApacheとは? NginxとApacheはWebサーバーのソフトです。 サーバーにこれらのソフトをインストールすると、Webサーバーとしての機能をもちます。 Webサーバーソフトにおいて、2021年12月時点でNginxとApacheが圧倒的シェアを誇っています

                                  NginxとApacheって何が違うの?? - Qiita
                                • 「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言

                                  LinuxにRustを導入するかどうかという議論は終わりを迎えた。Rustの実装は既に始まっている。Linuxの父であるLinus Torvalds氏は電子メールによる筆者との対話の中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べた。 Linuxカーネルの記述言語としてプログラミング言語Rustを導入するという議論は、かなり前から存在していた。Linuxカーネルの開発者らは、年次カンファレンス「Linux Plumbers Conference(LPC)2020」の場で、Linuxの新たなインラインコードでのRustの使用について検討を開始していた。また、「Android」(それ自体がLinuxのディストリビューションだ)の開発言語としてRustを支持しているGoogleは、2021年4月にLinuxカーネルへのRust導入の動きを後押しし始めていた。

                                    「Linux」、バージョン6.1でRustを導入へ--トーバルズ氏が明言
                                  • コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2

                                    Docker MeetupとかCloud Native Daysの運営をしながら、無限にスケールするインフラはないかなって、日々もやもやと考えています。 さっそく本題に入っていきましょう。 コンテナってそもそも何ですかっていうと、まず「chroot」というLinuxの機能があって、これはrootディレクトリを特定のディレクトリに切り替えて、そこから下を別のファイルシステムとして確立する、といった技術です。 そこに対して「namespace」という機能で、ユーザー、プロセス、ネットワークを個別に割り当てて、さらにリソースにも制限をかけると、まるでVM(仮想マシン)のように動いて面白いね、というのがコンテナですよ、という説明はよくされると思います。 これを図にしました。 まず、対象のディレクトリに対して「pivot_root」という機能を使ってファイルシステムのルートを作ります。 そのうえで「

                                      コンテナランタイムの仕組みと、Firecracker、gVisor、Unikernelが注目されている理由。 Container Runtime Meetup #2
                                    • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

                                      はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術に趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

                                        低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
                                      • 11種類のオペレーティング・システムについてまとめてみた - Qiita

                                        TL;DR 「オペレーティングシステム?知ってるよ。WindowsとかMacのことだよね」というぐらいの知識だった私が、二週間ほどひたすらWikipediaでインプットしまくったクソ浅い情報を共有します。 最初の動機 「Go言語が対応しているアーキテクチャってなんだろ?」 Go言語には環境変数をコンパイラに渡すことで、出力されるバイナリの対応するOSとアーキテクチャを変えることができます。 GOOS がオペレーティングシステム(OS)、 GOARCH がアーキテクチャです。 こんな感じにビルドすると、 linux というオペレーティングシステムで、 ppc64 というアーキテクチャに対応したバイナリが出力されます。 なるほど。 じゃあ、 Go言語が対応しているOSとアーキテクチャって何があるの? と疑問が湧いてきますね。 その疑問に応えるコマンドが go tool dist list です

                                          11種類のオペレーティング・システムについてまとめてみた - Qiita
                                        • 雑文:放送大学(情報コース)をなんとか4年で卒業確定できたという話 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

                                          tl;tr 2023/02/17に放送大学の2023年2学期の成績発表もされ、卒業要件の124単位も一通り取りきったのでなんとか4年で卒業できる感じになりました😊 放送大学に入ったときのblogエントリはこちら。 kernhack.hatenablog.com 学位の情報も登録されているし、4年間の区切りがついたなあと🌝 まあ、学位の情報は成績発表の3日位前にシステム上で登録されてるのを確認できてたので正式な成績発表前に履修した科目の単位を取れてたことは知ってたんですけどね🥲 履修した科目 取得した単位は124単位で、そのうち放送授業が104単位、面接・オンライン授業が20単位でした。 以下が自分が履修した科目です。所属コースは情報コースなので当然情報コースからの履修が多く、社会と産業からは仕事で役に立つこともあるだろう経営学系、経済関係の知識も欲しいよねというところで経済系などを取

                                            雑文:放送大学(情報コース)をなんとか4年で卒業確定できたという話 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
                                          • Linux が動作する RISC-V CPU を自作した (2019 年度 CPU 実験 余興)

                                            私が所属する東京大学理学部情報科学科では三年の冬学期に CPU 実験という実験授業が開講されています。本稿ではその簡単な説明をした後、その実験の一環として約一ヶ月ほど取り組んだ「Linux が動作する RISC-V CPU を自作するプロジェクト」で何をしたか、またどのような成果を得たかについて紹介したいと思います。 本稿を読むその前に 弊学科では「XX 年度に教養学部から理学部情報科学科に進学してきた学生」を「XXer」と呼ぶ文化があります。本稿ではこの表現を断りなく用います1。また私は普段 Web が好きでもっぱら Web セキュリティに関することを追いかけているだけのしがない学部 3 年生なので (私についての情報は ここ に大体まとまっています)、こういう低いレイヤのことは未だによく分かっていません。あくまで素人の記事だとご理解いただけると嬉しいです。誤りの指摘や質問があれば、ここ

                                              Linux が動作する RISC-V CPU を自作した (2019 年度 CPU 実験 余興)
                                            • perfを用いたシステムのボトルネック解析方法

                                              背景システムの処理速度を改善するために、ボトルネック解析を行う必要があった。 ボトルネック解析の方法と、プロファイリングに使用したperfの使用方法に関して調査を行った。 記事の目的perfを使用し、ボトルネック解析を行う ここでは、perfの導入方法及び使用方法について記載する。 perfとはperf(Performance analysis tools for Linux)とはLinuxカーネル2.6.31以降で使用可能なLinuxの性能解析ツールである。 実行されているプロセス毎のCPU使用率やプロセス内で呼ばれている関数の割合などを調査できる。 利点gprofのように、プログラム作成時に専用のライブラリを入れたり、コンパイル時にオプションをつける必要がない フレームグラフにして、ビジュアライズできる 導入方法(Ubuntu編)Ubuntu16.04へperfを導入する手順について記

                                                perfを用いたシステムのボトルネック解析方法
                                              • Google、“第三のOS”「Fuchsia」プロジェクトを一般公開

                                                米Googleは12月8日(現地時間)、2015年にGitHubで静かに立ち上げたOSプロジェクト「Fuchsia」(赤紫、という意味)のオープンソースモデルを拡張し、一般開発者からの貢献を歓迎すると発表した。 Fuchsiaは、Android OSと異なりLinuxベースではなく、Google独自のリアルタイムOS向けカーネル「Zircon(旧Magenta)」をベースにした新しいOS。2019年にはひっそりと開発者向けWebサイト「Fuchsia.dev」が公開されたが、公式ブログでの正式発表はこれが初めてだ。今回の発表でGoogleはFuchsiaを「汎用OSを構築するための長期プロジェクト」と説明した。 「Fuchsiaは、セキュリティ、更新可能性、パフォーマンスを優先するよう設計されている。(中略)このOSで、持続性のある安全な製品と体験を簡単に作成できるようにする」という。 一

                                                  Google、“第三のOS”「Fuchsia」プロジェクトを一般公開
                                                • TLSが難しい?RustとLinuxカーネルで実装しよう!

                                                  TLS(Transport Layer Security)が難しすぎると、お嘆きのセキュリティファースト世代の皆様、RustでLinuxカーネルを実装しながら学んでみましょう! カーネルモジュールの実装は難しい?それは誤解です。TLSをアプリケーションとして実装しようとすると、各種のライブラリを検索していたつもりが、SNSを眺めていて、一日が終わっていることありますよね。カーネルモジュールを実装するために使えるのはカーネルの機能だけです。検索する必要はなく、雑念が生じる余地はありません。その集中力があれば、カーネル開発は難しくありません。 TLSとLinuxカーネル皆様の中には、LinuxカーネルはTLSをサポートしているのでは?と思っている方がいるかもしれません。TLSは実際のデータの送受信の前に、ハンドシェイクと呼ばれる、暗号鍵の合意や相手の認証を実施します。ハンドシェイク後、Linu

                                                    TLSが難しい?RustとLinuxカーネルで実装しよう!
                                                  • A Heavily Commented Linux Kernel Source Code

                                                    • Linuxカーネルビルド大全 - Qiita

                                                      はじめに (本記事は Linux Advent Calendar 2020 および 東京大学 品川研究室 Advent Calendar 2020の11日目の記事として書かれました。) カーネルのビルドについての情報はググると色々と出てきますが、「ここを見ればOK」と思えるサイトに巡り会えていないので、自分で書いてみることにしたのが本記事です。 いずれLinuxカーネルをビルドする必要にかられるであろう研究室・学科の後輩や、忘れっぽい将来の自分のためにも、改めてLinuxカーネルのビルド方法についてまとめてみたいと思います。 概要 さて、「カーネルをビルドしよう」という状況に置かれた場合、実際にすべきことは主に以下の4点だと思います。 ソースコードの取得 ビルド環境の構築 カーネルコンフィグの準備 ビルド及びインストール そこで本記事では、カーネル本体のビルド上記の4点の他、関連して以下の

                                                        Linuxカーネルビルド大全 - Qiita
                                                      • 疑われる「C++」の安全性、今後の動きはどうなる

                                                        「C++」は非常に人気があるプログラミング言語だが、同言語の標準化に取り組んでいるグループが、C++の「メモリ安全性」を(新しいライバル言語である「Rust」のように)高めるための今後の道筋について議論する文書を発表した。 Rustは、MicrosoftやAmazon Web Services(AWS)、Meta、GoogleのAndroid Open Source Project、主にC++で書かれている「Chromium」プロジェクト(まだ始まったばかりだが)、Linuxカーネルなど、多くの企業やプロジェクトで採用されており、メモリ関連のセキュリティホールを減らすのに役立っている。最近では、米国家安全保障局(NSA)までが、開発者に対してC++からC#やJava、Ruby、Rust、Swiftへの戦略的な移行を促す事態になっている。 C++の生みの親であるBjarne Stroustr

                                                          疑われる「C++」の安全性、今後の動きはどうなる
                                                        • 令和にふりかえる C10K 問題

                                                          C10K 問題 (the C10K problem) は1999年に Dan Kegel が発表した文章、ならびにそこで提示された「問題」です。文章はその後も2000年代前半に何度か更新されているのですが、さすがに令和に読み返すと、当初の問題意識がわかりにくいところがあります。 2000年からの10年は、 ソフトウェア面では、select(2), poll(2) にかわる新しいシステムコールの実装と、それを使ったアプリケーションの普及 ハードウェア面では、x86 アーキテクチャの64ビット移行、仮想化命令の追加と、マルチコア化 さらにそこにクラウドも登場する、面白い時代でした。ここでは、それらの出来事を中心に、さらに、当時の雰囲気をつたえるような日本国内のブログやインタビュー記事をまとめることで、C10K 問題が、さまざまな側面から解決されていく流れを説明したいと思います。 書き足したいと

                                                          • Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴

                                                            Intel の主席エンジニアの Josh Triplett の Open Source Technology Summit 2019 での講演 Intel and Rust: the Future of Systems Programming を取り上げ、Rust こそがシステムプログラミングの未来であり、C 言語はもはやかつてのアセンブリ言語である。つまり、未だに OS などのシステムプログラミングの大部分で使われる C 言語は Rust に置き換えられるのではないかと見る記事である。 「Cを愛して…」という文章をワタシが訳したのももはや10年以上前、C が他言語に置き換えられる未来が遂に来るのかと遠い目になってしまう。もっともワタシ自身、4年近く C 言語でコーディングしてないんだよね……。 でも、本当にそうなるのだろうか? 手近なシステムプログラミングの現場である Linux カーネ

                                                              Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴
                                                            • Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog

                                                              【IIJ 2023 TECHアドベントカレンダー 12/16の記事です】 この記事について 背景:TCP はコンピュータネットワークの通信において広く利用されているプロトコル・標準化された通信規格です。コンピュータは TCP/IP スタックと呼ばれるようなソフトウェアを実行することで、定められた規格に則って通信を行います。汎用 OS 環境では、TCP/IP スタックは多くの場合、カーネル空間に OS 機能の一部として実装されています。 課題:通信に関するソフトウェアの研究コミュニティでは、そのようなカーネル空間に実装されている TCP/IP スタックは、近年の高速な NIC の性能を十分に引き出すことが難しいという課題が指摘されてきました。 テクニックの紹介:当記事では、近年の研究コミュニティにおいて比較的一般的な高速化テクニックとされている「カーネルをバイパス(迂回)して TCP 通信を

                                                                Linux カーネルをバイパスして TCP 通信を 10 倍速くする | IIJ Engineers Blog
                                                              • Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ

                                                                eBPF(extended Berkley Packet Filter)という用語を著者が初めてみかけたのは、2015年ごろだった。最初は、eBPFをその字面のとおり、パケットキャプチャやパケットフィルタリングを担うだけの、Linuxの新しいサブシステムであろうと認識していた。しかし、実際にはそうではなかった。 システム性能の分析のための方法論をまとめた書籍Systems Performance 1 の著者で有名なBrendan Greggが、Linuxのネットワークサブシステムとは特に関係ない文脈で、古典的なシステム性能計測ツールでは計測できないことを計測するツールを作っていた。その計測ツールがeBPFという技術によって実装されていることを知ったときに、eBPFに興味をもったのだった。また、eBPFは、システム性能を調べる用途以外にXDP(eXpress Data Path)と呼ばれるプ

                                                                  Linux eBPFトレーシング技術の概論とツール実装 - ゆううきブログ
                                                                • VMware Fusion 12、個人使用を無料に変更

                                                                  VMwareは8月19日(米国時間)、「Announcing: VMware Fusion 12 and Workstation 16 - VMware Fusion Blog - VMware Blogs」において、向こう1、2カ月の間にリリースが予定されている次期バージョンの「VMware Fusion 12」および「VMware Workstation 16」について、主な新機能および変更点を伝えた。 次期バージョンからはライセンスおよび料金体系が変更となる。よって、該当する製品を利用している場合、今後の料金変更などに注意する必要がある。 Announcing: VMware Fusion 12 and Workstation 16 - VMware Fusion Blog - VMware Blogs 次期バージョンで予定されている主な新機能や変更点は、次のとおり。 macOS B

                                                                    VMware Fusion 12、個人使用を無料に変更
                                                                  • 【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab

                                                                    ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください 【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました 生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!! https://tech-lab.connpass.com/event/315703/ こんにちは、サイオステクノロジー技術部 武井(Twitter:@noriyukitakei)です。タイトルが少々長いのですが、今回はこれからコンテナ、Docker、Kubernetesを始める人のための、入り口的なブ

                                                                      【連載】世界一わかりみが深いコンテナ & Docker入門 〜 その1:コンテナってなに? 〜 | SIOS Tech. Lab
                                                                    • 自作OSとかLinuxカーネルについて役立ちそうな本

                                                                      はじめに なんらかの理由によってOSやOSカーネルに興味を持つ人は多々います。しかし、その次のステップとしてどんな本を読めばいいんだろうと思っている人はこれまたいっぱいいます。そこで、長年Linuxカーネルにかかわってきた筆者がこれまでに読んでよかったと思うものについてここの列挙しました。紹介するのは本だけであって、記事は省いています。 OSそのものに興味を持った人は、その後に興味の方向が次のような二つに分かれることが多いと筆者は考えています。 オレオレOSを作りたい 既存のOSを改造したい この仮説をもとに、それぞれについて筆者がかつて真面目に読んだ本の中から「自作OS」および「Linuxカーネル」というキーワードでよかったものを挙げておきます。Linux以外の既存OSについては語れるほどの知識はないので書いてません。 筆者について 本の良し悪しは人によってさまざまなので、筆者がどういう

                                                                        自作OSとかLinuxカーネルについて役立ちそうな本
                                                                      • 仮想マシンのように使えるコンテナ | IIJ Engineers Blog

                                                                        九州支社技術部(九州・中四国事業部)所属。自作パソコン好きで、ハードウェア選定の仕事を与えると喜ぶ。最近は何でもコンテナにしたい教に入信し、コンテナ化の機会を虎視眈々と狙っている。 こんにちは、九州支社技術部(九州・中四国事業部)所属のy-morimotoです。 コンテナ使いたいけど、今までの構築手順がそのまま使えないので、いまいち導入できない。 そんなあなたにお勧めのコンテナ「仮想マシンのように使えるコンテナ」が実はあるんです。 それは「Linux Containers (LXC)」です。 1.LXCとは Docker が アプリケーションコンテナ化 だとしたら、LXC は OSコンテナ化 といったイメージになります。 (Kernelプロセス部分は共用で独立していないので、実際はOS丸ごとでは無いのですが) OS丸ごと風なので、使用感が仮想マシンに近くなるというわけです。 ただ、コンテナ

                                                                          仮想マシンのように使えるコンテナ | IIJ Engineers Blog
                                                                        • Linuxプロセスアクセス制御の概要 - えんでぃの技術ブログ

                                                                          SELinuxシリーズ 本記事は、SELinuxシリーズの1記事目です。 Linuxプロセスアクセス制御の概要 ←今ココ SELinuxの概要 SELinux Type Enforcement SELinuxの実践 (参考) SELinuxのRBAC、UBAC、MLS、MCS (参考) SELinux Module Policyのソースコード読解、ビルド 参考URL 1〜3記事目は、4記事目を理解するための前提知識をカバーしています。 4記事目が最も重要で、SELinuxの具体的な操作方法やコマンド、トラブルシューティング手順を紹介しています。 5記事目以降は参考情報です。 SELinuxの関連記事は、SELinuxタグから探せます。 一連の記事はFedora環境を前提として書いています。 FedoraやRHELに類するディストリビューションであればほぼ同等の挙動になると思いますが、他のデ

                                                                            Linuxプロセスアクセス制御の概要 - えんでぃの技術ブログ
                                                                          • eBPFに3日で入門した話 - CADDi Tech Blog

                                                                            はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処理フロー カーネルモジュールとeBPFの違い eBPFプログラムの作り方 eBPFプログラムを作ってみる 環境の準備 Hello world もう少し複雑なサンプル その他のサンプル HTTPリクエストのダンプ TCP接続先の調査 tcplife dirtop filetop oomkill まとめ eBPFはなにに使えるか 参考サイト はじめに こんにちは、Platformチームの小森です。 eBPF (extended Berkley Packet Filter) について、2022年8月2

                                                                              eBPFに3日で入門した話 - CADDi Tech Blog
                                                                            • iptablesの後に来るものは何か?: nftables - 赤帽エンジニアブログ

                                                                              この記事はRed Hat DeveloperのWhat comes after ‘iptables’? Its successor, of course: nftablesを、許可をうけて翻訳したものです。 ::: By Florian Westphal October 28, 2016 ::: パフォーマンス: ユーザビリティ: nftablesとは何ですか? 何が置き換えられますか? なぜiptablesを置き換えるのか? nftablesでの高水準な機能 判断マップ(ジャンプテーブル) flow文 inetファミリー はじめる チェーンの追加 NAT 既知の制限 関連記事 nftablesは、既存のiptables、ip6tables、arptables、ebtablesを置き換えることを目指した、新たなパケット分類フレームワークです。これは、長く使われてきた ip/ip6table

                                                                                iptablesの後に来るものは何か?: nftables - 赤帽エンジニアブログ
                                                                              • 仕事としてOSS開発者をやってきた話 - 覚書

                                                                                はじめに わたしは今も昔も仕事としてOSS開発者をしていて、twitterなどでそれなりに名前が知られていることもあって、昔から「どうすればそういうこと(業務としてOSS開発)ができるのか」「どういうキャリアを歩んできたのか」「Linuxカーネル開発者になるにはどうすればいいのか」ということをよく聞かれてきました。当時わたしが置かれた環境と現在の環境では違いがありすぎるので公開に積極的にはなれなかったのですが、一つの過去事例として何らかの意味はあるかもと思って公開することにしました。 書き方が難しかったのですが、うまくまとまらなかったので、自分が書くのが楽な日記みたいになりました。 きっかけ 2000年初頭に学部4年のころにLinuxを触りはじめてから「UNIXとかLinuxってすげえ」「こんなものが無償で使えるのか」「これらのソースコードが全部見られるのか」と感動して、「自分も成果物を公

                                                                                  仕事としてOSS開発者をやってきた話 - 覚書
                                                                                • LinusがZFSにLKMLで言及した件 - kuenishi's blog

                                                                                  先日Linusが盛大にZFSを非難したことがインターネット・カーネル界隈の噂を駆け巡った。これをタイトルだけみたり本文をちょっと読んだら「ああ、LinusはZFSが嫌いなんだ」とか「LinuxでZFSを使うべきではない」といった理解をする人が非常に多いだろうと思う。Linusは当然Linuxユーザーにとって大きな影響力を持つ人物であり、多くのLinuxユーザーがこの理解のままでいることになりかねない。公私ともにZFSに頼りっきりになっている私は特にそういう状況は非常に困るし、Canonicalは19.10からUbuntu LinuxでのZFS rootを標準にしようとしているくらいだからもっと困るだろう。複雑な状況になっていると思うので、このニュースの深層を探ってみよう。 まず元スレ 元になったLinusのレスによると、そもそも最近カーネルにドライバのインターフェース変更があってZFSがこ

                                                                                    LinusがZFSにLKMLで言及した件 - kuenishi's blog