2018-2019-1 20165301 《信息安全系统设计基础》第六周学习总结

2018-2019-1 20165301 《信息安全系统设计基础》第六周学习总结

  • UNIX I/O

    • 所有的I/O设备,如网络、磁盘都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。

    • 这种将设备映射为文件的方式,允许UNIX内核引出一个简单、低级的应用接口,称为UNIX I/O,这使得所有的输入和输出都能以一种统一且一致的方式来执行。

  • 打开和关闭文件

掩码 描述
S_IRUSR 使用者能够读这个文件
S_IWUSR 使用者能够写这个文件
S_IXUSR 使用者能够执行这个文件
S_IRGRP 拥有者所在组的成员能够读这个文件
S_IWGRP 拥有者所在组的成员能够写这个文件
S_IXGRP 拥有者所在组的成员能够执行这个文件
S_IROTH 其他人能够读这个文件
S_IWOTH 其他人能够写这个文件
S_IXOTH 其他人能够执行这个文件
  • 读和写文件
    • 读写文件用的系统函数为read()和write()函数来执行

读 read

#include <unistd.h>

ssize_t read(int fd, void *buf, size_t n);

写 write

#include <unistd.h>

ssize_t write(int fd, void *buf, size_t n);
  • 用RIO包健壮地读写
    • RIO包能自动地处理不足值。提供了两个函数:无缓冲的输入输出函数,带缓冲的输入函数。
    • RIO的无缓冲的输入输出函数
#include "csapp.h"

ssize_t rio_readn(int fd, void *usrbuf, size_t n);
ssize_t rio_writen(int fd, void *usrbuf, size_t n);
原文地址:https://www.cnblogs.com/CTF5301/p/9906670.html