はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    ChatGPT

『Writing an OS in Rust (Second Edition)』

  • 人気
  • 新着
  • すべて
  • ページング入門 | Writing an OS in Rust

    4 users

    os.phil-opp.com

    この記事は翻訳されたものです: この記事はIntroduction to Pagingをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @swnakamura 及び @JohnTitor. この記事ではページングを紹介します。これは、私達のオペレーティングシステムにも使う、とても一般的なメモリ管理方式です。なぜメモリの分離が必要なのか、セグメンテーションがどういう仕組みなのか、仮想メモリとは何なのか、ページングがいかにしてメモリ断片化 (フラグメンテーション) の問題を解決するのかを説明します。また、x86_64アーキテクチャにおける、マルチレベルページテーブルのレイアウトについても説明します。 このブログの内容は GitHub 上で公開・開発されています

    • テクノロジー
    • 2023/02/26 18:15
    • あとで読む
    • Async/Await | Writing an OS in Rust

      6 users

      os.phil-opp.com

      この記事は翻訳されたものです: この記事はAsync/Awaitをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @kahirokunn, @garasubo, @sozysozbot 及び @swnakamura. With contributions from @asami-kawasaki 及び @Foo-x. この記事では、Rustの協調的マルチタスクとasync/await機能について説明します。Rustのasync/await機能については、Future trait の設計、ステートマシンの変換、 pinning などを含めて詳しく説明します。そして、非同期キーボードタスクと基本的なexecutorを作成することで、カーネルにasync/awa

      • テクノロジー
      • 2021/08/27 00:59
      • rust
      • os
      • あとで読む
      • Writing an OS in Rust

        33 users

        os.phil-opp.com

        このブログシリーズでは、ちょっとしたオペレーティングシステムをRustプログラミング言語を使って作ります。それぞれの記事が小さなチュートリアルになっており、必要なコードも全て記事内に記されているので、一つずつ読み進めて行けば理解できるでしょう。対応したGithubリポジトリでソースコードを見ることもできます。 最新記事: Async/Await

        • テクノロジー
        • 2021/02/02 01:48
        • rust
        • OS
        • チュートリアル
        • プログラミング
        • あとで読む
        • techfeed
        • Pocket
        • フリースタンディングな Rust バイナリ | Writing an OS in Rust

          9 users

          os.phil-opp.com

          この記事は翻訳されたものです: この記事はA Freestanding Rust Binaryをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @JohnTitor. 私達自身のオペレーティングシステム(以下、OS)カーネルを作っていく最初のステップは標準ライブラリとリンクしない Rust の実行可能ファイルをつくることです。これにより、基盤となる OS がないベアメタル上で Rust のコードを実行することができるようになります。 このブログの内容は GitHub 上で公開・開発されています。何か問題や質問などがあれば issue をたててください (訳注: リンクは原文(英語)のものになります)。またこちらにコメントを残すこともできます。この記事の完全

          • テクノロジー
          • 2021/01/18 13:06
          • OS
          • Async/Await | Writing an OS in Rust

            7 users

            os.phil-opp.com

            In this post, we explore cooperative multitasking and the async/await feature of Rust. We take a detailed look at how async/await works in Rust, including the design of the Future trait, the state machine transformation, and pinning. We then add basic support for async/await to our kernel by creating an asynchronous keyboard task and a basic executor. This blog is openly developed on GitHub. If yo

            • テクノロジー
            • 2020/04/01 09:52
            • Rust
            • Heap Allocation | Writing an OS in Rust

              6 users

              os.phil-opp.com

              This post adds support for heap allocation to our kernel. First, it gives an introduction to dynamic memory and shows how the borrow checker prevents common allocation errors. It then implements the basic allocation interface of Rust, creates a heap memory region, and sets up an allocator crate. At the end of this post, all the allocation and collection types of the built-in alloc crate will be av

              • テクノロジー
              • 2019/06/27 14:50
              • Advanced Paging | Writing an OS in Rust

                3 users

                os.phil-opp.com

                This post explains techniques to make the physical page table frames accessible to our kernel. It then uses such a technique to implement a function that translates virtual to physical addresses. It also explains how to create new mappings in the page tables. This blog is openly developed on GitHub. If you have any problems or questions, please open an issue there. You can also leave comments at t

                • テクノロジー
                • 2019/01/29 01:11
                • Introduction to Paging | Writing an OS in Rust

                  4 users

                  os.phil-opp.com

                  This post introduces paging, a very common memory management scheme that we will also use for our operating system. It explains why memory isolation is needed, how segmentation works, what virtual memory is, and how paging solves memory fragmentation issues. It also explores the layout of multilevel page tables on the x86_64 architecture. This blog is openly developed on GitHub. If you have any pr

                  • テクノロジー
                  • 2019/01/15 13:30
                  • Hardware Interrupts | Writing an OS in Rust

                    5 users

                    os.phil-opp.com

                    In this post, we set up the programmable interrupt controller to correctly forward hardware interrupts to the CPU. To handle these interrupts, we add new entries to our interrupt descriptor table, just like we did for our exception handlers. We will learn how to get periodic timer interrupts and how to get input from the keyboard. This blog is openly developed on GitHub. If you have any problems o

                    • テクノロジー
                    • 2018/10/23 10:35
                    • Writing an OS in Rust (Second Edition)

                      12 users

                      os.phil-opp.com

                      • テクノロジー
                      • 2018/03/10 17:54
                      • Rust
                      • OS
                      • Writing an OS in pure Rust | Writing an OS in Rust

                        5 users

                        os.phil-opp.com

                        Over the past six months we’ve been working on a second edition of this blog. Our goals for this new version are numerous and we are still not done yet, but today we reached a major milestone: It is now possible to build the OS natively on Windows, macOS, and Linux without any non-Rust dependendencies. The first edition required several C-tools for building: We used the GRUB bootloader for booting

                        • テクノロジー
                        • 2018/03/10 10:44
                        • Rust
                        • OS
                        • A Minimal Rust Kernel | Writing an OS in Rust

                          5 users

                          os.phil-opp.com

                          In this post, we create a minimal 64-bit Rust kernel for the x86 architecture. We build upon the freestanding Rust binary from the previous post to create a bootable disk image that prints something to the screen. This blog is openly developed on GitHub. If you have any problems or questions, please open an issue there. You can also leave comments at the bottom. The complete source code for this p

                          • テクノロジー
                          • 2018/02/14 04:54
                          • あとで読む
                          • Handling Exceptions | Writing an OS in Rust (First Edition)

                            7 users

                            os.phil-opp.com

                            No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In this post, we start exploring CPU exceptions. Exceptions occur in various erroneous situations, for example when accessing an invalid memory address or when dividing by zero. To catch them, we have to set up an interrupt descriptor tabl

                            • テクノロジー
                            • 2017/03/26 23:46
                            • Rust
                            • Better Exception Messages | Writing an OS in Rust (First Edition)

                              4 users

                              os.phil-opp.com

                              Aug 03, 2016 (updated on Nov 01, 2016) No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In this post, we explore exceptions in more detail. Our goal is to print additional information when an exception occurs, for example the values of the instruction and stack pointer. In the course of

                              • テクノロジー
                              • 2016/08/04 09:57
                              • Rust
                              • os
                              • Catching Exceptions | Writing an OS in Rust (First Edition)

                                5 users

                                os.phil-opp.com

                                May 28, 2016 (updated on Jun 25, 2016) No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In this post, we start exploring exceptions. We set up an interrupt descriptor table and add handler functions. At the end of this post, our kernel will be able to catch divide-by-zero faults. As alwa

                                • テクノロジー
                                • 2016/05/29 05:44
                                • Rust
                                • OS
                                • Kernel Heap | Writing an OS in Rust (First Edition)

                                  7 users

                                  os.phil-opp.com

                                  Apr 11, 2016 (updated on Nov 19, 2017) No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In the previous posts we created a frame allocator and a page table module. Now we are ready to create a kernel heap and a memory allocator. Thus, we will unlock Box, Vec, BTreeMap, and the rest of th

                                  • テクノロジー
                                  • 2016/04/12 18:51
                                  • Rust
                                  • Kernel
                                  • OS
                                  • A minimal Multiboot Kernel | Writing an OS in Rust (First Edition)

                                    5 users

                                    os.phil-opp.com

                                    Converted to a x86 assembly file it looks like this (Intel syntax): section .multiboot_header header_start: dd 0xe85250d6 ; magic number (multiboot 2) dd 0 ; architecture 0 (protected mode i386) dd header_end - header_start ; header length ; checksum dd 0x100000000 - (0xe85250d6 + 0 + (header_end - header_start)) ; insert optional multiboot tags here ; required end tag dw 0 ; type dw 0 ; flags dd

                                    • テクノロジー
                                    • 2016/01/17 20:44
                                    • Remap the Kernel | Writing an OS in Rust (First Edition)

                                      6 users

                                      os.phil-opp.com

                                      Jan 01, 2016 (updated on Mar 06, 2016) No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In this post we will create a new page table to map the kernel sections correctly. Therefore we will extend the paging module to support modifications of inactive page tables as well. Then we will swi

                                      • テクノロジー
                                      • 2016/01/02 20:21
                                      • kernel
                                      • Rust
                                      • あとで読む
                                      • Allocating Frames | Writing an OS in Rust (First Edition)

                                        5 users

                                        os.phil-opp.com

                                        No longer updated! You are viewing the a post of the first edition of “Writing an OS in Rust”, which is no longer updated. You can find the second edition here. In this post we create an allocator that provides free physical frames for a future paging module. To get the required information about available and used memory we use the Multiboot information structure. Additionally, we improve the pan

                                        • テクノロジー
                                        • 2015/11/17 08:25
                                        • Rust
                                        • Writing an OS in Rust (Second Edition)

                                          183 users

                                          os.phil-opp.com

                                          This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code, so you can follow along if you like. The source code is also available in the corresponding Github repository. Latest post: Async/Await The first step in creating our own operating system kernel is to create a Rust executable that does not link the standar

                                          • テクノロジー
                                          • 2015/10/26 05:52
                                          • rust
                                          • OS
                                          • kernel
                                          • Operating System
                                          • x86
                                          • 自作os
                                          • あとで読む
                                          • OS自作
                                          • programming
                                          • tutorial

                                          このページはまだ
                                          ブックマークされていません

                                          このページを最初にブックマークしてみませんか?

                                          『Writing an OS in Rust (Second Edition)』の新着エントリーを見る

                                          キーボードショートカット一覧

                                          j次のブックマーク

                                          k前のブックマーク

                                          lあとで読む

                                          eコメント一覧を開く

                                          oページを開く

                                          はてなブックマーク

                                          • 総合
                                          • 一般
                                          • 世の中
                                          • 政治と経済
                                          • 暮らし
                                          • 学び
                                          • テクノロジー
                                          • エンタメ
                                          • アニメとゲーム
                                          • おもしろ
                                          • アプリ・拡張機能
                                          • 開発ブログ
                                          • ヘルプ
                                          • お問い合わせ
                                          • ガイドライン
                                          • 利用規約
                                          • プライバシーポリシー
                                          • 利用者情報の外部送信について
                                          • ガイドライン
                                          • 利用規約
                                          • プライバシーポリシー
                                          • 利用者情報の外部送信について

                                          公式Twitter

                                          • 公式アカウント
                                          • ホットエントリー

                                          はてなのサービス

                                          • はてなブログ
                                          • はてなブログPro
                                          • 人力検索はてな
                                          • はてなブログ タグ
                                          • はてなニュース
                                          • ソレドコ
                                          • App Storeからダウンロード
                                          • Google Playで手に入れよう
                                          Copyright © 2005-2025 Hatena. All Rights Reserved.
                                          設定を変更しましたx