美文网首页
04_磁盘(计算机科学)

04_磁盘(计算机科学)

作者: yishurensheng | 来源:发表于2017-11-22 02:37 被阅读0次

带着问题学习(磁盘)

  • 存储程序方式是指的什么?
  • 如何通过内存来提高磁盘的访问速度?
  • Windows为例,它为了节约内存用了哪些手段?

磁盘

我们已经知道的能够存储数据的介质有:

  • 寄存器:在CPU的内部,相当于CPU的内存。它的读写速度是最快的,但是数量是最少的,价格也是最昂贵的。
  • 内存:通过内存地址来进行访问内存中存储的数据,内存地址并不代表内存。它的速度一般快,数量一般多,价格一般贵。
  • 磁盘:它的速度是最慢的,数量是最多的,价格是最便宜的。

为什么寄存器比内存快?

磁盘的物理结构

硬盘扇区:硬盘扇区是硬盘的内部圆形金属盘片被磁道划分成若干个扇形区域,这就是硬盘扇区。若干个扇区就组成整个盘片,硬盘的读写以扇区为基本单位。这种以簇为最小分配单位的机制,使硬盘对数据的管理变得相对容易。
百度百科硬盘扇区

磁盘中的簇:数据存储在硬盘的时候都是以簇位单位,所以无论文件大小是多少,除非正好是簇大小的倍数,否则文件所占用的最后一个簇或多或少都会产生一些剩余的空间,且这些空间又不能给其它文件使用,即使这个文件只有0字节,也不允许两个文件或两个以上的文件共用一个簇,不然会造成数据混乱。百度百科簇
簇大小和扇区大小

        计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。参考于百度百科磁盘
        目前计算机的运算速度的瓶颈是在磁盘读写速度的上面!
        电脑在执行程序的时候,过程是这样的:在存储式计算机诞生之前,数据存储都是在外部用纸袋打孔等方式存储的,比如图灵机。如果想了解更多,请参考百度百科图灵机
        后来就有了冯诺依曼结构的计算机,它是存储式的计算机(冯诺依曼结构):硬盘->内存->CPU参考于百度百科冯诺依曼

磁盘缓存

        简单的说,就是拿着内存来当磁盘用,因为CPU访问内存的速度远远大于访问磁盘的速度。
        如果想了解更多的信息,请参考百度百科磁盘缓存
        磁盘缓存是在硬盘容量不是很大,内存空间相对较大的基础上出现的技术。随着科技的发展,磁盘的容量在快速的增加,而内存相对来说就变得紧缺起来,所以就又出现了虚拟内存的技术。

虚拟内存

        简单的来说,虚拟内存就是将磁盘中的一块作为内存来使用。但是CPU比较傻,它只能从物理内存里面,是因为当CPU用到虚拟内存中的数据时,物理内存中的数据需要和虚拟内存中的数据进行交换,从而达到CPU能够执行虚拟内存中的程序的目的(实际上CPU还是直接从物理内存中取得数据)。这样解决了某些比较占内存的应用程序的运行问题。

虚拟内存与物理内存中数据置换算法有两种参考

  • 分页式:将内存分成固定大小的页(一般是4KB),分配若干页将整个进程载入。页面可以不连续是其重要优点,不会产生外碎片,更有效地利用了内存,不过会产生一些内碎片,即分配给进程的最后一个页往往不能正好用完,不过在页面大小不是很大的时候可以接受。
  • 分段式:将程序分为若干个段,如数据段和代码段,加以不同的保护。施加保护是分段式的优点,但其仍是向分区式管理一样的连续分配。
    百度百科虚拟内存

节约内存的编程方式

  • 函数共用:即动态链接库(DLL. Dynamic Link Library),Windows中几乎所有的函数都是写在DLL中。内存中只有一份DLL,可以被多个进程同时调用,达到节省内存空间的目的。
  • 被调用方清理栈:即__stdcall,这是Windows中使用的清理栈的方式,这样可以达到节省内存空间的目的。函数被调用完以后,需要将这个函数用到的栈空间进行清理。还有另外一种清理栈的方式,那就是__cdecl,调用方清理栈,这种方式比较浪费空间。
  • 数据压缩:常见的有RLE压缩算法(传真、exe可执行程序等用的一种算法。但是对于文本就不适合了,压缩后反而会变大)、哈夫曼压缩算法(适用于文本的压缩)这两种压缩算法都是可逆的;还有像JPEG图像压缩算法是不可逆的。

相关文章

  • 04_磁盘(计算机科学)

    带着问题学习(磁盘) 存储程序方式是指的什么? 如何通过内存来提高磁盘的访问速度? Windows为例,它为了节约...

  • Day 19 磁盘管理

    1.磁盘的基本概念 1.什么是磁盘磁盘(disk)是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,...

  • linux应用1——磁盘管理

    1. Linux磁盘管理 磁盘作为计算机系统最重要的设备,操作系统、数据等等都要存储在其中,因为磁盘管理的好...

  • 一万四千字分布式事务原理解析,全部掌握你还怕面试被问?

    前言 从 CPU 到内存、到磁盘、到操作系统、到网络,计算机系统处处存在不可靠因素。工程师和科学家努力使用各种软硬...

  • 从磁盘到文件系统

    磁盘结构 磁盘性能:随机读 与 顺序读 磁盘碎片是什么? 什么是文件系统? 计算机是如何找到确定路径下的文件的? ...

  • 1.4 w字,25 张图让你彻底掌握分布式事务原理

    0. 前言 从 CPU 到内存、到磁盘、到操作系统、到网络,计算机系统处处存在不可靠因素。工程师和科学家努力使用各...

  • CentOS 7 与 Win 10 双系统安装

    1. 准备硬盘空间 右键我的电脑 -> 管理 -> (计算机管理 - 存储 目录下) 磁盘管理 ->右键一个磁盘 ...

  • 《操作系统概念精要》之磁盘篇

    磁盘 现代计算机系统最常用的外部大量存储就是磁盘或者硬盘。 磁盘的大致结构为图上所示。他包括一系列的盘片(plat...

  • Windows小知识

    远程桌面快捷命令: win+r 输入mstsc 硬盘怎么分区: 计算机 管理 磁盘管理 选中要分区的磁盘。右键点击...

  • Day18-磁盘管理

    1.磁盘的基本概念 磁盘(disk)是指利用磁记录技术存储数据的存储器。磁盘是计算机主要的存储介质,可以存储大量的...

网友评论

      本文标题:04_磁盘(计算机科学)

      本文链接:https://www.haomeiwen.com/subject/knbgvxtx.html