20145326蔡馨熠《信息安全系统设计基础》第九周学习总结
这周的教材内容不多并且相对简单,我就不在博客里面赘述了。
学习过程
p599的代码:一次一个字节的从标准输入拷贝到标准输出
grep -nr XXX /usr/include的用法:
man -k的用法:
练习题10.1:
最开始编译的时候提示头文件出错!
后面才知道是库文件“csapp.h”的问题。经过修改后编译成功!结果等于3.
对于“csapp.h”这个头文件,可以从网址http://download.csdn.net/detail/tzasd89812/4206284上去下载,也可以用<stdio.h><fcntl.h><unistd.h>这三个头文件等效替代。我是选择的后种方法~
练习题10.2:
练习题10.3:
练习题10.4:
重定向标准输入(描述符0)到描述符5,我们将调用dup2(5,0)或者等价的dup2(5,STDIN_FILENO)。
练习题10.5:
代码托管
心得体会
本章的教材内容不是特别多,且相对容易,主要是实践过程。通过对本章系统级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 |