目录
- 介绍
- 操作系统的作用
- 应用程序、内核、CPU
- 用户态和内核态
- 用户态
- 内核态
- 用户态切换到内核态的 3 种方式:
- 系统调用(Trap)
- 异常
- 中断
介绍
操作系统(Operating System, OS)是管理计算机硬件和软件资源、给应用程序和用户提供底层抽象的一种系统软件。
操作系统的作用
(同时也是我们写操作系统的时候需要实现的功能模块)
- 用户接口:向上,操作系统提供了用户与计算机系统之间的交互界面。这个界面可以是图形用户界面(GUI)或者命令行界面(CLI),使用户能够方便地操作计算机系统。
- 系统服务和应用程序支持:操作系统提供了一系列的系统服务和应用程序支持,包括设备驱动程序、系统工具、应用程序接口(API)等。这些服务和支持使得应用程序能够更轻松地访问计算机的硬件资源和系统功能。
- 进程管理:操作系统负责管理运行在计算机上的应用程序(进程)。它负责进程的创建、调度、终止以及进程间通信等功能。操作系统通过进程管理来保证计算机系统的稳定运行和资源的公平分配。
- 内存管理:操作系统负责管理计算机的主存储器(RAM)。内存管理包括内存分配、回收、虚拟内存管理等功能。操作系统通过内存管理来确保系统资源的高效利用。
- 文件管理:操作系统提供了一个文件系统,用于组织、存储和管理用户的数据文件。文件系统允许用户创建、删除、读取和修改文件,并提供了文件保护、权限管理等功能。
1
应用程序、内核、CPU
用户态和内核态
进程在系统上运行时所具有的权限不同,可以分为用户态和内核态
用户态
用户态(User Mode) : 拥有较低的权限,用户态运行的进程可以直接读取用户程序的数据。当应用程序需要执行某些需要特殊权限的操作,例如读写磁盘、网络通信等,就需要向操作系统发起系统调用请求,进入内核态。
内核态
内核态(Kernel Mode):拥有非常高的权限,内核态运行的进程几乎可以访问计算机的任何资源包括系统的内存空间、设备、驱动程序。当操作系统接收到进程的系统调用请求时,就会从用户态切换到内核态,执行相应的系统调用,并将结果返回给进程,最后再从内核态切换回用户态。
用户态到内核态的切换需要上下文切换等一系列操作,耗费一定的资源。