计算机的组成以及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
下一篇 2016-10-30

相关推荐

  • shell中的位置参数变量

    要了解位置变量,首先要知道什么是变量?  变量就是让某一个特定的字符串来代表不固定的内容,简单理解就是用一个简单的“字眼”来替代另一个比较复杂或者容易变动的数据。 而什么又是位置变量呢?  位置变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。 位置参数变量: $1, $2, ……

    Linux干货 2016-08-12
  • 关于大型网站技术演进的思考(十三)–网站静态化处理—CSI(5)

    原文出处: 夏天的森林   讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说你的理解有点片面,那么到底什么是CSI技术了?这个其实要和动静资源整合的角度来定义。 CSI技术其实是在页面进行动静分离后,将页面加…

    2015-03-11
  • Linux磁盘管理

    一、磁盘管理总体分类  1)磁盘结构  2)分区类型  3)管理分区 4)管理文件系统  5)挂载设备 6)管理虚拟内存 ……………………………………………………………………………………………………………………… 重要分类模块详解 ………………………………………………………………………………………………………………………

    Linux干货 2016-08-29
  • mysql主从复制以及扩展

    一、MySQL简单复制相关概念:    1. mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提    2. mysql复制的机制:             SLAVE端线程: …

    Linux干货 2015-12-16
  • Linux基础目录名称命名法则及功能规定

    Linux中有非常多的目录文件,那么这些目录文件的命令规则,和功能都有那些,今天学习了下,下面是我的学习记录,跟大家分享下。 文件命名规则 (1) 除了/之外,所有字符都合法 (2) 特殊字符如@、#、¥、&、()、-、空格等最好不要使用,当使用空格作为文件名时,执行命令会出错 (3) 避免使用”.”作为文件名的第一个字符,因为在Linux系统中以”…

    Linux干货 2016-08-15
  • 第10天:程序包,脚本,sed

    http://note.youdao.com/yws/public/redirect/share?id=b9432a76ff1180b42e01f6eb7c9fc90e&type=false

    Linux干货 2016-08-18

评论列表(1条)

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

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