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;
}
  • 运行截图

posted @ 2017-11-18 18:52  曾士轩  阅读(221)  评论(1编辑  收藏  举报