二維碼:
html
簡要內容:
1.瞭解Linux操做系統
2.掌握核心的Linux命令:find/locate/cheat/grep/which/whereis,熟練應用「搜索」進行觸類旁通的學習
3.使用Linux中用戶管理命令/系統相關命令/文件目錄相關命令/打包壓縮相關命令/比較合併相關命令/網絡相關命令等git
二維碼:
web
簡要內容:
1.熟悉Linux系統下的開發環境
2.熟悉vi的基本操做
3.熟悉gcc編譯器的基本原理
4.熟練使用gcc編譯器的經常使用選項
5.熟練使用gdb調試技術
6.熟悉makefile基本原理及語法規範
7.掌握靜態庫和動態庫的生成與調用方法編程
二維碼:
數組
簡要內容:
1.理解二進制在計算機中的重要地位
2.掌握布爾運算在C語言中的應用
3.理解有符號整數、無符號整數、浮點數的表示
4.理解補碼的重要性
5.能避免C語言中溢出,數據類型轉換中的陷阱和可能會致使的漏洞
6.進一步理解「信息=位+上下文」緩存
二維碼:
安全
簡要內容:
1.理解逆向的概念
2.掌握X86彙編基礎,可以閱讀(反)彙編代碼
3.瞭解ISA(指令集體系結構)
4.理解函數調用棧幀的概念,並能用GDB進行調試
5.閱讀教材,完成課後練習(書中有參考答案),考覈:練習題把數據變換一下
6.教材3.1-3.7節中練習,重點:3.1,3.3,3.5,3.6,3.9,3.14,3.15,3.16,3.22,3.23,3.27,3.29,3.30,3.33,3.34服務器
二維碼:
網絡
簡要內容:
1.瞭解ISA抽象的做用
2.掌握ISA,並能觸類旁通學習其餘體系結構
3.瞭解流水線和實現方式
4.教材4.1-4.3中練習,重點:4.1 4.2 4.5 4.6 4.8 4.10 4.11 4.12 4.16 4.17 4.19 4.21 4.24併發
二維碼:
簡要內容:
1.瞭解常見的存儲技術(RAM、ROM、磁盤、固態硬盤等)
2.理解局部性原理
3.理解緩存思想
4.理解局部性原理和緩存思想在存儲層次結構中的應用
5.高速緩存的原理和應用
二維碼:
簡要內容:
1.複習Linux命令,特別是man -k, cheat, grep -nr xxx /usr/include
2.複習vi, gcc, gdb,make的使用
3.複習教材內容ch01 ch02 ch03 ch04 ch06 ch07
4.複習前面的考題,下次考試考每次考試錯的最多的題目
二維碼:
簡要內容:
1.掌握系統編程和系統調用的概念
2.掌握系統編程錯誤處理的方式
3.掌握Unix/Linux系統級I/O:open close read write seek stat
4.掌握RIO
5.掌握I/O重定向的方法
二維碼:
簡要內容:
1.掌握系統編程和系統調用的概念
2.掌握系統編程錯誤處理的方式
3.掌握Unix/Linux系統級I/O:open close read write seek stat
4.掌握RIO
5.掌握I/O重定向的方法
二維碼:
簡要內容:
1.瞭解異常及其種類
2.理解進程和併發的概念
3.掌握進程建立和控制的系統調用及函數使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,
4.理解數組指針、指針數組、函數指針、指針函數的區別
5.理解信號機制:kill,alarm,signal,sigaction
6.掌握管道和I/O重定向:pipe, dup, dup2
二維碼:
簡要內容:
1.第九周代碼檢查
2.第十週代碼檢查
3.第十一週代碼檢查
4.項目
二維碼:
簡要內容:
1.掌握三種併發的方式:進程、線程、I/O多路複用
2.掌握線程控制及相關係統調用
3.掌握線程同步互斥及相關係統調用
二維碼:
簡要內容:
1.理解虛擬存儲器的概念和做用
2.理解地址翻譯的概念
3.理解存儲器映射
4.掌握動態存儲器分配的方法
5.理解垃圾收集的概念
6.瞭解C語言中與存儲器有關的錯誤
二維碼:
二維碼:
二維碼:
二維碼:
二維碼:
代碼驅動的學習作到沒有?
作到了,前面老師並無要求要以周或者單元分類代碼,因此沒有整理,基本上本身敲完代碼截圖完後就沒管了,到後面老師寫了一篇關於代碼驅動的博客教咱們如何進行代碼驅動,首先下載git,而後新建文件夾,按每章節分類,把代碼所有整合進去,後造成一個代碼樹分支,這樣作很是有效以及方便本身找尋東西
加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得
說實話本身在代碼上並無太多的理解,每次都只是敲了老師給的代碼,而後運行編譯,而後經過看書有一些基礎的代碼語法的瞭解,加點代碼或者改點代碼沒有作過,以爲本身看到代碼都以爲很煩躁,以爲學習了書上的內容就足以應付考試了,這學期的書上的內容每一章我都有認真學習,理論的知識不少甚至我均可以背下來不少地方也有本身的理解,可是老師考試一出代碼題就以爲本身什麼都不會了,一種深深的挫敗感,因此我認爲代碼的理解和學習是很是有必要的
實踐上有什麼經驗教訓
說到實踐想必不少同窗和我同樣,只是敲了代碼,運行而後編譯以爲本身已經進行了實踐,其實並無去理解代碼,以爲運行截圖而後放在博客裏就表示本身已經學習了,這是一種自欺欺人的手法,看書上的內容應付考試百分之八十已經足夠了,可是若是不理解的話,遇到代碼問題就只會單純的編譯運行命令,說實話並無什麼做用
總體評價一下第0周做業中本身提出的問題是否是抓住了學習重點
剛剛看了一下本身第0周的博客,感受提出的問題並無抓到重點,提出的只是一些小細節的概念問題,對於主要的大致誑街都沒有把握住
對第0周問題的回答:
1.各類存儲設備之間是怎樣進行交流的
CPU是中央處理器,是控制和運算器;存儲器的功能是存儲程序、數據和各類信號、命令等信息,並在須要時提供這些信息;I/O接口是輸入/輸出的接口;硬盤(儲存器)就是經過I/O接口,把數據送到內存中供CPU處理的
2.浮點表示方式在計算機中是如何實現的?
浮點數是屬於有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個實數。具體的說,這個實數由一個整數或定點數(即尾數)乘以某個基數(計算機中一般是2)的整數次冪獲得,這種表示方法相似於基數爲10的科學記數法。
3.機器級表示是什麼?
機器使用二級制數0/1串表示數據,咱們叫作位級表示,x86計算機,用8位表示一個字符,用32位表示一個整數,用64位表示一個浮點數。
4.計算機處理器是如何設計的?
5.什麼是最小二乘方擬合?
尋求與給定點 {(Xi,Yi)}(i=0,1,…,m)的距離平方和爲最小的曲線y=p(x).函數p(x)稱爲擬合函數或最小二乘解,求擬合函數p(x)的方法稱爲曲線擬合的最小二乘法.
6.基本存儲技術都包括哪些?
7.動態連接共享庫如何實現?
動態共享庫是被全部使用它的應用程序共享的,不管調用一個動態共享庫的進程有多少,系統中始終只運行着一個動態共享庫,這裏動態共享庫中「共享」的含義。至於「動態」,則主要強調的是連接發生在什麼階段。對於靜態連接庫而言,連接過程發生在編譯階段,操做系統在加載程序時再也不對程序作任何改變
8.系統是如何處理遇到的突發情況
9.虛擬存儲器如何工做?它有什麼特性?
在具備層次結構存儲器的計算機系統中,自動實現部分裝入和部分替換功能,能從邏輯上爲用戶提供一個比物理貯存容量大得多,可尋址的「主存儲器」;擬內存的做用 內存在計算機中的做用很大,電腦中全部運行的程序都須要通過內存來執行,若是執行的程序很大或不少,就會致使內存消耗殆盡。爲了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬盤空間來充當內存使用,當內存佔用完時,電腦就會自動調用硬盤來充當內存,以緩解內存的緊張。
10.咱們該使用哪些I/O函數?
11.web服務器如何搭建?
12.併發編程是什麼?
所謂併發編程是指在一臺處理器上「同時」處理多個任務。併發是在同一實體上的多個事件。多個事件在同一時間間隔發生。
本身的收穫
首先在第一週的時候閱讀老師給的博客,因爲新學期的熱血沸騰本身學習得真的很認真,並且還被老師評爲了優秀博客,到後面貪玩了幾周進入了待及格,經過每週多寫一篇博客以及找老師驗收代碼加了幾分,而且端正了本身的學習態度,每週固定在週三開始學習,天天學習的內容很少,可是必定會弄懂,書上的內容理解得還挺透徹的,以前老師開玩笑說若是經過看書本的新舊程度判分數的話不會差不少,我當時以爲很奇怪,如今以爲真的是這個道理,如今個人課本每頁都有本身的標記本身的理解,因爲時間夠充足固然效率會提升不少,不會盲目的過一遍書。說實話我以前習慣於到週末「一天一本書,一週一學期」的考試模式,如今以爲這種方式比較起來學得東西固然會更多,細嚼慢嚥比囫圇吞棗更讓人感到舒服
本身須要改進的地方
本身每週看老師的要求學習任務,只是會機械的完成,除了任務外的東西多一點點都不會作,直到那周要交實驗博客的時候,以前的累計着一直沒寫,那一週寫了7篇博客,真的是寫得快窒息了,以爲本身又開始拖任務了,因此我須要改進的地方仍是不要把事情拖到最後一刻以及多學一點點東西並不會浪費時間而是掌握技能