2017-2018-1 20155231 《信息安全系统设计基础》第6周学习总结
2017-2018-1 20155231 《信息安全系統設計基礎》第6周學習總結
教材學習內容總結
- 當Unix系統級函數遇到錯誤時,它們典型地會返回―1,并設置全局整數變量errno來表示什么出錯了。程序員應該總是檢查錯誤,但是不幸的是,許多人都忽略了錯誤檢查,因為它使代碼變得臃腫,而且難以讀懂。
- 回收子進程的兩種方法:1,內核的init進程 2,父進程waitpid函數
- 像Unix外殼和Web服務器這樣的程序大量使用了fork和e×ecve函數。外殼是一個交互型的應用程序,它代表用戶運行其他程序。最早的外殼是Sh程序,后面出現了一些變種,比如csh、tcsh、ksh和bash。外殼執行一系列的讀/求值(readeaUte)步驟然后終止。
- 在某些情況下,read和write傳送的字節比應用程序要求的要少,這些不足值不表示有錯誤
實際上,除了EOF,在讀磁盤文件時,將不會遇到不足值,而且在寫磁盤文件時,也不會遇到不足值。如果想創建簡裝的諸如web服務器這樣的網絡應用,就必須通過反復調用read和write處理不足值,直到所有需要的字節都傳送完畢。
教材學習中的問題和解決過程
問題1:wait()函數怎么判斷子進程是否已經結束
問題1解決方案:waitpid()會暫時停止目前進程的執行, 直到有信號來到或子進程結束. 如果在調用wait()時子進程已經結束, 則wait()會立即返回子進程結束狀態值. 子進程的結束狀態值會由參數status 返回, 而子進程的進程識別碼也會一快返回. 如果不在意結束狀態值, 則參數status 可以設成NULL. 參數pid 為欲等待的子進程識別碼。
代碼調試中的問題和解決過程
文件上傳出現了問題,重新整理了一下
代碼托管
上周考試錯題總結
下面可以用二進制精確表示的數有(1/2、1/4、3/8)
我們用一個十六進制的數表示長度w=4的位模式,把數字解釋為補碼,關于其加法逆元的論述正確的是(0x8的加法逆元是-8、0x8的加法逆元是0x8、0xD的加法逆元是3、0xD的加法逆元是0x3)
結對及互評
點評模板:
- 博客中值得學習的或問題:
- xxx
- xxx
- ...
- 代碼中值得學習的或問題:
- xxx
- xxx
- ...
- 其他
本周結對學習情況
- [結對同學學號1](博客鏈接) - 結對照片 - 結對學習內容- XXXX- XXXX- ...其他(感悟、思考等,可選)
本周學習東西很多。有些實驗還沒完成,還在學習。
學習進度條
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第6周 | 299/1800 | 1/5 | 11/1000 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
計劃學習時間:16小時
實際學習時間:11小時
改進情況:
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)
參考資料
- 《深入理解計算機系統V3》學習指導
- ...
轉載于:https://www.cnblogs.com/javasyn/p/7751573.html
總結
以上是生活随笔為你收集整理的2017-2018-1 20155231 《信息安全系统设计基础》第6周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [USACO 08JAN]Haybale
- 下一篇: 《HelloGitHub》第 19 期