课程学习总结报告

Posted baozhw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课程学习总结报告相关的知识,希望对你有一定的参考价值。

一、Linux系统模型

技术图片

 

 其中最重要的部分是内核,向上为系统调用和应用程序提供支持,向下对硬件资源和驱动程序进行管理。

 

二、传统I/O操作读写流程

  1.用户进程向 CPU 发起 read 系统调用读取数据,由用户态切换为内核态,然后一直阻塞等待数据的返回。
  2.CPU 在接收到指令以后对 DMA 磁盘控制器发起调度指令。
  3.DMA 磁盘控制器对磁盘发起 I/O 请求,将磁盘数据先放入磁盘控制器缓冲区,CPU 全程不参与此过程。
  4.数据读取完成后,DMA 磁盘控制器会接受到磁盘的通知,将数据从磁盘控制器缓冲区拷贝到内核缓冲区。
  5.DMA 磁盘控制器向 CPU 发出数据读完的信号,由 CPU 负责将数据从内核缓冲区拷贝到用户缓冲区。
  6.用户进程由内核态切换回用户态,解除阻塞状态,然后等待 CPU 的下一个执行时间钟。

  技术图片

 

 

三、标准文件I/O流程

  技术图片

 

 

  从磁盘读取文件 

  1.文件系统从disk上读取内容到FS Cache(文件系统缓冲)的bufferCache中

  2.通过VFS(虚拟文件系统)从FS Cache的Page cache中获取数据---FS Cache 把Buffer Cache组装成PageCache(即一个PageCache包含多个bufferCache)。

  3.当PageCache的内容进入到物理内存Page,进程通过调用操作系统函数Read即可以获取Page数据。

 

  写数据到磁盘

  1.进程开始写数据的时候通过页表拿到可写的Page开始写数据

  2.通过VFS将数据写入到PageCache。

  3.调用文件系统的函数将PageCache数据写入到Disk

 

四、对课程的认识 

  通过本课程的学习,更深入的了解了linux系统是如何运作的,经过几次实际上手跟踪调试,加深了对于linux下程序的运行流程的了解。

 在这里要感谢孟宁老师和李春杰老师的辛苦备课,即使是因为疫情导致无法面对面授课的情况下,依然能产出这样优质的网课,让我学到了很多。

以上是关于课程学习总结报告的主要内容,如果未能解决你的问题,请参考以下文章

代码神器,美化你的课程报告

第五周课程总结&试验报告

第十四周课程总结&实验报告

课程学习总结报告

第五周课程总结&试验报告

第五周课程总结&试验报告