Lab 3: User Environments實驗報告 tags:mit-6.828 os 概述: 本文是lab3的實驗報告,主要介紹JOS中的進程,異常處理,系統調用。內容上分為三部分: 用戶環境建立,可以加載用戶ELF文件並執行。(目前還沒有文件系統,需要在內核代碼硬編碼 ...
Introduction 在這個實驗中,我們將實現操作系統的一些基本功能,來實現用戶環境下的進程的正常運行。你將會加強JOS內核的功能,為它增添一些重要的數據結構,用來記錄用戶進程環境的一些信息 創建一個單一的用戶環境,並且加載一個程序運行它。你也可以讓JOS內核能夠完成用戶環境所作出的任何系統調用,以及處理用戶環境產生的各種異常。 Part A: User Environments and Ex ...
2016-05-01 23:28 1 4818 推薦指數:
Lab 3: User Environments實驗報告 tags:mit-6.828 os 概述: 本文是lab3的實驗報告,主要介紹JOS中的進程,異常處理,系統調用。內容上分為三部分: 用戶環境建立,可以加載用戶ELF文件並執行。(目前還沒有文件系統,需要在內核代碼硬編碼 ...
Lab 1 Part 3: The kernel 現在我們將開始具體討論一下JOS內核了。就像boot loader一樣,內核開始的時候也是一些匯編語句,用於設置一些東西,來保證C語言的程序能夠正確的執行。 使用虛擬內存 在運行boot loader時,boot loader中的鏈接 ...
Lab 1: Booting a PC Part 1: PC Bootstrap 介紹這一部分知識的目的就是讓你能夠更加熟悉x86匯編語言,以及PC啟動的整個過程,而且也會首次學習使用QEMU軟件來仿真xv6操作系統,並且配合GDB對操作系統的運行進行調試。 開始學習X86匯編語言 ...
Part 2: The Boot Loader 對於PC來說,軟盤,硬盤都可以被划分為一個個大小為512字節的區域,叫做扇區。一個扇區是一次磁盤操作的最小粒度。每一次讀取或者寫入操作都必須是一個或多個扇區。如果一個磁盤是可以被用來啟動操作系統的,就把這個磁盤的第一個扇區叫做啟動扇區。這一部分介紹 ...
Lab 1 Part 2 The Boot Loader Loading the Kernel 我們現在可以進一步的討論一下boot loader中的C語言的部分,即boot/main.c。但是在我們分析之前,我們應該先回顧一些關於C語言的基礎知識。 Exercise 4: 閱讀 ...
Lab 1 Part 1: PC bootstrap 我們繼續~ PC機的物理地址空間 這一節我們將深入的探究到底PC是如何啟動的。首先我們看一下通常一個PC的物理地址空間是如何布局的: 這張圖僅僅展示了內存空間 ...
Lab3 這個實驗分成了兩個大部分。 1. PartA User Environments and Exception Handling kernel使用Env這個數據結構來trace每一個user enviroment,你需要設計JOS來支持多environments。 kernel維護 ...
Part 3 Kernel Address Space JOS把32位線性地址虛擬空間划分成兩個部分。其中用戶環境(進程運行環境)通常占據低地址的那部分,叫用戶地址空間。而操作系統內核總是占據高地址的部分,叫內核地址空間。這兩個部分的分界線是定義在memlayout.h文件中的一個宏 ULIM ...