20145315 《信息安全系统设计基础》第0周学习总结
博客感想
负担通常会带来痛苦, 但是为了将来不后悔,我们需要承受住这种压力;学习一门语言需要实践,学习一门课需要不断的练习。
程序和软件是不同的,
程序指的是源程序,就是一行一行的代码。仔细看过去,它们的确是建立在数据结构上的一些算法。但是光有代码还是不行的,这些一行一行的代码不会自己运行,得有人编译成机器能懂的目标代码,对于一个复杂的软件,我们不但要有合理的软件架构,软件设计和实现,我们还要用各种文件来描述各个程序文件之间的依赖关系,编译参数,链接参数,等等。这些都是软件的构建。
教材学习内容总结
认识linux系统
-
Linux的优点
- 稳定的系统
- 安全性和漏洞的快速修补
- 多用户
- 用户和用户组的规划
- 相对较少的系统资源占用
- 可定制裁剪,移植到嵌入式平台(如安卓设备)
- 可选择的多种图形用户界面(如 GNOME,KDE)
-
Linux和window的区别
-
Windows 平台:数量和质量的优势,不过大部分为收费软件;由微软官方提供重要支持和服务;
-
Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 Linux 开发者和自由软件社区提供支持。
-
Windows:普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易入门简单;
-
Linux:兼具图形界面操作(需要使用带有桌面环境的发行版)和完全的命令行操作,可以只用键盘完成一切操作,新手入门较困难,需要一些学习和指导(这正是我们要做的事情),一旦熟练之后效率极高。
-
Windows:这些年之前算是全封闭的,系统可定制性很差;
-
Linux:你想怎么做就怎么做,Windows 能做到得它都能,Windows 做不到的,它也能。
安装虚拟机VirtualBox和Ubuntu
-
根据教程完成安装虚拟机V-box,在虚拟机上新建一个linux系统;
-
安装Ubuntu,使得linux系统拥有图形界面;
-
更改root密码;
-
为虚拟机分配共享空间;
课本概述
课本主旨在阐述计算机系统的核心概念:
- 第一章:介绍计算机系统的主要概念;
- 第二章:计算机的算数运算;
- 第三章:了解程序的机器语言;
- 第四章:处理器体系结构的组合以及时序逻辑,讲述元素如何在数据通路中组合并执行的过程;
- 第五章:讲述提高代码性能的技术,让我们了解如何编写能让编译器编译出更有效率的机器码的c代码;
- 第六章:讲述不同类型的存储器结构和层次,以及如何改善程序时间局部性和空间局部性;
- 第七章:静态连接和动态链接;
- 第八章:介绍异常控制流的一般概念,打破单一程序的模型;
- 第九章:对虚拟存储器的工作特性和性能有一定了解;
- 第十章:讲述Unix I/O的基本概念,开发一个带缓冲区的I/O包;
- 第十一章:网络编程,编写一个Web服务器;
- 第十二章:介绍并发编程,介绍三种编写并发程序的基本机制。
课本疑问
- 第一章:程序的生命周期是怎样的?
- 第二章:无符号数和数的二进制补码对编程的影响?
- 第三章:c程序语言如何成为机器码?
- 第四章:流水线化是怎么实现的?
- 第五章:怎么优化程序?
- 第六章:如何改善程序的时间局部性和空间局部性
- 第七章:链接是什么?
- 第八章:程序的并发执行会引起不确定行为的后果是什么?
- 第九章:虚拟存储器是如何工作的?
- 第十章:为什么说标准I/O有局限性?
- 第十一章:如何开发Web服务器
- 第十二章:并发编程是什么?
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/200 | 0/2 | 20/20 | |
第二周 | 0/500 | 0/4 | 18/38 | |
第三周 | 0/1000 | 0/7 | 22/60 | |
第四周 | 0/1300 | 0/9 | 30/90 |