博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20145315 《信息安全系统设计基础》第9周学习总结
阅读量:4635 次
发布时间:2019-06-09

本文共 1074 字,大约阅读时间需要 3 分钟。

20145315 《信息安全系统设计基础》第9周学习总结

教材学习内容总结

I/O是在主存和外部设备之间拷贝数据的过程

  • 输入操作:从I/O设备拷贝数据到主存
  • 输出操作:从主存拷贝到I/O设备

在linux系统中,所有设备都被模型化为文件

  • 所有输入输出都被当作对应文件的读和写来执行。
  • I/O是一个简单的接口应用
  • 每个进程初始都有三个打开的文件标准输入(0),标准输出(1),标准错误(2)
  • 对于每个打开的文件,内核保存一个文件位置K
  • 执行完以后要关闭文件,并释放存储器资源

打开和关闭

  • open函数将文件名转换为一个文件描述符
  • flags指明如何访问
  • mode参数指定新文件的访问权限
  • 通过open创建新文件时,访问权限被设置为mode & ~umask

读和写

  • 应用程序分别通read和write来执行输入和输出
  • 用RIO包可以进行健壮的读写,在网络套接字上,你不能使用标准I/O函数来进行输入和输出,要使用RIO.

读取文件元数据

  • 应用程序能通过stat和fstat检索关于文件的信息
  • st_size包含文件字节
  • st_mode是文件访问许可和文件类型
  • UNIX通过宏指令来确定文件类型

共享文件

  • 描述符表——指向文件表中的一项,每个进程有独立的描述符表
  • 文件表——包含文件位置、引用计数,指向v_node表的一个表项
  • v-node表——包含stat结构中的大多数信息
  • 多个描述符也可以通过不同的文件表项来引用同一个文件

I/O重定向

  • unix> ls > foo.txt(shell加载和执行ls,并将标准输出重定向到磁盘文件foo.txt中)
  • dup2(1,5) (将标准输出重定向到到描述符5中)

    教材学习中的问题和解决过程

  • 问题:缺少头文件“csapp.h"
  • 解决:下载csapp.h,并放到头文件文件夹中。

实验截图

886825-20161113220746936-929797831.png

886825-20161113220839374-125224620.png

本周代码托管截图

886825-20161113221559639-1773413345.png

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/200 1/2 20/20
第二周 30/200 2/4 18/38
第三周 50/200 1/4 22/30
第四周 0/200 0/0 0/30
第五周 100/200 2/2 25/30
第六周 100/200 2/2 25/30
第七周 100/200 1/2 25/30
第九周 100/200 1/2 25/30

参考资料

  • ...

转载于:https://www.cnblogs.com/5315hejialei/p/6060158.html

你可能感兴趣的文章
eclipse中folder、source folder和package的区别
查看>>
Eclipse高级使用技巧
查看>>
第2章 数字之魅——快速寻找满足条件的两个数
查看>>
study of javaserver faces lifecycle
查看>>
转 单实例的写法
查看>>
【BZOJ4254】Aerial Tramway 树形DP
查看>>
安装Node.js和npm
查看>>
预祝大家2011农历新年快乐,宏“兔”大展,心想事成~
查看>>
笔记本中美化代码的方法
查看>>
账簿与平衡段关联表
查看>>
1837Balance
查看>>
文件基本处理
查看>>
js之base64上传图片
查看>>
[转载]使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)...
查看>>
23期PHP基础班第四天
查看>>
DockPanel 类
查看>>
CF1082G Petya and Graph(最小割,最大权闭合子图)
查看>>
贝克汉姆-囚
查看>>
JavaScript数据类型
查看>>
Handle/Body pattern(Wrapper pattern)
查看>>