对冯.诺伊曼体系的一点理解

本文通过对冯.诺伊曼体系中CPU,RAM硬盘的处理能力差别来解释Linux和ORACLE中的一些处理机制的原因

冯.诺伊曼体系结构是现代计算机发展的基础,特点如下:

1:必须有一个存储器

2:必须有一个控制器;

3:必须有一个运算器,用于完成算术运算逻辑运算

4:必须有输入设备和输出设备,用于进行人机通信。

冯诺依曼

在这个体系中,程序和数据必须经过内存储器(RAM)后,才能有运算器完成数据加工和处理,而内存储器在断电之后就会丢失所有的程序和数据,因此主存储器RAM必须把程序和数据同步到外存储器(硬盘)保证在计算机在断电之后程序和数据不丢失。

同时,内存储器RAM,CPU(运算器+控制器),外存储器硬盘的处理能力不同,并且差别很大,如下以普通家用电脑为例来说明(服务器的相关性能会提高,但是三者之间差别和普通家用电脑类似)。

CPU:处理能力最高,以Intel i9为例,25.5GB/s

RAM:以DDR3为例子,大概是10GB/s

硬盘:最低,固态硬盘大概500MB/s

因此,程序在设计时要充分考虑到这种差别,采用一定的策略来取长补短,达到系统的最优使用率。以下举例从不同的角度来阐述。

 

例子1:Linux内部命令和外部命令

Linux在系统启动的过程中,会把某些常用的或者系统认为优先级别高的命令即内部命令常驻内存,这样,在执行内部命令时,速度会更快。

对于外部命令,在第一次执行时,会有从硬盘读取这个命令到内存的过程,相对于内部命令执行速度会较慢,之后,这个外部命令也会驻留在内存中一段时间,在此期间内,再次执行此命令的速度和内部命令同等,因为省去了从硬盘读取到内存的过程。外部命令在内存中的查询和管理可以通过hash指令。

 

例子2:读文件的时间atime更新机制

文件的atime在每次访问文件时,理论上都应该更新,但是实际上atime的更新是系统自动来控制的,一般来说,atime相比mtime,ctime的重要性没那么高,所以系统决定在自已认为合适的时间去更新atime,比如在硬盘写操作很少时更新或关机之前把atime更新到硬盘上等,这样省去了每次访问文件时,因更新atime导致的资源竞争,比如,在某一时刻,硬盘在做大量重要的文件写操作,硬盘的访问速度是这个体系中最慢的,如果在此时系统强制更新atime,意味重要文件写操作就会停止或变慢。

 

例子3:ORACLE数据库更新表数据机制

ORACLE在数据库表更新时,当提交完commit命令后,内存的数据会立即变化,但是并不会马上同步更新到硬盘,因为批量更新的效率是要高于单个数据更新,如每次更新1K,一共更新10次数据从内存到硬盘,效率要远远低于一次性更新10K。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94606

(3)
Evan LiangEvan Liang
上一篇 2018-04-01 22:28
下一篇 2018-04-01 22:55

相关推荐

  • 文件实时查找工具-find

    find:命令 实时查找工具,通过遍历指定路径完成文件查找 工作特点:查找速度慢,精确查找,实时查找,可能只搜索用户具备读取和执行的目录 用法:  find【OPTION]…[查找路径】【查找条件】【处理动作】 查找路径:指定具体目标路径;默认为当前目录查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文…

    2018-04-13
  • iptables/netfilter、 tcp_wrapper

    iptables/netfilter: Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件; 主机防火墙 网络防火墙 软件防火墙(软件逻辑): 硬件防火墙(硬件和软件逻辑):NetScreen,CheckPoint,。。。 iptables(ne…

    Linux笔记 2018-06-05
  • Linux发行版的基础目录名称命名法则及功用规定

    Linux命名法则 文件名严格区分大小写 文件名不能使用/字符 最长不能超过255字符 以.开头为隐藏文件 /bin 存放的系统命令   /boot 存放着系统的启动文件和内核   /dev 设备文件主目录(设备不在这里,具体设备信息/proc目录中)   /proc 系统进程和系统硬件信息   /etc 系统主配置文…

    Linux笔记 2018-05-13
  • 启动和内核管理之centos6

    在本章的学习中,你的系统将会被你整的死去活来,在不断地破坏和修复中,熟悉centos的启动流程

    Linux笔记 2018-05-11
  • Linux用户和组

    我们知道Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。由于是多用户操作系统,必然要涉及到时管理用户。由于用户访问Linux上的资源比较多,为了方便管理出现的组的概念.将多个用户添加到一个组里,方便管理。 介绍安全3A 资源分派: Authentication:认证 Au…

    Linux笔记 2018-04-08
  • 网络管理-第二篇

    IP地址 它们可唯一标识 IP 网络中的每台设备 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址 IP地址由两部分组成: 网络ID: 标识网络 每个网段分配一个网络ID 主机 ID: 标识单个主机 由组织分配给各设备 MAC地址没有管理性 IP地址可管理性标识性高 子网掩码标识网络ID和主机ID 地址分类 二进制 A类地址:前八位是网络ID 1-1…

    2018-05-03