首页 > 编程语言 >应用程序读取磁盘的数据流程

应用程序读取磁盘的数据流程

时间:2023-09-24 19:46:14浏览次数:32  
标签:读取 应用程序 内核 缓冲区 磁盘 数据

  • 应用程序请求文件读取: 用户态的应用程序发起文件读取请求,通常是通过标准的文件操作函数(例如,在Linux中是 read(),在Windows中是 ReadFile())

  • 系统调用: 操作系统内核接收到应用程序的读取请求,这将触发一个系统调用(system call)。系统调用是用户态和内核态之间的通信机制,用于执行操作系统内核中的特定功能

  • 内核态处理: 操作系统内核根据请求打开相应的文件,确定要读取的数据位置等,并准备好数据进行读取。这一过程通常发生在内核态

  • 磁盘读取: 操作系统内核通过设备驱动程序或文件系统模块与硬盘或存储设备进行通信,以从磁盘中读取请求的数据块

  • 数据加载到内核缓冲区: 读取的数据通常会被加载到内核缓冲区(kernel buffer)中,这是内核维护的一块内存区域

  • 数据复制到用户态缓冲区: 一旦数据被加载到内核缓冲区中,内核将执行一个额外的操作,将数据从内核缓冲区复制到用户态缓冲区(user buffer),这是应用程序所拥有的内存区域

  • 系统调用返回: 当数据成功复制到用户态缓冲区后,系统调用返回到用户态,通知应用程序已经完成读取操作

  • 应用程序使用数据: 应用程序处理从磁盘读取的数据

标签:读取,应用程序,内核,缓冲区,磁盘,数据
From: https://www.cnblogs.com/jishaling/p/17726492.html

相关文章

  • 336_Windows磁盘空间莫名消失?用它,立刻解决!
    这是一篇原发布于2020-02-0215:41:00得益小站的文章,备份在此处。前言随着我们日常的使用,下载各类文件,不知不觉间,电脑空间已经爆满。打开我的电脑,却已发现C盘已变成红色,这时,我们不禁要发出疑问——我的磁盘空间到底去了哪里?利用win10“存储”解决应用和功能1.点击开始——打......
  • 418_RaiDrive—将网盘映射为磁盘
    这是一篇原发布于2020-02-0815:24:00得益小站的文章,备份在此处。前言前日写了篇教程免费申请officeE5开发者订阅,不仅能够激活office365,其中更包含了5T的onedrive空间。但onedrive的Windows客户端默认是同步盘,文件会自动同步到云端,但是此文件也同时占用你电脑的存储,虽可以通过......
  • Windows磁盘空间莫名消失?用它,立刻解决!
    这是一篇原发布于2020年02月02日得益小站的文章,备份在此处。前言随着我们日常的使用,下载各类文件,不知不觉间,电脑空间已经爆满。打开我的电脑,却已发现C盘已变成红色,这时,我们不禁要发出疑问——我的磁盘空间到底去了哪里?利用win10“存储”解决应用和功能1.点击开始——打开设......
  • Opencv 中 Mat中元素的值读取方法总结
    1、利用at函数读取(1)单通道图像读取方式Matimg1=imread(filename,IMREAD_GRAYSCALE);for(size_tnrow=0;nrow<img1.rows;nrow++){for(size_tncol=0;ncol<img1.cols;ncol++){ucharval=mat_CV_8UC1.at<uchar......
  • 磁盘分区
    一:概述磁盘分区对于操作系统而言,每一个分区都相当于一个独立的磁盘,各个分区可以创建不同的文件系统。合理的分区能够保证我们的数据安全。合理的进行数据分区可以有效地保护系统磁盘空间,提高系统的运行速度。二:磁盘分区的两种格式在传统的MBR(MasterBootRecord,主引导记录)中,分区......
  • crash —— 获取系统的磁盘IO统计数据
    crash的dev命令可以获取系统磁盘IO的统计数据。获取所有磁盘的IO统计数据crash>dev-dMAJORGENDISKNAMEREQUEST_QUEUETOTALASYNCSYNC8ffff88de95d51000sdmffff88de94a90000653791776636038ffff88deb2396800sd......
  • 认识磁盘
    一:概述磁盘是计算机的重要组成部分,LInux中的数据几乎都存储在磁盘当中。在系统中添加磁盘,可以更方便管理员备份重要文件、管理用户信息等,避免数据丢失。二:磁盘基础知识磁盘是系统中重要的载体,是计算机的核心部分之一。磁盘的构成包括磁头、磁柱、柱面、扇区,解释如下:磁头:一版情况下......
  • 认识磁盘
    一:概述磁盘是计算机的重要组成部分,LInux中的数据几乎都存储在磁盘当中。在系统中添加磁盘,可以更方便管理员备份重要文件、管理用户信息等,避免数据丢失。二:磁盘基础知识磁盘是系统中重要的载体,是计算机的核心部分之一。磁盘的构成包括磁头、磁柱、柱面、扇区,解释如下:磁头:一版情况下,......
  • Linux上某个磁盘挂载不上
    想把新创建的 /dev/datavg/data_lv挂载到/mysql目录上 mkfs-txfs-f/dev/datavg/data_lvmount/dev/datavg/data_lv/mysql 但是磁盘挂载不上,也没有任何参数1、可能有人占用这个目录fuser-mv/mysql 查看并没有人占用2、系统记录的信息可能有误查看日志j......
  • 检查磁盘uuid 与dev设备名对照表
    #查看boot挂载uuidefixxx@dellhome:~$cat/etc/fstab#/etc/fstab:staticfilesysteminformation.##Use'blkid'toprinttheuniversallyuniqueidentifierfora#device;thismaybeusedwithUUID=asamorerobustwaytonamedevices#that......