第三季-第11课-进程控制理论
第11课-进程控制理论
11.1 概念
1. 进程
进程是一个具有独立功能的程序的一次运行活动。进程具有如下的特点:
l 动态性
l 并发性
l 独立性
l 异步性
- 进程的状态
计算机程序的状态主要有就绪、执行和阻塞这三个状态。进程创建过后首先处于就绪状态,一个电脑只有一个CUP,能执行的进程也就只有一个,但是同时会有许多的进程是处于就绪状态的。CPU会在众多的就绪的进程中选择一个进行调度,也就是执行。当我们访问文件或者磁盘的时候,如果得不到响应就会等待,也就是阻塞。当一个进程处于阻塞状态的时候,cpu就会去执行其他的进程,若是得到响应,就会I/O完成,继续处于就绪状态。
- 进程ID
进程ID(PID):标识进程的唯一数字
父进程的ID(PPID),启动进程的用户ID(UID)。
- 进程的互斥
进程互斥是指当有若干个进程都要使用某一资源时,但是资源在同一时刻最多允许一个进程使用,这个时候其他的进程必须等待,直到占用该资源者释放该资源为止。
- 临界区
进程中访问临界资源的那段程序代码称为临界区。为实现对临界资源的互斥访问,应该保证诸进程互斥地进入各自的临界区。
- 进程同步
一组进程按一定的顺序执行的过程称为进程间的同步。具有同步关系的这组进程称为合作进程,最为有名的是生产者和消费者进程。
- 进程调度
按一定的算法,从一组待运行的进程中选一个来占有CPU运行。
调度算法 操作系统中,常见的调度算法有:
(1)先来先服务
(2)短进程优先调度
(3)高优先级先调度
(4)时间片轮转法
在有了等待运行的进程和调度算法后,接下来要讨论的问题是:什么时候调度?按调度的时机,调度可以分为:
(1)抢占式调度:不安顺序来,高优先级直接抢占。
(2)非抢占式调度:按顺序来无论优先级别高低。
- 死锁
多个进程因竞争资源而形成一种僵局,导致这些进程都无法继续往前执行。为了解决这个问题,我们把相关的进程在调用的时候按照一定的顺序来进行就好了。
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课-进程控制理论相关推荐
- self_drive car_学习笔记--第11课:控制理论
前言:这节课,主要介绍了无人车里面基本控制理论,然后介绍常用基本级控制器PID,也介绍以下进阶版本控制器,最后介绍一下matlab里面的控制工具箱.很菜现在,有些理解错误地方,还望大大们不吝赐教.觉得 ...
- 对Linux0.11 中 进程0 和 进程1分析
1. 背景 进程的创建过程无疑是最重要的操作系统处理过程之一,很多书和教材上说的最多的还是一些原理的部分,忽略了很多细节.比如,子进程复制父进程所拥有的资源,或者子进程和父进程共享相同的物理页面,拥有 ...
- 调试断点_接口测试第11课(断点调试)
同学们,大家好,今天我们开始学习11课了,这节我们讲断点调试. 一. 使用Fiddler进行HTTP断点调试. 这是Fiddler又一强大和实用的工具之一.通过设置断点,Fiddler可以做到: 1. ...
- 《实用C++》第11课:if 语句实现逻辑运算与冒号表达式
本文转载自:VC驿站 https://www.cctry.com/thread-279233-1-1.html 1.逻辑运算概述: 为什么会有逻辑运算呢?举个例子,上节课的一段小代码: int zha ...
- ArchieOpenGL教程第11课:使用位图字体 在屏幕上显示字体
第十一课A 源代码 图像字体A: 这一课我们将创建一些基于2D图像的字体,它们可以缩放,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经够了. 使用位图字体比起使用图形字体(贴图)看起来不 ...
- 「缠师课后回复精选」第11课:不会吻,无以高潮!
教你炒股票11:不会吻,无以高潮! 2006-11-29 12:00:00 本课精读详解参阅:「狩猎精读缠论」第11课 不会吻,无以高潮! 甄别"早泄"男,必须要选择三个独立的系统 ...
- 第11课 Altium Designer20(AD20)+VESC6.4实战教程:绘制原理图8(北冥有鱼)
第11课 Altium Designer20(AD20)+VESC6.4实战教程:绘制原理图8(北冥有鱼)
- 用计算机播放vcd教案,川教版信息技术七下第11课《CD与VCD播放》word教案1.docx
信息技术学科教学设计方案模板 课题名称 四川省义务教育信息技术教材七年级下册第11课CD与 VCD播放 教师姓名 刘社春 学生年级七年级 课时 1 教学内容分析 认识CD播放器和媒体播放机,掌握 CD ...
- 用计算机播放vcd教案,川教版信息技术七下第11课《CD与VCD播放》教案.doc
川教版信息技术七下第11课<CD与VCD播放>教案整理 第十一课CD与VCD的播放一.教学目标 1.知识与技能目标 (1)了解CD.VCD和DVD的区别学习播放CDVCD的操作: (2)音 ...
- linux下enum类型占几个字节,第11课 - enum, sizeof, typedef 分析
第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...
最新文章
- 沁恒RISC-V MCU 为全国大学生智能汽车竞赛加速
- phpredis5.6在win10下的安装
- 阿里技术专家推荐的20本书,免费送!
- android获取apk名称_安卓逆向——APK安装流程
- django写原生sql语句
- vue-transition动画
- WIN7 安装VS2005
- react 中加载静态word文档(或加载静态的html文件)
- 堆溢出-unlink
- 用 git 拉代码时报错:Git Pull Falied:You have not concluded your merge.Exiting because of unfinished
- 回环口--Loopback接口
- pvx什么材质_100818 常用塑胶材料牌号
- 99_包(package)
- python生存曲线_知识分享 | 生存分析: 在 Python 中的实现(下篇)
- 【python】从拉平的上三角矩阵中,重构矩阵
- Matlab笔记(二):Matlab实现高斯函数的三维显示
- BZOJ 1029: [JSOI2007]建筑抢修【贪心】
- Java SSM框架+jsp处理存储型XSS和反射型XSS漏洞
- 如何通过APS系统来制定生产计划(上)
- Android系统的版本
热门文章
- ImageLoader的简单分析(二)
- java zip 压缩文件夹_java zip 实现压缩文件和文件夹类Compressor.java
- java8 stream流操作
- 换工作,看机会的,戳进来!
- linux下mail函数,Linux主机禁用Mail函数的解决办法
- sap 打印预览界面点击打印时记录打印次数_9个Excel打印神技巧!从此打印不求人!...
- php 爬取一个人的网易云评论,爬取网易云音乐某一个人的评论
- python打印字符串所在行_python打印文件中某个字符串的前几行
- php找零页面,找零问题
- mysql 5.7 root 修改密码_Mysql5.7忘记root密码及mysql5.7修改root密码的方法