zoukankan      html  css  js  c++  java
  • 2018-2019-1 20165324 《信息安全系统设计基础》第六周学习

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

    教材学习第十章 系统级I/O

    • linux文件是m个字节的序列,所有的I/O设备都被模型为文件,而所有的输入和输出都被当作相应文件的读和写来执行

    • 应用接口:

      1. 打开文件:应用要求内核打开相应的文件。
      2. linux shell创建进程都有三个打开的文件:标准输入、标准输出、标准错误。
      3. 改变当前文件的位置。
      4. 读写文件。
      5. 关闭文件。
    • 文件:每一个linux文件都有一个类型来表示它在系统中的角色:

      1. 普通文件:包含任意数据,应用程序区分为文本文件和二进制文件,文本文件为只含有ASCII或Unicode字符的普通文件,其余均为二进制文件。
      2. 目录:是包含一组链接的文件。
      3. 套接字
    • linux目录层次的一部分:如图

    • 打开和关闭文件:调用open函数打开一个已存在的文件或创建一个新文件。
     int open(char *filename,int flags,mode_t mode);
    
    • flags参数指明打开文件方式:
      1. O_RDONLY:只读
      2. O_WRONLY:只写
      3. O_RDWR:可读可写
    • flags参数提供额外提示;
      1. O_CREAT:文件不存在,创建一个截断(空)文件
      2. O_TRUNC:文件已存在就截断它
      3. O_APPEND:在每次写操作前,设置文件位置到文件的结尾处
    • 关闭文件:
    int close(fd);
    
    • 读和写文件,调用read和write函数执行输入输出
    size_t read(int fd,void *buf,size_t n);
    size_t write(int fd,void *buf,size_t n);
    
    • 共享文件:如图

    • 标准I/O:C语言定义的一组高级输入输出函数。
  • 相关阅读:
    IntelliJ IDEA ESLint autofix/prettier
    常见电脑屏幕分辨率
    在Vue中使用echarts的两种方式
    升级npm和vue-cli
    挖坑指南:module namespace not found in mapGetters()
    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式
    如何在Vue项目中调试单个组件
    使用jquery的load方法只加载body之间的内容
    固化分组
    占有优先量词
  • 原文地址:https://www.cnblogs.com/20165324hcj/p/9906073.html
Copyright © 2011-2022 走看看