不太能理解这句话:数据库是建立在操作系统之上的,那也就是说数据库的操作最终都会转化为文件系统的操作。数据库最底层如何通过操作系统的文件系统进行管理的?

解决方案 »

  1.   

    你可以这么理解,假设你有一个新电脑,但是没安装系统,那么请问,你通过什么去让CPU,内存,和硬盘一起给你干活呢?
      

  2.   


    操作系统是基础软件,你不安装os,你怎么安装数据库呢?就从这一点,数据库也是要依靠操作系统的,实际上,数据库是以文件的形式存放在硬盘上的,当你写了一个sql语句,比如:select *from xxx那么,db接收到这个请求后,就开始在内存里找有没有这个xxx表的数据,如果没有,他就要读取文件的数据,这个时候,他就告诉os,说老兄,我要读取数据库文件里的数据,从那个文件里读,从这个文件的哪个偏移处,读取多少个字节。于是,操作系统就开始计算,要从硬盘的哪个扇区开始读,读多少个扇区,和硬盘说,老弟,我要读多少个扇区,于是硬盘开始旋转,移动磁头臂到那个扇区的位置,开始读,读完了,就放磁盘自带的缓存里,操作系统就会把这个缓存里的数据拷贝到,操作系统自己的内存里,最后再把这个内存里的数据,拷贝到 数据库的内存里。