操作系统之哲学思想之文件系统

一、磁盘操作

中心思想:整个文件系统管理的核心 费时的操作丢给内存,费空间的操作丢给磁盘 

 

 二、文件系统

  • 进程抽象CPU
  • 虚拟内存抽象内存
  • 文件系统抽象磁盘

文件系统的主要特性:存储大量的信息,多个进程可以同时访问一个文件,进程的结束不会影响文件的持续存在

目标:地址独立和地址保护

  地址独立:文件数据的产生与文件将来存放的磁盘地址相互独立

  地址保护:需要对文件的访问进行一定的限制,即不是任何人都能访问任何文件(权限设定)

 

 2.1、文件格式

魔数:是用来告诉操作系统这个文件的类型的。对于可执行文件来说,这个魔数是一个固定的值。

对于可执行文件包含:一个标题(header)、一个代码部分、一个数据部分、一个重定位部位和一个符号表

 2.2、文件访问

  文件的访问类型:顺序访问和随机访问

2.3、地址独立的实现机制:文件夹

  文件夹:它保存的不是用户数据,而是关于文件及文件系统的信息(即文件夹得绝色就是用来跟踪文件,里面存放得是从文件到文件在磁盘得地址得映射)

  文件夹存放得是文件名到磁盘地址的映射。

 2.4、内存映射的文件访问

  解决读写文件效率低下的中心思想是:把磁盘访问变成内存访问。实现这种访问转变的手段就是内存映射的文件访问

  内存映射的文件访问原理:把需要访问的文件映射到一个进程的虚拟地址内,这样访问该虚拟地址就相当于访问文件。

 内存映射的文件访问目的:是为了文件的共享,即可以将同一个文件映射到两个或多个进程的虚拟地址空间。

 

2.5、文件系统的布局

  a、第0个扇面在整个文件系统占有重要意义

      该扇面存放的是主引导记录(MBR)。记录的内容是一个小程序,用来启动计算机

  b、MBR后面紧接着的是磁盘分区表:磁盘分区表是给出的是磁盘的所有分区及其开始地址和终结地址。

      其中的一个分区为主分区。操作系统就装载在这个分区。主分区里面最前面的是引导记录(Boot Record)

  c、在计算机启动时,处于主板ROM里面的BIOS程序首先运行------》BIOS进行基本的系统配置扫描后对磁盘的扇区0进行读操作----》将MBR里面的程序读到内存并运行------》MBR程序接下来找到系统主分区,并将主分区里面的Boot Record加载并运行------》Boot Record 里面内容是一个小程序,该程序将负责找到操作系统映像,并加载到内存,从而启动操作系统。

 2.6、文件的实现

  文件的实现要解决如下问题:

    •  给文件分配磁盘空间
    •  记录这些磁盘空间的位置
    •  将文件内容存放在这些空间

非连续存放方式通过链表方式实现,在每个数据块里面留出一个指针的空间,用来存放下一个数据块所在的地址。

  把所有指针从单个数据块抽取出来,全部放在一起,形成一张表。称为文件分配表(File Allocation Table)

 

虚拟内存(VM)和文件缓存根本区别:

  VM的根本目的是提供一个速度非常高、容量非常大的并不存在的内存空间;从物理内存出发,为了增加内存空间而扩展到磁盘上。

  文件缓存:提高文件的访问效率而出现,从磁盘出发,为了提高访问效率而将文件置于缓存。

 




 

I/O原理

 

DMA(直接内存访问)的工作原理:如果按数据块进行I/O,即无需CPU的介入;可以让I/O设备与计算机内存进行直接数据交换

CPU从繁忙等待中解脱出来,DMA的整个数据读写过程不需要使用处理器的功能吗?

  答:数据传输当然使用CPU,只是不是进程共享的CPU,而是另外的CPU即DMA控制器(以不慢于I/O设备的速度进行数据读写即可)

 

 根据CPU在I/O过程中的涉入程度分类:

物理I/O:

  •   繁忙等待访问
  •   直接内存访问(DMA)

 

DMA输入输出的过程:

  •   CPU对DMA进行设置,告诉其I/O的起始地址和数据长度
  •    启动DMA过程
  •   DMA进行数据传输
  •   DMA结束后发出中断
  •   CPU响应中断并处理结束事宜

逻辑I/O:

  可编程I/O:CPU等待I/O的完成(CPU涉入程度很深),这种模式称为轮询或繁忙等待

  中断驱动I/O:中断驱动是将CPU从繁忙等待中解脱出来

      发送一批数据后,CPU去忙其他事;I/O设备处理完这批数据后,向CPU发出中断,CPU响应中断后再发送下一批数据

 

 

SMP:多个CPU的角色功能平等,没有主从之分,这种多CPU结构称为对称多处理结构

posted @ 2020-07-30 10:30  幻落之瞳  阅读(269)  评论(0编辑  收藏  举报