並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 86件

新着順 人気順

マイクロカーネルの検索結果1 - 40 件 / 86件

  • 「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた

    「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた:ヤマーとマツの、ねえこれ知ってる?(1/4 ページ) 経歴だけは長いベテラン記者・編集者の松尾(マツ)と、幾つものテック系編集部を渡り歩いてきた山川(ヤマー)が、ネット用語、テクノロジー用語で知らないことをお互い聞きあったり調べたりしながら成長していくコーナー。交代で執筆します。 マツ 「MacはLinuxだった」という趣旨のツイートが話題になっていて、ああそういうこともあったなあ、と思い出したので、ちょっと昔語りしようかなと。茶でも飲みながら。 ヤマー 私は紅茶を用意してきます。 戻ってきました。macOSは何がベースになっているかって話ですよね。 マツ 結論から言っちゃうと、現在のmacOSはUNIX系列のOSではあるけど、Linuxではないです。macOSのベースになっているのはDarwin。

      「MacはLinuxだった」って本当? 「そうだね……」元Mac雑誌編集者は昔語りを始めた
    • ソフトウェアアーキテクチャの基礎

      ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。本書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや結合、アーキテクチャスタイルといったアーキテクチャ設計の基礎、チームやステークホルダーと効果的にコラボレーションしていくために必要なソフトスキルまで、さまざまなトピックについて実践的な例とともに説明します。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正

        ソフトウェアアーキテクチャの基礎
      • はじめに - Writing an OS in 1,000 Lines

        本書では、小さなOSをゼロから少しずつ作っていきます。 OSと聞くと腰が引けるかもしれませんが、OS (特にカーネル) の基本機能は案外単純です。巨大なオープンソースソフトウェアとしてよく挙げられるLinuxでさえ、バージョン0.01はたった8413行でした。様々な要求に応えるために次第に肥大化していっただけで、当初は大変素朴な実装になっていました。 本書では素朴なコンテキストスイッチ、ページング、ユーザーモード、コマンドラインシェル、ディスクデバイスドライバ、ファイルの読み書きをC言語で実装します。これだけ様々な機能が詰め込まれているのに、コードは合計でたった1000行未満です。 「1000行なら1日でできそう」と思うかもしれませんが、初学者には少なくとも3日はかかるでしょう。OS自作のハマりポイントは「デバッグ」です。アプリケーション開発とは違うデバッグ手法・能力を習得する必要がありま

          はじめに - Writing an OS in 1,000 Lines
        • 1,000行で作るオペレーティングシステム

          「Writing an OS in 1,000 Lines」 というオンラインブックを書きました。ゼロから1,000行でOSを作るという内容です。 『自作OSで学ぶマイクロカーネルの設計と実装』 とは違い、最初の一歩の部分を重点的に解説しています。シンプルなモノリシックカーネル設計で、実装の解説だけでなくカーネルプログラミング特有の難しい部分、特に「カーネルをどうデバッグすれば良いか」をおさえた、初学者向きの内容になっています。 3日ほどあれば済むボリュームです。夏休みの自由研究がてら、ぜひチャレンジしてみてください。

            1,000行で作るオペレーティングシステム
          • 『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog

            翻訳を担当した書籍『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』(オライリー・ジャパン)が3月8日に発売されます。本書は、2020年1月に出版されたMark Richards, Neal Ford著『Fundamentals of Software Architecture』(O'Reilly Media)を全訳したものです。 www.oreilly.co.jp ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。本書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや

              『ソフトウェアアーキテクチャの基礎――エンジニアリングに基づく体系的アプローチ』 - snoozer05's blog
            • CとRustで一から作るマイクロカーネルOS

              マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい

                CとRustで一から作るマイクロカーネルOS
              • よく聴いてるポッドキャスト

                はじめに 自分が fukabori.fm を配信しているのもあるけど、インプットソースとしてポッドキャストをよく聴いている。この記事では、聴いてるポッドキャストをサクサク紹介していきたいと思う。 基本はTech系ポッドキャスト。たまに、違ったのをちょいちょいぐらい。 実際に以下で書いてないポッドキャストもあるけど、少なくとも5エピソードは聴いたかな、ってものを紹介していく。 ポッドキャスト列挙、コメントつけて 以降は A-Z 順で、自分のPodcastクライアント(Podcast Addict)でSubscribeしているものを順番に。 ajito.fm suzukenさんが主宰しているポッドキャスト。VOYAGE CTOの makoga さんがよく登場する。技術的に濃いネタから、組織的なネタまで幅広い。 すごく印象に残っているepは ajitofm 29: Chiki Chiki Mon

                  よく聴いてるポッドキャスト
                • 堀江貴文氏が考える、いま起業するならこの分野「ITなんかもう超絶レッドオーシャン」:朝日新聞GLOBE+

                  堀江貴文さんとアニス・ウッザマンさんの対談の様子 堀江さんは7月6日、京都大学で開かれたスタートアップの世界的なピッチコンテスト「スタートアップワールドカップ2023」の国内予選にゲストとして登壇。主催するアメリカのベンチャーキャピタル「ペガサス・テック・ベンチャーズ」代表、アニス・ウッザマン氏と対談した。 テーマは「日本のベンチャー企業が世界で輝くために」で、堀江さんは自身の起業経験や、今後、世界市場でも競争力がある分野について語った。対談の主な内容は次のとおり。(以下、敬称略) 対談した堀江貴文さん(右)とアニス・ウッザマンさん=7月6日、京都大、関根和弘撮影 ウッザマン 堀江さんはこれまで色んな企業を作ってきました。大学にいたときにも作ったと思うんですが、起業したきっかけや、そのときどんな挑戦があって、どう乗り越えたのか、聞かせて下さい。 堀江 僕は東京大学の在学中に会社を作ったんで

                    堀江貴文氏が考える、いま起業するならこの分野「ITなんかもう超絶レッドオーシャン」:朝日新聞GLOBE+
                  • ソフトウェア設計・アーキテクチャの学び方 - Qiita

                    はじめに この記事はHow to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Mapを翻訳したものです。 翻訳がおかしい箇所などあればご指摘頂けるとありがたいです。 元記事の著者: Khalil Stemmler(@stemmlerjs) 設計、アーキテクチャ、フロントエンド、ブロックチェーンに興味ある方是非Twitter(@show_clements)フォローしていただけると嬉しいです! 設計に関する記事 ソフトウェアデザインとアーキテクチャは、DevOpsやUXデザインのように、コンピューティングの領域の中でも独自の研究分野となっています。ここでは、クリーンコードからマイクロカーネルまで、ソフトウェアデザインとアーキテクチャの幅広さを説明するマップを紹介しま

                      ソフトウェア設計・アーキテクチャの学び方 - Qiita
                    • Appleの製品セキュリティ解説が面白い

                      Appleは自社の製品セキュリティについて割と詳細に解説したホワイトペーパーを公開している。何故か日本語版もある。 (PDF版) https://manuals.info.apple.com/MANUALS/1000/MA1902/ja_JP/apple-platform-security-guide-j.pdf EDIT: 日本語版は無くなったようだ (PDF版) https://help.apple.com/pdf/security/ja_JP/apple-platform-security-guide-j.pdf EDIT: 新しいURLで公開された (PDF版) https://help.apple.com/pdf/security/en_US/apple-platform-security-guide.pdf このドキュメントは言わば ユーザのプライバシで商売をすることの決意表明

                        Appleの製品セキュリティ解説が面白い
                      • OS Xの終焉

                        STRATECHERYより。 2002年5月6日、スティーブ・ジョブズはWWDCでClassic Mac OSの葬儀を行いました。 18年後の昨日、OS Xはついに自ら終焉を迎えました。macOSの次のバージョンは10.16ではなく11.0です。 葬儀はありませんでした。 OS Xファミリー OS Xは、テクノロジーの中でも最も魅力的な系統樹を持っています。その重要性を理解するには、それぞれの先人を理解する必要があります。 Unix: Unixは、AT&Tのベル研究所(その著作権はノベルが所有)に由来する特異なオペレーティング・システムを指しますが、米国政府との和解のおかげで(電気通信の巨人を大目に見ることになり、広く批判されました)、Unixは特に大学に広くライセンスされています。結果として最も人気のある亜種の1つは、カリフォルニア大学バークレー校で開発されたBerkeley Softw

                          OS Xの終焉
                        • ソフトウェアアーキテクチャ入門

                          はじめに 今回の記事では、ソフトウェアアーキテクチャの入門的な内容を解説する。 対象とする読者 ソフトウェアアーキテクチャを勉強するエンジニア アーキテクチャに関して全くわからない初心者 タイトルで気になったひと ソフトウェアアーキテクチャとは? ソフトウェアのアーキテクチャは、システムの主要なコンポーネント、それらの関係(構造)、およびそれらがどのように相互作用するかを記述する。ソフトウェアのアーキテクチャとデザインには、品質属性、人間のダイナミクス、デザイン、IT環境など、多種多様な寄与要因が含まれる。アーキテクチャは、品質、保守性、パフォーマンス等のような全体的な成功に影響を与える重要な決定を含む。 ソフトウェアアーキテクチャの主な目的は、アプリケーションの構造に影響を与える要件を特定することだ。良好なアーキテクチャは、技術的な解決策を構築する際のビジネスリスクを削減し、ビジネス要件

                            ソフトウェアアーキテクチャ入門
                          • マイクロカーネルの設計と実装

                            • めくるめく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
                              • 11種類のオペレーティング・システムについてまとめてみた - Qiita

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

                                  11種類のオペレーティング・システムについてまとめてみた - Qiita
                                • Linuxカーネル解読室 再び - VA Linux エンジニアブログ

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

                                    Linuxカーネル解読室 再び - VA Linux エンジニアブログ
                                  • 詳解 システム・パフォーマンス 第2版

                                    本書は、エンタープライズとクラウド環境を対象としたオペレーティングシステムとアプリケーションのパフォーマンス分析と向上について解説します。 主にLinuxベースのオペレーティングシステムに含まれるツールとその使用例を通じてシステムパフォーマンスを引き出す手法を説明します。システム評価のためのベンチマーク、キャパシティプランニング、ボトルネックの解消について解説しスケーラビリティを制限する要因を発見、分析し、解決する方法を学びます。 第2版では、perf、Ftrace、BPFの解説が加わり、Linuxとクラウドコンピューティングについての説明が充実しました。 システムのパフォーマンスを向上させ、コストを削減し、レイテンシの外れ値を減らすための方法を学ぶ本書はエンジニア必携の一冊です。 まえがき 1章 イントロダクション 1.1 システムパフォーマンス 1.2 職種 1.3 作業 1.4 分析

                                      詳解 システム・パフォーマンス 第2版
                                    • Elixir自社プロダクト「Bright」①:「今のIT業界でエンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至る - Qiita

                                      Elixir自社プロダクト「Bright」①:「今のIT業界でエンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至るElixirSaaSスキルシートfukuoka.exBright この記事は、Elixir Advent Calendar 2022 10の24日目です 昨日は、私で「Eixirで機械学習に初挑戦⑥:いま、Elixir AI・MLで何が出来る?→ElixirでAI・MLを構築するメリット→2023年にElixirで攻略する領域」でした 【2023/12/26追記】 皆さまに沢山、応援いただいた本コラムの続編をアップしました その後、Brightがどうなったかの後日談を、どうぞお楽しみください Merry Xmas! piacere です、ご覧いただいてありがとございます 今回は、なんだかエモいタイトルで

                                        Elixir自社プロダクト「Bright」①:「今のIT業界でエンジニア/プログラマは適正に評価されない」と 25年間、思い悩んだ結果、「自社から変えよう」と始めて2年後、プロダクト化に至る - Qiita
                                      • プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ

                                        技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、ついに Ruby 3.0.0 がリリースされました。一昨年、昨年に続き、今年も Ruby 3.0 の NEWS.md ファイルの解説をします。NEWS ファイルとは何か、は一昨年の記事を見てください(なお Ruby 3.0.0 から、NEWS.md にファイル名を変えました)。 プロと読み解く Ruby 2.6 NEWS ファイル - クックパッド開発者ブログ プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ Ruby 3.0 は、Ruby にとってほぼ 8 年ぶりのメジャーバージョンア

                                          プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ
                                        • 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を書いた
                                          • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                            怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                              マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                                            • Googleの“第三のOS”「Fuchsia」、初代「Nest Hub」へ

                                              米Googleが2016年から取り組んでいる非Linuxの新OS「Fuchsia OS」が5月24日(現地時間)、正式にリリースされた。9TO5Googleが25日、Googleに確認したとして記事で紹介した。Googleの初代スマートディスプレイ「Nest Hub」(旧「Google Home Hub」)にロールアウト中だ。 Fuchsiaは、Linuxをベースにしていない、ゼロから構築されたOSだ。Googleが自社開発した「Zircon(旧Magenta)」と呼ばれるマイクロカーネルを使用している。Googleは昨年プロジェクトを一般公開した際、Fuchsiaを「汎用OSを構築するための長期プロジェクト」と説明した。 Fuchsiaの主要なアプリ開発言語は、GoogleのクロスプラットフォームUIツールキットである「Flutter」だ。FlutterはAndroid、iOS、Web、

                                                Googleの“第三のOS”「Fuchsia」、初代「Nest Hub」へ
                                              • データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ

                                                Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2024-04-10 07:30 「Linux」は長年にわたりクラウド上のサーバーに搭載されてきたが、クラウドが急激に拡大したこと、そしてLinuxがクラウド専用に設計されたものではないことを考慮すると、何かを変える必要があることは明らかだった。 その変化をもたらすのは、「Ingres」「PostgreSQL」「VoltDB」の開発に携わったMichael Stonebraker氏と、「Apache Spark」の生みの親でDatabriskの共同創設者/最高技術責任者(CTO)であるMatei Zaharia氏かもしれない。両氏はマサチューセッツ工科大学(MIT)のチームと協力して、「DBOS」(別名「DataBase OS」)という革新的なOSを開発した。 DBOSの開発は2022年に始まった。D

                                                  データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ
                                                • リーナスがLinuxを開発したというのは、どれほど「技術的に」すごい偉業だったのでしょうか?

                                                  回答 (10件中の1件目) なんか呼ばれてる気がした。 「技術的に」はどうってことないものです。別の回答で私の書いた記事が引用されているので、その辺の歴史的なことはそっちを読めばわかると思います。「やればできる」範囲のことです。実際、あの記事には書きませんでしたが、そのちょっと前くらいに私の知人(日本人)がフルスクラッチのUNIX互換マイクロカーネルOSを独力で書いてます。これも彼に言わせれば、「教科書通りに実装しただけ」とのことです。なお、UNIX系OSの実装は、いくつか教科書が出ています。また、「NET2」という4.3BSDのフリー(ってことになっていた)な部分のコードも公開された...

                                                    リーナスがLinuxを開発したというのは、どれほど「技術的に」すごい偉業だったのでしょうか?
                                                  • Google、イーサネットをさらに高速にするハードウェア支援型の新トランスポート技術「Falcon」を公開

                                                    Google、イーサネットをさらに高速にするハードウェア支援型の新トランスポート技術「Falcon」を公開 Googleは、イーサネットでさらなる高速通信を実現するハードウェア支援型の新しいトランスポートレイヤの技術「Falcon」を、米カリフォルニア州サンノゼで開催されたデータセンター向けハードウェアを対象としたイベント「2023 OCP Global Summit」で発表したことを明らかにしました。 AIや機械学習のような大規模かつ高速性を要求される処理が増え続けるデータセンターにおいて、より高速なネットワーク技術への要求も高まっています。Falconはこうしたニーズに対応するための技術だと説明されました。 Falconは複数の技術の集合体 Falconは複数の技術の集合体となっており、ハードウェア支援型トランスポートレイヤーとして信頼性、高性能、低レイテンシーを実現するよう設計されて

                                                      Google、イーサネットをさらに高速にするハードウェア支援型の新トランスポート技術「Falcon」を公開
                                                    • Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性

                                                      Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。garasubo氏からは、「Rust」で新しいOSの設計を試みる3つのOSについて発表がありました。 「Rust」で新しいOSの設計を試みる論文を紹介 garasubo氏:よろしくお願いします。「RustはOS界の銀の弾丸になりうるか 論文で見るRustで変わるOS設計」というタイトルでgarasuboが発表します。内容を詰め込みすぎちゃったので、けっこう駆け足の発表になると思いますが、ご了承ください。 Rustは、OSを書くにあたってC言語の代わりになるんじゃないかといろいろと注目されてきていて、今回は3つの論文を紹介します。論文はRustを使って新しいOSの設計を模索するというものです。 1つ目がSOSP2017(Symposium on Operating Sy

                                                        Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性
                                                      • TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha

                                                        eBPFでcommit logを調べてみるといろいろと面白そうなものが出てくるな。例えば、TCP-BPF [netdev 2.2]。TCPコネクションのパラメータをBPFで操作できる。さらに最近(バージョン5.5以降)では、輻輳制御もeBPFで実装できるようになっているようだ。eBPFによりカーネルからどんどん機能を追い出してLinuxはマイクロカーネル化するのだという鼻息荒い発表も見かけるが(「eBPF - Rethinking the Linux Kernel」[QCon2020])、正直これが正しい方向性なのかよくわからない。面白いけど。 eBPFを使っているわけではないが、輻輳制御をユーザレベルで実装するという研究はいくつかある(「Restructuring Endpoint Congestion Control」 [SIGCOMM2018]、「Deploying Safe Use

                                                          TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha
                                                        • Huawei、独自OS「HarmonyOS」を発表

                                                          中国Huaweiは8月9日、オープンソースの独自OS「HarmonyOS」を発表した。汎用性が高いOS機能のみを搭載する「マイクロカーネル」なOSで、スマートフォンやウェアラブルデバイスなどに採用する方針だ。 米政府によるHuaweiへの禁輸措置による影響で、Huaweiが今後発売するスマホなどでは、Google製のOS・Androidの更新が可能かどうか不透明な状況が続いている。 中国Global Timesの報道によると、Huawei Consumer Business Groupのリチャード・ユ・チェンドンCEOは、9日に開いた発表会で「Androidを利用できなくなった場合、必要に応じていつでも独自のOSを使える」と述べた。 関連記事 「Huawei問題」の本質は何か Huawei対米国の戦いはあまりに影響が大きい。どこが問題視されており、これからどのような影響が出るのか、論点を整

                                                            Huawei、独自OS「HarmonyOS」を発表
                                                          • YAGNIと拡張性のあいだ - 電通総研 テックブログ

                                                            こんにちは!Xイノベーション本部プロダクトイノベーションセンターの米久保 剛です。 弊社のテックブログ上では今回が初めての記事執筆となります。アーキテクチャ設計やアプリケーション設計の話を中心に、不定期に情報発信していきたいと考えています。 YAGNI原則 YAGNI原則をご存知でしょうか。 エクストリーム・プログラミング(XP)の重要な原則の一つであるこの原則は、You Ain't Gonna Need Itのアクロニム(頭字語)から命名されています。日本語にすると「どうせ要らないって」というニュアンスでしょうか。推測に基づいて余計な機能を作り込んだところで将来実際に使われる可能性は低く、時間と労力を無駄にするばかりかコードの複雑化などのリスクさえあります。ですから、現時点でわかっている要件をちょうど満たすだけの機能を実装すべきであるとYAGNI原則は主張します。 YAGNI原則は機能(

                                                              YAGNIと拡張性のあいだ - 電通総研 テックブログ
                                                            • カーネルことはじめ

                                                              この記事は未踏ジュニアAdvent Calendar : 10日目です. カーネル, 書きたくないですか? こんにちは, horizon (@horizon2k38)です. 私は2023年の未踏ジュニアでA9Nというマイクロカーネルを作成していました. 人類なら誰しもがカーネルを書きたいと思ったことがあるはずです. そんな方のために, 未踏期間で得られた "0からカーネルを如何にして学び, 実装したか" という知見をより一般化して解説しようと思います. この記事の内容をすべて達成することで, あなたもきっとカーネルを書くことができるでしょう. やれば出来る きっと 絶対 私No.1 注: この記事はどちらかといえば初心者向けなので, 自信がある方は最下部の"参考文献"と, 私が書いた低レイヤー学習のロードマップのみ読むことをおすすめします. カーネル/OSとは そもそもカーネルとは, 所謂

                                                                カーネルことはじめ
                                                              • WasmLinux: LinuxカーネルをWebAssemblyにする

                                                                LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                                                  WasmLinux: LinuxカーネルをWebAssemblyにする
                                                                • 技術書典8 『マイクロカーネルの設計と実装』

                                                                  @uchan_nosさんのお誘いを受けて,「マイクロカーネル」をまとめた本を書きました。技術書典 応援祭(サークル紹介ページはここ)で頒布します。 著名なオープンソースのマイクロカーネルたち(L4やMINIX3など)と拙作のReseaの実装(バージョン0.1.0)を交えながら,細かすぎて伝わらないマイクロカーネルの設計・実装のポイントを解説しています。 マイクロカーネルのサーベイ論文のようなものとしてご活用ください。 電子版のダウンロード 電子版はこちらからダウンロードできます(無料) 書籍版の入手 書籍版はBOOTHで頒布してます(3月上旬入荷予定) Reseaのソースコード GitHubで公開しています

                                                                    技術書典8 『マイクロカーネルの設計と実装』
                                                                  • グーグル、ついに新OS「Fuchsia」をAndroidスマホ搭載へ!仮想マシンで - すまほん!!

                                                                    Googleが、AndroidとChromeOSではない、第三のOS「Fuchsia(フクシア、フューシャ)」を、近いうちにAndroidデバイスでも利用可能にするかもしれません。Android Authorityが伝えました。 それによると、どうやらGoogleはこの新OSを仮想マシンとしてAndroidデバイス上で動作させる計画を進めているものと見られます。 Fuchsia OSは2016年に初めてその存在が明らかになり、2021年に初代Nest Hubで商用化。当初は、スマートフォンでAndroidに取って代わったり、腕時計などのスマートデバイスで動作する汎用OSになったりすることが期待されていましたが、現在のところそこまでには至っていません。 グーグルの新開発OS「フクシア」の姿。 Fuchsiaはオープンソースのオペレーティングシステムですが、AndroidやChromeOSとは

                                                                      グーグル、ついに新OS「Fuchsia」をAndroidスマホ搭載へ!仮想マシンで - すまほん!!
                                                                    • 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をやる
                                                                      • Fuchsiaオペレーティング・システムで遊ぶ

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

                                                                          Fuchsiaオペレーティング・システムで遊ぶ
                                                                        • WasmOS: Wasmを実行する自作マイクロカーネル

                                                                          背景 WebAssembly(Wasm)をブラウザの外で活用するためにWASIの標準化が進められています。その目的は隔離され、制限されたWasmの実行環境を作ることですが、これは難しい挑戦です。WASMの安全性は外部APIの能力に依存するため、WASIの標準化は慎重に行う必要がありますが、これには多くの時間がかかります。私はこれがWASIXやWALIといった新しいシステムインタフェースが登場した原因の一つであると考えています。汎用だったはずのWasmバイナリは既にランタイム依存になりつつあります。 WASIでセキュリティを考え、苦労して「第二のOS」を作る必要があるという事実は、既存のOSが今の時代に即したものでないことを示唆します。ならばいっそ、新しいOSを作ってしまうのはどうでしょう? この記事ではWasmを実行する自作マイクロカーネルである、WasmOSを紹介します。 WasmOS

                                                                            WasmOS: Wasmを実行する自作マイクロカーネル
                                                                          • WebAssembly Summit まとめ(後編)|chikoski

                                                                            WebAssembly Summit というカンファレンスへ参加してきました。午後にあったセッションのまとめです。午前のまとめはこちらへどうぞ。 TD;DR; 午後は応用事例について扱いました。Web アプリケーションでの事例と Web 外での事例が 2 件ずつ紹介され、最後に WebAssembly のパイの拡大する様子を振り返りました。よくあるカンファレンスらしい内容だったように思います。 WebAssembly Music オーディオプログラミングの経験が長いスピーカーによる、ライブコーディング環境のデモと紹介でした。この Web アプリでは、SonicPi のように、パターンや音源をコードとして表現することで、音を使ったライブパフォーマンスができます。 ・音の再生パターンを AssemblyScript(?) として表現できる。 ・音色をコントロールは AssemblyScript

                                                                              WebAssembly Summit まとめ(後編)|chikoski
                                                                            • ファーウェイ、独自OS「Harmony OS(鴻蒙OS)」正式発表。制裁解除なくばスマホに搭載へ - すまほん!!

                                                                              すまほん!! » 通信・モバイル » メーカー » ファーウェイ、独自OS「Harmony OS(鴻蒙OS)」正式発表。制裁解除なくばスマホに搭載へ Huaweiは、HDC2019において、「鴻蒙OS(HongMeng OS)」を正式発表しました。英語名は「Harmony OS」。中国市場にHarmony OSの基盤を築くと謳います。 まずはスマートテレビ「Honor Vision TV」に搭載され、引き続きスマートフォン・タブレットでは可能な限りAndroid OSを使いたい意向ではあるものの、年末か来年初めまでに米国の制裁が解除されない場合、Huaweiは本OSをスマートフォンに搭載するとしています。 Harmony OSの研究開発は4000〜5000人規模。リリース予定は当初2020年であったものの、米国との対立によりリリース時期を前倒しにしたとのこと。 xda-developers

                                                                                ファーウェイ、独自OS「Harmony OS(鴻蒙OS)」正式発表。制裁解除なくばスマホに搭載へ - すまほん!!
                                                                              • WASMバイナリを実行する自作OS, mavisの紹介

                                                                                mavisとは mavisは私がフルスクラッチで開発している自作OSです。 これをビルドしてmake runするとshellが立ち上がり、"hello"コマンドを実行すると"Hello World!"が表示されます。 現状できることはたったこれだけですが、面白いのはその仕組みです。実は上の画像のshellとhello worldプログラムはどちらも WASMバイナリ です。そしてkernelは低レベルなメモリ管理機能とタスク管理機能を除くと、「WASMバイナリをタスクとして実行する」以外の機能を持ちません。つまりkernelがWASM Runtimeであり、それによって"ユーザーランド"を実現しているということです。 このOSは「仮想メモリ」を持ちません。なぜならWASMバイナリは位置独立だからです。WASMはスタックマシンベースの命令セットなので、スタックさえ用意すればどこでも、何度でも

                                                                                  WASMバイナリを実行する自作OS, mavisの紹介
                                                                                • Huaweiがオープンソースな「ハーモニーOS」発表! スマホから自動車まで対応

                                                                                  Huaweiがオープンソースな「ハーモニーOS」発表! スマホから自動車まで対応2019.08.09 17:2427,825 塚本直樹 反撃の狼煙か。 貿易戦争真っ只中の中国Huawei(ファーウェイ)が、オープンソースな独自OS「HarmonyOS」を開発者向け会議にて発表しました! Huaweiによれば、HarmonyOSは「初のマイクロカーネルベースの多用途向けOS」とのこと。スマートフォン、タブレット、スマートスピーカー、スマートウォッチ、ワイヤレスイヤホン、自動車など、多様なデバイスで利用可能。RAMサイズはキロバイトクラスからギガバイトクラスまで想定されています。 HarmonyOSのアプリをビルドするARKコンパイラはKotlin、Java、Javascript、C、C++をサポート。そして将来的には、HTML5やLinux、Androidアプリなどのさまざまなアプリとの互換

                                                                                    Huaweiがオープンソースな「ハーモニーOS」発表! スマホから自動車まで対応