课本知识概述

I/O设备(输入input与输出output)是在主存和外部设备之间拷贝数据的过程

1、UNIX I/O

一个UNIX文件就是一个m个字节的序列:B0,B1,……,Bm-1;

执行方式:打开文件(描述符;标准输入(0)、标准输出(1)、标准错误(2))、改变当前文件位置、读写文件、关闭文件

2、打开和关闭文件

进程通过调用open函数来打开一个已存在的文件或创建一个新文件

open函数将filename转换为一个文件描述符,并且返回描述符数字

flags参数表明了进程打算如何访问这个文件

O_RDONLY 只读

O_WRONLY 只写

O_RDWR 可读可写

O_CREAT 若文件不存在,就创建它的一个截断的空文件

O_TRUNC 若文件已存在,就截断他

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

mode参数指定了新文件的访问权限位

最后通过close函数关闭一个已打开的文件

3、读和写文件

程序通过read函数与write函数执行输入与输出

read函数从描述符为fd的当前文件位置拷贝最多n个字节到存储器位置位置buf

write函数从存储器位置buf拷贝至多n个字节到描述符fd的当前文件位置

4、用RIO包健壮地读写

RIO的无缓冲的输入输出函数:通过调用rio_readn和rio_writen函数,应用程序可以在存储器和文件之间直接传送数据

RIO的无缓冲的输入函数:一个文本行就是一个由换行符结尾的ASCII码字符序列;包装函数(rio_readlineb)从内部读缓冲区拷贝一个文本行;

5、读取文件元数据

过程通过调用stat和fstat函数检索关于文件的信息(文件的元数据)

stat函数以一个文件名作为输入

6、共享文件

描述符表、文件表、v-bode表

转载于:https://www.cnblogs.com/taigenzhenjun/p/6052688.html

20145234黄斐《信息安全系统设计基础》第九周学习总结(课本部分)相关推荐

  1. 20135219洪韶武——信息安全系统设计基础第九周学习总结

    信息安全系统设计基础第九周学习总结 学习时间:7小时 学习内容:课本第十章 一.第十章知识点(1~6) 第一部分:文件的概念及相关操作 1.每个unix文件都是一个m字节的序列:所有I/O设备如网络. ...

  2. 信息安全系统设计基础第九周学习总结

    第十章 系统级I/O的实践 学习目标: 代码阅读理解: 1.编译运行代码 2.使用man学习理解相关系统调用, 理解参数.返回值的含义 3.会用grep -nr xxx /usr/include 查宏 ...

  3. 信息安全系统设计基础第一周学习总结

    学习计时:共15小时 读书:1 代码:10 作业:13 博客:1 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令 ...

  4. 信息安全系统设计基础第二周学习总结

    信息安全系统设计基础第二周学习总结 学习目标 1. 熟悉Linux系统下的开发环境    2. 熟悉vi的基本操作    3. 熟悉gcc编译器的基本原理    4. 熟练使用gcc编译器的常用选项 ...

  5. 信息安全系统设计基础第九周总结

    第十章 系统级I/O 输入操作是从I/O设备拷贝数据到主存,输出操作是从主存拷贝数据到I/O设备 10.1Unix I/O 一个Unix文件就是一个m个字节的序列: 所有的I/O设备都被模型化为文件, ...

  6. 20135304刘世鹏——信息安全系统设计基础第九周总结

    第十章.系统I/O 一个Unix文件就是一个m个字节的序列:B0,B1,-,BK,-,Bm-1 一.unix i/o 596 Unix I/O:一种将设备优雅地映射为文件的方式,允许Unix内核引出一 ...

  7. 20135304刘世鹏——信息安全系统设计基础第一周学习总结

    第一节 Linux系统简介 一.Linux是一个操作系统 1. Linux 本身只是操作系统的内核.内核是使其他程序能够运行的基础. 它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序 实 ...

  8. 20135323符运锦---信息安全系统设计基础第一周学习总结

    学习计时:共15小时 读书:1小时 代码:8小时 作业:4小时 博客:2小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用Li ...

  9. LINUX信息安全系统设计基础第一周学习总结

     Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...

  10. 20135306-信息安全系统设计基础第一周学习总结

    第二周(9.14-9.20): 学习计时:共14小时 读书:2h 代码:4h 作业:4h 博客:4h 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3 ...

最新文章

  1. 如何避免重构带来的危险
  2. 百度网络推广带你了解网站文章锚文本优化需要注意的事项?
  3. 利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测
  4. 支付宝即时到账接口开发 - DEMO讲解
  5. 通过mysql实现leader election
  6. ef mysql dbfirst_.NetCore教程之 EFCore连接Mysql DBFirst模式
  7. 2020年Web前端技术的三大趋势(干货)
  8. 零基础学python用哪本书好-Python入门到精通学习书籍推荐!
  9. Python 正则表达式模块 - re
  10. Qt 5.15版本安装教程
  11. 转载:ESP系统——ABS、TCS、VDC及VAF功能介绍
  12. Python(arcpy) 批量shp转raster
  13. iPhone 12 发布了
  14. Unity UI Text组件添加contentsizefitter后获取RectTransform宽度
  15. 推荐一款精美小众的读书笔记app
  16. Github常用英文翻译
  17. VMware虚拟机解决空间不足,增加磁盘空间(磁盘扩容)
  18. pytorch中x.norm(p=2,dim=1,keepdim=True)的理解
  19. 第五届蓝桥杯C/C++本科B组(真题试做)(9~10)
  20. linux有哪些高级语言编译器,程序语言,操作系统,编译器三者之间有何关系?...

热门文章

  1. 亚马逊推出VR/AR开发平台Sumerian,功能强大不同于Poly
  2. 南非的5DT数据手套使用说明
  3. mysql100万数据一键下载csv_使用PHP来导入包含100万条数据的csv文件,请问你最快多久能全部导入mysql 数据库?...
  4. 北大女生拿下阿里数学预赛第一名!决赛入围率不到1%,最小晋级选手只有14岁...
  5. Stack Overflow被腾讯最大股东收购,影响我复制粘贴代码吗?
  6. 延长端粒续命有风险,科学家警告:端粒过长反而容易患癌
  7. 2020中国年度AI评选结果揭晓!领航企业、商业人物、创新产品……AI落地最佳参考就在这里...
  8. 张亚勤清华AIR战队首次亮相,这阵容不是一般强
  9. 谁在“唱衰”OpenStack?
  10. Typescript在Vue项目中的使用