第11课-进程控制理论

11.1 概念

1. 进程

进程是一个具有独立功能的程序的一次运行活动。进程具有如下的特点:

l  动态性

l  并发性

l  独立性

l  异步性

  1. 进程的状态

计算机程序的状态主要有就绪、执行和阻塞这三个状态。进程创建过后首先处于就绪状态,一个电脑只有一个CUP,能执行的进程也就只有一个,但是同时会有许多的进程是处于就绪状态的。CPU会在众多的就绪的进程中选择一个进行调度,也就是执行。当我们访问文件或者磁盘的时候,如果得不到响应就会等待,也就是阻塞。当一个进程处于阻塞状态的时候,cpu就会去执行其他的进程,若是得到响应,就会I/O完成,继续处于就绪状态。

  1. 进程ID

进程ID(PID):标识进程的唯一数字

父进程的ID(PPID),启动进程的用户ID(UID)。

  1. 进程的互斥

进程互斥是指当有若干个进程都要使用某一资源时,但是资源在同一时刻最多允许一个进程使用,这个时候其他的进程必须等待,直到占用该资源者释放该资源为止。

  1. 临界区

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

  1. 进程同步

一组进程按一定的顺序执行的过程称为进程间的同步。具有同步关系的这组进程称为合作进程,最为有名的是生产者和消费者进程。

  1. 进程调度

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

调度算法 操作系统中,常见的调度算法有:

(1)先来先服务

(2)短进程优先调度

(3)高优先级先调度

(4)时间片轮转法
         在有了等待运行的进程和调度算法后,接下来要讨论的问题是:什么时候调度?按调度的时机,调度可以分为:

(1)抢占式调度:不安顺序来,高优先级直接抢占。

(2)非抢占式调度:按顺序来无论优先级别高低。

  1. 死锁

多个进程因竞争资源而形成一种僵局,导致这些进程都无法继续往前执行。为了解决这个问题,我们把相关的进程在调用的时候按照一定的顺序来进行就好了。

11.2 函数学习

1. 函数学习

getpid

2. 函数作用

返回调用该函数的id

3. 所属的头文件

#include<sys/types.h>

#include<unistd.h>

4. 函数的参数

5. 函数的返回值

这个函数永远是正确的,返回值就是调用该函数进程的id

6. 范例程序

#include<stdio.h>

#include<sys/types.h>

#include<unistd.h>

void main()

{

int id = 0;

id = getpid();

printf("process id is %d\n",id);

}

程序每运行一次会有一个新的id进程。

转载于:https://www.cnblogs.com/free-1122/p/11345468.html

第三季-第11课-进程控制理论相关推荐

  1. self_drive car_学习笔记--第11课:控制理论

    前言:这节课,主要介绍了无人车里面基本控制理论,然后介绍常用基本级控制器PID,也介绍以下进阶版本控制器,最后介绍一下matlab里面的控制工具箱.很菜现在,有些理解错误地方,还望大大们不吝赐教.觉得 ...

  2. 对Linux0.11 中 进程0 和 进程1分析

    1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...

  3. 调试断点_接口测试第11课(断点调试)

    同学们,大家好,今天我们开始学习11课了,这节我们讲断点调试. 一. 使用Fiddler进行HTTP断点调试. 这是Fiddler又一强大和实用的工具之一.通过设置断点,Fiddler可以做到: 1. ...

  4. 《实用C++》第11课:if 语句实现逻辑运算与冒号表达式

    本文转载自:VC驿站 https://www.cctry.com/thread-279233-1-1.html 1.逻辑运算概述: 为什么会有逻辑运算呢?举个例子,上节课的一段小代码: int zha ...

  5. ArchieOpenGL教程第11课:使用位图字体 在屏幕上显示字体

    第十一课A 源代码 图像字体A: 这一课我们将创建一些基于2D图像的字体,它们可以缩放,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经够了. 使用位图字体比起使用图形字体(贴图)看起来不 ...

  6. 「缠师课后回复精选」第11课:不会吻,无以高潮!

    教你炒股票11:不会吻,无以高潮! 2006-11-29 12:00:00 本课精读详解参阅:「狩猎精读缠论」第11课 不会吻,无以高潮! 甄别"早泄"男,必须要选择三个独立的系统 ...

  7. 第11课 Altium Designer20(AD20)+VESC6.4实战教程:绘制原理图8(北冥有鱼)

    第11课 Altium Designer20(AD20)+VESC6.4实战教程:绘制原理图8(北冥有鱼)

  8. 用计算机播放vcd教案,川教版信息技术七下第11课《CD与VCD播放》word教案1.docx

    信息技术学科教学设计方案模板 课题名称 四川省义务教育信息技术教材七年级下册第11课CD与 VCD播放 教师姓名 刘社春 学生年级七年级 课时 1 教学内容分析 认识CD播放器和媒体播放机,掌握 CD ...

  9. 用计算机播放vcd教案,川教版信息技术七下第11课《CD与VCD播放》教案.doc

    川教版信息技术七下第11课<CD与VCD播放>教案整理 第十一课CD与VCD的播放一.教学目标 1.知识与技能目标 (1)了解CD.VCD和DVD的区别学习播放CDVCD的操作: (2)音 ...

  10. linux下enum类型占几个字节,第11课 - enum, sizeof, typedef 分析

    第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...

最新文章

  1. 沁恒RISC-V MCU 为全国大学生智能汽车竞赛加速
  2. phpredis5.6在win10下的安装
  3. 阿里技术专家推荐的20本书,免费送!
  4. android获取apk名称_安卓逆向——APK安装流程
  5. django写原生sql语句
  6. vue-transition动画
  7. WIN7 安装VS2005
  8. react 中加载静态word文档(或加载静态的html文件)
  9. 堆溢出-unlink
  10. 用 git 拉代码时报错:Git Pull Falied:You have not concluded your merge.Exiting because of unfinished
  11. 回环口--Loopback接口
  12. pvx什么材质_100818 常用塑胶材料牌号
  13. 99_包(package)
  14. python生存曲线_知识分享 | 生存分析: 在 Python 中的实现(下篇)
  15. 【python】从拉平的上三角矩阵中,重构矩阵
  16. Matlab笔记(二):Matlab实现高斯函数的三维显示
  17. BZOJ 1029: [JSOI2007]建筑抢修【贪心】
  18. Java SSM框架+jsp处理存储型XSS和反射型XSS漏洞
  19. 如何通过APS系统来制定生产计划(上)
  20. Android系统的版本

热门文章

  1. ImageLoader的简单分析(二)
  2. java zip 压缩文件夹_java zip 实现压缩文件和文件夹类Compressor.java
  3. java8 stream流操作
  4. 换工作,看机会的,戳进来!
  5. linux下mail函数,Linux主机禁用Mail函数的解决办法
  6. sap 打印预览界面点击打印时记录打印次数_9个Excel打印神技巧!从此打印不求人!...
  7. php 爬取一个人的网易云评论,爬取网易云音乐某一个人的评论
  8. python打印字符串所在行_python打印文件中某个字符串的前几行
  9. php找零页面,找零问题
  10. mysql 5.7 root 修改密码_Mysql5.7忘记root密码及mysql5.7修改root密码的方法