20145234黄斐《信息安全系统设计基础》第九周学习总结(课本部分)
课本知识概述
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黄斐《信息安全系统设计基础》第九周学习总结(课本部分)相关推荐
- 20135219洪韶武——信息安全系统设计基础第九周学习总结
信息安全系统设计基础第九周学习总结 学习时间:7小时 学习内容:课本第十章 一.第十章知识点(1~6) 第一部分:文件的概念及相关操作 1.每个unix文件都是一个m字节的序列:所有I/O设备如网络. ...
- 信息安全系统设计基础第九周学习总结
第十章 系统级I/O的实践 学习目标: 代码阅读理解: 1.编译运行代码 2.使用man学习理解相关系统调用, 理解参数.返回值的含义 3.会用grep -nr xxx /usr/include 查宏 ...
- 信息安全系统设计基础第一周学习总结
学习计时:共15小时 读书:1 代码:10 作业:13 博客:1 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令 ...
- 信息安全系统设计基础第二周学习总结
信息安全系统设计基础第二周学习总结 学习目标 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 ...
- 信息安全系统设计基础第九周总结
第十章 系统级I/O 输入操作是从I/O设备拷贝数据到主存,输出操作是从主存拷贝数据到I/O设备 10.1Unix I/O 一个Unix文件就是一个m个字节的序列: 所有的I/O设备都被模型化为文件, ...
- 20135304刘世鹏——信息安全系统设计基础第九周总结
第十章.系统I/O 一个Unix文件就是一个m个字节的序列:B0,B1,-,BK,-,Bm-1 一.unix i/o 596 Unix I/O:一种将设备优雅地映射为文件的方式,允许Unix内核引出一 ...
- 20135304刘世鹏——信息安全系统设计基础第一周学习总结
第一节 Linux系统简介 一.Linux是一个操作系统 1. Linux 本身只是操作系统的内核.内核是使其他程序能够运行的基础. 它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序 实 ...
- 20135323符运锦---信息安全系统设计基础第一周学习总结
学习计时:共15小时 读书:1小时 代码:8小时 作业:4小时 博客:2小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Li ...
- LINUX信息安全系统设计基础第一周学习总结
Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...
- 20135306-信息安全系统设计基础第一周学习总结
第二周(9.14-9.20): 学习计时:共14小时 读书:2h 代码:4h 作业:4h 博客:4h 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3 ...
最新文章
- 如何避免重构带来的危险
- 百度网络推广带你了解网站文章锚文本优化需要注意的事项?
- 利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测
- 支付宝即时到账接口开发 - DEMO讲解
- 通过mysql实现leader election
- ef mysql dbfirst_.NetCore教程之 EFCore连接Mysql DBFirst模式
- 2020年Web前端技术的三大趋势(干货)
- 零基础学python用哪本书好-Python入门到精通学习书籍推荐!
- Python 正则表达式模块 - re
- Qt 5.15版本安装教程
- 转载:ESP系统——ABS、TCS、VDC及VAF功能介绍
- Python(arcpy) 批量shp转raster
- iPhone 12 发布了
- Unity UI Text组件添加contentsizefitter后获取RectTransform宽度
- 推荐一款精美小众的读书笔记app
- Github常用英文翻译
- VMware虚拟机解决空间不足,增加磁盘空间(磁盘扩容)
- pytorch中x.norm(p=2,dim=1,keepdim=True)的理解
- 第五届蓝桥杯C/C++本科B组(真题试做)(9~10)
- linux有哪些高级语言编译器,程序语言,操作系统,编译器三者之间有何关系?...
热门文章
- 亚马逊推出VR/AR开发平台Sumerian,功能强大不同于Poly
- 南非的5DT数据手套使用说明
- mysql100万数据一键下载csv_使用PHP来导入包含100万条数据的csv文件,请问你最快多久能全部导入mysql 数据库?...
- 北大女生拿下阿里数学预赛第一名!决赛入围率不到1%,最小晋级选手只有14岁...
- Stack Overflow被腾讯最大股东收购,影响我复制粘贴代码吗?
- 延长端粒续命有风险,科学家警告:端粒过长反而容易患癌
- 2020中国年度AI评选结果揭晓!领航企业、商业人物、创新产品……AI落地最佳参考就在这里...
- 张亚勤清华AIR战队首次亮相,这阵容不是一般强
- 谁在“唱衰”OpenStack?
- Typescript在Vue项目中的使用