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


    系统级I/O

    • 输入输出是在主存和外部设备之间复制数据的过程。
    • 输入是I/O设备复制数据到主存,输出是主存复制数据到I/O设备。

    Unix I/O

    • linux文件是m个字节的序列,所有的I/O设备都被模型为文件,而所有的输入和输出都被当作相应文件的读和写来执行。
    • 打开文件。一个应用程序通过要求内核打开相应的文件,来宣告它想要访问一个I/O设备。
    • Linux shell创建的每个进程开始时都有三个打开的文件:标准输入(描述符为0)、标准输出(描述符为1)和标准错误(描述符为2)。
    • 改变当前文件的文件位置。对于每个打开的文件,内核保持着一个文件位置k,初始为0.这个文件位置是从文件开头起始的字节偏移量。
    • 读写文件:一个读操作就是从文件拷贝n>0个字节到存储器。写操作就是从存储器拷贝n>0个字节到一个文件。
    • 关闭文件:当应用完成了对文件的访问之后,它就通知内核关闭这个文件。作为响应,内核释放文件打开时创建的数据结构,并将这个描述符恢复到可用的描述符池中。

    文件

    每一个linux文件都有一个类型来表示它在系统中的角色:

    • 普通文件:包含任意数据,应用程序区分为文本文件和二进制文件。
    • 目录:是包含一组链接的文件。
    • 套接字:用来与另一个进程进行跨网络通信的文件。

    打开或关闭文件

    • O_RDONLY:只读

    • O_WRONLY:只写

    • O_RDWR:可读可写

    • O_CREAT:如果文件不存在,就创建它的一个截断的(空)文件

    • O_TRUNC:如果文件已经存在,就截断它

    • O_APPEND:在每次写操作前,设置文件位置到文件的结尾处

    读写文件

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

    共享文件

  • 相关阅读:
    nginx proxy_cache_revalidate
    博客园快速转载的方法,复制html的内容直接粘贴
    理解http浏览器缓存
    github 搜索技巧
    nginx缓存配置及开启gzip压缩
    音乐播放器的显示与隐藏
    寒假近半个月的收获
    javascript编程习惯总结
    关于域名服务器获取流程问题
    云盘WEB资料下载链接
  • 原文地址:https://www.cnblogs.com/y963976867/p/9906331.html
Copyright © 2020-2023  润新知