20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

时间:2021-10-24 13:31:19

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

这周的教材内容不多并且相对简单,我就不在博客里面赘述了。

学习过程

p599的代码:一次一个字节的从标准输入拷贝到标准输出

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

 

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

grep -nr XXX /usr/include的用法:

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

man -k的用法:

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

练习题10.1:

最开始编译的时候提示头文件出错!

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

 

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

后面才知道是库文件“csapp.h”的问题。经过修改后编译成功!结果等于3.

对于“csapp.h”这个头文件,可以从网址http://download.csdn.net/detail/tzasd89812/4206284上去下载,也可以用<stdio.h><fcntl.h><unistd.h>这三个头文件等效替代。我是选择的后种方法~

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

练习题10.2:

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

练习题10.3:

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

练习题10.4:

重定向标准输入(描述符0)到描述符5,我们将调用dup2(5,0)或者等价的dup2(5,STDIN_FILENO)。

练习题10.5:

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

代码托管

代码托管链接

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

20145326蔡馨熠《信息安全系统设计基础》第九周学习总结

心得体会

本章的教材内容不是特别多,且相对容易,主要是实践过程。通过对本章系统级I/O的学习,我知道了Unix内核引出的应用接口I/O的基本功能和使用方法,它允许应用程序打开、关闭、读和写文件、提取文件的元数据,以及执行I/O重定向。不光如此,我对文件的打开和关闭、读和写等操作又有了更深的理解,之前我只知道如何使用fopen,fread,fwrite等标准I/O函数,经过本周的学习之后又知道了有rio_readn,rio_writen等等更健壮的RIO函数可以使用。我相信大家在本周学习中都遇到了一个问题,那就是在书上的代码中频繁出现的csapp.h这个头文件,它不是计算机自带的,上网查询后发现可以从网上下载,也可以用<stdio.h><fcntl.h><unistd.h>这三个头文件等效替代,如果这个问题没有解决的话就无法对练习题给出的代码进行测试,就不能很好的实践和验证代码的正确性!不要怕麻烦!这个搞定后,剩下的问题就迎刃而解了!~

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 0/0 1/2 20/20 学习了一些Linux命令
第二周 58/58 1/3 20/40 学会了如何使用vi,gcc,gdb
第三周 150/208 1/4 22/62 对信息的表示和处理有更深入的理解
第五周 150/358 1/5 21/83 对汇编语言有更深刻的理解
第六周 136/494 1/6 25/108 安装Y86模拟器
第七周 115/609 2/8 24/132 理解了存储器层次结构和局部性原理
第八周 0/609 2/10 22/154 期中总结
第九周 109/718 3/13 20/174 理解了系统级I/O