原文:MIT 6.828 JOS學習筆記18. Lab 3.2 Part B: Page Faults, Breakpoints Exceptions, and System Calls

現在你的操作系統內核已經具備一定的異常處理能力了,在這部分實驗中,我們將會進一步完善它,使它能夠處理不同類型的中斷 異常。 Handling Page Fault 缺頁中斷是一個非常重要的中斷,因為我們在后續的實驗中,非常依賴於能夠處理缺頁中斷的能力。當缺頁中斷發生時,系統會把引起中斷的線性地址存放到控制寄存器 CR 中。在trap.c 中,已經提供了一個能夠處理這種缺頁異常的函數page fau ...

2016-05-17 21:07 3 3588 推薦指數:

查看詳情

MIT 6.828 JOS學習筆記10. Lab 1 Part 3: The kernel

Lab 1 Part 3: The kernel   現在我們將開始具體討論一下JOS內核了。就像boot loader一樣,內核開始的時候也是一些匯編語句,用於設置一些東西,來保證C語言的程序能夠正確的執行。 使用虛擬內存   在運行boot loader時,boot loader中的鏈接 ...

Tue Mar 08 23:53:00 CST 2016 1 3818
MIT 6.828 JOS學習筆記1. Lab 1 Part 1: PC Bootstrap

Lab 1: Booting a PC Part 1: PC Bootstrap   介紹這一部分知識的目的就是讓你能夠更加熟悉x86匯編語言,以及PC啟動的整個過程,而且也會首次學習使用QEMU軟件來仿真xv6操作系統,並且配合GDB對操作系統的運行進行調試。 開始學習X86匯編語言 ...

Wed Dec 23 06:41:00 CST 2015 7 8694
MIT 6.828 JOS學習筆記4. Lab 1 Part 2.1: The Boot Loader

Part 2: The Boot Loader 對於PC來說,軟盤,硬盤都可以被划分為一個個大小為512字節的區域,叫做扇區。一個扇區是一次磁盤操作的最小粒度。每一次讀取或者寫入操作都必須是一個或多個扇區。如果一個磁盤是可以被用來啟動操作系統的,就把這個磁盤的第一個扇區叫做啟動扇區。這一部分介紹 ...

Thu Feb 25 20:59:00 CST 2016 0 2918
MIT 6.828 JOS學習筆記7. Lab 1 Part 2.2: The Boot Loader

Lab 1 Part 2 The Boot Loader Loading the Kernel 我們現在可以進一步的討論一下boot loader中的C語言的部分,即boot/main.c。但是在我們分析之前,我們應該先回顧一些關於C語言的基礎知識。 Exercise 4:   閱讀 ...

Fri Feb 26 20:58:00 CST 2016 1 2197
MIT 6.828 JOS學習筆記17. Lab 3.1 Part A User Environments

Introduction   在這個實驗中,我們將實現操作系統的一些基本功能,來實現用戶環境下的進程的正常運行。你將會加強JOS內核的功能,為它增添一些重要的數據結構,用來記錄用戶進程環境的一些信息;創建一個單一的用戶環境,並且加載一個程序運行它。你也可以讓JOS內核能夠完成用戶環境所作 ...

Mon May 02 07:28:00 CST 2016 1 4818
MIT 6.828 JOS學習筆記2. Lab 1 Part 1.2: PC bootstrap

Lab 1 Part 1: PC bootstrap   我們繼續~ PC機的物理地址空間   這一節我們將深入的探究到底PC是如何啟動的。首先我們看一下通常一個PC的物理地址空間是如何布局的:         這張圖僅僅展示了內存空間 ...

Sun Dec 27 00:09:00 CST 2015 2 6226
MIT 6.828 JOS學習筆記16. Lab 2.2

Part 3 Kernel Address Space JOS把32位線性地址虛擬空間划分成兩個部分。其中用戶環境(進程運行環境)通常占據低地址的那部分,叫用戶地址空間。而操作系統內核總是占據高地址的部分,叫內核地址空間。這兩個部分的分界線是定義在memlayout.h文件中的一個宏 ULIM ...

Thu Mar 31 10:58:00 CST 2016 2 3987
MIT 6.828 JOS學習筆記15. Lab 2.1

Lab 2: Memory Management   lab2中多出來的幾個文件:   inc/memlayout.h   kern/pmap.c   kern/pmap.h   kern/kclock.h   kern/kclock.c   memlayout.h描述了虛擬地址 ...

Thu Mar 24 01:45:00 CST 2016 3 6133
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM