进程和阻塞

一、进程

 

  进程(Process)是保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。进程是一个实体,每一个进程都有它自己的内存空间

 

 

进程和程序的区别:

  •  进程:一堆代码
  • 程序:正在运行的程序

理论基础:

一 操作系统的作用:
  1. 隐藏丑隨复杂的硬件接口,提供良好的抽象接口
  2. 管理调度进程并且将多个进程对硬件的竞争变得有序
二多道技术:
1.产生背员:针对单核,实现并发
  ps:
  现在的主机一般是多核,那么每个被都会利用多道技术
  有4个cpu.运行于cpu1的某个程序遇到1o阻塞,会等到:o结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定,
2.空间上的复用:如内存中同时有多道程序
3.时间上的复用:复用一个cpu的时间片
  强调:遇到1o切,占用cpu时间过长也切。核心在于切之前将进程的状态保存下来,这样
  才能保证下次切换回来时,能基于上次切走的位置继续运行 
时间片:
  时间片即CPU分配给各个程序的时间,每个线程被分配一个时间段,称作它的时间片,即该进程允许运行的时间,使各个程序从表面上看是同时进行的。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。而不会造成CPU资源浪费。在宏观上:我们可以同时打开多个应用程序,每个程序并行不悖,同时运行。但在微观上:由于只有一个CPU,一次只能处理程序要求的一部分,如何处理公平,一种方法就是引入时间片,每个程序轮流执行。

三进程的特征:

  动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。

  并发性:任何进程都可以同其他进程一起并发执行

  独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;

  异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进

  结构特征:进程由程序、数据和进程控制块三部分组成。

  多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。

注意:同一个程序执行两次,就会在操作系统中出现两个进程,所以我们可以同时运行一个软件,分别做不同的事情也不会混乱

 

进程调度算法

 

   先来先服务(FCFS)可用于做业调度和进程调度,有利于长作业,不利于短作业,适用于cup繁忙,不适用于I/o繁忙

 

  短作业(SJ/PF)是先执行短作业

 

   时间片轮算法和多级反馈队列

 

 

 

 

进程的并发与并行

 

并行 : 并行是指两者同时执行,比如赛跑,两个人都在不停的往前跑;(资源够用,比如三个线程,四核的CPU )

 

并发 : 并发是指资源有限的情况下,两者交替轮流使用资源,比如一段路(单核CPU资源)同时只能过一个人,A走一段后,让给B,B用完继续给A ,交替使用,目的是提高效率。

 

区别:

  并行是从微观上,也就是在一个精确的时间片刻,有不同的程序在执行,这就要求必须有多个处理器。
  并发是从宏观上,在一个时间段上可以看出是同时执行的,比如一个服务器同时处理多个session。

 

同步异步非阻塞

 

  

 

 三种状态

  • 就绪状态
    • 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
  • 执行/运行状态
    • 当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
  • 阻塞状态
    • 正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等

 

同步异步

  所谓同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。

  所谓异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了。至于被依赖的任务最终是否真正完成,依赖它的任务无法确定,所以它是不可靠的任务序列

 

阻塞与非阻塞

   阻塞和非阻塞这两个概念与程序(线程)等待消息通知(无所谓同步或者异步)时的状态有关。也就是说阻塞与非阻塞主要是程序(线程)等待消息通知时的状态角度来说的

 

阻塞与异步结合的几种形式

  1. 同步阻塞形式
  2. 异步阻塞形式 
  3. 同步非阻塞形式 
  4. 异步非阻塞形式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2019-10-28 18:55  vic_sky  阅读(2630)  评论(1编辑  收藏  举报