计算机的组成以及OS的发展历程

    根据冯诺依曼提出的体系架构,计算机基本上可以分为五大部件。这五大部件分别为运算器,控制器,内存,输入设备与输出设备,其中运算器与控制器是CPU的重要组成部分。下面分别介绍这5大部件:

    CPU:运算器、控制器、寄存器、缓存

        运算器与控制器的主要目的就是处理计算二进制数据,里面含有制造商提供的微指令集,包括精简           指令集与复杂指令集。

        寄存器可以暂存CPU的一些数据,例如多个加数相加可以暂时存放,存放下一条指令的指针等。

        缓存的主要目的是为了提高计算机的性能,因为CPU的频率要远远高于内存,这样从某种程度上说是在浪费CPU的资源,因此加缓存会增强对CPU的利用率。

        

    内存:内存也叫RAM,CPU的数据获得就是从内存中获得的。因此从某种程度上说内存的大小与性能对计算机的整体性能有着很大的影响。内存的基本存储单元为cell,大小8bit(1B),内存在计算机中的编址是平面编址的,每一位都会有唯一的地址与之对应。CPU与之是有一定关系的,例如32位的CPU,它一次运算的最大数据量是2^32,即4GB,所以4GB的存储空间即够用。

    输入输出设备:输入设备主要就是鼠标键盘那,输出设备主要就是显示器方面的,他们不是计算机的核心部件,主要是输入命令与看到执行结果的接口。

    以上为计算机的硬件部分,但是光有硬件是不行的,还要有软件,没有软件,那么就是一堆废铁。那么计算机程序又有怎样的发展:

    1、穿孔纸带时代:程序员将一段程序写在纸带上并发给计算机,但是这种方式实在太慢了,而且计算机一次只能执行一个任务,大大浪费了CPU。

    2、批处理系统:程序员将多段程序写在磁带上,用分隔符隔开,例如程序1$$程序2$$……,虽然在某些程度上会有一些改善,但是计算机只能一个程序一个程序的执行,效率还是没有最大发挥。

    3、多任务操作系统:多任务操作系统是为了实现同时处理多个任务,虽然这是不可能的,但是,他们是这样实现的。

    @1:CPU时间分片:例如将CPU的时间分为几片,第一片执行任务1,第二片执行任务2,然后一个循环结束后再执行任务1,以此类推。如果这个时间片分的足够小,那么每个程序的等待时间也会很小,貌似都是在同时进行的。

    @2:内存的分片,将内存分为几片,每一片存放一段程序。

这种多任务操作系统就是现代操作系统的雏形。

原创文章,作者:N24_强仔,如若转载,请注明出处:http://www.178linux.com/55832

(1)
N24_强仔N24_强仔
上一篇 2016-10-30 17:22
下一篇 2016-10-30 17:23

相关推荐

  • 第七周:文件系统、raid、lvm和shell脚本练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; [root@wlm ~]# fdisk /dev/sdb    #将/dev/sdb进行分区操作 D…

    Linux干货 2016-11-07
  • 文件权限特殊管理之ACL

    ACL:access control list 权限访问列表 应用范围:所属主和所属组和其他用户之外的他叔用户 ACL是Linux系统权限额外支持的一项功能,需要文件系统的支持,例如:ReiserFS , EXT2 , EXT3 , EXT4 , JFS , XFS等都支持ACL功能 centos7 中:安装系统分区和装完系统之后自己手动添加的分区自动支持a…

    Linux干货 2016-08-05
  • gawk基础

    gawk程序是Unix中原始awk程序的GNU版本。gawk程序让流编辑器迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。在gawk编程语言中,可以完成下面的事情: (1)定义变量来保存数据; (2)使用算数和字符串操作符来处理数据; (3)使用结构化编程概念(比如if-then语句和循环)来为数据处理增加处理逻辑; (4)通过提取数据文件中的数…

    Linux干货 2017-05-22
  • Nginx之ngx_http_proxy_module模块详解

    一、正反向代理简介       1、正向代理:局域网内的机器借助于代理服务器访问局域网外的网站          这时正向代理的功能:         &nbs…

    2017-06-25
  • 命令组合实战

    1 列出/etc/下以。conf结尾的文件 [redsun@jiange root]$ ls  /etc/*.conf | tr 'a-z' 'A-Z'  | sed 's/ETC/etc/' > /tmp/etc.conf [redsun@jiange root]$ mo…

    Linux干货 2016-11-13
  • 磁盘分区命令与文件系统简介

    磁盘分区命令与文件系统简介   这一次的博客是整理一下这周所学的磁盘分区fdisk与mount命令,内容不难但是比较琐碎,需要记忆的命令比较多,刚好借着博客来复习一下命令,加强一下记忆。废话不多说,开始! 首先做一下准备工作:在虚拟机上增加一个或多个磁盘,这个比较简单,在VMware虚拟机上方点虚拟机右键—>设置&#82…

    2017-08-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 17:27

    总结的不错,希望你能熟知这些基础的知识,加油!