零碎記事 久違的,昨天打了一整天的游戲,玩的LOL,就只玩刀妹這個英雄,本人絕活。 不得不說,刀妹這個英雄設計得太好玩了,可以說是將游戲中的博弈部分放大到了極致。這個容錯率極低的英雄,每一 ...
實驗說明 深入理解計算機系統 是卡內基梅隆大學計算機專業的計算機體系課程的標配教材,可以在B站看其配套網課 鏈接 。課程由書的作者兩個人共同執教,比較適合有C語言的基礎的同學作為計算機體系構建的課程。但是,僅僅看書收獲還是有限的,所以為了加強Coding,而不是紙上談兵,還需要做這本書配套的實驗,全書總共 個實驗,本次講解Lab 。 實驗條件准備 實驗環境使用Ubuntu,為了減少環境搭建成本,我 ...
2020-08-07 01:45 3 3286 推薦指數:
零碎記事 久違的,昨天打了一整天的游戲,玩的LOL,就只玩刀妹這個英雄,本人絕活。 不得不說,刀妹這個英雄設計得太好玩了,可以說是將游戲中的博弈部分放大到了極致。這個容錯率極低的英雄,每一 ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
實驗的目的是 填寫 bits.c里面的函數,使其按照規定的要求(比如只能使用有限且規定的操作符和數據類型,不能使用控制語句等等)實現函數的功能。 同時 dlc文件是用來檢測 bits.c 里面的函數是否 是按照要求編寫的,有沒有使用非法的數據類型等。 使用方法:./dlc bits.c 檢測 ...
這是CSAPP的第三個實驗,主要讓我們熟悉GDB的使用,理解程序棧幀的結構和緩沖區溢出的原理。 實驗目的 本實驗的目的在於加深對IA-32函數調用規則和棧結構的具體理解。實驗的主要內容是對一個可執行程序“bufbomb”實施一系列緩沖區溢出攻擊(buffer overflow ...
這是CSAPP的第二個實驗,主要讓我們理解代碼的機器級表示,最重要的是理解每個寄存器的作用以及如何使用這些寄存器。本次的實驗內容有點晦澀難懂,對於這些內容多看下習慣就好了。 本次實驗中的bomb文件中共有7個炸彈問題(6個顯式的和1個隱藏的),每條問題只有輸入正確的答案才能進入下一 ...
這個實驗主要是熟悉棧,和了解數據緩存區溢出的問題。 數據緩存區溢出:程序每次調用函數時,會把當前的eip指針保存在棧里面,作為被調用函數返回時的程序指針。在被調用程序里面,棧是向下增長的。所有局部變量都存儲在棧里面(靜態局部變量除外)。假設有一個字符串變量str,在str讀取數據時,如果緩存區 ...
主要涉及計算機中數的表示法: (1)整數: two's complement,即補碼表示法 假設用N位bit表示整數w: 其中最左邊一位為符號位,符號位為0,表示正數,為1表示負數。 (2)浮點數: 浮點數采用類似科學計數法的方式 以float為例:編碼分為三部分:首位為符號位 ...
原文地址:https://billc.io/2019/04/csapp-bomblab/ 寫在前面 CS:APP是這學期的一門硬核課程,應該是目前接觸到最底層的課程了。學校的教學也是嘗試着盡量和CMU同步,課件和習題都直接照搬原版。包括現在着手的第二個實驗室Bomb Lab。這個lab很有 ...