操作系统概述

操作系统是连接应用程序与硬件的桥梁,它包括内核态和用户态两部分。内核作为核心,负责进程管理、内存管理、硬件设备管理和提供系统调用。当应用程序通过系统调用请求服务时,会触发中断,CPU从用户态切换到内核态执行相应操作,完成后返回用户态。内核主要任务包括进程调度、内存分配、硬件通信及提供与硬件交互的接口。
摘要由CSDN通过智能技术生成

什么是操作系统?
简单来说是应用程序与计算机硬件连接的桥梁。
计算机由一个或多个处理器、主存、打印机、键盘、鼠标、显示器、网络接口以及各种输入/输出设备构成。
然而,程序员不会直接和这些硬件打交道,而且每位程序员不可能会掌握所有计算机系统的细节,这样我们就不用再编写代码了,所以在硬件的基础之上,计算机安装了一层软件,这层软件能够通过响应用户输入的指令达到控制硬件的效果,从而满足用户需求,这种软件称之为操作系统,它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型。
计算机有两种运行模式:内核态 和 用户态,软件中最基础的部分是操作系统,它运行在内核态中。操作系统具有硬件的访问权,可以执行机器能够运行的任何指令。软件部分运行在用户态中。
什么是内核呢?
计算机是由各种外部硬件设备组成的,如果每个应用程序都要和这些硬件设备对接通信协议,那这样太累了。所以,就由内核来负责,让内核作为应用程序连接硬件设备的桥梁,应用程序只需关心与内核交互,不用关心硬件的细节。
在这里插入图片描述
内核有哪些能力呢?
现代操作系统,内核一般会提供 4 个基本能力:
● 管理进程、线程,决定哪个进程、线程使用 CPU,也就是进程调度的能力;
● 管理内存,决定内存的分配和回收,也就是内存管理的能力;
● 管理硬件设备,为进程与硬件设备之间提供通信能力,也就是硬件通信能力;
● 提供系统调用,如果应用程序要运行更高权限运行的服务,那么就需要有系统调用,它是用户程序与操作系统之间的接口。
内核是怎么工作的?
内核具有很高的权限,可以控制 cpu、内存、硬盘等硬件,而应用程序具有的权限很小,因此大多数操作系统,把内存分成了两个区域:
● 内核空间,这个内存空间只有内核程序可以访问;
● 用户空间,这个内存空间专门给应用程序使用;
用户空间的代码只能访问一个局部的内存空间,而内核空间的代码可以访问所有内存空间。
因此,当程序使用用户空间时,我们常说该程序在用户态执行,而当程序使内核空间时,程序则在内核态执行。
应用程序如果需要进入内核空间,就需要通过「系统调用」,下面来看看系统调用的过程:
在这里插入图片描述
内核程序执行在内核态,用户程序执行在用户态。当应用程序使用系统调用时,会产生一个中断。发生中断后, CPU 会中断当前在执行的用户程序,转而跳转到中断处理程序,也就是开始执行内核程序。内核处理完后,主动触发中断,把 CPU 执行权限交回给用户程序,回到用户态继续工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值