冯诺依曼体系结构
cpu:运算器+控制器
运算器:逻辑处理、计算、(计算密集型)
数据传输(网络IO+本地IO----IO密集型)
操作系统
一个基本的程序集合,一款纯正搞管理的软件
内核(内存管理、进程管理、文件管理、取地管理)
其他程序(例如函数库,shell程序)
进程
进程:通过程序运行,表现在操作系统中动态执行,被操作系统所管理。
进程的几种状态
-
就绪:进程处于可运行的状态,但是时间片还没有轮转到该进程上,故处于就绪。比如说执行任务一段时间后强制执行下一段任务,被停止的任务就处于就绪态等待下一个属于它的时间片。
-
运行:进程处于可运行的状态,且CPU时间片轮转到该进程,该进程正在执行代码,
-
阻塞:进程不具备运行条件,正在等待某个事件的完成
区分文件和程序
文件:本地磁盘中的资源
程序:属于文件,是静态资源,一种可执行的资源
时间片
背景:现代操作系统大多都支持多任务,也就是说操作系统可以同时运行多个任务。
操作系统的任务调度采用的是时间片轮转的抢占式调度方式,也就是一个任务执行一段时间后强制暂停去执行下一个任务,每个任务轮流执行。
== 执行任务的一小段时间就叫时间片==
并发
多个进程在同一个cpu下采用时间片轮转的方式,在一个时间内,让多个进程得以推进,称之为并发(单处理机,多个进程),实际上是假同时
在时间片轮转的情况下,每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速地切换,给人的感觉就是多个任务在“同时进行”,这也就是我们所说的并发。
并行
多个进程在多个cpu下分别同时进行运行。(真同时)
内核态与用户态
一般操作系统对执行权限的分级
内核态:操作系统内核作为直接控制硬件设备的底层软件,权限最高
用户态:用户的权限最低
进程中的上下文
上下文简单来说就是一个环境,进程在进行时间片切换,由于每个进程运行环境不同,就涉及到转换前后上下文环境的切换
也就是说:一个进程在执行时,cpu中所有寄存器的值,进程的状态,堆栈上的内容,切换进程时需要保存当前进程的上下文,以便下次执行时快速切换恢复。