xv6學習筆記(4) : 進程 xv6所有程序都是單進程、單線程程序。要明白這個概念才好繼續往下看 1. XV6中進程相關的數據結構 在XV6中,與進程有關的數據結構如下 與前述的兩類信息的對應關系如下 操作系統管理進程有關的信息:內核棧kstack,進程的狀態state,進程 ...
Xv 代碼閱讀報告 Topic 肖劍楠 Xv 代碼閱讀報告 Topic . 序 . 上下文切換 . defs.h . swtch.S . 進程調度 . 管道 . 進程調度流程 . Pipe實現概述 . 閱讀心得 . 序 Xv 為了實現CPU多進程化需要解決一系列問題。 . 如何在進程間切換 . 如何讓這一切換變得透明 . 需要鎖機制來避免競爭。 . 內存 資源的自動釋放。 Xv 通過實現上下文切 ...
2014-11-10 19:49 0 2408 推薦指數:
xv6學習筆記(4) : 進程 xv6所有程序都是單進程、單線程程序。要明白這個概念才好繼續往下看 1. XV6中進程相關的數據結構 在XV6中,與進程有關的數據結構如下 與前述的兩類信息的對應關系如下 操作系統管理進程有關的信息:內核棧kstack,進程的狀態state,進程 ...
鎖是操作系統中實現進程同步的重要機制。 基本概念 臨界區(Critical Section)是指對共享數據進行訪問與操作的代碼區域。所謂共享數據,就是可能有多個代碼執行流並發地執行,並在執行中可能會同時訪問的數據。 同步(Synchronization)是指讓兩個或多個進程/線程能夠 ...
Exercise1 源代碼閱讀 1.內存管理部分: kalloc.c vm.c 以及相關其他文件代碼 kalloc.c:char * kalloc(void)負責在需要的時候為用戶空間、內核棧、頁表頁以及緩沖區分配物理內存,將物理地址轉為虛擬地址返回,物理頁大小為4k。void ...
Exercise1 源代碼閱讀 文件系統部分 buf.h fcntl.h stat.h fs.h file.h ide.c bio.c log.c fs.c file.c sysfile.c exec.c 1.buf.h:對xv6中磁盤塊數據結構進行定義,塊大小為512字節 ...
關於SVM的閱讀報告 組員:曾文麗 楊頊 倪元元 2020-03-12 在paper的題目中看到一個關鍵詞——SVM,由於不清楚SVM是什么。尋得兩篇博文: http://www.blogjava.net/zhenandaci/category/31868.html https ...
Unix文件系統 當今的Unix文件系統(Unix File System, UFS)起源於Berkeley Fast File System。和所有的文件系統一樣,Unix文件系統是以塊(Bloc ...
本文將會詳細介紹Xv6操作系統中虛擬內存的初始化過程。 基本概念 32位X86體系結構采用二級頁表來管理虛擬內存。之所以使用二級頁表, 是為了節省頁表所占用的內存,因為沒有內存映射的二級頁表可以不用分配地址來存儲。在這個二級頁表結構中,每個頁的大小為4KB,每個頁表的大小也為4KB,每個頁表項 ...
XV6操作系統是MIT 6.828課程中使用的教學操作系統,是在現代硬件上對Unix V6系統的重寫。XV6總共只有一萬多行,非常適合初學者用於學習和實踐操作系統相關知識。 MIT 6.828的課程網站是https://pdos.csail.mit.edu/6.828/。XV6操作系統有官方文檔 ...