2017-2018-1 20155313 《信息安全系统设计基础》第三周学习总结

2017-2018-1 20155313 《信息安全系统设计基础》第三周学习总结

课堂笔记

1、学习Linux命令 cp od dc bc

2、系统调用 ls > 1.txt

3、od怎么实现:

伪代码

产品代码

测试

用c语言实现who:

1、打开utmp文件

2、设置循环并打印

3、关闭


课堂实例

who(当前登陆的用户)

man who

man man

man printf

man 1 printf

printf %d 100

printf %d
 100

printf "%d
" 100

man 3 printf (3函数 2系统调用 1应用)

whoami

whomomlikes

vi utmp (乱码说明是二进制文件) (使用od命令看二进制文件)

man utmp



man -k read | grep 2(搜到的结果用2过滤)
     
man -k read | grep 2 | grep file

man -k find | grep 3(寻找查找的功能)

man sin(Link with -lm)(需要加-lm设置库)

man read(count都多长 *buf读到哪 fd从哪里读)

locate stdio

grep -nr O_RDONLY /user/include

cp who1.c who1bak.c(备份)


教材学习

1.信息存储

指针数据的标称大小即为计算机的字长,其决定的最重要的系统参数就是虚拟地址空间的最大大小。

大多数Intel兼容机都只用小端模式。

文本数据比二进制数据具有更强的平台独立性。

二进制代码很少能在不同机器和操作系统组合之间移植。

2.整数表示

无符号数编码是通过二进制向量来定义的。

无符号数编码具有唯一性;补码编码具有唯一性。

处理同样字长的有符号数和无符号数之间相互转换的一般规则是:数值可能会改变,但是位模式不变。

无符号数扩展是在其对应位向量的开头添加0。

补码数扩展是在其对应位向量的开头添加最高位有效位的值。

无符号数和补码数的截断都是从其对应向量的高位开始截断,但是补码数需将截断后的最高位转换成符号位。

3.整数运算

无符号数加法出现溢出则减去2^w(每个数都能表示为w位无符号数字,即计算机运算的最高位)。

补码加法与无符号数加法有相同的位级表示,就可以将补码数的参数转换为无符号数,执行无符号数加法,在将结果转换成补码。

4.浮点数

IEEE浮点标准用V = (-1)^s * M * 2^E的形式来表示一个数。


学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 20篇 400小时
第一周 100/100 1/1 5/5
第二周 100/200 2/3 5/10
第三周 100/300 2/5 5/15

代码托管


参考资料

《深入理解计算机系统》

IEEE浮点标准详解

原文地址:https://www.cnblogs.com/bonsai/p/7673958.html