MIT 6.828 Lab04 : Preemptive Multitasking
相關推薦
MIT 6.828 Lab04 : Preemptive Multitasking
[TOC] *** 在本實驗中,我們將在多個同時活動的使用者模式環境中實施搶佔式多工處理。 - PartA: - 為 JOS 增添多處理器支援特性。 - 實現 `round-robin scheduling`迴圈排程。 - 新增一個基本的環境(程序)管理系統呼叫(建立和銷燬環境,分配和對映記
MIT-6.828 Lab1實驗報告
imp 彈出 遞歸調用 switch語句 kde 信息 編譯器 化工 x86匯編 Lab1:Booting a PC 概述 本文主要介紹lab1,從內容上分為三部分,part1簡單介紹了匯編語言,物理內存地址空間,BIOS。part2介紹了BIOS從磁盤0號扇區讀取boot
《MIT 6.828 Homework 1: boot xv6》解題報告
本作業的網站連結:MIT 6.828 Homework 1: boot xv6 問題 Exercise: What is on the stack? While stopped at the above breakpoint, look at the registers and the stack
MIT 6.828課程引導部分的解讀
引導程式碼位於boot資料夾下,由一個16位與32位彙編混合的彙編檔案(boot.S)和一個C語言檔案(main.c)組成。 程式的入口在boot.S中,採用的是AT&T語法,下面先對這個檔案進行分析: #include <inc/mmu.h> 在inc資料夾下有一個mm
《MIT 6.828 Lab 1 Exercise 12》實驗報告
本實驗的網站連結:MIT 6.828 Lab 1 Exercise 12。 題目 Exercise 12. Modify your stack backtrace function to display, for each eip, the function name, source file na
MIT-6.828-JOS-lab5:File system, Spawn and Shell
依然 目前 相同 系統服務 ace 訪問 structure rst 根目錄 Lab 5: File system, Spawn and Shell tags: mit-6.828 os 概述 本lab將實現JOS的文件系統,只要包括如下四部分: 引入一個文件系統進程(
MIT-6.828-JOS-lab5:Network Driver
MIT-6.828 Lab 6: Network Driver (default final project) tags: mit-6.828 os 概述 本lab是6.828預設的最後一個實驗,圍繞網路展開。主要就做了一件事情。 從0實現網路驅動。 還提到一些比較重要的概念: 記憶體對映I
MIT-6.828 環境搭建
MIT 6.828是作業系統中最經典的一門課程。完成所有的lab就相當於完成了一個迷你的作業系統。我跟的是2018年的課程,課程首頁在6.828課程官網。當然所有資料都是英文的,所以難度也不低,這裡推薦幾本非常有用的參考書:《x86組合語言-從真實模式到保護模式》,《程式設計師的自我修養-連結、裝載與庫》,《
MIT-6.828 Lab2實驗報告
MIT-6.828 Lab 2: Memory Management實驗報告 tags:mit-6.828 os 概述 本文主要介紹lab2,講的是作業系統記憶體管理,從內容上分為三部分: 第一部分講的是實體記憶體管理,要進行記憶體管理首先需要知道哪些實體記憶體是空閒的,哪些是被使用的。還需要實現一些函式
MIT-6.828 Lab3實驗報
Lab 3: User Environments實驗報告 tags:mit-6.828 os 概述: 本文是lab3的實驗報告,主要介紹JOS中的程序,異常處理,系統呼叫。內容上分為三部分: 使用者環境建立,可以載入使用者ELF檔案並執行。 建立異常處理機制。 提供系統呼叫的能力。 Part A: Us
mit-6.828 Lab01:Booting a PC Part2 理論知識
# Part 2 [TOC] ## 學習理論知識 ### 反彙編 把機器語言轉換為組合語言程式碼 ### 扇區 對於PC來說,軟盤,硬碟都可以被劃分為一個個大小為512位元組的區域,叫做**扇區**。一個扇區是一次磁碟操作的最小粒度。每一次讀取或者寫入操作都必須是一個或多個扇區。如果一個磁碟
MIT6.828 LAB4 Part C: Preemptive Multitasking and Inter-Process communication (IPC)
Lab 4的最後一部分就是實現搶佔式排程和程序間通訊。 Clock Interrupts and Preemption 先前的排程是程序資源放棄CPU,但是實際中沒有程序會這樣做的,而為了不讓某一程序耗盡CPU資源,需要搶佔式排程,也就需要硬
6.828學習筆記 Exercise 1
rom ges 9.png 跳轉 bios 計算 長跳轉 物理 技術分享 1.The Rom BIOS 計算機啟動時物理地址為0x000ffff0,是在64KB的ROM BIOS的頂端。此時CS為0xf000 and
MIT 6.00.1x學習心得
學習 6.0 try tom 復雜度 都是 本科 編寫 流程 現在是大三上半學期,看了蕭井陌的編程入門指南之後,用了大概一個月的時間終於把MIT 6.00.1x 課程學完了,有編程經驗,但是因為本科是信息工程準備跨考計算機科學,而且不願意當一個只會敲代碼的碼農,所以對於
MIT 6.031 Software Construction 學習筆記:(三) Mutability & Immutability
這節主要是講 可變物件給程式設計帶來的危害,所謂不可變物件,就是整個生命週期中不可變的物件(廢話), e.g. : String 具體來說參見 Basic Java when we discussed snapshot diagrams Risks of mutation r
MIT 6.001:SICP 2nd (word版和chm版)共享下載
MIT 6.001:SICP 2nd (Structure and Interpretation of Computer Programs -Second edition) Harold Abelson and Gerald Jay Sussman 這本
6.828
目錄 Lab 1: Booting a PC Part 1: PC Bootstrap Brennan's Guide to Inline Assembly Simulating the x86 The PC's Physical Address Space The ROM
MIT 6.031 Software Construction 學習筆記:(三) Mutability & Immutability
這節主要是講 可變物件給程式設計帶來的危害,所謂不可變物件,就是整個生命週期中不可變的物件(廢話), e.g. : String Risks of mutation risk1:passing mutable values 看以下兩段程式碼: /** @ret
MIT 6.031 Software Construction 學習筆記:(四) Avoiding Debugging
這章Reading 9: Avoiding Debugging給了我很大的收穫,以前一些 ACMer 的不好的程式碼習慣(當然是為了快速coding)都在這裡暴露無遺 First Defense: Make Bugs Impossible 主要是前面講的一些內容
MIT 6.001X 2016 (13)plotting 繪圖
匯入pylab這個模組 用pylab模組裡 plot這個函式 來畫圖 figure(): 用pylab模組裡的figure 用figure函式在不同的視窗 畫不同的圖 figure(figure_name) figure裡面的引數是圖片的名字, 假如這個名字之前不存在,那他給