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