操作系统复习(一)

存储程序式计算机

ok,在开始操作系统前,我们先来复习下计算机组成结构中的一个重要知识点,计算机的5大体系结构,控制器、运算器、存储器、输入/输出设备,其中运算器和控制器统称为*处理器(CPU)。体系结构熟悉,那应该有个人名必须得熟悉吧,那就是冯·诺依曼(别忘了中间有个点。。)。是的,冯·诺依曼是计算机体系结构的最早的提出者,他是个数学家,总结了手工计算的规律提出了“存储程序式计算机”的方案,把计算工作交给计算机来处理岂不快哉?因此“存储程序式计算机”又叫冯·诺依曼计算机体系结构,实现了计算的自动化。我们想想,计算机是咋实现计算的呢?不和我们人工计算思路一样吗?我们看到一个加减乘除的算式,首先不得先分析计算的顺序吗,即先乘除后加减啦,所以计算机计算也得先知道操作的顺序吧,所以得有个控制部件来实现操作顺序的控制吧,那就是控制器,控制器提取指令、分析指令、并且产生信号通知计算机其他部分进行执行指令。知道顺序后该具体执行某一条运算了吧,那得有个运算的部件来执行指定的操作呀,那就是运算器了,在运算过程中肯定会产生中间数据吧,比如我们先算乘除,把乘除的数据记录下来再进行加减,那得有个用来存储数据的部件吧,那就是存储器。然后,计算机得把计算的结果显示出来告诉我们呀,所以得有个输出数据的部件吧,那就是输出设备,有了输出设备,我们计算的数据是变化的,总不能只输入一组数据吧,所以可以让我们手动输入数据,那就需要一个输入部件,那就是输入设备。所以这就是其基本实现原理结构了。

那么为啥叫“存储程序式计算机”呢?啥是存储程序?啥是程序?程序的定义是计算机组成结构中必学的啦,程序就是一组计算机能识别和执行的指令。存储程序:就是用户将解决问题的步骤事先告诉计算机,将步骤存储起来成为程序。程序控制:计算机所做的任何事情都是通过CPU执行程序来完成的。总的来说,“存储程序式计算机”就是用户写程序存储起来,然后通过CPU执行程序来控制计算机进行计算和相应操作。所以知道程序员是啥了吧,程序员就是写程序控制计算机执行某种操作来让计算机为我们服务的。计算机就是个工具,它有很强大的计算功能,但没脑子啊,只会计算,不会分析问题啊,还得靠人来告诉它该咋做。。不过人工智能正在发展,尝试让计算机也拥有自己的大脑和自动处理事情的能力,未来,不好说,说不定以后计算机也拥有大脑思想活起来了呢,哎呀,扯远了。。

存储程序式计算机的一大特点是顺序计算为基础。

操作系统

ok,我们知道了啥是存储程序式计算机,那操作系统又是个啥?存储程序式计算机中的CPU和输入输出设备不就是我们买电脑,电脑里面各种芯片啊鼠标键盘啥的组装在电脑里的东西吗?这些都是一个计算机基本具备的配置,又叫硬件,硬件是指组成计算机的机械的、磁性的、电子的装置和设备,也称为硬设备。只具有硬件的计算机叫做裸机,我们想让计算机做某些事,在裸机上执行的话,那程序员就只能靠机器语言,就是那些0,1组成的计算机可以直接识别的二进制代码来控制计算机做事,那那么一大长串指令,可读性可差了,而且程序员编程起来复杂不方便。所以必须在裸机上配置软件,以满足用户的各种要求,特别是那些复杂而又灵活的要求。软件由程序、数据和在研制过程中形成的各种文档资料组成,是方便用户和充分发挥计算机效能的各种程序的总称。那是咋在裸机上配置软件的,看下图:
操作系统复习(一)
如图所示,最中间的那个就是裸机硬件系统了,裸机以外的三个环就是软件系统了。因此,计算机系统啊包括两大部分,计算机硬件系统和计算机软件系统,计算机软件系统又被分成了两大类:系统软件、应用软件。(有的也分为三层,系统软件、应用软件、工具软件)

系统软件:操作系统、编译程序、程序设计语言以及与计算机密切相关的程序。(其中操作系统为第一层系统软件,其他的为第二层系统如软件)。
应用软件:各种应用程序、软件包(如数理统计软件包、运筹计算软件包)。

其中操作系统是处于硬件设备和其他系统软件之间的系统软件,起着承上启下的作用,它可以同时管理系统中的硬件资源和软件资源、控制用户和应用程序的工作流程。

操作系统与计算机系统各层次的关系

操作系统与各层的关系表现在两个方面:

  • 操作系统对各层的管理和控制
    (1)操作系统直接与硬件交互
    控制CPU的工作、访问存储器、进行设备驱动和设备中断处理。
    (2)操作系统与用户和应用程序交互
    操作系统是其他系统软件和应用程序运行的基础,它为上层软件和用户提供运行环境,即提供方便、简单的用户接口。

  • 各层对操作系统的影响和制约
    (1)计算机系统结构对操作系统实现技术的制约。
    硬件提供了操作系统的运行环境,计算机的系统结构对操作系统的实现技术有着重大影响,如单CPU计算机和多处理器计算机
    允许操作系统同时处理任务的数量不同,对其技术实现有制约。
    (2)用户和应用程序的需求对操作系统实现技术的制约。
    用户和上层软件运行在操作系统提供的环境上,对操作系统会提出各种要求,操作系统必须满足不同用户的应用需求,提供良好
    的用户界面,为此需要设计不同类型的操作系统。

操作系统宗旨:提高计算机的使用效率,方便用户的使用。(承上启下)