一、操作系统
操作系统的概念
操作系统(Operating System,OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。操作系统是软件、硬件、用户之间交互的媒介。简单来说,操作系统就是一个软件,用来搞管理的软件。
根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。常见的操作系统有:Windows、Linux、 Android 、Mac 等。
二、进程
进程的概念
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行的基本单位,是操作系统结构的基础。简单来说,一个跑起来的程序就是“进程”,如果没有跑起来就不算是进程。
在任务管理器中,这些运行的程序就是进程了。像idea64.exe这种躺在电脑中没有运行的叫做‘程序”。
进程是一个非常重要的“软件资源”
进程由操作系统内核负责管理的。这边的管理分为两个部分:
一个是描述:使用结构体来描述进程属性。用来描述进程的这个结构体叫做PCB(进程控制块)。
另一个是组织:通过双向链表,把多个PCB串到一起。
创建一个线程,本质上就是创建一个PCB这样的结构体对象再把它插入到链表中。
销毁一个进程,本质上就是把链表上的PCB节点删除掉。
任务管理器查看到的进程列表,本质上就是遍历这个PCB链表。
进程结构体的主要属性:
1.pid :进程的唯一的身份标识。(唯一的数字)
2.内存指针 :代表当前进程使用的是内存的哪一部分。
3.文件描述符表 :进程结构体的文件描述符表是操作系统内核用于跟踪进程打开的所有文件的一种数据结构。每个进程都有自己独立的文件描述符表,该表记录了该进程当前打开的所有文件的文件描述符以及相关信息。
4.进程调度的相关属性
进程调度
进程调度是操作系统内核的一部分,负责协调系统中各个进程的运行顺序和时间分配。在多处理器系统中,进程调度可以最大限度的利用处理器资源,优化系统性能。
进程调度的属性
1.进程的状态
进程的状态一般分为五种:创建、终止、运行、就绪、阻塞。
创建状态:进程在创建过程中,还不能运行。
终止状态:进程已经结束,不再运行。
运行状态:当一个进程在处理机上运行时,就处于运行状态。
就绪状态:进程随叫随到,进程随时准备好了去cpu上执行。
阻塞状态:就相当于进程出差了,短时间内无法到cpu上执行。
2.进程的优先级
每个进程都有相应的优先级,优先级决定它何时运行和接收多少 CPU 时间。有的先调度,有的后调度,这就是进程优先级。
3.进程的上下文
进程的上下文相当于"存档,读档"。操作系统在进行进程切换的时候,就需要把进程执行的"中间状态"记录下来并且保存好,等到下次这个进程再上cpu运行的时候就可以恢复到上次的状态然后继续往下执行。
4.进程的记账信息
进程的记账信息就是统计每个进程在cpu上占用的时间和执行的指令数目。