20145201 《信息安全系统设计基础》课程总结
每周作业链接汇总
-
第0周作业:http://www.cnblogs.com/20145201lzx/p/5862104.html 师生关系 每章问题 虚拟机安装
-
第一周作业:http://www.cnblogs.com/20145201lzx/p/5879699.html Linux基础
-
第二周作业:http://www.cnblogs.com/20145201lzx/p/5900179.html vim学习 虚拟机上的C编程
-
第三周作业:http://www.cnblogs.com/20145201lzx/p/5910752.html 计算机中信息的表示和运算
-
第四周作业:国庆放假复习前几周内容
-
第五周作业:http://www.cnblogs.com/20145201lzx/p/5966144.html 程序的机器级表示
-
第六周作业:http://www.cnblogs.com/20145201lzx/p/5987235.html Y86指令 硬件语言控制HCL
-
第七周作业:http://www.cnblogs.com/20145201lzx/p/6012907.html 磁盘 存储器相关结构
-
第八周作业:http://www.cnblogs.com/20145201lzx/p/6020621.html 期中总结
-
第九周作业:http://www.cnblogs.com/20145201lzx/p/6044064.html 系统级的输入输出
-
第十周作业:http://www.cnblogs.com/20145201lzx/p/6080517.html fs代码的学习
-
第十一周作业:http://www.cnblogs.com/20145201lzx/p/6088686.html 异常流控制 process代码的学习
-
第十二周作业:http://www.cnblogs.com/20145201lzx/p/6128785.html 前几周代码复习
-
第十三周作业:http://www.cnblogs.com/20145201lzx/p/6141234.html 网络编程、并发、进程、多线程
-
第十四周作业:http://www.cnblogs.com/20145201lzx/p/6170214.html 虚拟存储器的概念及其作用
实验报告链接汇总
-
实验一 http://www.cnblogs.com/20145201lzx/p/6027160.html 实验名称:嵌入式Linux开发 简要内容:熟悉Linux开发环境,学会Linux开发环境的配置和使用,使用Linux的arm编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程
-
实验二 http://www.cnblogs.com/20145201lzx/p/6060404.html 实验名称:固件开发 简要内容:熟悉 linux 开发环境,学会基于 S3C2410 的 linux 开发环境的配置和使用。使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
-
实验三 http://www.cnblogs.com/20145201lzx/p/6080019.html 实验名称:内核驱动设计入门-模块方式驱动实验 简要内容:安装ADS、GIVEIO、JTAG驱动,测试基本安装是否正确
-
实验四 http://www.cnblogs.com/20145201lzx/p/6079245.html 实验名称:内核驱动设计入门-模块方式驱动实验 简要内容:学习在LINUX下进行驱动设计的原理;掌握使用模块方式进行驱动开发调试的过程
-
实验五 http://www.cnblogs.com/20145201lzx/p/6131559.html 实验名称:简单嵌入式WEB服务器实验 简要内容:掌握在ARM开发板实现一个简单的WEB服务器的过程
代码托管链接和二维码:
- 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
-
代码量汇总(用wc命令,有截图)
-
加点代码,改点代码的心得
只有自己动手加代码、改代码并且能正确运行出结果才能证明是真正理解了一段代码。别人写好了的代码,能运行出来这个过程可以说是没有技术含量的。就算完全不知道其中的含义,结果也是可以正确显示的。所以,可以根据自己的需要添加或修改的人,才能算是真正理解代码。同时,不同的代码,即使只有很小的差异,或是只是顺序上的调换,最后运行出来的结果也会有很大差异。在编译执行前好好思考,做出对结果的预判,最后实际运行与预判结果相符或是可以看出问题所在(思考的过程很重要),只有这样才能有所收获。 -
实践上有什么经验教训
本学期做了五次试验,提前预习老师之前统一给实验步骤我认为很重要。预习的过程算是在头脑里简单过了一下实验的过程,找到每次实验的关键点,提前预判结果对代码理解更加有效,当实际操作时着重看一下不同的地方,这样可以在更短的时间内收获很多。
实际操作时,遇到了一些问题,不要慌张,大部分都是别的组也遇到过的,可以参考一下别的同学的解决办法,不要一个人死磕。
回答一下第0周作业中自己提出的问题
1.计算机系统内部的各个部分是如何分工协作的?操作系统对计算机的作用
计算机系统由硬件和系统软件组成,它们共同协作以运行应用程序。
运算器:主要功能是对数据进行各种运算。
存储器:主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。
控制器:整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。
输入设备:把各种形式的信息,如数字、文字、图像等转换为数字形式的“编码”,即计算机能够识别的用1和0表示的二进制代码(实际上是电信号),并把它们“输入”(INPUT)到计算机内存储起来。
输出设备:把计算机加工处理的结果(仍然是数字形式的编码)变换为人或其它设备所能接收和识别的信息形式如文字、数字、图形、声音、电压等。
处理器读取并解释存放在主存里的二进制指令。操作系统内核是应用程序和硬件之间的媒介。网络提供了计算机之间的通信手段。
2.计算机内编码方式
用位组来编码非负数,用标准字符码对字母和符号进行编码。
无符号编码、补码编码、浮点数编码。
3.c语言、汇编代码、机器代码之间的关系
程序员编写的C语言代码,首先要经过C语言编译器,生成汇编代码,这个过程称为编译阶断,当C语言编译器生成汇编代码后,再调用汇编器来将汇编代码编译成汇编指令。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
三者关系(从硬件层到软件层):机器语言 - 汇编语言 - C语言。
4.如何设计一个 处理器
几个重要经验:管理复杂性是重要问题;不需要直接实现ISA;硬件设计人员必须非常谨慎小心。
5.什么影响了处理器性能
架构,架构越新越好;cpu的核心数目,比如 双核,四核,核心数目越多越好;cpu的线程数目;主频;缓存;指令集,支持的指令集越多越好等。
6.存储器的层次结构
7.链接是什么
链接是将各种代码和数据部分收集起来并且组合成为一个单一文件的过程,这个文件可被加载(或拷贝)到存储器并执行。
8.异常都指的什么
硬件层——四种不同类型的异常:中断、故障、终止、陷阱。
9.虚拟存储器功能
虚拟存储器可以创建和销毁存储器片、将存储器片映射到磁盘文件的某个部分,以及与其他进程共享存储器。
10.什么是Unix I/O和标准I/O
输入是从I/O设备拷贝数据到主存,输出是从主存拷贝数据到I/O设备。
Unix下共有五种I/O模型:阻塞I/O;非阻塞I/O;I/O复用(select和poll);信号驱动I/O(SIGIO);异步I/O
标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准I/O库处理很多细节。例如缓存分配,以优化长度执行I/O等。标准的I/O提供了三种类型的缓存:全缓存、行缓存 、不带缓存
11.客户端-服务器编程模型是什么
一个应用是由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源 (resource),并且通过操作这种资源来为它的客户端提供某种服务(service)。
12.三种不同的构建并发机制
三种分别是:进程、I/O多路复用和线程
进程由内核自动调度。
线程运行在一个单一进程的上下文中,可以快速方便的共享数据。
你有什么项目被加分,谈谈你的经验
- 优秀作业(给出链接和二维码)
总结:第二周总结 http://www.cnblogs.com/20145201lzx/p/6117424.html
第六周作业:http://www.cnblogs.com/20145201lzx/p/5987235.html
第七周作业:http://www.cnblogs.com/20145201lzx/p/6012907.html
第八周作业:http://www.cnblogs.com/20145201lzx/p/6020621.html
第11周作业 http://www.cnblogs.com/20145201lzx/p/6088686.html - 扇贝背单词
对六级帮助挺大的,在阅读部分的试题中也遇到过不少背过的单词。词汇是语言系统的重要组成部分,因此也是语言学习中的重要内容。要学好英语,词汇是至关重要的,毕竟词汇是语言学习的基础。
课程收获与不足
-
自己的收获
第一次看到这本书时,压力还是挺大的。
后来看到了娄老师每周的学习安排后,稍稍有些安心了,学习内容分配到每周。最初实际做起来还是感觉有些压力的,和其他老师的讲课模式比起来,自学模式有些累是肯定的,每周投入的时间在20-30小时,学习到的东西也很多。学习效率最开始时,觉得任务实在是太多了可要抓紧,写的博客也因为这样的想法写的比较长,这样效率就有些低了,一些不必要的在课本上可以找到的可以简略,代码也不用全部复制粘贴到博客中,后面的几周也有很多代码需要自己去理解摸索,真正学到东西才行。
现在觉得这门课学到的知识可不比其他老师讲课模式学到的东西少。同时,在学习这门课的过程中,发现和同期学的不少课是相辅相成的,比如汇编、Web编程、操作系统等,甚至这门课讲的比那些课程更加细致,得到了相互的印证,这种学习方法是轻松且高效的。
从第一周的不适应,到最后回头看看自己也把这么厚的书读下来了。自学能力得到了再次提升,也学会了各门课之间的融会贯通。大学之后真的是“散养模式”,没有人逼着学习,感谢娄老师对我们严格要求。 -
自己需要改进的地方
说实话这一学期的确任务量有些重,我总是一开始学习热情劲头很大,到后来总会懈怠一两分。这本书本身就很厚,一学期下来,虽说整本书都过了一遍,但有些地方也只是看了些皮毛,依旧有很多地方没有深入看到,但我知道这的确是一本好书,值得我去再去细细品读,能新学到的东西也会有很多,希望以后还能有机会再去回看这本书。
给学弟学妹们的学习建议
如果重新学习这门课,怎么做才可以学的更好
不要被最开始的厚书吓到,一周时间内把学习时间分配好,不要全都积攒在周末两天完成,这样工作量很大,每天完成一部分。从一开始就要认真对待每一周的学习,跟上老师脚步,从开始就掉队的话,后面的学习会非常难受,任务也会越积越多,再想追的话非常困难了。所以偷懒是绝对不行的,一时的清闲,在将来也是要还的,“还”可能就是要成倍的了。付出多少就能收获多少,你努力了还可能有惊喜出现。经过一学期的努力之后,最后会发现自己收获了很多,学好这门课对其他课程的帮助将会非常大。
-
问卷调查
- 你平均每周投入到本课程多长时间?
30小时 - 每周的学习效率有提高吗?
和最开始大段内容的摘抄相比,后来主要写一写重点,比如对于代码的分析,或是修改代码的过程,还是有些提高的。 - 学习效果自己满意吗?
还可以吧。学会了很多新的东西,也和其它相关课程能联系到一起,建成了知识网络。但是仍旧有很多地方值得再去深入学习。 - 课程结束后会继续一周至少一篇博客吗?
可能吧...可以简略记录自己的学习过程 - 你觉得这门课老师应该继续做哪一件事情?
每周的小测 & 扇贝单词打卡(大家基本上是这个时候参加四六级,时间点非常合适)& 错题讲解 - 你觉得这门课老师应该停止做哪一件事情?
娄老师设计的课程体系都非常好,安排的任务也都是很有必要的。 - 你觉得这门课老师应该开始做什么新的事情?
可以尝试把周测的错题加入到每周所写的博客总结上。
实验前可以简单讲解一下。
当然这都是我个人粗鄙的想法。
- 你平均每周投入到本课程多长时间?
-
给出本文链接和二维码
《信息安全系统设计基础》课程总结 http://www.cnblogs.com/20145201lzx/p/6194408.html