zoukankan      html  css  js  c++  java
  • 《信息安全系统设计基础》 第九周学习总结

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

    教材学习内容总结

    10.1UnixI/O

    • 打开文件:一个应用程序通过要求内核打开相应文件,来宣告它想访问一个I/O设备;
    • 改变文件当前位置:对于每个打开的文件,内核保存着一个文件位置k,为0.文件位置是从文件开头起始的字节偏移量。应用程序能够通过执行seek操作显示设置文件的当前位置k;
    • 读写文件:一个读操作就是文件拷贝字节到存储器,从当前文件位置k开始将k增加到k+n,给定一个大小为m的文件;
    • 关闭文件:应用完成了对文件的访问之后,他就通知内核关闭这个文件。作为响应,内核释放文件打开时创建的数据结构,并将这个描述符恢复到可用的描述符池中。

    10.2打开和关闭文件

    • O_RDONLY:只读;
    • O_WRONLY:只写;
    • O_RDWR:可读可写;
    • O_CREAT:如果文件不存在,就创建一个新的空文件;
    • O_TRUNC:如果文件已经存在,就截断它;
    • O_APPEND:在每次操作前,设置文件位置到文件结尾处。

    10.3读和写文件

    • 读时遇到EOF:准备读一个文件时,该文件从当前位置开始只有20字节如果用50字节的片进行读取,下一个read返回值不足20,此后的read将通过返回不足值0来发出EOF信号;
    • 从终端读文本行:打开文件是与终端相关联的,那么每个read函数将一次传送一个文本行,返回的不足值等于文本行的大小;
    • 读和写网络套接字:如果打开的文件对应网络套接字,那么内部缓存冲约束和较长的网络延迟会引起read和write返回不足值。

    10.4用RIO包健壮读写

    • 无缓冲的输入输出函数:这些函数值直接在存储器和文件之间传送数据,没有应用级缓冲,他们将对二进制数数据读写到网络和从网络读写二进制数有用;
    • 带缓冲的输入函数:允许高效的从文件中读取文本行和二进制数,这些文件的内容缓存在应用级缓冲区内。

    10.5读取文件元数据

    • 普通文件包括某种类型的二进制和文本文件;
    • 目录文件包含关于其他文件的信息;
    • 套接字是一种用来通过网络与其他进程通信的文件。

    代码调试中的问题和解决过程

    在敲代码的过程中会提示说没有csapp.h这个头文件,当我把他下载回本地并拷贝到usr/lib文件夹里后,这个问题就解决了。

    本周代码托管截图

    https://git.oschina.net/Kevin_s/Linux_C.git

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目 标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    参考资料

  • 相关阅读:
    MyBatis与spring面试题-转载
    122. 买卖股票的最佳时机 II(贪心策略)
    121. 买卖股票的最佳时机
    120. 三角形最小路径和
    236. 二叉树的最近公共祖先(快手面试)
    b,b+树区别
    119. 杨辉三角 II
    118. 杨辉三角
    检查型异常(Checked Exception)与非检查型异常(Unchecked Exception)
    Redis
  • 原文地址:https://www.cnblogs.com/20145224kevs/p/6058835.html
Copyright © 2011-2022 走看看