这篇文章,我们一起来学习一下操作系统的运行机制和体系结构
目录
1.概述
2.运行机制
2.1两种指令
2.2两种处理器状态
编辑2.3两种程序
编辑2.4 操作系统运行机制小结
3.操作系统内核
4.操作系统的体系结构
5.小结
1.概述
首先,我们来看一下这节内容的大体框架:我们会先介绍操作系统的运行机制,其中包括操作系统的内核程序,然后,引出操作系统的内核概念,最后,我们会介绍一下操作系统的体系结构。
大体内容如下图所示:
2.运行机制
首先,我们来看一下操作系统的运行机制
2.1两种指令
问题:什么是指令?
答:简单来说,指令就是处理器(CPU)能识别、执行的最基本的命令
比如:加法指令,就是让CPU进行加法运算
问题:“指令”和我们平时所说的“代码”有什么区别吗?
答:举例说明:
一个c语言程序,首先,我们需要书写c语言代码,然后计算机将这些代码翻译成指令(就是一连串的二进制数据),然后计算机能识别这串二进制数,从而完成这条指令(完成这行代码)
如下图所示:
具体化:
这就是一条最基本的代码,但是翻译成了三条二进制指令,计算机实际执行的就是这三条二进制指令
问题:有的指令“人畜无害”,比如:加减乘除这些普通的运算指令,而有的指令权限很高,比如:内存清零指令,如果用户可以随意使用这个指令,那就意味一个用户可以随意的清除其他用户的内存数据,这样显然是很危险的,这是怎么回事呢?
答:指令分为特权指令和非特权指令,其中特权指令,如内存清零指令,就不允许普通的用户程序使用,非特权指令,如加减乘除指令,就允许普通用户使用。
2.2两种处理器状态
问题:CPU如何判断当前是否可以执行特权指令?
答:我们给CPU设置两种状态,即两种处理器状态:用户态(目态)和核心态(管态);当CPU处于用户态时,CPU只能执行非特权指令;当CPU处于核心态时,CPU可以执行特权指令和非特权指令。
问题:CPU怎么判断状态的?
答:在CPU的物理结构中,有一个程序状态字寄存器(PSW),用PSW中的某个状态位来标识当前处理器处于什么状态。如0为用户态,1为核心态。
2.3两种程序
我们前面介绍了两种指令,即特权指令和非特权指令,从而我们介绍了两种处理器状态,用户态和核心态。但是呢,有的程序需要使用特权指令,有的程序需要使用非特权指令,所以,我们就把程序分为两种:内核程序和应用程序
内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令也可以执行非特权指令,运行在核心态
应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
2.4 操作系统运行机制小结
3.操作系统内核
由上面的讲解,我们可以知道,程序有内核程序和应用程序两种,那么操作系统中的哪些程序是由内核程序实现的呢?由此引出操作系统内核的概念
首先,我们来看一个简单的生活例子,我们安装完Windows操作系统后,会发现操作系统提供了各种各样的功能,比如“记事本”、任务管理器。然而,这些功能并不是必不可少的。即使没有任务管理器,我们依然可以使用计算机。
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。而实现操作系统内核功能的那些程序就是内核程序。
如下图所示:
4.操作系统的体系结构
由第三点操作系统内核的问题中,我们知道,有些操作系统包含上图下面的那些对系统资源进行管理的功能,有些操作系统不包含那些,由此引出了操作系统的体系结构的问题。如下图所示: