进程---1

1.进程

1.1 进程的初步认识

  • 程序和进程的区别?
  • 程序表现为系统的一个可执行文件(静态的)(说明:双击打开某个文件,不意味着这个文件就是程序,右键——>打开方式——>里边的才是程序)
  • 进程:程序(静态的可执行文件)运行起来之后就是一个进程(运行态的程序)(说明:操作系统把程序代码加载到内存,调用cpu执行程序的代码。系统再把进程管理起来)
  • 进程是作为分配资源的最小单位(CPU,内存等等)
  • 一个进程,系统是分配有唯一的id标识(pid)
  • java代码的运行机制:
    在这里插入图片描述
  • 进程是担当分配系统资源(CPU时间,内存)的实体,是具有动态特性的,这样的任务是一直都是存在且状态变更的。

1.2 时间片

  • 现在操作系统比如Mac OS X ,UNIX ,Windows等,都是支持"多任务"的操作系统,所谓的多任务,就是操作系统可以同时运行多个任务。
  • 操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。
  • 操作系统的调度算法(系统调度cpu执行进程中的代码):时间片轮转调度。

在这里插入图片描述

  • cpu执行某个进程,在执行一定时间后,会切换到下一个进程。
  • 时间片:就是某个进程在该次cpu执行时,所用的时间。
  • 轮转调度:cpu轮流执行某个进程。
  • 任务正在执行时的状态叫做运行状态,时间执行一段时间后强制暂停去执行下一个任务,被暂停的任务就处于就绪状态等待下一个属于他的时间片的到来。
  • 每个任务都能得到执行,由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速的切换,给人的任务在"同时进行",就是并发。

1.3并行和并发

  • 并发:在系统调度一个cpu,采用时间片轮转调度的方式,在一个时间范围内,执行多个进程的代码。对人肉眼来说,这个时间是不可感知的,就认为是同时在进行。
  • 人的角度看,是同时在执行进程,cpu的角度,就是一个时间点,执行一个进程。
  • 并行:多个cpu在同一个时间点,同时执行多个进程的代码(真同时)。

1.4 内核态与用户态

  • 进程涉及的:
  1. 系统加载进程的程序代码到内存;
  2. 系统调度CPU执行程序代码指令(CPU执行指令有运算,控制,数据传输);
  • 执行的部分指令就涉及权限问题:
    1. 系统操作权限最高,如果一个程序执行某个指令,没有权限,就需要调用系统接口来执行,此时用户进程就进入"内核态"或者叫做"核心态"。
    2. 用户进程来说,权限是最低的,称为"用户态"。
  • 以上两种状态就涉及相互转换的问题:进程执行权限高的指令(如IO操作),用户态——>内核态,执行完毕,返回:内核态——>用户态
  • 用户态转变为内核态,是比较消耗资源的。

1.5进程的上下文

  • 上下文简单来说就是一个环境,进程在时间片轮转时,由于进程运行环境不同,就涉及到转换前后前后的上下文环境切换:
  • 就是一个进程在执行的时候,CPU的所有寄存器的值,进程的状态以及堆栈上的内容;
  • 切换时需要保存当前进程的所有的状态,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。
  • 上下文,这个名词不是进程线程独有的,而是环境不同,要切换的时候,都需要的词汇;
  • 在环境切换进程1的时候,保存进程1上文环境,切换到进程2,再切换回来时,需要恢复进程1的上文环境。
  • 认识上下文环境的作用:切换出去时,保存上下文环境,切换进行时,恢复上下文环境。

1.5进程的状态:

在这里插入图片描述

  • 就绪:进程处于可运行状态,只有CPU时间片还没有轮转到该进程,则该进程处于就绪状态;
  • 运行:进程处于可运行的状态,且时间片轮转到该进程,该进程正在执行代码,则该进程处于运行状态;
  • 阻塞:进程不具备运行条件,正在等待某个事件的完成。
  • 系统调度到才能进入到运行态。
  • 对应系统调度从进程1切换到进程2来说:
  • 进程1从运行态——>就绪态;
  • 进程2从就绪态——>运行态;
  • 运行——>终止:1.正常执行完毕;2.异常退出
  • 阻塞的表现:程序暂停,一直等到满足某种条件,才能继续执行,或无条件等待。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值