1.3.1 操作系统的运行机制

内核程序(Kernel Program)

内核程序是操作系统的核心部分,负责管理系统资源、硬件抽象、进程调度等基础任务。内核程序常驻内存,并在计算机系统启动时被加载。内核模式(也称为特权模式或内核态)下运行的程序有权访问受保护的系统资源,比如可以直接操作硬件。

主要职责:

  1. 进程管理:负责进程创建、销毁、调度。
  2. 内存管理:管理物理和虚拟内存,负责内存分配和回收。
  3. 设备管理:通过设备驱动程序与硬件设备进行通信。
  4. 文件系统管理:处理文件的创建、删除、读取和写入。
  5. 系统调用接口:为应用程序提供一组APIs,使其能够使用系统资源。
  6. 网络管理:处理与网络通信相关的任务。
  7. 安全和访问控制:管理用户权限和资源访问。

类型:

  • 单体内核(Monolithic Kernel):所有功能都集成在一个大的代码库中。
  • 微内核(Microkernel):只包括最基础的服务,其他如文件系统、设备驱动等作为单独的进程运行。
  • 混合内核(Hybrid Kernel):介于单体内核和微内核之间,试图平衡性能和模块性。

应用程序(Application Program)

应用程序是用户与计算机硬件进行交互的软件。这些程序运行在用户模式(非特权模式)下,通常没有直接访问硬件或底层系统资源的权限。应用程序依赖于操作系统通过系统调用提供的服务。

主要职责:

  1. 用户交互:提供图形用户界面(GUI)或命令行界面(CLI)。
  2. 任务执行:执行特定任务,如文本编辑、图像处理、数据计算等。
  3. 数据处理和存储:能够读写文件,进行数据处理。
  4. 网络通信:例如,浏览器、邮件客户端等。

类型:

  • 桌面应用程序:如文本编辑器、图像编辑器。
  • 网络应用程序:如浏览器、FTP客户端。
  • 嵌入式应用程序:运行在嵌入式系统中的程序。
  • 移动应用程序:专为移动设备设计的程序。

区别和关系

  1. 运行级别:内核程序运行在特权级别,而应用程序运行在用户级别。
  2. 功能:内核程序负责基础的、全局的系统管理,而应用程序负责特定的、局部的任务。
  3. 资源访问:内核有权访问所有硬件和系统资源,应用程序只能通过系统调用访问。
  4. 依赖关系:应用程序依赖于内核程序提供的服务来执行其任务。

应用程序和内核程序共同协作,使计算机系统能够高效、安全地运行。


特权指令和非特权指令

特权指令和非特权指令是计算机体系结构中的两个重要概念,用于区分对系统资源访问的权限级别。

特权指令(privileged instructions)是只有操作系统内核或特权级别较高的程序可以执行的指令。这些指令通常用于执行敏感操作,如访问底层硬件设备、修改特权级别、访问受保护的内存区域等。

非特权指令(non-privileged instructions)是一般用户程序可以执行的指令集合。这些指令通常用于常规的计算、数据处理和存储操作,如算术运算、内存读写等。

使用特权级别和特权指令的概念,操作系统可以实现对系统资源的保护和控制。通过将敏感操作限制为特权指令,并限制只有特权级别较高的程序可以执行这些指令,操作系统可以防止一般用户程序对系统资源的滥用和破坏。


内核态和用户态

内核态(Kernel mode,也称为特权态、系统态)是操作系统运行的特权级别。在内核态下,进程拥有最高权限级别,可以执行特权指令和直接访问受保护的系统资源,如底层硬件设备、操作系统核心代码和数据结构等。

用户态(User mode,也称为普通态、非特权态)是一般用户程序运行的权限级别。在用户态下,进程的权限受到限制,不能直接访问受保护的系统资源和执行特权指令。用户态的程序只能执行非特权指令,如算术运算、内存读写等常规操作。

内核态和用户态的划分主要是为了保护系统的稳定性和安全性。通过将系统资源的访问限制在内核态和特权指令中,操作系统可以防止用户程序滥用或错误使用系统资源,同时确保操作系统核心代码和关键数据的安全。通过划分不同的权限级别,操作系统可以实现对进程的隔离、资源的保护和系统的可靠运行。

需要注意的是,用户态和内核态的切换是由操作系统内核控制的,通常由硬件中断、系统调用或异常触发。当用户态程序需要执行特权操作或访问受限资源时,需要通过合法的方式请求操作系统执行相应操作,并经过内核态和用户态的切换。

拓展:CPU 中有一个寄存器叫程序状态字寄存器(PSW),其中有个二进制位,1表示“内核态”,0表示“用户态”。
别名:内核态=核心态=管态;用户态=目态


内核态、用户态的切换

内核态到用户态的切换:执行一条特权指令——修改PSW的标志位为“用户态”,这个动作意味着操作系统将主动让出CPU使用权。

用户态到内核态的切换:由“中断”引发,硬件自动完成切换过程,触发中断信号意味着操作系统将强行夺回CPU的使用权。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向阳而生__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值