从数据库角度描述CPU、内存、硬盘三者关系

个人觉得数据库和操作系统是软件里面带头大哥,操作系统出现使昂贵计算机走向大众视野,操作系统屏蔽一切底层东西,使普通用户和软件从业者无需了解硬件是如何工作的,同时提供可视化界面让用户操作起来更方便。数据库诞生解决了数据共享问题,能够管理数据。

      任何一门语言要么需要编译,要么需要解释,同样数据库在收到到SQL语句也需要解析,包含:词法、文法等等分析。假设用户发起Select语句,数据库在接收到语句后分析,计算出用户需要数据在哪个文件里面,在文件里面哪个位置。进一步假设数据不在内存中,

CPU向磁盘发起读请求,并把数据库进程调度到阻塞队列中。这时候OS捕获到磁盘请求,OS向磁盘控制器发起请求需要某某位置数据,然后磁盘控制器向驱动臂发出信号,驱动臂带头着磁头寻道,等待所需要数据磁道旋转到磁头下面,碰巧磁头移动位置下面正好是所需要数据,也有可能所需要数据已经旋转过去,需要在旋转一圈,这就是所谓的寻道时间。找到数据后就可以传输到内存里,从内存里把数据返回给用户,从读磁盘,传输数据到内存这个过程中。CPU可以等待,也可以用做别的事情,为了充分使用CPU资源,设计者们选择CPU不要等待IO,去别的事情,等IO完成之后发起中断,CPU在去调度唤醒进程拿数据返给用户。任何软件都喜欢从内存中取数据,同样数据库取数据并不是以记录为单位,而是以块为单位,这样体现时间局部性和空间局部性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值