• 操作系统——磁盘存储器管理


    在整理老师在磁盘存储器管理这一届提出的四个问题:

    1、外存分配方式在操作系统整体框架中处于何种地位?

    2、外存分配方式的设计和磁盘物理结构有什么关系?

    3、顺序、链接、索引三种外存分配方式,你更喜欢哪种?

    4、如果让你设计新的外存管理方式,你有何思路?

    似乎一直将这个外存理解成了机械硬盘,所以实在想不明白这三种分配方式在其他的存储器(比如U盘、光盘、SSD)上是如何应用的。

    此处的博文是在了解SSD工作原理时,发现的比较全的两篇

    https://blog.csdn.net/Lyon_yong/article/details/79178794

    http://oserror.com/backend/ssd-principle/

    NVRAM(non-volatile random access memory)非易失性随机访问存储器

    NVRAM的加速卡的创新在于结合了DRAM高速及耐写特性以及NAND闪存的非易失性,实现的性能十倍于最快速的固态硬盘

    知乎问题1:

    如果硬盘能达到内存的速度,那操作系统的设计是否会有变化?

    或者这么说,如果未来,内存的容量大幅增加到上T,价格大幅下降到白菜价,并且有断电不掉数据的特性,计算机行业会发生怎样的变化?
    _-----------------------------------------------------------------------
    非常感谢各位的回答,然后发现问题被修改了,改变后的问题改变了我的讨论意图。
    1. 不考虑内存变大了,硬盘变得更大的情况,也就是说,现在我的电脑只有cpu,内存,主板,没有了硬盘了。
    2.开关机变快是一个很好的点。除此之外,由于内存是完全随机存储,去掉了硬盘中的机械寻道所要求的局部性,再加上速度方面的优势。操作系统的虚拟内存是否还有存在的必要性?文件系统会有哪些针对性的变化?程序员使用的编程模型是否会有变化?等等
    就像内存数据库和普通数据库会有很多不同一样?这种情况下,不是将所有的信息直接放到内存中这么简单。

    https://www.zhihu.com/question/21442122

    知乎问题2:

    问:如果硬盘速度足够快,内存这东西是不是就可以取消了?
    答:先来一堆废话:这是一个很棒的问题!可能是我在知乎计算机类看到的最棒的问题之一!还没看到一个足够棒的解答(包括@冯东的),那么我来试试能不能写一个够棒的答案:
    再来一个简单的回答:如果硬盘速度足够快,内存这东西在一些计算设备上就会消失了,但在更多的计算设备上依然存在内存、硬盘的分级存储架构。


    最后是一个前计算机体系机构爱好者写过最长的答案:
    为什么要有内存,为什么要有硬盘?
    还得从计算机体系架构的基本理论讲起。
    目前我们用的各种计算机,基本上都是冯诺依曼架构,它的 CPU在运行过程中都要从存储系统中读取指令,读写数据。
    CPU的运行速度远远大于外部存储器--硬盘的读写速度。举个例子,假设硬盘的读取时间为10ms,CPU为1GHZ,硬盘找到CPU需要的一个32bit/64bit数据,CPU至少已经空等了10000000个周期,很浪费时间啊。
    在计算机发展的早期,还没有硬盘, CPU也不是很快,因此上面那种CPU空等情况并不太多。但是著名的摩尔定律让 CPU速度18个月就翻一番,内存速度提高的没这么快,硬盘提速就更慢了, CPU的速度与存储器读写速度的鸿沟越来越大,怎么办呢?
    幸好地球人找到了一个基本原理:
    1.局部性原理
    程序运行过程中,CPU对内存的访问在一段时间内常常集中在一小块连续区域内。只要这一小块数据的访问时间足够快,CPU就不太会碰到空等的情况。


    另外一个是比较显而易见的现实:
    2.越快的存储器越贵,越慢的存储器越便宜。
    2012年7月的数据:
    2G DDR3 内存99元,合50元/G
    500G 硬盘 400元,合0.8元/G
    缓存都不单卖,没法拿出来说,反正比内存贵的多就是了。
    还有一个:
    3.快速的存储通常断电后数据就丢失,断电不丢数据存储器一般速度比较慢。
    这个也好理解,保证断电不丢数据通常得多做一点点事情么,自然就慢了。
    多少人写的东西没来得及存盘,电脑断电后就找不到了有没有!(感谢Word的自动保存功能!知乎也有了!)
    基于以上几点,现代计算机大都采用多级存储架构:
    最高的一级是 CPU内的寄存器,跟 CPU的速度一样快。然后是多级Cache(中文:高速缓存),每一级速度略慢。接着是前面提到的内存。以上统称为一级存储,通常断电后数据丢失。
    再往下就是硬盘。也就是二级存储,我们的数据大都放在这里,断电也不会丢。SSD或者Flash也在这一级。
    另外还有比硬盘更慢的算是三级存储,比如大部分人没见过的磁带啊,光盘柜啊,现在时髦的云存储也可以算是三级存储(高级的SAN其实算是第二级了)。


    The memory hierarchy in most computers is:
    Processor registers – the fastest possible access (usually 1 CPU cycle), only hundreds of bytes in sizeLevel 1 (L1) cache – often accessed in just a few cycles, usually tens of kilobytesLevel 2 (L2) cache – higher latency than L1 by 2× to 10×, usually has 512 KiB or moreLevel 3 (L3) cache – higher latency than L2, usually has 2048 KiB or moreMain memory – may take hundreds of cycles, but can be multiple gigabytes. Access times may not be uniform, in the case of a NUMA machine.Disk storage – millions of cycles latency if not cached, but can be multiple terabytesTertiary storage – several seconds latency, can be huge
    上面讲了这么多,还没讲到正题,假如硬盘速度足够快,内存是不是就会取消呢?
    请再抬头看看2、3,自己考虑一下,如果硬盘像现在的内存这么快了,内存、Cache还有CPU会不会同步发展,是不是也会相应的比现在的内存快很多呢?在这种情况下好像上面表里的架构不需要怎么改变,只是把延迟大小改改就够了。


    是不是有点小失望?稍等一下,别走,Stay tuned!
    咱们还有One more thing!



    其实我们现在有很多计算设备中是没有硬盘的,只是用Flash存储程序和数据,再载入内存中运行,比如我们用的手机、GPS导航仪等等。这里的Flash我认为跟问题中的硬盘是一回事情,就是第二级存储器。在运行过程中内存需要一直供电,包括你按下开关锁定屏幕以后。维持内存刷新所消耗的电流,占智能手机待机电流中相当的大的比重。
    假如硬盘像现在的内存一样快,还断电不丢数据的话……
    就可以把内存丢掉,程序直接在硬盘上运行!一方面省去的程序和数据载入内存的时间,另外一方面,待机时就不需要耗电来维持内存刷新了,待机时间会大大延长。
    也许你的下下下下下下个手机就没有内存了,程序都在Flash上直接执行。
    但是这样的架构就把上表中的Memory这一层拿掉了,至少操作系统这个层面需要做很大的改变,像Unix、iOS、Linux、Windows这些主流的操作系统,都是没法直接支持这样的架构的。
    不过,其实有一个 OS是针对这样的架构设计的,只不过它的假设是内存永远不断电,而不是没有内存。很可惜的是这个奇葩的 OS已经死亡了,它就是Palm OS。(不是 webOS哦,虽然webOS也是Palm开发的,那是基于Linux的)
    关于Palm系统的内存使用方式,可以看看中国palm界著名乌鸦嘴、巨硬拼音开发者UGLee的文章 《不间断的运行》,虽然是快
  • 相关阅读:
    《Linux系统free命令的使用》学习笔记
    《postfix MAIL服务搭建(第一篇):》RHEL6
    RHEL(RedHat Enterprise Linux)5/6 ISO镜像下载
    《samba搭建win客户端和linux客户端的区别》
    《怎样实现通过shell脚本将用户踢出系统》
    《DDNS服务器的搭建和案例解决方法》
    《Usermod:user lee is currently logged in 家目录不能改变解决方法》
    你们看不懂为什么写这个博客吧
    JS几种数组遍历方式以及性能分析对比
    从概念到业务来看 To B 和 To C 产品区别在哪?
  • 原文地址:https://www.cnblogs.com/zx-zhang/p/10150474.html
Copyright © 2020-2023  润新知