前言
内核态和用户态。
一、内核态和用户态
为了避免操作系统和关键数据被用户程序所破坏,将处理器的执行状态分为内核态和用户态。用户程序运行在用户态,操作系统内核运行在内核态。
内核态是操作系统管理程序执行时所出的状态,能够执行包含特权指令在内的一切指令,能够访问系统所有的存储空间。
用户态是用户程序执行时所处的状态,不能执行特权指令,只能访问用户地址空间。
二、内核态和用户态的切换
从用户态切换到内核态:系统调用、异常和外部中断。
(1)系统调用是操作系统的最小功能单位,是操作系统提供的用户接口,系统调用本身是一种软中断。
(2)异常也叫作内中断,是由错误引起的,如文件损坏、缺页故障等。
(3)外部中断是通过两根信号线来通知处理器外设的状态变化,属于硬中断。
三、并发和并行
(1)并行:严格物理意义上的同时进行。如多核CPU。
(2)并发:宏观上看起来两个程序在同时运行,实际上是交替轮换运行的。如单核CPU上的多任务。