標籤:style blog http java color 使用
《軟硬體介面》課程大綱
Coursera課程 The Hardware/Software Interface是華盛頓大學提供的一門課程,其中組合語言、進程結構、Java實現等章節內容我認為對於學編程的同學來說非常有用。教學環境是Fedora,順帶介紹了一些常用工具的使用。
課程大綱
- 這門課程將會讓學生知道當軟體運行時到底發生了什麼,並說明這個問題可以通過硬體架構層、彙編層、C語言層和Java層等數層抽象解答。-
- 這門課程的核心是關於C、彙編、以及底層資料表示的,但同時與更高層(Java語言實現機理)、更底層(處理器通用架構)、作業系統(無關作業系統的實現)相關。
- 對於那些想要專註於高層抽象的電腦專業學生來說,這門課可能是他們學習到的關於C語言及以更下層的唯一課程。不過,他們大多能夠同時學到一些系統編程、硬體設計與實現、作業系統、編譯器等知識。
- 對於對硬體、嵌入式系統、電腦工程、電腦架構等感興趣的學生來說,這門課程是一門入門課程,後續課程會在特定領域更加深入,並且會關注更下層的硬體實現、電路設計等。
課程主題
本課程主要有三個主題。
- 表示:不同的資料類型,如整數和結構體數組,在記憶體中如何存在?指令如何編碼?如何產生記憶體位址並用於建立複雜的資料結構?
- 翻譯:高層的語言,如C和Java如何轉換成硬體處理器的基本指令?
- 控制流程:電腦如何阻止計算的順序,如何跟蹤大型程式當前的運行軌跡,多個進程如何並存執行?
課程目標
課程結束後,學生應該能夠
- 理解高層次的程式轉換成可以被處理器執行的指令流的過程
- 知道指標是什麼,以及如何使用指標操縱複雜的資料結構
- 能夠使用X86組合語言寫簡短的程式,並理解組合語言和高層次語言如何映射
- 理解分級儲存空間的基主要組織和參數,理解它對於系統效能的重要性
- 能夠解釋清楚作業系統的功能
- 知道Java和C的本質區別
- 理解並行機制以及它在系統級的重要性
- 成為更高效的程式員,更有效debug,對系統效能更敏感
課程專題
大約每周一個專題,包括
- 數位表示
- 組合語言
- C語言基礎
- 記憶體管理
- 作業系統的進程模型
- 高層次機器架構
- 分級儲存空間
- 高層次語言的實現
轉載請註明Focustc,部落格地址為http://blog.csdn.net/caozhk,原文連結為點我