【操作系统】什么是操作系统,内核态和用户态

操作系统管理硬件和软件资源,分为批处理、分时、实时等类型。内核态允许执行特权指令,用户态则限制了某些操作。切换发生在系统调用(服务请求)、硬件异常和外部设备中断时,从用户态转为内核态执行相应处理。
摘要由CSDN通过智能技术生成

什么是操作系统?

操作系统是管理硬件和软件的一种应用程序。它管理着计算机的资源和进程以及所有的硬件和软件,并为硬件和软件提供了一种中间层,使软件和硬件分离,让我们无需关注硬件的实现,把关注点更多放在软件应用上。

通常情况下,应用程序需要与内存和 CPU 进行交互,操作系统的目的就是为了保证这些访问和交互能够准确无误的进行。为实现该目的,操作系统能够管理计算机资源,包括 CPU、内存、磁盘驱动器、打印机等;它还能提供一种图形界面,建立起用户和计算机之间的桥梁;它还能为其他软件提供服务,操作系统与软件进行交互,以便为其分配 运行时所需要的必要资源。

操作系统有哪些分类

操作系统 可分为 批处理操作系统、分时操作系统、实时操作系统。 若一个操作系统 兼顾 批处理 和 分时 的功能,则称该系统为通用操作系统。 常见的通用操作系统有:Windows、Linux、MacOS等。

什么是内核态和用户态?

为了避免 操作系统 和 关键数据 被用户程序破坏,将处理器的执行状态分为 内核态 和 用户态 。 内核态是 操作系统管理程序 执行时 所处的状态,能够执行 包含 特权指令在内 的一切指令,能够访问系统内 所有的存储空间。 用户态 是 用户程序 执行时 处理器所处的状态,不能执行特权指令,只能 访问 用户地址空间。 用户程序 运行在 用户态,操作系统内核 运行在 内核态。

如何实现内核态和用户态的切换?

方法

处理器从用户态切换到内核态的方法有三种:系统调用、异常和外部中断。

1.系统调用:程序的执行一般是在用户态下执行的,但当程序需要使用操作系统提供的服务时,比如打开某一设备、创建文件、读写文件等,就需要向操作系统发出调用服务的请求,而这一过程,就完成了了用户态到内核态的切换。

2.异常:由计算机硬件异常或故障引起的中断,称为内部异常中断,如文件损坏、缺页故障等。如果当前进程运行在用户态,此时发生了异常事件,会触发处理器,由当前运行进程切换到处理此异常的内核相关程序中,就转到了内核态。

3.外部中断:当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令,转而去执行与中断信号对应的处理程序。如果先前执行的指令是用户态下的程序,那么这个转换的过程,自然也就发生了由用户态到内核态的切换。(比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中,执行后续操作等。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值