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


    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,并放到头文件文件夹中。

    实验截图

    本周代码托管截图

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 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

    参考资料

  • 相关阅读:
    分布式版本控制系统Git的安装与使用
    随笔--第一篇博客
    字符串、文件操作,英文词频统计预处理
    了解大数据的特点、来源与数据呈现方式
    第五次作业-结对项目四则运算 “软件”之升级版
    第四次作业:个人项目-小学四则运算 “软件”之初版
    读《构建之法》1-5章有感
    第二次作业——分布式版本控制系统Git的安装与使用
    第一次作业——感想
    【大数据】字符串、文件操作,英文词频统计预处理
  • 原文地址:https://www.cnblogs.com/5315hejialei/p/6060158.html
Copyright © 2020-2023  润新知