(作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) [電子書籍]
    • (作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) [電子書籍]

    • ¥3,520704 ゴールドポイント(20%還元)
    • すぐ読めます
100000086602769009

(作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) [電子書籍]

hikalium(著者)
価格:¥3,520(税込)
ゴールドポイント:704 ゴールドポイント(20%還元)(¥704相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
出版社:技術評論社
公開日: 2025年04月28日
すぐ読めます。
お取り扱い: のお取り扱い商品です。
ご確認事項:電子書籍リーダーアプリ「Doly」専用コンテンツ
こちらの商品は電子書籍版です

(作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) の 商品概要

  • Webサイトの閲覧をはじめとして,コンピューターはさまざまな場面でみなさんの日常と密接にかかわっています。しかし,その裏側で起きていることを理解するのは,現代の複雑なコンピューターシステムの上では困難です。そこで本書では,シンプルなOSをRustを用いて実装し,普段は見えないOSの役割とその動作を理解していきます。Ⅰ巻ではメモリ管理,マルクタスク,ハードウェア制御に関する部分を実装し,Ⅱ巻ではユーザーインタフェース,アプリケーション実行,インターネットへの接続に関する部分を実装します。既刊の『[作って学ぶ]ブラウザのしくみ』で実装するブラウザは,本書で実装するOS上で動作することを想定しています。ですので,本書と『[作って学ぶ]ブラウザのしくみ』で,OSの動作と,そのOS上でブラウザなどのアプリがどのように動作しているのかとを理解できます。
  • 目次

    第1章:OSとは──コンピューターの裏側を支えるソフトウェアを知る
    OSとは何か
    本書で実装するOSの全体像
    本題に入る前に

    第2章:ベアメタルプログラミングをしてみる──OSのない世界でプログラムを動かすための準備
    コンピューターの構成要素
    メモリ
    CPU
    ・・・
    すべてはバイナリ
    すべてのデータは2進法で表現できる
    画像のバイナリ表現
    ・・・
    UEFIアプリケーションを作ってみる
    開発環境の構築
    Hello, worldを書いてみる
    ・・・
    UEFIからの脱却
    "Hello, world"はどこへ行く?
    no_stdで生きていく──coreクレートと歩むベアメタル生活
    ・・・
    Rustの便利機能を活用する
    ビルドや実行を簡単にする
    cargo clippyとHLT命令──CPUを無駄に回さないようにする
    ・・・
    もっと色々なものを描く
    四角形を描く
    線分を描く
    ・・・
    writeln!()マクロを使ってみる
    メモリマップを表示する
    図形描画のコードを整理する
    ・・・

    第3章:メモリ管理を実装しよう──限りある資源を効率良く使えるようにする
    OSとメモリの関係
    メモリとは何か
    メモリ管理とは何か
    実装前の準備
    ソースコードの整理──ファイルを分割する
    cargo testが通らない理由
    ・・・
    バイト単位のアロケータを実装する
    アライメントはなぜ必要か
    簡単なメモリアロケータの実装
    OSのテストをRustで書く
    シリアルポート出力の実装
    デバッグを便利にする関数たちを実装する
    ページング──より高度なメモリ管理を行う
    ページングとは
    x86_64におけるページング
    ・・・

    第4章:マルチタスクを実装しよう──1つのCPUで複数の作業を並行して行う方法について知る
    マルチタスクとは何か
    マルチタスクの例
    簡単にマルチタスクもどきを実装してみる
    Rustのasync/awaitで協調的マルチタスクをする
    aync/awaitを使えるようにする
    時間経過を計る
    ・・・
    ソースコードの整理
    HPETの初期化処理をリファクタリングする
    メモリアロケータの初期化を関数に切り出す
    ・・・

    第5章:ハードウェアを制御する(1)──デバイスを動かす方法を知る
    OSとハードウェアの関係
    Port Mapped I/OとMemory Mapped I/O
    Port Mapped I/Oの例──シリアル入力を実装する
    PCIとは
    PCIの概要
    Bus,Device,Function
    ・・・
    PCIデバイスの一覧を取得する
    PCI Configuration空間
    ECAM──Enhanced Configuration Access Method
    ・・・
    USBコントローラ(xHCI)のドライバを実装する
    USBとは
    xHCIとは
    ・・・

    第6章:ハードウェアを制御する(2)──USBデバイスを使えるようにする
    USBデバイスの情報を取得する
    Device Descriptorの取得
    デバイスクラス
    ・・・
    USBキーボードを使えるようにする
    USBキーボードの基本
    キーの押下状態から変化したキーを特定する
    ・・・
    USBマウス……もといタブレット入力を使えるようにする
    HIDレポートディスクリプタを解析する
    USBタブレットの状態変化を表示する
    ・・・

    Appendix:実ハードウェアでの起動を試す
    USBメモリをFATファイルシステムでフォーマットする
    WasabiOSをUSBメモリに書き込む
    USBメモリからの起動
    実機で試すときの注意点

(作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) の商品スペック

シリーズ名 WEB+DB PRESS plus
Cコード 3055
出版社名 技術評論社
本文検索
他の技術評論社の電子書籍を探す
紙の本のISBN-13 9784297148591
ファイルサイズ 12.2MB
著者名 hikalium
著述名 著者

    技術評論社 (作って学ぶ)OSのしくみⅠ ──メモリ管理、マルチタスク、ハードウェア制御(技術評論社) [電子書籍] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!