第四课、试卷讲解 磁盘

一  、  带着问题学习   磁盘

    现在计算机的运行速度越来越快,那么它最拖速度的又是什么呢?也就是说现阶段计算机速度的瓶颈是哪个部件呢?

现在来说,磁盘的速度成为了计算机速度的瓶颈了。cpu的频率高的已经达到了5.0GHZ,也就是说一个核心一秒钟运算了50亿次。

   

  1.  存储程序方式是指的什么?

    外部介质来存储,比如图灵机 ,效率低下,存储有的用打孔的方式记录,慢慢的发展,就有了现在冯诺依曼式的结构,存储式计算机。

    存储式计算机,存储的介质,最开始用软盘,再发展成碟片式的磁盘,现在发展成芯片式的ssd。

    能用来存储的东西有哪些?  寄存器  内存   磁盘  看图:

    

   那么程序在执行的过程中,是怎么访问磁盘的呢?

 

   2. 如何通过内在来提高磁盘的访问速度?

   3. windows为例,他为了节约内存用了哪些手段?

二  、磁盘

    磁盘缓存

    虚拟内存

    节约内在的编程方式有哪些?

磁盘缓存

      我们的计算机先访问内存,内存读取硬盘上的数据,在内存读取硬盘上的数据,也是要发时间的,那么,怎么节省这个时间?

    那我们能不能提高内存访问磁盘的速度呢?答案是可以!这样就引申出磁盘缓存的概念。什么是磁盘缓存呢?

    我们在使用数据的时候,同时会悄悄的载入一些数据到内存中,而当我们第2次使用这段数据的时候,我们就到内存里面取用

以上是比较老式的系统中,如win95/98,曾经使用过的磁盘缓存方式。当时的磁盘相当的慢,内存也是很有限,这种方式能很大的程度上解决磁盘太慢的问题。另:磁盘缓存,存在哪呢?把它存在内存当中。磁盘缓存就是:使用内存,当作磁盘用。当用完了之后,再把数据还回磁盘。当然,我们使用数据的地方,它还是会偶尔的访问我们的磁盘的。但它只访问一次,再次访问的时候,直接去内存找了。这项技术在我们开发的服务端上大量的运用,还有数据库上也得到很多的运用,我们接触最多的,用浏览器上网,也会使用磁盘缓存的技术。也就是拿着内存来当磁盘用。

磁盘缓存 很大的解决了磁盘慢的问题,但慢慢的,我们发现内存不够用了,引出虚拟内存的方案。

虚拟内存

    什么是虚拟内存?    虚拟内存是将我们的磁盘特定的一块,当作内存使用。

    

虚拟内存的算法有两种:1分页式  2 分段式   分页式就是把数据分成一页一页的,什么是一页呢?一页就是一个大小,分成一个个的页,比如一页是一个4KB大小,很久之前的数据是4KB大小。分段呢,它会考虑数据里面的逻辑,比如说,这一块是处理什么事情的,我把它分出一块来,那一块又是处理什么的,我又把它分一块。当内存的一块事情处理完成,再和虚拟内存的数据交换。

page in   page out  交换,虚拟内存和内存交换,加载进内存是page in ,还给虚拟内存是page out。

虚拟内存  它的存在就是:让你的程序能运行起来 。 如一个程序6G大小,你的内存只有4G,那操作系统就会把2G分配给虚拟内存。

节约内存的编程方式

函数共用

    比如:动态链接   DLL英文是动态加载的意思

函数共用 ,提升了利用率,节省了内存,能做更多的事情。

被调用方清理栈

程序运行中,内存会有一块专门的区域,负责存储一些临时的值。这块区域我们称为“ 栈 ”。

栈不能无限的扩大,还需要回收空间,使用完了之后,要回收。所以呢,就要有一个程序回收我们的栈空间。清理栈一般会在一个函数调用完成之后进行清理动作。而函数的调用分为2种方式:

1   windows中使用_stdcall

2  其它方式

其它方式是如何来清理栈的呢?很早以前是如图所示

数据的压缩

磁盘的物理结构:

磁道  扇区   簇   粗略的了解下    1簇=1个扇区   512byte  这个数据不是一成不变的,磁盘越大,簇就可能更大。windows操作磁盘最小单位就是簇,  同一簇里面不能有相同的数据。如果装了2个相同 的文件,那么这个簇就打不开了。

  磁盘有时也是不够用的,这就有了相应的数据压缩的算法

RLE   压缩算法

能很好 的压缩 图像  比如传真机  2种色,黑和白

exe文件  有很多0000的空白区,也能很好的压缩

RLE 无正儿八经的压缩文本的

里面没有重复的

哈夫曼  压缩算法

一篇文章,长关键字出现的频率,记录下来,分别使用编码的方式代替关键字

特点:将长的特征编成短的编码

压缩:有可逆的,也有不可逆的如:jpeg格式,有损压缩

固态硬盘,也是机械硬盘的原理改良的,原理还是一样,只是改成了ica芯片存储了。

混合硬盘,它有磁盘结构,它还有一块ic结构,把它做成磁盘的缓存。

磁盘阵列,在磁盘读取的峰值,可以使用几块硬盘,几块分布写出,同时多线读取

总结

      

时间: 2024-08-05 15:20:51

第四课、试卷讲解 磁盘的相关文章

【Linux探索之旅】第一部分第四课:磁盘分区,并完成Ubuntu安装

内容简介 1.第一部分第四课:磁盘分区,并完成Ubuntu安装 2.第一部分第五课预告:Unity桌面,人生若只如初见 磁盘分区 上一课我们正式开始安装Ubuntu了,但是到了分区的那一步,小编却戛然而止.这是什么情况呢? 请读者们千万不要扁我:如果真的要扁,那就请"海扁",让我一次挨(爱)个够(想到了庾澄庆的<让我一次爱个够>),体会一下苏武的感觉. 是这样的:磁盘分区是个很重要且比较难的知识点. 所以我们单独用这一课来讲磁盘分区的概念,磁盘的组成,文件系统,等. 磁盘分

第四课 文件系统(下)

====================第四课 文件系统(下)==================== 一.sync/fsync/fdatasync------------------------ 1. 大多数磁盘I/O都通过缓冲进行, 写入文件其实只是写入缓冲区,直到缓冲区满, 才将其排入写队列. 2. 延迟写降低了写操作的次数,提高了写操作的效率, 但可能导致磁盘文件与缓冲区数据不同步. 3. sync/fsync/fdatasync用于强制磁盘文件与缓冲区同步. 4. sync将所有被修改

【C++探索之旅】第一部分第四课:内存,变量和引用

内容简介 1.第一部分第四课:内存,变量和引用 2.第一部分第五课预告:简易计算器 内存,变量和引用 上一课<[C++探索之旅]第一部分第三课:第一个C++程序>中,我们已经学习了如何创建,编译,运行我们的第一个C++程序.我们也解释了这个程序每一行的意义. 我们不但在IDE(Integrated Development Environment,集成开发环境.例如Visual Studio,Codeblocks,xCode等)中创建程序,也学习了如何在终端命令行中创建. 不过到目前为止,我们写

【Linux探索之旅】第三部分第四课:后台运行及合并多个终端

内容简介 1.第三部分第四课:后台运行及合并多个终端 2.第三部分第五课预告:延时执行,唯慢不破 后台运行及合并多个终端 上一课(<[Linux探索之旅]第三部分第三课:监视系统活动,滴水不漏>)中,我们简单介绍了进程,也学习了如何列出系统中的进程,如何过滤列表结果,还有如何结束进程. 这一课我们继续乘胜追击,一路向北,来学习进程的后台运行. 我们使用的终端让我们难免有一种感觉:我们每次只能在一个终端中运行一个进程.但其实这是大错特错的. 终端还可以运行后台进程.要使进程一个在后台运行,有几种

[译]Quartz.NET 框架 教程(中文版)2.2.x 之第四课 更多关于Triggers

第四课 更多关于Triggers 跟作业任务类似,触发器也非常容易使用,但是在你能够充分掌握Quartz之前,你需要知道并理解许多触发器的客户化的参数.前面已经提到过,有许多不同类型的触发器供你选择,适用不同的调度需求. 你将会在第五课 Simple Trigger和第六课 Triggers学到这两种常用的触发器类型. 触发器通用属性 所有类型的触发器都有TriggerKey属性去跟踪触发器标识,除了这一个事实之外,还有许多其他的属性,对所有触发器类型都适用.这些通用属性在创建触发器定义时通过T

第四课 Makefile文件的制作(下)

序言: 前面一节课讲解了Makefile的基础知识包括原理.预定义以及命令格式,这样是可以完成一个自动编译的文件,这些知识可以帮你完成.想想mak真是强大啊,可能有些同志发现了如果项目文件太多每个目标文件都要写指令有没有其它的简化来加快开发速度,提高项目的可维护性,答案当然是有的,这就是接下来的要讲解的I?n?f?e?r?e?n?c?e? ?R?u?l?e?s?(?推?导?规?则?),有了这个推导规则是的make更强大. 原理: I?n?f?e?r?e?n?c?e? ?R?u?l?e?s?(?推

Linux零基础入门第四课

根据直播讲义整理的内容,从第四课开始.前三课的内容若后面有精力会一并整理进来. 文件的基本操作(上) 创建.删除.复制.移动和重命名 touch命令创建文件 语法 >$ touch file0 [file1 file2 ...] >$ touch file{0..9}.txt touch命令可以创建空文件,将文件名作为参数即可.传递多个文件名可同时创建多个文件. 若使用 file{0..9} 作为参数,将自动创建10个空文件,名字分别为file0.txt.file1.txt.....file9

【连载】创业能力培训第四课总结

创业能力培训第四课总结 以一个故事开头: 老师问:3加4等于多少? 学生答:3加4等于8 老师说了3句话: 1.很好! 2.离答案很接近了哦! 3.还有没有人有别的答案? 表扬,保持其积极性. 具备什么样的条件才能创业 一.明确的创业动机和目标 1.人无我有 2.人有我优 3.人优我特 二.熟悉所要创业的领域(行业.市场.客户等) 三.一定的创业资源(部分即可) 四.一定的知识技能 五.拥有创业精神 创业3要素: 1.机会 2.资源 3.团队 团队: 1.才能互补 2.责任共担 3.共同的创业目

微积分重点 第一课至第四课

1.微积分是关于两个函数间关系的学问 例如, 距离与速度的关系  f(t)  --- df/dt 高度与斜率的关系  y(x)  ---- dy/dx 函数1--->函数2:   求斜率 函数2--->函数1:   求面积,乘以自变量 两条曲线不同,但是包含了相同的信息 函数2表示了函数1在某一瞬间的变化率 2.导数的总览和计算 三个重要的基本函数:幂函数 三角函数 指数函数 求导过程: Δy/Δx 无限逼近取极限 就得到了 dy/dx sinx 在零点处斜率逼近1, 在pi/2处斜率为零,