2018-2019-1 20189221 《深入理解计算机系统》第 1 周学习总结
生活随笔
收集整理的這篇文章主要介紹了
2018-2019-1 20189221 《深入理解计算机系统》第 1 周学习总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-2019-1 20189221 《深入學習計算機系統》第 1 周學習總結
第 1 章 計算機系統漫游
這一章通過研究“hello,world”這個簡單程序的生命周期,介紹計算機系統的主要概念和主題
- 1.1 信息就是位+上下文
計算機系統中的一切數據都是由一串比特表示的,區分不同數據對象的唯一方法是我們讀到這些數據對象時的上下文
C語言與Unix操作系統關系密切,是為實踐目的設計的 1.2 程序被其他程序翻譯成不同的格式
gcc -E hello.c -o hello.i /*預處理生成編譯文件*/ gcc -S hello.i -o hello.s /*編譯生成匯編語言程序*/ gcc -C hello.s -o hello.o /*匯編生成可重定位目標程序*/ gcc hello.o -o hello /*鏈接生成可執行目標文件*/
如婁老師上課所講(以Linux中gcc為例):
hello.c—>hello.i—>hello.s—>hello.o—>hello1.3 了解編譯系統如何工作是大有益處的
優化程序性能
理解鏈接時出現的錯誤
避免安全漏洞1.4 處理器讀并解釋存儲在存儲器中的指令
- 1.4.1 系統的硬件組成
典型的硬件組織:總線、I/O設備、主存、處理器 - 1.4.2 運行hello程序
- 1.4.1 系統的硬件組成
- 1.5 高速緩存至關重要
cache及調頁算法對程序性能有極大影響 - 1.6 存儲設備形成層次結構
上一層的存儲器作為低一層存儲器的高速緩存 1.7 操作系統管理硬件
防止硬件被失控的應用程序濫用
向應用程序提供簡單一致的機制來控制復雜而又通常大不相同的低級硬件設備- 1.7.1 進程
進程是OS對正在運行的程序的抽象
上下文切換是保存當前進程的上下文,恢復新進程的上下文 - 1.7.2 線程
進程可以由多個線程組成,線程不獨自占有資源,更易被共享 - 1.7.3 虛擬內存
對每個進程都虛擬全部的內存資源,通過調頁算法完成磁盤到主存的交換 - 1.7.4 文件
文件就是字節序列
- 1.7.1 進程
1.8 系統之間利用網絡通信
使用telnet服務器在遠程主機上運行hello程序用戶在鍵盤上輸入hello
- 客戶端向telnet服務器發送字符串“hello”
- 服務器向shell發送字符串“hello”,shell運行hello程序并將輸出發送給telnet服務器
- telnet服務器向客戶端發送輸出的字符串“hello world\n”
客戶端在顯示器上打印字符串“hello world\n”
1.9 重要主題
- 1.9.1 Amdahl定律
加速比為
\[ S = 1/((1-a)+a/k) \] - 1.9.2 并發和并行
并發指同一時刻:線程級并發指多處理器或超線程(同時多線程)
并行指同時間段:指令級并行指流水線或超標量處理器 - 1.9.3 計算機系統中抽象的重要性
文件是對I/O設備的抽象
虛擬內存是對程序存儲器的抽象
進程是對一個正在運行的程序的抽象
虛擬機是對整個計算機系統的抽象- ...
- 1.9.1 Amdahl定律
轉載于:https://www.cnblogs.com/gdman/p/9817592.html
總結
以上是生活随笔為你收集整理的2018-2019-1 20189221 《深入理解计算机系统》第 1 周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十八篇:java操作Excel要处理和
- 下一篇: POJ2891 Strange Way