操作系统

概念

操作系统运行在裸机之上,用于管理计算机资源(处理器,内存,磁盘,网络),目的是对计算机硬件的指令集做进一步的封装,为用户程序提供更好、更简单、更清晰的计算机模型。

用户态和内核态

多数计算机有两种运行模式

内核态:操作系统具有对所用硬件的完全访问权,可以执行机器能够运行的任何指令。

用户态:只使用机器指令的一个子集,那些会影响机器控制/IO操作的指令在用户态中禁止使用。

系统调用

说了用户态和系统态之后,那么什么是系统调用呢?

我们运行的程序基本都是运行在用户态,如果我们调用操作系统提供的系统态级别的子功能咋办呢?那就需要系统调用了!

也就是说在我们运行的用户程序中,凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。

这些系统调用按功能大致可分为如下几类:

设备管理。完成设备的请求或释放,以及设备启动等功能。
文件管理。完成文件的读、写、创建及删除等功能。
进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
进程通信。完成进程之间的消息传递或信号传递等功能。
内存管理。完成内存的分配、回收以及获取作业占用内存区大小及地址等功能。

操作系统的内核(Kernel)

  1. 操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。
  2. 操作系统的内核是连接应用程序和硬件的桥梁,决定着操作系统的性能和稳定性。

image.png

操作系统内核所管理的硬件资源:

处理器(CPU): 处理器负责处理执行计算机指令,程序的执行就是不断取指令、执行指令的过程。

  1. **寄存器**:每个处理器内部都有一些用来保存关键变量的通用寄存器、以及一些对程序员可见的专用寄存器如:程序计数器(记录下一条指令地址)、堆栈指针寄存器(指向内存中当前栈的顶端)等等。

存储器
image.png

IO设备

IO设备即输入输出设备,如打印机、键盘、鼠标、显示器等等。IO设备由设备控制器和设备本身组成,设备控制器用来控制设备。

设备控制器、设备都、设备驱动程序、都由设备厂商生产制造。

在操作系统上安装设备的驱动程序(用于让操作系统控制设备控制器)来完成操作系统通过设备控制器对设备的控制。

总线

连接计算机各个组成部分,实现计算机内部各个组件通信的中间介质。