2016-2017-1 《信息安全系统设计基础》第十三周课程总结

2016-2017-1 《信息安全系统设计基础》第十三周课程总结

本周深入学习Linux系统调用。内容是《深入理解计算机系统》第十一章「网络编程」和第十二章「并发编程」。学习方法还是要参考别出心裁的Linux系统调用学习法

本周学习内容中的网络编程在《网络安全编程基础》课程中已经细讲,并发编程在《操作系统》课程课程中已经细讲,如果基础好学习起来应该很轻松。我们补充了一些代码,
本周重点是通过实现echo服务器,time服务器,web服务器等小项目掌握Linux下socket开发,通过多线程计数器,读者/写者,生产者/消费者,哲学家等小项目掌握线程控制,同步,互斥的相关系统调用。

三种基本的构造并发程序的方法:

  • 进程:程序级并发
  • 线程:函数级并发
  • I/O多路复用:逻辑流被模型化为状态机,所有流共享同一个地址空间

本周重点是I/O多路复用和线程。

代码的学习是重点,像下面几位同学一个代码一个代码的学习分析,然后git commit 到版本库中,注释表明他们知道这些代码是干什么的,下周的代码考核应该没有问题:

还有不少代码理解不深,不知道每个代码要说明什么问题,仅仅机械的把代码编译,运行了一下。如果不对比hello_single.c和hello_multi.c,不对比 count.c和countwithmutex.c,不对比twordcount1.c twordcount2.c twordcount3.c twordcount4.c,是不可能理解好的。20145208做的就比较好,作业认真还是糊弄是比较容易看出来的。

20145215说:

一个学期快结束了,感觉《深入计算机系统》这本书像是学习计算机的一根导线,通过这根导线可以连接到与计算机相关的很多内容中,例如:Linux内核,汇编语言,网络安全编程,操作系统等等。这本书中每一章的内容都可以单独拿出来作为一门课程去进行学习,这也就更加体现了这本书的价值所在,如果说能学好这本书中的内容,那也就是为学好计算机打下了扎实的基础!

这门课是要通过编程为信息安全专业打下良好的计算机基础,不仅仅为学好计算机打下了扎实的基础,更重要的是为信息安全专业的学习打下了扎实的基础,前提是认真学,学会了。

20145326说:

不知不觉已经上了娄老师两个学期的课了,从最开始完全排斥反抗这种教学模式,到最后将这些学习方式变为自己的习惯。我现在静静一想,才明白娄老师的良苦用心。 以写博客的方式来记录自己的学习过程,不仅锻炼了文笔还理清了思绪,说得长远一点,其实是在积累自己的人生财富!不一定只有学计算机相关知识,才能发博客,看完一本书的感想或者记录平时的心情,博客园都是一个很好的平台。平时有什么问题也可以在园子里提问,博客园里面藏龙卧虎! 我们还要学会使用git托管,虽然最开始在下载方面或者使用方面比较麻烦,但万事开头难,一旦上手,受益匪浅!比如以后电脑出现“数据流失”的话,就不用害怕了。再比如几个人要做项目的话,学会git共享代码,也会省事儿很多!学会用Markdown来编写文档,其实是强调了一种规范意识! 有的人也许会说,我以后要当公务员,跟程序员没半毛钱关系。 这句话是极其愚昧的,或者说这个同学没有领会到娄老师教学的精髓,娄老师一直强调的是什么,不是要我们学多少知识,因为知识是学不完的,也是会忘记的,娄老师要的是我们培养一种学习方法,培养一种学习习惯,培养一种思维方式,这才是会伴随我们一生的财富~

两学期了,版本控制工具git还有不少人不会用。我一直引用李笑来老师(知笔墨,微博,知乎,[微信公众号:xiaolai-xuexi])的一句话「知识掌握了才有用」,花一天好好学学git受益终生,特别是一些重要文件丢失的时候你会有体会。可惜的是一年了,还是有人不愿学,没学会。原来我不理解,有的知识点半个小时就学会了,有的同学宁愿花两个小时做小抄准备作弊都不好好学习,现在有点理解了。

函数调用栈帧的概念在信息安全中缓冲区溢出攻击和防范,漏洞利用上非常重要,从交的作业上看,有70%的同学一行一行的把一个三层函数调用过程中栈帧的形成和消亡过程分析出来了。这打下了信息安全专业精进的基础。这个作业不会做是不好意思说专业的。特色突出,水平一流就更不可能了。

要结课了,引用杨贵福老师(博客,知乎专栏,豆瓣)

这些作业不再有人检查,因为课程结束了。不过,你本人以及你周围的人,无论你身处何职,都一直在检验你的工程能力。童年之后,我们通常没有机会被检验作业的过程,而是直接面对作业的结果。

我现在还在检查你的作业,你也会面对作业的结果了。在你庆幸不会再被逼着写博客,看代码时,多读读上面这句话。

网上交作业已经第二届了,到了期末,时间紧了,作业中投机取巧的也多了,作业博客不少看起来很相似。20145218的作业是自己写的,这个是没有疑问的,作业中有她的感悟:

感觉本学期的课程学习过程过得很快,不知不觉之间第十二章的学习也结束了。第十二章的很多内容是和前面联系在一起,现在看来可以理解的知识,如果是在刚开学的时候去读,就未必理解得了,也从一个角度说明慢慢积累的重要性,也可以说“厚积薄发”吧。

把这段话放搜索引擎中一搜:

抄作业的还是很容易找到的。

有的人连截图也敢抄,这周内容是并发编程,同一台机器上运行结果都是不确定的,不同的人运行结果就更不大可能相同了。

下面这幅图:

我以图搜图的结果是:

竟然有4,5个同学的结果一模一样!我会找这些同学验证一下神奇的代码,我想看看你怎么控制CPU的!


欢迎关注“rocedu”微信公众号(手机上长按二维码)

做中教,做中学,实践中共同进步!

rocedu



如果你觉得本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文


posted @ 2016-12-14 07:28  娄老师  阅读(259)  评论(2编辑  收藏