持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第18天,点击查看活动详情
操作系统可以在什么环境下运行呢?
操作系统可以在多种环境下运行,硬件环境如传统环境,网络环境,嵌入式环境等;还有一些人机接口和相关软件配置等软件环境。
操作系统的主要工作包括程序的执行、完成与体系结构相关的工作、完成应用程序所需的共性任务等。
处理机的状态
处理器总处于以下三种状态之一:
1、内核态,运行于进程上下文,内核代表进程运行于内核空间;
2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;
3、用户态,运行于用户空间。
进程上下文:
当用户的应用程序通过系统调用进入内核,用户空间的进程要传递很多变量和参数的值给内核 内核态运行的时候要保存一些寄存器值和变量 当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称为该进程的上下文。
中断上下文:
硬件通过触发信号,导致内存调用中断处理程序进入内核空间,这个时候,硬件的一些变量也要和参数也要传递给内核,内核通过这些参数进行终端处理。
状态的转换
1、从用户态到核心态的转换
(1)系统调用,其实系统调用本身就是中断,但是软件中断,跟硬中断不同。
(2)异常:如果当前进程运行在用户态,如果这个时候发生了异常事件,就会触发切换。例如:缺页异常。
(3)外设中断:当外设完成用户的请求时,会向CPU发送中断信号。
2、从核心态到用户态的转换
(1)CPU设置一条程序状态字寄存器指令来完成,该指令是特权指令;
(2)二是通过中断返回指令,返回到用户态,这条指令也是特权命令。
以上就是对操作系统运行环境的介绍,以及关于处理机的状态及其转换,在我的理解中操作系统一直是一个复杂但功能强大的系统。