第一周:http://www.cnblogs.com/hxl681207/p/7988760.htmlhtml
在Linux环境下C语言程序的gcc编译运行汇编方法,使用gdb进行调试、设置断点等方法。
第三周:http://www.cnblogs.com/hxl681207/p/7988768.htmljava
教材内容第二章《信息的表示和处理》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第四周:http://www.cnblogs.com/hxl681207/p/7988771.htmlgit
课上未提交题目命令行传入文件实现myod,第十章教材内容学习以及两个重要命令 man -k key1 | grep key2| grep 2和grep -nr XXX /usr/include的掌握。
第五周:http://www.cnblogs.com/hxl681207/p/7988784.html算法
教材内容第三章《程序的机器级表示》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第六周:http://www.cnblogs.com/hxl681207/p/7988791.html编程
教材内容第八章《异常控制流》,第十章《系统级I/O》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第七周:http://www.cnblogs.com/hxl681207/p/7988797.html缓存
教材内容第四章《处理器体系结构》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第八周:http://www.cnblogs.com/hxl681207/p/7988805.html安全
教材内容第十一章《网络编程》简单过一下,教材第十二章《并发编程》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第九周:http://www.cnblogs.com/hxl681207/p/7988809.html服务器
教材内容第六章《存储器层次结构》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第十一周:http://www.cnblogs.com/hxl681207/p/7966813.html网络
教材内容第九章《虚拟存储器》的自主学习,教材内容总结,以及教材和代码学习中遇到的问题和解决。
第十三周:http://www.cnblogs.com/hxl681207/p/8051767.html多线程
从新精学第八章,自认很是重要的一章,对课本内容反复学习,而且所有家庭做业的编写制做,以及蓝墨云中的试题总结,结对学习,给同伴讲解收获和疑惑,共同窗习,共同进步。
第十四周:http://www.cnblogs.com/hxl681207/p/8082268.html
本周老师让咱们学习本身认为学的最差的一章,我学习的是第十二章。一方面,并发进场出如今计算机系统许多不一样的层面上,使用很是普遍;另外一方面,这个知识背景的硬件异常处理程序,Linux信号处理程序很是常见。因此为了更好的深刻理解计算机系统,必需要掌握好这一章的知识,因此借此机会从新学习这一章的内容。
实验(1):http://www.cnblogs.com/hxl681207/p/7988843.html
实验一 开发环境的熟悉:交叉编译环境,目标机与宿主机的联通,目标机运行程序以及最后的清理工做,实验一为小组共同完成。
实验(2):http://www.cnblogs.com/hxl681207/p/7988850.html
实验二 固件程序设计:要用系统管理员身分运行uVision4,破解MDK(破解程序中target必定选ARM),KEIL-MDK 中添加 Z32 SC-000 芯片库,打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32便可被电脑识别,进行下载调试。网上找一下国密算法标准的代码和标准测试代码,在Ubuntu中分别用gcc和gcc-arm编译,并回答四个算法的用途。小组共同完成。
实验(3):http://www.cnblogs.com/hxl681207/p/7988855.html
实验三 实时系统:基于Linux Socket程序设计实现wc(1),使用多线程实现wc服务器并使用同步互斥机制保证计数正确。我的完成。
实验(4):http://www.cnblogs.com/hxl681207/p/7967178.html
实验四 外设驱动程序设计:学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章,在Ubuntu完成资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章的test试验。我的完成。
实验 (5) :http://www.cnblogs.com/hxl681207/p/8046524.html
实验五 通讯协议设计:了解学习Linux下openssl,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5,在Ubuntu中实现对实验二中的“wc服务器”经过混合密码系统进行防御。我的完成。
(1)2017-9-27课堂实践:http://www.cnblogs.com/hxl681207/p/7988764.html
在Linux环境下C语言程序的gcc编译运行汇编方法,使用gdb进行调试、设置断点等方法。 有关设置gdb断点,创建静动态库等课上未提交的题目补充,以及自主编程制做MYOD的实现。
(2)2017-10-25课堂实践:http://www.cnblogs.com/hxl681207/p/7988816.html
课上有关汇编代码的转换和删除的未提交题目的补充,以及教材 p97 2.96 2.97,完备的测试。 课上相关未提交题目的补充,在本身的电脑中完成https://www.shiyanlou.com/courses/231缓冲区溢出漏洞实验的详细实验过程。
(3)第八周课堂测试:http://www.cnblogs.com/hxl681207/p/7988824.html
课上有关X86转Y86和代码反汇编的相关未提交题目的补充,以及课下实践书后习题的实践测试和多线程并发服务器的制做与测试。
(4)第十周课堂实践:http://www.cnblogs.com/hxl681207/p/7988830.html
内心很难受,课上觉得是自动提交,就没有本身去点提交做业,结果谁知道又多了这样一次的学习机会
(5)IPC: http://www.cnblogs.com/hxl681207/p/7988836.html
课上未提交题目有关stat(1)指令的学习及编写的提交以及课下自主学习IPC相关知识。
截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
代码驱动的学习作到没有?
答案是确定的!最开始对于娄老师的给出的代码托管,须要区分出`src`文件和`bin`文件,在使用开源中国git上传的时候是如何作到能够分开传的,在学期的开始仍是存在问题的,后来经过仔细阅读娄老师的[《代码驱动的程序设计学习》](http://www.cnblogs.com/rocedu/p/5927306.html),获得了问题是如何解决的,就好比原来使用gcc的命令只知道使用`gcc a.c -o a`编译`a.c`文件,后来学习了《代码驱动程序设计学习》知道gcc命令还可使用成`gcc /src 13/a.c -o /bin 13/a`这样就能够将`src 13`文件夹中的`a.c`文件编译到`bin 13`中,这样就能够区分出`src`和`bin`文件,此时在使用git上传条理性就会清楚许多。 还有经过学习《代码驱动的程序设计学习》也会使用`tree`命令来查看上传的代码是否有条理性。
加点代码,改点代码是理解的最好方式,参考编程的智慧,谈谈你的心得
咱们在进行代码学习时,运行完代码后能够删改一些代码的内容来查看代码的运行结果有何改变,这样能够更好的理解代码的含义。
实践上有什么经验教训
咱们在进行代码实践时,必定要先了解代码再运行,由于好比线程代码运用到了库的知识,咱们不能用简单的gcc格式直接编译,不然是不能成功的。
其实本身提出的问题,大多都是应付式的问题,有一些是学习的重点但大多都是显而易见的基础知识。可是总的来讲本身仍是学到了东西,知道了
无
本身收获的地方
这门课程是《深刻理解计算机操做系统》目的是系统的理解计算机中硬件和操做系统是具体如何实现应用的,存储器、处理器、还有机器语言都是如何使用的。已是第6个学期了,虽然原来不管是《计算机导论的课程》仍是《c语言程序设计基础》、《Java程序设计基础》都会多多少少了解部分计算机硬件知识。可是经过这一学期的学习对于就计算机这些知识有了更加深刻的理解和感悟。
一样以为最大的收获是会使用Linux操做系统,会使用各类各样的命令来操做计算机包括虚拟机,当在虚拟机下完成一些简单的操做,打开文件,编译运行文件,查看帮助手册,用git托管代码,查看托管日志,都是经过熟练的掌握命令时候就发现成就感满满。
本身不足的地方
不足的地方仍是在于学习上。在第一节课上老师对于这门课程作出了学习计划。首先,对于每周代码的编译数量存在不足,没有严格的按照计划实行。有些老师给的带代码仅仅只是编译了运行告终果,掌握了代码功能,可是并不清楚具体使用的函数是如何实现这些功能的。
有时候惰性太大,博客做业老是想拖到周末去完成。偶尔加上其它课程老是完成的不够好。
若是从新学习,怎么作才能够学的更好:
若是从新学习《深刻理解计算机操做》这门课程,我以为首先须要按照每周的学习计划完成,不管是代码仍是课本知识的学习,可能知识量会很大,可是仍是须要坚持去作。就如同《java程序设计基础》同样,一部跟不上步步跟不上,因此必定要坚持去作
其次是多编译程序,已经学习过c语言和java语言,可能掌握的不是很扎实,但仍是须要多编程多训练。尤为是虚拟机的使用,用经常使用的Linux命令去完成一些打开文件,编译运行文件,查看帮助手册,用git托管代码,查看托管日志等简单操做。也不须要 强行去记忆命令,多多使用,孰能生巧,长时间去练习就能够掌握。
我以为这门课是一门计算机的课程,老师应该在一些重点的知识点方面讲解一下,或者对于测试题目难度大的进行讲解,毕竟每一个人的接受能力不同,并非彻底的自学均可以获得好的成绩。
本文连接:20155336 2017-2018-1 《信息安全系统设计基础》第十五周学习总结