並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 577件

新着順 人気順

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

  • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

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

      低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
    • 雑文:放送大学(情報コース)をなんとか4年で卒業確定できたという話 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

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

        雑文:放送大学(情報コース)をなんとか4年で卒業確定できたという話 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
      • “ロシアのトロールどもに告ぐ、この変更が元に戻ることはない” ―Linus、ロシア系メンテナーの"追放"を認める | gihyo.jp

        Linux Daily Topics “ロシアのトロールどもに告ぐ⁠⁠、この変更が元に戻ることはない” ―Linus⁠⁠、ロシア系メンテナーの"追放"を認める 開発中の次期カーネル「Linux 6.12」の4本目のリリース候補版となる「Linux 6.12-rc4」は、スケジュール通りに10月20日に公開されたが、その前々日となる10月18日、カーネルメンテナーのGreg Kroah-Hartman(GKH)はいつもとは雰囲気が異なるパッチをカーネル開発者のメーリングリストに投稿した。 [PATCH] MAINTAINERS: Remove some entries due to various compliance requirements. -Greg Kroah-Hartman Remove some entries due to various compliance require

          “ロシアのトロールどもに告ぐ、この変更が元に戻ることはない” ―Linus、ロシア系メンテナーの"追放"を認める | gihyo.jp
        • perfを用いたシステムのボトルネック解析方法

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

            perfを用いたシステムのボトルネック解析方法
          • Linuxカーネル解読室 再び - VA Linux エンジニアブログ

            Linuxカーネルコード解析プロジェクト立ち上げ Linuxカーネル成長の歴史 カーネルの大きさ バージョン番号 SCM導入 カーネル機能の変遷 執筆者 : 高橋 浩和 ※ 「新Linuxカーネル解読室」連載記事一覧はこちら Linuxカーネルコード解析プロジェクト立ち上げ 弊社内にて若手技術者が中心となり、最新のLinuxカーネルコード全体を読み解くプロジェクトが進行中です。 解析したコードのうち興味を惹かれたもの、重要そうなものを中心にブログ記事にまとめていく予定です。 詳解LinuxカーネルやLinuxカーネル2.6解読室を執筆していたころよりLinuxカーネルは大きく膨れ上がっています。 どこまで辿り着けるかは分かりませんが、気長にお待ちください。 対象Linuxカーネルのバージョンは6.8 ブログ執筆中に興味深い機能が取り込まれたら、より新しいバージョンのカーネルについて解説する

              Linuxカーネル解読室 再び - VA Linux エンジニアブログ
            • TLSが難しい?RustとLinuxカーネルで実装しよう!

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

                TLSが難しい?RustとLinuxカーネルで実装しよう!
              • 令和にふりかえる C10K 問題

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

                • 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」プロジェクトを一般公開
                  • 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++」の安全性、今後の動きはどうなる
                      • 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、個人使用を無料に変更
                            • 自作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
                                • 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
                                  • 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プロセスアクセス制御の概要 - えんでぃの技術ブログ
                                    • Microsoftが「CrowdStrikeの障害の原因は欧州委員会のクレーム」と当てこすり、なぜMacは無傷だったのかも浮き彫りに

                                      2024年7月19日に発生した世界的なIT障害であるクラウドストライク事件に関連し、Microsoftが「2009年に欧州委員会からの要求に応じたのが原因でCrowdStrikeのクラッシュがWindowsに波及するのを防げなかった」と示唆したことが報じられました。 Blue Screens Everywhere Are Latest Tech Woe for Microsoft - WSJ https://www.wsj.com/tech/cybersecurity/microsoft-tech-outage-role-crowdstrike-50917b90 Microsoft points finger at the EU for not being able to lock down Windows - Neowin https://www.neowin.net/news/micr

                                        Microsoftが「CrowdStrikeの障害の原因は欧州委員会のクレーム」と当てこすり、なぜMacは無傷だったのかも浮き彫りに
                                      • Linuxカーネルパラメータのチューニング&設計 - Qiita

                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケール

                                          Linuxカーネルパラメータのチューニング&設計 - Qiita
                                        • 仕事としてOSS開発者をやってきた話 - 覚書

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

                                            仕事としてOSS開発者をやってきた話 - 覚書
                                          • AWS Lambdaを支える技術 - ABEJA Tech Blog

                                            こんにちは、今年の4月に新卒入社でABEJAに入社しました島倉と申します。 現在はプロジェクトマネージャーとして働いています。 これはABEJAアドベントカレンダー2024の9日目の記事です。 なぜFirecrackerが開発されたのか 従来の仮想化技術の課題 Firecrackerの設計要件 Firecrackerとは何か Firecrackerのアーキテクチャ Firecrackerのコード解説とその仕組み microVMの仕組み MicroVMはなぜ軽量なのか 1. 起動プロセスでカーネルを直接ロード 2. mmap による効率的なメモリ管理 3. KVMを利用したvCPU管理 4. Seccompで不要なシステムコールを制限 5. 最小限のVirtIOデバイス まとめ We Are Hiring! 今回は、生成AIの発展が注目されている中あえて、「地味だけど重要な技術」にフォーカス

                                              AWS Lambdaを支える技術 - ABEJA Tech Blog
                                            • Linuxカーネルから見た「コマンド名」

                                              はじめに Linuxを使っているみなさんは普段からLinux上で様々なコマンドを実行していると思います。それらを識別するときに「コマンド名」という単語を使っていると思いますが、文脈によってこの単語が意味するものは異なります。本記事ではLinuxカーネルがいうところのコマンド名がどういうものかについて書きます。 一番最初に短い結論、その次に具体的な説明、そして最後にこれについて調べようとしたきっかけ、およびその後の調査プロセスについて書きます。 結論 Linuxカーネルから見たコマンド名は実行ファイル名のbasename(ファイル名からディレクトリ部分を除いたもの)の先頭15バイト カーネルのメモリ内のプロセス(正確にはカーネルレベルのスレッド)ごとに存在するtask_structという名前の構造体の中のcommという16バイトのフィールドにNULL終端文字列として格納されている カーネルの

                                                Linuxカーネルから見た「コマンド名」
                                              • 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ

                                                ゼロからのOS自作入門 を 一通り写経 したところ、 Rust に移植したくなったのでやっていきます。 次回: 「ゼロからのOS自作入門」を Rust でやる (第5章) - gifnksmの雑多なメモ 関連記事一覧: ゼロからのOS自作入門 カテゴリーの記事一覧 - gifnksmの雑多なメモ github.com Rust で OS なので名前は "錆OS" です。安直です。 "sabios" でざっとググったところ、スペイン語で "賢い" って意味があるようです。 良いですね。 クレバーな実装を目指したいところです。 方針 「ゼロからのOS自作入門」の章立てに沿って1章から順番に実装していきます。 C++ で一通り写経は完了しているので完成形の OS と関係ない節はスキップしていきます。 せっかく Rust で実装するので安全性や抽象化という点で MikanOS との差異を出せたら良

                                                  「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ
                                                • Linux:昨今のI/Oスケジューラ事情 2020

                                                  まえがき HDDやSSDはシステムの中でもボトルネックとなる一番データの転送速度が遅い記憶媒体だ。 オペレーティング・システムには記憶媒体による遅延を減らすためキャッシュを利用するなど I/Oアクセスを最小限に留める工夫が施されている。そんな中でもI/OスケジューラはI/Oリクエストの処理順を入れ替えたりリクエストを一つにまとめたりすることにより応答速度やスループットを向上させる機能だ。ディスク・スケジューリングとも呼ばれることがある。 数年前まではLinuxカーネルは cfq noop deadline と言ったI/Oスケジューラを搭載していたが、昨今のスケジューラはだいぶ変わっているようだ。 Linuxカーネル ver 3.13 からCPUの多コア化、SSDやPCIeなどの高速な記憶媒体の普及に対応するために旧来の単一キュー処理からマルチキュー処理をする Blk-mq(Multi-Qu

                                                    Linux:昨今のI/Oスケジューラ事情 2020
                                                  • KFCのカーネルおじさんがストリートファイター6に参戦!カナダ限定でダウンロードできる|カラパイア

                                                    このゲームはプレイヤーがキャラクターをカスタマイズできるのだが、カーネルおじさんの作成法(レシピ)が、ダウンロード可能となった。ただしカナダKFCのキャンペーンなのでカナダのみとなっている。 Chef Colonel Sanders on Street Fighter ストリートファイター6に、カーネル・サンダースが参戦! 「ストリートファイター6」は2023年6月2日の発売以降、様々なプラットフォームを通じて素晴らしいゲームセールスを達成し、多くの記録を打ち立ててきた。 その成功の一因として、プレイヤーがオリジナルのキャラクターを自由にカスタマイズし、ストリートファイターの世界で共有・使用することが可能な「レシピ」機能がある。 そこで、KFCカナダは新たなオリジナルレシピを提供。究極のレシピであるカーネル・サンダースを作り上げたのだ。 トレードマークの白髪に、黒縁の眼鏡、特徴的な口ひげを

                                                      KFCのカーネルおじさんがストリートファイター6に参戦!カナダ限定でダウンロードできる|カラパイア
                                                    • 絵で見てわかるLinuxカーネルの仕組み | 翔泳社

                                                      ハードとソフトの世界をつなぐ OSの根幹となる仕組みを理解しよう OSにおいて、カーネルとはその名のとおり「核」となるコンポーネントであり、記憶領域やファイルシステムの管理、プロセス制御、スケジューリング、ネットワーキングなど、ハードウェア制御に関わる幅広い機能を担っています。 Webやエンタープライズ、組み込みに至るまで、世界中のあらゆるところで、Linuxを基本OSとするシステムが稼働しています。Linuxはオープンソースソフトウェアであり、誰でも広くアクセスできることがその発展を支える特徴の1つといえるでしょう。しかし、その土台となるカーネルに限ってみても、ソースコードを読み込んで理解するにはあまりにも大規模かつ複雑な存在です。そのため、Linuxカーネルの役割や仕組みを理解している人が少ないのもまた事実なのです。 ソフトウェアの開発・利用において、カーネルのような根幹部分について理

                                                        絵で見てわかるLinuxカーネルの仕組み | 翔泳社
                                                      • Redisの25倍のスループットDragonflyを試してみる

                                                        インメモリデータストアを現代風に再実装したら? 高速なデータアクセスのためのインメモリデータストアとしては、RedisやMemcachedが有名です。ただし、これらは10年以上前に設計されており、Memcachedに至っては、2003年と約20年前です。 長い年月を経て、機能追加や最適化が進む一方で、どうしても設計の古さも目立ってきます。 その課題を解決すべく開発されたのがDragonfly です。 全ての操作がアトミック 高スループットでもミリ秒未満のスループット を目指し、Redis/Memcached互換なAPIを提供します。 Redisの25倍のスループットを誇り、1インスタンスで百万オーダーのQPSをさばけます。 開発者が実施したAWS EC2上のベンチマークによると、Dragonflyは本家RedisやRedisのマルチスレッドforkであるKeyDBよりも圧倒的なスループット

                                                          Redisの25倍のスループットDragonflyを試してみる
                                                        • 「これが世界か!」と打ち震えた。偶然出会ったLinuxカーネルで、メンテナーとして認められるまで【フォーカス】 レバテックラボ(レバテックLAB)

                                                          TOPフォーカス「これが世界か!」と打ち震えた。偶然出会ったLinuxカーネルで、メンテナーとして認められるまで【フォーカス】 Linuxカーネル メンテナー 森本 國文(もりもと くにのり) 1979年生まれ。博士(工学)。Linuxカーネル主要コントリビューターのひとり。2008年、茨城大学大学院理工学研究科博士課程修了。2008年7月よりルネサスエレクトロニクス株式会社にてLinuxカーネルへのコントリビュートを開始。現在、サウンドアーキテクチャ「ALSA」や、ALSAのサブセット「ASoC」を中心領域として、メンテナーを務める。カーネルの特定バージョンごとのコントリビューション数ランキングでは、「v4.17」(2018年)や「v5.3」(2019年)などで世界1位に輝いた。 GitLab:@morimoto.kuninori 「Linuxカーネル」への合計コントリビューション数が、

                                                            「これが世界か!」と打ち震えた。偶然出会ったLinuxカーネルで、メンテナーとして認められるまで【フォーカス】 レバテックラボ(レバテックLAB)
                                                          • リーナス・トーバルズが「Linux 6.14のリリースを丸一日忘れていた」と謝罪

                                                            by Space Dictator Linuxカーネルの開発者、リーナス・トーバルズ氏がLinux 6.14のリリースを「忘れていた」ことを明らかにし、「純粋に無能だった」と謝罪しました。 Linus Torvalds forgot to release Linux 6.14 for a day • The Register https://www.theregister.com/2025/03/25/linux_6_14_day_late/ 2025年3月16日、Linux 6.14-rc7(リリース候補版)を公開したトーバルズ氏は「事態はかなり落ち着いているようなので、よほどのことがない限り、来週末には6.14の最終版をリリースできるだろう」と伝えました。 ところが、週末の23日になってもLinux 6.14はリリースされませんでした。 翌24日、トーバルズ氏は思い出したかのようにLi

                                                              リーナス・トーバルズが「Linux 6.14のリリースを丸一日忘れていた」と謝罪
                                                            • トーバルズ氏が考える、LinuxにおけるRustの居場所とは

                                                              Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2021-03-31 07:30 Linuxはプログラミング言語Cの申し子のような存在だ。しかし時は流れ、状況は変わった。RustをLinuxのシステム記述言語として採用しようという動きが少しずつ支持を集めてきている。例を挙げると、Linuxカーネル開発者のための年次カンファレンス「Linux Plumbers Conference(LPC)2020」において、開発者らはLinuxのインラインコード部分でのRustの採用を真剣に議論していた。その議論は現在どうなっているのだろうか?筆者はLinuxの父と目されるLinus Torvalds氏と、Linuxの安定版カーネルのメンテナーであるGreg Kroah-Hartman氏から考えを聞いた。 これはRustに魅

                                                                トーバルズ氏が考える、LinuxにおけるRustの居場所とは
                                                              • 無限ストレージ

                                                                以下イベントの発表資料です https://kernelvm.connpass.com/event/209105/

                                                                  無限ストレージ
                                                                • RustでOSを書いた

                                                                  はじめに RISC-V CPU を FPGA 上に実装して、マイクロカーネル OS を Rust で書いて動かしてみました。 CPU について RISC-VとChiselで学ぶ はじめてのCPU自作 に沿って RISC-V の CPU を作り、機能をエンハンスしました。 乗除算命令、RVC命令、ビット拡張命令の一部を追加 7段パイプライン化 DRAM コントローラ 4KB命令キャッシュ、8KBデータキャッシュ 2ビット分岐予測 周辺コントローラ実装(SDC、UART、タイマー、割込コントローラ) Arty A7-35T という FPGA ボード上で動作させています。 スーパーバイザーモードは実装していないので、仮想メモリは使えません。みんなで仲良くメモリを共有します。 CPU の実装はこちらに置いてあります。書籍のサポートリポジトリの fpga 実装版を fork して機能追加しています。

                                                                    RustでOSを書いた
                                                                  • デバッガと和解せよ

                                                                    2022/08/28 Kernel/VM探検隊online part5 (https://kernelvm.connpass.com/event/256248/) の @nullpo_head (https://twitter.com/nullpo_head) の発表資料です。 ptraceを使っ…

                                                                      デバッガと和解せよ
                                                                    • RustでLinuxカーネルの機能を拡張しよう!

                                                                      Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、Go、Python、Rustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

                                                                        RustでLinuxカーネルの機能を拡張しよう!
                                                                      • 新Linuxカーネル解読室 - パケット受信処理 ~IPレイヤーにおける受信処理~ - VA Linux エンジニアブログ

                                                                        「Linuxカーネル2.6解読室」(以降、旧版)出版後、Linuxには多くの機能が追加され、エンタープライズ領域をはじめとする様々な場所で使われるようになりました。 それに伴いコードが肥大かつ複雑化し、多くのエンジニアにとって解読不能なブラックボックスとなっています。 世界中のトップエンジニア達の傑作であるLinuxカーネルにメスを入れ、ブラックボックスをこじ開けて、時に好奇心の赴くままにカーネルの世界を解読する「新Linuxカーネル解読室」プロジェクト。 本稿では、ネットワーク機能のIPレイヤーの受信処理ついてカーネルv6.8のコードをベースに解説します。 はじめに 1. 概要 2. ルーティング処理 2.1 dst_entry構造体とルーティング処理 2.2 ルーティングテーブル(FIB: Forwarding Information Base)の検索処理 3. dst_entry構造

                                                                          新Linuxカーネル解読室 - パケット受信処理 ~IPレイヤーにおける受信処理~ - VA Linux エンジニアブログ
                                                                        • How does the Linux Kernel start a Process

                                                                          ...and how to ptrace the entry point and m3ss w1th da stack. In this article, you will learn what happens inside the Linux Kernel when a process calls execve(), how the Kernel prepares the stack and how control is then passed to the userland process for execution. I had to learn this for the development of Zapper - a Linux tool to delete all command line options from any process (without needing r

                                                                            How does the Linux Kernel start a Process
                                                                          • トーバルズ氏、「Linux」カーネル開発状況、「Rust」導入、AIを語る

                                                                            Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 川村インターナショナル 2024-08-30 07:30 香港発--Linus Torvalds氏と、その友人でVerizonのオープンソースプログラムオフィスの責任者を務めるDirk Hohndel氏が、The Linux Foundationのカンファレンス「KubeCon + CloudNativeCon + Open Source Summit China」で再び対談し、「Linux」開発とそれに関連する問題について語り合い、聴衆を沸かせた。 両氏はいつものように、Linuxカーネルの現状と今後について語った。具体的には、リリースプロセス、セキュリティ、「Rust」のLinux統合、ソフトウェア開発におけるAIの役割など、Linux開発のさまざまな側面に言及した。 Torv

                                                                              トーバルズ氏、「Linux」カーネル開発状況、「Rust」導入、AIを語る
                                                                            • Linuxの新しいsandbox機構「Landlock」 - Qiita

                                                                              はじめに この記事ではLinuxの新しいsandbox機構であるLandlockのサンプルの使い方を概説します。 詳細で正確な情報は公式のページ https://landlock.io/ やLinux kernelのソースコード中にありますので、必要な場合はそちらを参照してください。 サンドボックスが欲しいわけ 一般的なLinuxディストリビューションとスマートフォンOSの両方を使い、それぞれで様々なアプリを使っている方は大きな違いに気付くと思いますが、前者はユーザーのデータはホームディレクトリと呼ばれる共通のディレクトリに格納され、他のアプリのためのデータを自由に参照できます。それに対し、スマートフォンの場合は各アプリが独自のデータ領域を持ち、他のアプリのデータを参照するには手間のかかるプログラミングとユーザーの同意が必要になります(バイパスできてしまう場合は脆弱性とみなされます)。 L

                                                                                Linuxの新しいsandbox機構「Landlock」 - Qiita
                                                                              • 自動運転カメラの高負荷、その原因はLinuxカーネルのどこに?

                                                                                はじめに Turing株式会社ソフトウェアエンジニアの堀ノ内です! 私が所属する自動運転チームでは2024 ~ 2025年に発売予定の自動車に搭載する自動運転システムの開発を行っています。Turingでは車両前方に取り付けられたカメラの画像を入力とし、機械学習モデルが進むべき経路を推論、その経路に沿って実際に車両を動かすための制御信号(ステアリング、アクセル、ブレーキ)をCANで車両に送信することで以下の画像のような自動運転を実現しています。 今回のブログでは以下について記載し、私達のチームの仕事内容について知って頂くきっかけになればと思います。 Turingの自動運転システムの紹介 GMSLカメラの評価と発生した問題 Linuxカーネル及びドライバのデバッグ Turingの自動運転システム Turingでは「カメラ画像入力 → 機械学習モデルで経路を推論 → 車両制御」の流れを実現するた

                                                                                  自動運転カメラの高負荷、その原因はLinuxカーネルのどこに?
                                                                                • Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp

                                                                                  Linux Daily Topics Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任⁠⁠、背景に“C vs. Rust”対立に端を発したブリゲーディング 僕はもう、カーネル開発プロセスやコミュニティ管理アプローチになんの信頼も置いていない(I no longer have any faith left in the kernel development process or community management approach.)―2020年のプロジェクトローンチ以来、Asahi Linuxのリードデベロッパを務めてきたHector Martinは2月7日、Appleシリコン(ARM)コードのアップストリームカーネルメンテナーを辞任する意向をLinux開発者メーリングリストで表明した。突然の辞任の背景には、Cベースの古参メンテナーとRustコード推進派の対

                                                                                    Asahi Linuxのリードデベロッパがアップストリームメンテナーを辞任、背景に“C vs. Rust”対立に端を発したブリゲーディング | gihyo.jp

                                                                                  新着記事