操作系统-进程控制

本文详细介绍了操作系统中的进程控制,包括执行模式、进程创建和进程切换。执行模式分为用户模式和内核模式,以保障安全。进程创建涉及进程标识符分配、空间分配、初始化进程控制块等步骤。而进程切换则在特定触发条件下进行,如时钟中断、I/O中断,涉及到处理器上下文的保存和恢复,以及进程状态的更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行模式

大多数处理器至少支持两种执行模式。某些指令只能再特权模式下执行,某些内存区域也只能再特权模式下访问。

非特权模式一般称为用户模式,因为用户程序通常再该模式下运行;
特权模式称为系统模式,控制模式或内核模式

为什么需要两种模式?
答案当然是为了安全。
就像在进程描述中学到的进程控制块是可以被操作系统中多个模块访问并修改的,这样就有可能对进程产生影响,或是反过来由于进程控制块收到影响之后继而对操作系统产生伤害。
所以使用两种模式的原因是:保护操作系统和重要的操作系统表不受用户程序的干扰。在内核模式下,软件会完全控制处理器及所有指令寄存器和内存,然而这种过大的权限对用户来说是不需要的,为了安全起见,将两种模式区分开来,为了保护操作系统。

进程创建

操作系统决定创建一个进程时,会做如下步骤:

  1. 为新进程分配一个唯一的进程标识符。此时主进程表中会为该新建进程添加一个新标项
  2. 为进程分配空间。包括进程映像中的所有元素。因此,操作系统必须知道程序数据和用户栈需要多少空间。也可由父进程将此作为请求创建新进程的一部分传递给操作系统。最后,必须为进程控制块分配空间。
  3. 初始化进程控制块。例如:进程状态通常初始化为就绪或就绪挂起;优先级默认为最低,除非显示地请求了更高的优先级;进程最初不拥有任何资源,除非显示地请求了这些资源,或继承了父进程的资源。
  4. 设置正确的链接。例如,要将新建进程放入就绪或就绪挂起链表中。
  5. 创建或扩充其他数据结构。如:记账文件。

进程切换

我们从以下三个问题来考虑:

  1. 什么事情触发了进程的切换?
  2. 模式切换与进程切换的区别?
  3. 要实现进程切换,操作系统必须对其控制的数据结构做些什么?

问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值