操作系统入门
1.操作系统的概念
1.1操作系统
负责管理计算机中各种软硬件资源并控制各类软件运行。
1.2进程
进程即进行中的程序,进程有一定的生命周期,而程序可以长时间的保存。
1.3线程
线程是进程的一个实体,是CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。在关系上可以视为线程是进程的子集。
1.4内核态、用户态
- 内核态:拥有计算机中所有的软硬件资源
- 用户态:其访问资源的数量和权限均受到限制(由于安全考虑,大多数应用程序时存储在用户态的)
后续文章将会着重介绍进程和线程。
2.操作系统组成
- 进程管理:系统资源的分配单位(基本单位为进程)。
- 存储管理:内存分配、存储保护、虚拟内存。
- 设备管理:管理外设、接口等。
- 文件管理:保存程序和数据等软件信息。
- 程序接口:提供指令或函数的调用方式,使程序可以调用系统服务。
3.操作系统分类
- 单用户操作系统:一次只能运行一个用户程序。
- 批处理操作系统:多个程序或作业同时运行。
- 分时操作系统:
- 可以充分利用计算机资源。
- 分时系统的多个用户之间可以通过文件系统彼此共享数据、文件,并在各自的终端上协同完成共同任务。
- 试试操作系统:要求计算机对数据进行迅速处理,这种有响应时间要求的快速处理过程,叫实时操作系统。
- 网络操作系统:将物理上分散的独立的多个计算机系统互联起来,通过网络协议在不同的计算机之间实现信息交换、资源共享等 它们这种提供网络通信,资源共享的操作系统称为网络操作系统。
4.中断
要想了解系统内核如何工作,就得先了解系统中断。
4.1中断的概念
整个操作系统是一个中断驱动的死循环,当不对系统进行任何操作时,系统会调度处理器执行其他任务。当外部需要对操作系统进行操作(如键盘输入)时,就需要打断处理器执行其他任务,专注于中断的任务。
4.2中断的方式
- 硬中断:由CPU实现
- 实现过程:CPU在每个指令周期最后会留一个CPU周期检查中断信号。若存在中断信号则将中断号取出,并去中断向量表中寻找中断处理程序,并跳转执行中断。
- 触发方式:外部硬件直接向CPU发送中断信号引起中断。
-分类:根据硬中断触发的方式的不同,硬中断可进一步分类:直接给CPU INTR引脚发信号触发中断、CPU自身执行指令触发中断、软件通过int n等指令触发中断。
- 软中断:由软件实现
- 实现过程:操作系统有一个单独守护进程,该进程会不断轮询内存中一组标志位,如果哪个标志位有值了,那去这个标志位对应的软中断向量表数组的相应位置,找到软中断处理函数,然后跳过去执行。
- 触发方式:其他软件通过设置标记位触发中断。
5.内核
5.1内核介绍
内核是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。
简单来说,内核是将对计算机硬件操作的代码进行封装,并提供不同的接口以供上层系统或程序使用。
5.2内核运行方式
内核由于需要直接调度计算机硬件,因此会常驻内存,其中还包含一些与硬件紧密相关的模块(中断),设备驱动程序以及时钟管理、进程调度等。而进入核心的唯一入口则为中断。
内核执行的特点如下:
- 中断驱动:中断->内核->退出
- 连续执行
- 内核执行过程在中断屏蔽下
- 内核特权指令
5.3内核功能
- 支撑:中断处理、时钟管理、原语操作
- 资源管理:进程、存储器、设备管理。
5.4内核分类
5.4.1宏内核
内核的功能都集中在一起,运行在内核进程中,模块之间的交互直接通过方法调用。
5.4.2微内核
微内核只提供最核心的功能,如任务调度、内存管理,其他模块都会被移除内核,并运行在不同进程中。当执行过程出现问题时只需重启对应进程即可。但是该种做法需要使用IPC作为进程间通信的方式,进程间的效率较低。
5.4.3混合内核
宏内核和微内核的结合体,混合内核就是集中了两者的特点,让微内核的一些核心模块运行在内核中,从而使得内核效率更高
5.4.4
外内核就是把硬件暴露给应用程序,应用程序可以直接访问硬件,外内核对系统提供保护