一.操作系统
概念
任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。
操作系统包括: 一款纯正的“搞管理”的软件
- 内核:进程管理、内存管理、文件管理、驱动管理
- 其他程序:比如 函数库、shell程序 等等
操作系统的管理可以分为:硬件管理 和 软件管理
也可以分为:一种对内的管理、一种对外业务进行管理
二.进程
2.1 认识进程
对于操作系统来说,一个任务就是一个进程。
文件、程序、进程
文件:本地磁盘中的资源
程序:属于文件,是静态资源。但是是一种可执行的资源
进程:通过程序运行,在操作系统中是动态执行的。被操作系统所管理的
进程是担当分配系统资源(CPU时间、空间)的实体
2.2 时间片
- 现代操作系统都是支持多任务的操作系统。 所谓“多任务”就是,操作系统可以同时运行多个任务。
- 操作系统的任务调度是采用 时间片轮转 的抢占式调度方式,也就是说一个任务执行一段时间后强制暂停去执行下一个任务,每个任务轮流执行
- 任务执行一段时间叫做时间片,任务正在执行时的状态叫做运行态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪态 等待系统调度
2.3 并发与并行
并发: 对于单核CPU而言,多个进程采用时间片轮转的方式,在一段时间内,让多个进程都得以推进。
并行: 对于多核CPU而言,多个进程同时进行执行。
表现形式:人肉眼看起来,所有进程都是在“同一时间”执行的。但是,在CPU层面,进程是不停轮流执行的(以时间片轮转调度的执行方式) —> 假同时
对于同一个时间点,正在执行的进程处于 运行态 ,没有运行,等待被CPU轮转到的处于 就绪态。
在同一时间点上,可以运行多个进程—> 真同时
2.4 内核态与用户态
一般的操作系统对执行权限进行分级:用户态和内核态
- 操作系统内核作为直接控制硬件设备的底层软件,权限最高,称为内核态或者核心态
- 用户程序的权限最低,称为用户态
用户态切换到内核态是比较耗时的一种操作
2.5 进程状态
阻塞态不能直接转变为运行态
什么时候是运行态 由操作系统调度来决定