操作系统
概念
操作系统运行在裸机之上,用于管理计算机资源(处理器,内存,磁盘,网络),目的是对计算机硬件的指令集做进一步的封装,为用户程序提供更好、更简单、更清晰的计算机模型。
用户态和内核态
多数计算机有两种运行模式
内核态:操作系统具有对所用硬件的完全访问权,可以执行机器能够运行的任何指令。
用户态:只使用机器指令的一个子集,那些会影响机器控制/IO操作的指令在用户态中禁止使用。
系统调用
说了用户态和系统态之后,那么什么是系统调用呢?
我们运行的程序基本都是运行在用户态,如果我们调用操作系统提供的系统态级别的子功能咋办呢?那就需要系统调用了!
也就是说在我们运行的用户程序中,凡是与系统态级别的资源有关的操作(如文件管理、进程控制、内存管理等),都必须通过系统调用方式向操作系统提出服务请求,并由操作系统代为完成。
这些系统调用按功能大致可分为如下几类:
设备管理。完成设备的请求或释放,以及设备启动等功能。
文件管理。完成文件的读、写、创建及删除等功能。
进程控制。完成进程的创建、撤销、阻塞及唤醒等功能。
进程通信。完成进程之间的消息传递或信号传递等功能。
内存管理。完成内存的分配、回收以及获取作业占用内存区大小及地址等功能。
操作系统的内核(Kernel)
- 操作系统的内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。
- 操作系统的内核是连接应用程序和硬件的桥梁,决定着操作系统的性能和稳定性。
操作系统内核所管理的硬件资源:
处理器(CPU): 处理器负责处理执行计算机指令,程序的执行就是不断取指令、执行指令的过程。
**寄存器**:每个处理器内部都有一些用来保存关键变量的通用寄存器、以及一些对程序员可见的专用寄存器如:程序计数器(记录下一条指令地址)、堆栈指针寄存器(指向内存中当前栈的顶端)等等。
存储器:
IO设备:
IO设备即输入输出设备,如打印机、键盘、鼠标、显示器等等。IO设备由设备控制器和设备本身组成,设备控制器用来控制设备。
设备控制器、设备都、设备驱动程序、都由设备厂商生产制造。
在操作系统上安装设备的驱动程序(用于让操作系统控制设备控制器)来完成操作系统通过设备控制器对设备的控制。
总线:
连接计算机各个组成部分,实现计算机内部各个组件通信的中间介质。