zoukankan      html  css  js  c++  java
  • 进程控制原理

    1 什么是进程

         所谓进程,通俗的讲是一个具有独立功能的程序的一次运行活动。相比于进程而言,程序是静态的,如放在磁盘上的程序;而进程是动态的,必须是运行起来的。

        进程特点:动态性,并发性,独立性,异步性

           动态性:由进程的概念可知,进程必须是运行起来的,所以具有动态性。

        并发性:对于多个进程而言,在同一时间,可以同时执行,称之为并发性。

        独立性:每个进程是独立存在的,称之为独立性。

        异步性:进程与进程之间可以进行异步操作,具有异步效果。

    2 进程三态

        在操作系统原理中,一个完整的进程都不可或缺的拥有以下三态:就绪态,执行态,阻塞态。

                

                                      图1 进程三态性

    进程执行过程:

        进程一旦创建起来之后,首先进入的状态是就绪态,然后通过进程调度来占有CPU进入执行态,注:假如只有一个CPU,则同一时刻只有一个进程能够占有CPU。进程在运行过程当中若要进行I/O请求,如访问网卡、串口(从串口读取数据,此时串口没有数据可读)等时,则进程会进入阻塞态,等串口有数据并将数据读完(I/O完成),进程又会跳回就绪态。整个过程为进程的基本流程。

     

    3 进程相关概念

        进程互斥:进程互斥是指当有若干个进程要使用某一共享资源(临界资源)时,任何时刻最多允许一个进程使用,其他使用资源的进程必须等待,直到占用该资源的进程释放该资源为止。

                临界资源:操作系统中将一次只允许一个进程访问的资源称为临界资源。

          临界区:进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源的互斥访问,应保证诸进程互斥的进入各自的临界区。

          进程同步:一组并发进行按照一定顺序执行的过程称为进程间的同步。具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。如工厂商品流程:生产,测试,包装,出售,这几个过程就是进程同步,先生产再测试,再包装,再出售。

          进程调度:按照一定算法,从一组待运行的进程中选出一个来占有CPU运行。

    4 进程调度方式  

                  

                      图2 进程调度方式 

     

        各调度方式如图3所示:

     

     

                      图3 进程调度方法及示意图

     

        以上为进程的相关概念,主要参考国嵌视频讲座   课程2(嵌入式LINUX应用开发班)第3天(进程控制)国嵌应用班-3-1(进程控制原理).avi的相关内容。如若有无之处,望大家能够指正,达到共同学习目的。

     

    进程死锁:多个进程因竞争资源而形成一种僵局,若无外力作用,这些进程都将永远无法再向前推进。

    死锁示意图如图 4所示:

     

                       

        图4 进程死锁示意图(实线为已占有资源,虚线为待占有资源)

  • 相关阅读:
    CSS3笔记!
    Charles与Jmeter结合编写接口测试
    Charles测试点集锦
    pom文件报错关于maven-compiler-plugin:3.1
    Jmeter获取数据库值并作为参数请求(转载)
    mysql基础操作语言
    JMeter之Ramp-up Period(in seconds)说明
    Jmeter查看QPS和响应时间随着时间的变化曲线(转载)
    Charles篡改后台数据
    接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)
  • 原文地址:https://www.cnblogs.com/Zoran-/p/5819277.html
Copyright © 2011-2022 走看看