2017-2018-1 20155203 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
- 信息=位(比特)+上下文
对于这句话的理解应当是计算机内部的所有数据信息均是以"位"也就是0、1比特的形式存储在计算机中,而文件与文件不同的地方在于这些比特所代表的字符或符号或指令不同,也就是所谓上下文。
- hello程序的生命周期
从hello.c到hello.o也就从由ASCII码组成的文本文件源程序到二进制可重定位的目标程序的生命周期
linux>gcc -o hello hello.c
当需要同时编译多个相互调用的程序时,可以使用链接器(ld)就负责处理这种合并。
- 系统的硬件组成
1.总线
贯穿一整个电子系统的一组电子管道称为总线。通常被设计成传送定长的字节块:字。
2.I/O设备
I/O设备都是通过一个控制器或是适配器与I/O总线相连
3.主存
主存是一个临时存储设备,是由一组动态随机存取的存储器(DRAM)芯片组成的
4.处理器
中央处理单元(CPU),简称处理器,是解释(或执行)存储在主存中指令的引擎。可以执行加载,存储,操作和跳转的操作。
- 操作系统管理硬件
1.进程
进程是操作系统对一个正在运行的程序的一种抽象。无论是在单核还是多核系统中,一个CPU看上去都像是在并发地执行多个进程,这是通过处理器在进程间切换来实现的
2.线程
一个进程通常是由多个可以称为线程的执行单元组成的,每个线程运行在进程的上下文中,并共享同样的代码和全局数据。
3.虚拟内存
虚拟内存是一个抽象概念。每个进程看到的内存都是一致的,称为虚拟地址空间。
教材每一章的问题
- 虚拟内存的含义和存在的意义
- C语言中的位级运算的实际应用有什么
- 实现局部存储的原因
- Y86和X86的区别和联系
- 什么是循环展开?
- 对程序引用的局部性和局部存储有什么关系
- 使用库的原因
- 系统调用是如何实现的
- 如何规避C程序中常见的与内存有关的错误?
- I/O是一种文件吗?
- 客户端服务器通信的基本流程
- 信号量如何实现互斥的?
教材学习中的问题和解决过程
- 问题1:在作者指出“文件就字符序列”后又紧接着指出每个I/O设备都可以看做是一个文件。
- 问题1解决方案:在查阅资料后发现输入输出是通过函数完成的,因此输入输出设备本身也是一组文件。
代码调试中的问题和解决过程
- 问题1:不能直接使用gcc编译主函数及其调用的子函数。
- 问题1解决方案:(第七章)
linux>gcc -Og -o prog xxx.c xxx.c xxx.c xxx.c
之后通过
linux>./prog
运行
- 问题2:编写文件makefile时,出现“遗漏间隔符”的错误
- 问题2解决方案:在指令如gcc、rm前,使用TAB键
- 问题3:直接建立静态库会发现没有很多源程序转的.o文件
- 问题3解决方案:用gcc继续转换
- 待解决问题:实验楼实验二中的div.c无法得到正确的结果,几经修改也没有解决,还在解决中。
代码托管
本周结对学习情况
- [20155204](http://www.cnblogs.com/20155204wh/)
- 结对学习内容
- 共同解决实验楼的实验中所存在的问题
- 一起讨论教材上不懂的内容
- ...
其他
在做实验的时候复习了自己以前的虚拟机知识,也理解了从前只是记住的指令
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/1 | 6/6 |
-
计划学习时间:5小时
-
实际学习时间:6小时
-
改进情况:学习效率有极大的提高,不过也有可能是第一周内容比较少吧⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄