20145327 《信息安全系统设计基础》课程总结
每周作业链接汇总
第0周作业安装虚拟机
第一周作业LINUX中常用指令的实践
第二周作业vim/gcc/gdb/makefile的使用
第三周作业课本第二章《信息的表示和处理》
第四周作业 无(国庆放假)
第五周作业课本第三章“程序的机器级表示”
第六周作业Y86指令、HCL语言以及Y86的顺序实现
第七周作业教材第六章《存储器层次结构》
第八周作业期中总结,复习教材1-7章、LINUX中常用指令
第九周作业教材附录A,第10章《系统级I/O》
第十周作业教材附录A,第10章《系统级I/O》,代码实践
第十一周作业教材第八章《异常控制流》,第十章《系统级I/O》、代码实践
第十二周作业前三周代码总结
第十三周作业教材第十一章《网络编程》、第十二章《并发编程》、代码实践
第十四周作业教材第九章《虚拟存储器》
实验报告链接汇总
实验一 开发环境的熟悉连通arm开发板、虚拟机和超级终端
实验二 固件设计连通arm开发板、虚拟机和超级终端后实现简单多线程编程代码运行实现
实验三 实时系统的移植连通arm开发板、超级终端并安装ADS、JTAG驱动,测试是否配置成功
实验四 驱动程序设计实验在PC机上编写简单的虚拟硬件驱动程序并进行调试,实验驱动的各个接口函数的实现, 分析并理解驱动与应用程序的交互过程
实验五 网络通信学习使用 socket 进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计, 阅读 HTTP 协议的相关内容,学习几个重要的网络函数的使用方法。 读懂 HTTPD.C 源代码。在此基础上增加一些其他功能。在 PC 计算机上使用浏览器测试 嵌入式 WEB 服务器的功能。
代码托管链接和二维码:
- 截图 git log --pretty=format:"%h - %an, %ar : %s" 的结果
- 代码量汇总
-
代码驱动的学习做到没有?
有做到 参见博客第八周作业 -
加点代码,改点代码是理解的最好方式,谈谈你的心得
自己在加代码改代码方面做得并不好,但是看卢肖明同学,闫佳欣学姐等的博客对代码的学习感觉非常佩服。只有实践才能出真知
回答一下第0周作业中自己提出的总题
-
第一章:计算机系统的各组件是如何工作的
计算机五大组件包括控制器、运算器、储存设备、输入设备、输出设备五个部分。运算器运算器是完成二进制编码的算术或逻辑运算的部件。存储器存储器的主要功能是存放程序和数据。控制器控制器是全机的指挥中心,它控制各部件动作,使整个机器连续地、有条不紊地运行。控制器工作的实质就是解释程序。输入设备是变换输入形式的部件。它将人们的信息形式变换成计算机能接收并识别的信息形式。输出设备是变换计算机输出信息形式的部件。它将计算机运算结果的二进制信息转换成人类或其它设备能接收和识别的形式,如字符、文字、图形、图像、声音等。 -
第二章:位级浮点编码规则
阶码E一般用移码或补码表示,尾数用原码或补码表示。
为了便于浮点数之间的运算与比较,也为了提高浮点数的精度,规定计算机中的浮点数尾数部分必须满足1/R≤|M|<1,也即,小数点后的第一位必须是有效数字。当尾数用补码表示,且R=2时,其规格化形式一般为:
当尾数的最高数值位与符号位相反时,即为规格化形式。但对于M<0 有两种特殊情况需考虑。
*M=-1/2,按规定是规格化数,但[-0.5]补=1.10…0,与一般情况相悖,为便于硬件判断,特规定-0.5不 是规格化的数(对补码而言)。
*M=-1,因小数补码允许表示-1,且[-1]补=1.00…0.故将-1作为规格化数(对补码而言 )
-
第三章:程序的机器级如何表示
共分为四步,预编译、编译、汇编、链接。预处理(也称预编译,Preprocessing)、在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。编译(Compilation)、接着调用cc1进行编译,这个阶段根据输入文件生成以.s为后缀的汇编代码文件。汇编(Assembly),将汇编代码转化成二进制目标文件.o结尾。目标代码是机器代码的一种形式,他包含所有指令的二进制表示,但是还没有填入地址的全局值。链接(Linking),当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。 -
第四章:怎样判断处理器的好坏
cpu的好坏主要看核心数,主频、线程数、缓存.主频也叫时钟频率,单位是兆赫(MHz)或千兆赫(GHz),用来表示CPU的运算、处理数据的速度。
CPU的主频=外频×倍频系数。 -
第五章:怎样剖析程序
1.程序代码是否易读,有没有处理好细节。2.程序是否能够高效使用主存和辅存。3.程序的运行时间是否令人满意 -
第六章:固态硬盘的存储量如何决定,为什么卖的也挺贵的相比U盘
移动硬盘以硬盘为存储介制,因此其存储容量就是其内部硬盘的存储容量。移动硬盘存储容量就决定着其数据存储量大小的能力,这也就是用户购买硬盘所首先要注意的参数之一。移动硬盘的容量同样是以MB(兆)和GB(千兆)为单位的,目前移动硬盘大多提供10GB、20GB、40GB、60GB、80GB的容量,随着技术的发展,更大容量的移动硬盘还将不断推出。 -
第七章:链接的有效性,如何设置链接有效性的时长
url带的码是相当于限时ID的东西,进来的时候先去数据库搜索这一条,如果有,就允许用户继续操作,没有就跳出。用户在申请重置的时候向数据库中写入一个随机的码,并记录当时的时间,数据库保存的时候,每个码加一个时间字段,进入重置密码页面时先查询比对时间即可,时间长短由你自己决定. -
第八章:怎样判断计算机接收到的信号
模拟信号(Analog signal)主要是与离散的数字信号相对的连续信号。模拟信号分布于自然界的各个角落,如每天温度的变化。而数字信号是人为抽象出来的在时间上的不连续信号。电学上的模拟信号是主要是指振幅和相位都连续的电信号,此信号可以以类比电路进行各种运算,如放大、相加、相乘等。 -
第九章:虚拟存储器与存储器的区别
虚拟内存是用硬盘来当作临时内存使用
虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。在虚拟存储器系统中,作业无需全部装入,只要装入一部分就可运行。
引入虚拟存储技术之后,可以:
1、提高内存利用率;(如:定义100100大小的数组,可能只用到1010个元素)
2、程序不再受现有物理内存空间的限制;编程变得更容易;
3、可以提高多道程序度,使更多的程序能够进入内存 -
第十章:I/O包有哪些
i/o 输入/输出 (input/output) 的缩写。键盘是一种输入设备,而打印机是一种输出设备。一般来说,i/o 活动和运算活动是可以区分的。 -
第十一章:如何保证服务器端和客户端连接成功,能百分百连接成功吗
应用抓包软件如wireshark抓包判断捕获的数据,http会话捕获到get连接成功。不能。 -
第十二章:线程是什么
线程是指程序的一个指令执行序列,WIN32 平台支持多线程程序,允许程序中存在多个线程。 在单 CPU 系统中,系统把 CPU 的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,在多 CPU 的 Windows NT 系统中, 同一个程序的不同线程可以被分配到不同的 CPU 上去执行。由于一个程序的各线程是在相同的地址空间运行的,因此设及到了如何共享内存, 如何通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程中的一个难点。
你有什么项目被加分,谈谈你的经验
- 优秀作业
- 扇贝背单词
扇贝打卡确实是个好东西,JAVA的打卡一开始只是应付,到后来慢慢的习惯打卡、认真打卡。对四六级有用,平时做题遇上打卡的单词会很开心。以后也会坚持打卡。
待及格管理制度的优缺点(进入过的同学必写)
从未进入过待及格名单,但是觉得这个做法很棒,起到督促作用,让待及格名单里的同学努力脱离。
课程收获与不足
-
自己的收获(投入,效率,效果等)
投入85%左右吧,效率一开始较低后来逐渐升高到最后的持平。 -
自己需要改进的地方
刚开始的时候总是等到周末才去完成学习任务,这样发现会很累,到后来慢慢的平均学习时间,提早发博客的时间,效率和效果都提升不少。 -
如果有结对,写一下你提供的帮助或接受了什么帮助,并对老师提供参考建议
实验有结对小伙伴20145305解佳玲,做实验我俩相辅相成,总的来说完成的不错,在实验时也对其他同学提供了帮助。
给学弟学妹们的学习建议
一定要按时完成布置的任务,平均时间来完成,不要拖到周末扎堆才完成,那样不好。
问卷调查
- 你平均每周投入到本课程多长时间?
15-20小时 - 每周的学习效率有提高吗?
有 - 学习效果自己满意吗?
不错 - 课程结束后会继续一周至少一篇博客吗?(如果能做到,毕业时我把你的博客给你集结成一本书)
也许.. - 你觉得这门课老师应该继续做哪一件事情?
待及格名单,随堂测试 - 你觉得这门课老师应该停止做哪一件事情?
无 - 你觉得这门课老师应该开始做什么新的事情?
无