原创 進程和線程總結

感覺上課學的操作系統裏講的並不是很好,找了兩篇文章基本上能總結這兩個東西. 首先是這個:https://www.cnblogs.com/yuanchenqi/articles/6755717.html 裏面提到進程的上下文切換,能更好理解

原创 一個簡單的nosql數據庫vDB的實現

github地址:https://github.com/viktorika/vDB.git 參考資料 這份代碼是參考APUE寫的,採用的結構跟書裏是一模一樣,不一樣的只是代碼風格以及部分細節上的區別,所以本文下面所說的實現則是解釋一下AP

原创 MIT6.828-OS lab1:Booting a PC 記錄

  迴歸初心,從基礎開始再搞起。   環境配置 不多說,都是淚,千萬別用64位系統搞這個東西,搞到最後我都搞不定。(PS:64位系統也可以搞,請參考這篇文章:https://www.dazhuanlan.com/2019/12/30/5e

原创 MIT6.828-OS lab2:Memory Management 記錄

這一章主要講內存分配。   introduction 在這個實驗中,你將會爲你的操作系統寫內存管理代碼。內存管理有兩個部件。 爲了kernel能夠分配並且釋放內存,第一個部件是kernel的物理內存分配器allocator。你的alloc

原创 CS:APP archlab 記錄

Introduction 在本lab中,您將學習流水線Y86處理器的設計和實現,同時優化它和基準程序以最大化性能。 允許您保留對基準程序的任何語義轉換,或者對流水線處理器進行增強,或者兩者。 完成lab後,您將對影響程序性能的代碼和硬件之

原创 CS:APP datalab 記錄

CS:APP這本書真的可以說是計算機的內容 給你從頭講到尾了,雖然每個領域方面的深度不夠,但是已經足夠了,因爲每一個領域都不是這麼簡單就能夠說完的,這本書能把這麼多東西講得很清楚真的不容易,所以看完建議挑戰一下lab。   要求: 不允許

原创 CS:APP bomblab 記錄

任務就是把bomb這個可執行文件裏的炸彈拆掉,他有6組數據,你需要輸入6次來拆除這個炸彈。   簡化流程 你可以新建一個文件叫psol.txt,然後通過下面的執行命令 ./bomb psol.txt 即可把psol.txt裏的數字自動輸入

原创 緩存算法LRU和LFU

LRU cache:鏈表+hash表 思路:維護一個鏈表,鏈表頭爲最近最少使用的,鏈表尾爲最近使用最多的,每次如果命中(如果不知道命中建議先看下操作系統)那麼把節點從鏈表刪去,再放到鏈表末尾,如果沒有命中,則把鏈表頭刪除,把新的放到末尾。

原创 數據結構難點總結

紅黑樹: 紅黑樹的5個特性:   性質1. 節點是紅色或黑色。 性質2. 根是黑色。 性質3. 所有葉子都是黑色(葉子是NULL節點)。 性質4. 每個紅色節點的兩個子節點都是黑色。(從每個葉子到根的所有路徑上不能有兩個連續的紅色節點)

原创 DirectX學習 Tutorial 6

在之前的教程中,世界看起來很無聊,因爲所有對象都以相同的方式點亮。 本教程將介紹簡單照明的概念及其應用方法。 使用的技術將是平行光。 本教程的結果將修改前面的示例以包含光源。 該光源將附在軌道上的立方體上。 可以在中心立方體上看到光的影響

原创 DirectX學習 Tutorial 1

由於內容有點多,而且本人是0基礎學習這個,所以寫博客來幫助記憶。 首先官方給的第一個例子提到了三個東西: device(設備):創建資源 immediate context(直接上下文):應用程序使用直接上下文在緩衝區進行渲染 swap

原创 DirectX學習 Tutorial 7

在上一個教程中,我們爲項目引入了照明。 現在我們將通過向我們的立方體添加紋理來構建它。 此外,我們將介紹常量緩衝區的概念,並解釋如何使用緩衝區通過最小化帶寬使用來加速處理。 本教程的目的是修改中心立方體以將紋理映射到其上。 紋理映射 紋理

原创 DirectX學習 Tutorial 3

這章着重解釋上一章的工作原理。 在教程2中,當我們調用VSSetShader()和PSSetShader()時,我們實際上將着色器綁定到管道中的一個階段。 然後,當我們調用Draw時,我們開始處理傳遞到圖形管道的頂點數據。 着色器位於圖形

原创 DirectX學習 Tutorial 2

這個例子是展示如何渲染個三角形。 首先提到了一個概念頂點緩衝區,顧名思義專門用來存儲頂點的緩衝區,要表示一個三角形則需要存儲三個頂點。 頂點有很多屬性,如法線,顏色等等。頂點的佈局取決於它的屬性如何放在內存裏,頂點通常由一個struct表

原创 DirectX學習 Tutorial 4

這章深入瞭解3d位置和轉換的細節。 首先考慮座標系,在計算機圖形學中,3D空間最常用於笛卡爾座標系。該座標系分爲兩種:左手座標系和右手座標系。詳情請查資料。 現在我們已經討論過座標系,考慮3D空間。 點在不同的空間中具有不同的座標。 作爲