学习笔记4

教材7、8章知识点

  1. 文件操作级别:

    • 硬件级别
    • 操作系统内核中的文件系统函数
    • 系统调用
    • I/O库函数
    • 用户命令
    • sh脚本
  2. 文件I/O操作:

    • 打开文件:使用open系统调用打开文件,并返回文件描述符。
    • 关闭文件:使用close系统调用关闭文件描述符。
    • 读取文件:使用read系统调用从文件中读取数据。
    • 写入文件:使用write系统调用向文件中写入数据。
    • 定位文件指针:使用lseek系统调用移动文件指针的位置。
  3. 低级别文件操作:

    • 分区:将硬盘划分为多个逻辑区域,每个分区可以独立使用。
    • 格式化分区:对分区进行格式化,以便于文件系统的创建和使用。
    • 挂载分区:将分区与文件系统关联,使其可以被操作系统识别和访问。
  4. EXT2文件系统:

    • 数据结构:包括超级块、块组描述符、位图、索引节点、目录条目等。
    • 超级块:存储文件系统的整体信息,如分区大小、块大小、索引节点数量等。
    • 块组描述符:存储每个块组的信息,如空闲块数量、空闲索引节点数量等。
    • 位图:记录每个块或索引节点的使用情况。
    • 索引节点:存储文件的元数据,如权限、大小、时间等。
    • 目录条目:存储目录中的文件名和对应的索引节点。
  5. 系统调用:

    • 系统调用是操作系统提供给应用程序的接口,用于访问底层系统资源。
    • 系统调用可以用C语言编写,通常通过软中断或陷阱指令触发。
    • 系统调用的执行过程包括参数传递、内核态切换、系统调用处理、返回结果等。
  6. 系统调用手册页:

    • 系统调用手册页是系统提供的文档,包含了系统调用的详细信息。
    • 可以使用man命令查看系统调用手册页,如man 2 open。
  7. 使用系统调用进行文件操作:

    • 打开文件:使用open系统调用打开文件,并指定打开模式和权限。
    • 关闭文件:使用close系统调用关闭文件描述符。
    • 读取文件:使用read系统调用从文件中读取数据,并指定读取的长度。
    • 写入文件:使用write系统调用向文件中写入数据。
  8. 常用的系统调用:

    • open:打开文件。
    • close:关闭文件。
    • read:读取文件数据。
    • write:写入文件数据。
    • lseek:定位文件指针。
    • stat:获取文件的状态信息。
  9. 链接文件:

    • 链接是指将一个文件名与一个文件关联起来。
    • 可以通过硬链接和软链接两种方式进行文件的链接。
    • 硬链接是指将一个文件名与一个索引节点关联,可以通过多个文件名访问同一个文件数据。
    • 软链接是指创建一个新的文件名,指向原文件名所在的路径。
  10. stat系统调用:

    • stat系统调用用于获取文件的状态信息,如文件类型、权限、大小、时间等。
    • 可以通过stat结构体中的成员变量获取文件的各种属性。
  11. open-close-lseek系统调用:

    • open系统调用用于打开文件,并返回文件描述符。
    • close系统调用用于关闭文件描述符。
    • lseek系统调用用于定位文件指针的位置。
  12. read()系统调用:

    • read系统调用用于从文件中读取数据。
    • 需要指定文件描述符、缓冲区和读取的长度。
    • 返回实际读取的字节数。
  13. write()系统调用:

    • write系统调用用于向文件中写入数据。
    • 需要指定文件描述符、缓冲区和写入的长度。
    • 返回实际写入的字节数。

苏格拉底挑战






实践

posted @ 2023-10-01 10:35  20211304王琛凯  阅读(4)  评论(0编辑  收藏  举报