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 |