一、系统程序和应用程序
系统程序就是操作系统的内核。往往是系统自带的程序。用来完成最基本的系统操作。有中断处理、时钟管理、原语、进程管理、存储器管理、设备管理的程序。
应用程序:普通的程序,用于文本操作、聊天、视频等程序。不能执行OS指令和访问OS区域。
二、系统态和用户态
指的是处理机的执行状态的分类。分类目的:防止应用程序对OS破坏。
系统态:又称核心态、管态、内核态。操作系统的内核的运行的状态。具有较高特权,能执行一切指令,访问所有寄存器和存储器。
用户态:又称目态,应用程序的运行的状态。具有较低的特权,仅能执行规定的指令,访问特定的寄存器和存储器。
状态转换:通过系统调用。必须经过软中断机制。
三、特权指令和非特权指令
特权指令:
- 在系统态下运行的指令。
- 对内存的访问不受限制,可以访问用户空间也可以访问系统空间。比如:启动外部设备、设置系统时钟、关中断、转换执行状态。
- 不允许应用程序使用。
非特权指令:
- 在用户态运行的指令,应用程序所使用的所有指令。
- 访问内存受限,只允许访问用户空间。
- 不能对系统中的软件和硬件直接访问。
四、系统调用和过程调用的区别
系统调用:调用程序一定是运行在用户态,被调用程序一定是运行在系统态。
过程调用:调用程序和被调用程序运行在相同的状态下,可以同时是用户态,也可以同时是系统态。