MIT 6.828 Lab 2 — メモリ管理の実装

本Labでは、JOSカーネル向けにメモリ管理コードを実装する。物理メモリの割り当てを4096バイト単位(ページ)で行うアロケータと、仮想メモリの管理機能を開発する。 準備 Lab 1のブランチにLab 2のコードをマージする。新たに追加されるファイルは以下の通り: inc/memlayout.h kern/pmap.c kern/pmap.h kern/kclock.h kern/kclock.c 特にmemlayout.hとpmap.hには本Lab ...

10月12日 23:07 投稿

Linuxプロセスの基礎概念とメモリ管理

オペレーティングシステムの役割 オペレーティングシステム(OS)はハードウェアとアプリケーションの間で動作する基盤ソフトウェアです。主な機能は以下の通り: ハードウェアドライバを通じて物理デバイスを管理 システムコールを介してアプリケーションにサービスを提供 リソースの効率的な配分と保護を実現 システムコールとライブラリ関数 システムコールはカーネ ...

7月22日 17:13 投稿

オペレーティングシステムカーネルにおけるメモリ割り当ての基礎実装

ビットマップの実装 MemBitmap構造体は、任意の長さの汎用一次元ビットマップのヘッダーとして使用されます。カーネルはビットマップを再利用可能な項目のセットを追跡するための効率的な方法として使用します。 struct MemBitmap { uint32_t length; PRIVATE_DATA_MEMBER uint8_t *buffer; }; void MemBitmapInit(struct MemBitmap *btmp, uint8_t *bitsBuffe ...

7月1日 17:01 投稿

仮想メモリ管理におけるユーザ空間ページフォールトの処理メカニズム

ページフォールトの基本概念 CPUがアドレスバスを通じて物理メモリやI/Oデバイスにアクセスする際、実際に発行されるのは仮想アドレスであり、MMU(Memory Management Unit)がこれを物理アドレスに変換する。この変換マッピングが未作成の場合、または書き込み権限が不足している場合、MMUはページフォールト例外を発生させる。 プロセスが仮想アドレス空間にアクセスする ...

6月15日 21:56 投稿