2017-2018-1 20155214 《信息安全系统设计基础》 第9周学习总结
2017-2018-1 20155214 《信息安全系统设计基础》
第9周学习总结
学习目标
- 了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)
- 理解局部性原理
- 理解缓存思想
- 理解局部性原理和缓存思想在存储层次结构中的应用
- 高速缓存的原理和应用
RAM 和 ROM的区别
-
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM内存可以进一步分为静态RAM(SRAM)和动态内存(DRAM)两大类。DRAM由于具有较低的单位容量价格,所以被大量的采用作为系统的主记忆。
-
ROM(Read Only Memory)的全名为唯读记忆体,它相当于PC机上的硬盘,用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途。
-
区别是RAM在断电以后保存在上面的数据会自动消失,而ROM就不会。
由于ROM不易更改的特性让更新资料变得相当麻烦,因此就有了Flash Memory的发展 ,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料 ,不过单价也比普通的ROM要高。
磁盘 和 固态硬盘的区别
-
所有的磁盘盘面都是平行的,每一个盘面都有一个磁头,盘面高速旋转,磁头在盘面上内径和外径之间来回移动,这样就可以完成整个磁盘的读写操作。
-
固态硬盘没有了机械硬盘磁盘磁头和马达电机,不再使用碟片作为存储单元,而是采用Flash Memory,所以不会存在磁头机械寻址的操作,再加上控制器组成硬盘。
缓存思想
- 高速缓存是一个小而快的存储设备,他作为存储在更大、更慢的设备中的数据对象的缓存区。使用高速缓存的过程称为缓存。
局部性原理
- 良好局部性的程序运行的更快。局部性原理,在硬件层体现在通过高速缓存保存最近被引用的指令和数据。在操作系统体现在通过使用主存来缓存最近使用的磁盘块。
缓存思想在存储层次结构中的应用
- 在储存层次结构中,每一层都缓存着来自第一层的数据对象,以此类推,直到最小的缓存CPU寄存器组。
pwd命令的c实现
- 任务要求:
1 学习pwd命令
2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码
3 实现mypwd
4 测试mypwd
- 任务背景
通过man pwd
理解pwd命令行以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
- L
选项包含符号,- P
回避符号,默认为- P
选项。
- 注意到在SEE ALSO中,有
getcwd
函数,man getcwd
该函数返回一个字符串, 其中包含调用进程的当前工作目录的绝对路径名。 路径名作为函数结果返回, 并且通过数组指针参数 buf (如果存在)返回。
- 伪代码
int main(){
调用getcwd();
将返回的字符数组打印到标准输出;
}
- mypwd代码
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define MAXLINE 256
int main(){
char pwd[MAXLINE];
getcwd(pwd,MAXLINE);
puts(pwd);
return 0;
}
- 运行截图