zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175320 《信息安全系统设计基础》第八周学习总结

    2019-2020-1 20175320 《信息安全系统设计基础》第八周学习总结

    一、教材学习内容总结

    本周的内容为系统级I/O的方式,主要是对各种应用调用的I/O函数进行了了解,以下是本周内容的总结:

    系统I/O

    • 打开文件的函数int open(char *filename, int flags, mode_t mode),其中flag是进程对文件的操作行为,mode为访问权限位。函数返回一个文件描述符
    • 关闭文件的函数int close(int fd);
    • 读文件的函数ssize_t Read(int fd, void *buf, size_t count);
    • 写文件的函数ssize_t Write(int fd, const void *buf, size_t count);
    • 无缓冲的读写ssize_t rio_readn(int fd, void *usrbuf, size_t n); ssize_t rio_writen(int fd, void *usrbuf, size_t n);
    • 带缓冲的读写ssize_t rio_readnb(rio_t *rp, void *usrbuf, size_t n); ssize_t rio_readlineb(rio_t *rp, void *usrbuf, size_t maxlen);,其中带缓冲的行读取rio_readlineb与rio_readnb可加从使用,但带缓冲区与不带缓冲区的函数不可以交叉使用,带缓冲区的函数必须基于rio_read函数
    • 读取文件信息的函数int stat(const char *filename, struct stat *buf); int fstat(int fd, struct stat *buf);
    • 读取目录内容的函数DIR *opendir(const char*name);以及struct dirent *readdir(DIR *dirp);其中实际使用中需要反复调用readdir函数

    man以及grep工具的使用

    这里我使用read函数作为例子。
    1、使用man -k read | grep 2命令查看read系统调用。

    2、使用man -k read | grep 2 | grep file命令可在1的基础上进一步缩小范围。

    3、使用grep -nr xxx /usr/include命令查看宏定义,其中n表示显示行号,r表示递归。下图查看了关键字为MAXLINE的宏定义。

    二、教材学习中的问题和解决过程

    本周内容多为代码实践,教材中没有遇到问题。

    三、代码调试中的问题和解决过程

    问题1:运行教材代码1的时候出现如图所示问题。

    问题1解决方法:发现是没有添加正确的头文件,添加头文件后正常运行。
    问题2:练习10.1输出为-1,与实际不符。
    问题2解决方法:没有创建代码中需要的文件,创建文件后正常运行。

    问题3:练习10.3编译后出现如下错误:

    问题3解决方法:通过man 2 wait查找到所需的头文件,添加后正常运行。

    附上练习5运行结果:

    四、代码托管

    五、其他(感悟、思考等,可选)

    本周内容为系统级I/O,通过本章内容使我对系统基础的I/O函数有了了解,这有助于自主实现系统功能,且使得我在无法使用标准库函数的时候有了相应的解决方法。

    六、学习进度条

    博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 30篇 400小时
    第三周 1/1 13/13
    第四周 1/2 22/35
    第五周 1/3 30/65
    第六周 1/4 25/90
    第七周 1/5 22/112
    第八周 1/6 25/137

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    参考资料

  • 相关阅读:
    Windows Store App 全球化 资源匹配规则
    Windows Store App 全球化 设置指定页面的语言
    Windows Store App 全球化:应用中设置语言选项
    Windows Store App 全球化:运行时响应语言变更
    Windows Store App 全球化:引用类库资源
    Windows Store App 全球化:引用分离资源文件中的资源
    Windows Store App 全球化:在后台代码中引用字符串资源
    Windows Store App 全球化:在XAML元素中引用文件资源
    Windows Store App 全球化:在XAML元素中引用字符串资源
    Windows Store App 变形特效
  • 原文地址:https://www.cnblogs.com/nameless-student/p/11788294.html
Copyright © 2011-2022 走看看