首页 > 其他分享 >信息安全系统设计与实现 学习笔记4

信息安全系统设计与实现 学习笔记4

时间:2023-09-28 22:12:09浏览次数:38  
标签:文件 调用 ubuf 信息安全 系统 fbuf 笔记 学习 内核

文件操作

文件操作级别

  1. 硬件级别:
    fdisk将硬盘、U盘或SDC盘分区。
    mkfs:格式化磁盘分区,为系统做好准备。
    fsck:检查和维修系统。
    碎片整理:压缩文件系统中的文件。
  2. 操作系统内核中的文件系统函数
    kmount(),kumount()
    kmkdir(),krmdir()
  3. 系统调用 用户模式使用系统调用来访问内核函数
  4. I/O库函数

除了读/写内存位置的sscanf()/sprintf()函数之外,所有其他I/O库函数都建立在系统调用之上,也就是说,它们最终会通过系统内核发出实际数据传输的系统调用

  1. 用户命令
    用户可以使用Unix/Linux命令来执行文件操作,而不是编写程序。
  2. sh脚本

文件I/O操作(gpt提问)

控制流
(1)用户模式下的程序执行操作
FILE *fp = fopen("file","r");or FILE *fp = fopen("file","w");
(2)fopen在用户(heap)空间中创建一个FILE结构体,向内核中的kopen()发出一个fd = open("file",flags = READ or WRITE)系统调用,构建一个Opentable表示打开文件实例。成功后,fp会指向FILE结构体
(3)fread(ubuf,size,nitem,fp)`:将nitem个size字节读取到ubuf上

  • 若数据足够,则返回
  • 如果fbuf没有更多数据,则执行(4a)
    (4a)发出read(fd,fbuf,BLKSIZE)系统调用,将文件从内核读取到fbuf,然后将数据复制到ubuf上,直到数据足够或者文件无更多数据可复制
    (4b)fwrite(ubuf,size,nitem,fp):将数据从ubuf复制到fbuf
  • 若(fbuf有空间):将数据复制到fbuf上,并返回
  • 若(fbuf已满):发出write(fd,fbuf,BLKSIZE)系统调用,将数据块写入内核,然后再次写入fbuf
    (5)内核中的文件系统函数:假设非特殊文件的read(fd,fbuf[],BLKSIZE)系统调用
    (6)read()系统调用中,fd是一个打开的文件描述符,指向一个表示打开文件的OpenTable
    (7)OpenTable包含文件的打开模式、一个指向内存中文件INODE的指针和读/写文件当前字节偏移量
    (8)Minode包含文件的内存INODE
    (9)操作内核通常会使用一组I/O缓冲区作为高速缓存
    (10)设备I/O

标签:文件,调用,ubuf,信息安全,系统,fbuf,笔记,学习,内核
From: https://www.cnblogs.com/laijiayi/p/17736559.html

相关文章

  • 阅读笔记1
    《程序员的修炼之道:从小工到专家》这本书第一章主要介绍了程序员的成长路径和所需技能。通过阅读这一章,我深刻认识到程序员的成长不是一个简单的过程,而是一个需要不断努力和修炼的旅程。在这一章中,作者们首先介绍了程序员的成长路径,即从小工到专家的发展历程。这个历程包括掌握基......
  • 阅读笔记2
    《程序员的修炼之道:从小工到专家》的第二章节聚焦于“从问题到解决方案”。这一章节主要讲述了如何从问题的初始状态到最后解决问题的过程,强调了理解问题、找出解决方案以及实现解决方案的重要性。在这一部分,作者详细讨论了如何理解和描述问题。首先,他们提出要充分理解问题的本质......
  • openGauss学习笔记-83 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT使用内
    openGauss学习笔记-83openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT使用内存和存储规划本节描述了为满足特定应用程序需求,在评估、估计和规划内存和存储容量数量时,需要注意的事项和准则,以及影响所需内存数量的各种数据,例如计划表的数据和索引大小、维持事务管理的内存......
  • 《Unix/Linux系统编程》教材学习笔记第七章、第八章
    chapter7文件操作级别文件操作分五个级别,从低到高排序如下:1.硬件级别:硬件级别的文件操作包括fdisk:将硬盘、U盘或SDC盘分区。mkfs:格式化磁盘分区,为系统做好准备。fsck:检查和维修系统。碎片整理:压缩文件系统中的文件。其中大多说是针对系统的实用程序。2.操作系统内核中......
  • 学习笔记4
    第七、八章文件操作文件操作级别1.硬件操作  大多数是针对系统的实用程序2.操作系统内核中的文件系统函数  每个操作系统内核均可为基本文件操作提供支持3.系统调用  用户模式程序使用系统调用来访问内核函数  每个库函数都会发出一个系统调用,使进程进入内核模式......
  • Vue源码学习(八):生命周期调用
    好家伙, Vue源码学习(七):合并生命周期(混入Vue.Mixin)书接上回,在上一篇中,我们已经实现了合并生命周期现在,我们要在我们的初始化过程中,注册生命周期 1.项目目录 红框为本篇涉及到的.js文件 2.先来看/utils/index.jsexportconstHOOKS=["beforeCreated......
  • [笔记]组成原理_2024年考纲
    一、计算机系统概述(一)计算机系统层次结构1.计算机系统的基本组成2.计算机硬件的基本结构3.计算机软件和硬件的关系4.计算机系统的工作原理“存储程序”工作方式,高级语言程序与机器语言程序之间的转换,程序和指令的执行过程。(二)计算机性能指标吞吐量、响应时间;CPU时钟周期、......
  • 9月《程序员修炼之道:从小工到专家》阅读笔记
    一、注重实效的哲学1我的源码让猫吃了无论是什么任务,我们都可能出现错误,这时,我们需要尽可能处理好他们以示诚实坦率。我们必须承担责任,一味的推卸责任毫无用处。要找各种选择,而非借口。2软件的熵熵在软件中代表“软件腐烂”。究其原因,最重要为开发项目时的心理/文化。那么为什......
  • 2023-2024-1 20231302 《计算机基础与程序设计》第一周学习总结
    作业信息这个作业属于计算机基础与程序设计https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标快速浏览一遍教材计算机科学概论,课本每章提出至少一个自己不懂的或最想解决的问题并在期......
  • 学期2023-2024-1 学号20231309 《计算机基础与程序设计》第一周学习总结
    学期2023-2024-1学号20231309《计算机基础与程序设计》第一周学习总结作业信息这个作业属于哪个课程2022-2023-1-计算机基础与程序设计这个作业要求在哪里2023-202341计算机基础与程序设计第一周作业这个作业的目标作业正文学期2023-2024-1学号20231309《......