计算机的组成以及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

相关推荐

  • 管理用户和组。

    用户的概念        对于计算机的应用,我们大多数都是在储存资料、办公娱乐。我们耗费精力与时间把我们喜欢的一些东西寻找下载在我们的计算机中,这台计算机没有一丁点限制,谁都可以进行访问,那我们所进行存储的一些东西就将变得很不安全,但是我们在给计算机创建一个用户并设置密码之后,其他人没获得…

    Linux干货 2016-10-23
  • linux基础2

    linux基础2

    Linux干货 2018-03-18
  • 马哥教育网络班21期-第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)  a,post:加电自检,通电搜索并检查物理设备的状态  b,bootsequeence(BIOS):选择启动顺序  c,bootloader(MBR):加载主引导程序 bootloader,硬盘分区表到内存  d,加载内核kernel &nb…

    Linux干货 2016-10-24
  • yum仓库配置

    yum仓库搭建 yum客户端在安装之前要在服务器下载相关的源数据缓存在 cachedir=/var/cache/yum/$basearch/$releasever中 gpgcheck=1检查数据包的签名完整性 导入钥匙或gpgcheck=0就不检查否侧安装不了yum 在/etc/yum.conf设置配置文件 在/etc/yum.repos.d中创建一个后缀是…

    2017-12-03
  • inode总结

    inode的介绍以及影响inode号的命令

    2017-11-27
  • 通过fast-cgi方式在三台主机部署phpwind并设置为https站点

    通常来说httpd用来处理静态的网页请求,动态的资源请求以前是通过CGI的方式进行处理的,但是CGI的方式的处理过程是这样:有动态资源请求,服务器会fork一个CGI进程进行资源处理,处理完成后这个进程会退出,当再有新的动态资源请求,又会fork一个进程,这样的效率是很低的。后来就有了通过加载php模块的方式,即:httpd服务器启动之后会自动加载php动态…

    2017-06-04

评论列表(1条)

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

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