进程控制理论,王明学learn

              进程控制理论

一、进程

  进程是一个具有一定独立功能的程序的一次运行活动。

1.1进程特点

  1.动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的

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

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

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

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

1.2进程状态图

1.3进程ID

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

  父进程的ID(PPID)

  启动进程的用户ID(UID)

1.4进程互斥

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

1.5临界资源

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

1.6临界区

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

1.7进程同步

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

1.8进程调度

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

1.9调度算法

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

  1.先来先服务

  2.短进程优先调度

  3.高优先级优先调度

  4.时间片轮转法

1.10按调度时机调度可分为

  1.抢占式调度:高优先数的进程会抢占处理器,让正在处理的进程处于就绪队列。

  2.非抢占式调度:当就绪队列中某进程的最高优先级高于正在处理器中运行的进程的最高优先级时,并不会让正在运行的进程退出处理器,而是将高优先数的排在就绪队列的首部。

1.11死锁

多个进程因竞争资源而形成一种僵局,导致这些进程都无法继续往前执行。

1.12函数学习

getpid()用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题。

  函数原型:pid_t getpid(void)

  函数作用:返回调用该函数的进程的pid

  所属头文件:<sys/types.h> <unistd.h>

  函数参数:无

  函数返回值:调用该函数的进程的id

时间: 2024-10-24 06:15:26

进程控制理论,王明学learn的相关文章

linux内核的组成,王明学learn

linux内核的组成 一.linux内核源代码目录结构 arch: 包含和硬件体系结构相关的代码, 每种平台占一个相应的目录, 如 i386.ARM.PowerPC.MIPS 等. block:块设备驱动程序 I/O 调度. crypto:常用加密和散列算法(如 AES.SHA 等) ,还有一些压缩和 CRC 校验算法. Documentation:内核各部分的通用解释和注释. drivers:设备驱动程序,每个不同的驱动占用一个子目录,如 char.block.net.mtd .i2c 等.

信号量互斥,王明学learn

信号量互斥 信号量(又名:信号灯)与其他进程间通信方式不大相同,主要用途是保护临界资源(进程互斥).进程可以根据它判定是否能够访问某些共享资源.除了用于访问控制外,还可用于进程同步. 一.信号量分类 二值信号灯:信号灯的值只能取0或1 计数信号灯:信号灯的值可以取任意非负值. 二.函数学习 2.1创建/打开信号量 2.1.1 函数名 semget 2.1.2 函数原形 int semget(key_t key,int nsems,int semflg); 2.1.3 函数功能 获取信号量集合标示

信号通讯编程,王明学learn

信号通讯编程 在Linux系统中,信号(signal)同样也是最为古老的进程间通信机制. 一.信号类型 Linux系统支持的所有信号均定义在/usr/include/asm/signal.h(展示),其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止或结束时用来通知父进程 二.函数学习 2.1 发送信号 2.1.1 函数名 kill 2.1.2 函数原形 int kill(pid_t pid,int sig); 2.1.3 函数功能 向进程发送信号

多进程程序设计,王明学learn

多进程程序设计 一.函数学习 1.1 创建进程fork 1.1.1 函数原形 pid_t fork(void); 1.1.2 函数功能 创建一个子进程 1.1.3 所属头文件 <unistd.h> 1.1.4 返回值 成功:父进程返回创建成功的子进程pid子进程返回 0 失败:父进程返回 1.1.5 参数说明 无 1.2 创建进程vfork 1.2.1 函数原形 Pid_t  vfork(); 1.2.2 函数功能 创建一个子进程,并阻塞父进程 1.2.3 所属头文件 <sys/type

管道通信,王明学learn

管道通信 一.通讯目的 1.数据传输 一个进程需要将数据发送给另一个进程. 2.资源共享 多个进程之间共享同样的资源. 3.通知事件 一个进程需要向另一个/组进程发送消息,通知它们发生了某事件. 4.进程控制 有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有操作,并能够及时知道它的状态改变. 二.通讯发展 Linux进程间通信(IPC:interprocesscommunication)由以下几部分发展而来: 1.UNIX进程间通信 2.基于Sy

ARM寻址方式,王明学learn

ARM寻址方式 所谓寻址方式就是处理器根据指令中给出的信息来找到指令所需操作数的方式. 一.立即数寻址 立即数寻址,是一种特殊的寻址方式,操作数本身就在指令中给出,只要取出指令也就取到了操作数.这个操作数被称为立即数,对应的寻址方式也就叫做立即数寻址.:立即数不能作为指令中的第二操作数.该规定与高级语言中“赋值语句的左边不能是常量”的规定相一致.例如以下指令: ADD  R0,R0,#0x3f:R0←R0+0x3f 立即数,要求以“#”为前缀. 二.寄存器寻址 寄存器寻址就是利用寄存器中的数值作

协处理器,王明学learn

协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担.ARM可支持多达16个协处理器,其中CP15是最重要的一个. CP15提供16组寄存器 通过提供的16组寄存器访问CP15 一.协处理器访问 ARM微处理器可支持多达16个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略ARM处理器和其他协处理器的指令.     ARM的协处理器指令主要用于ARM处理器初始化ARM协处理器的数据处理操作,以及在ARM处理器

ARM伪指令,王明学learn

ARM伪指令 在ARM汇编语言程序中里,有一些特殊指令助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作.伪指令在元程序中的作用是为完成汇编程序作各种准备工作,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成. 伪指令本身并没有所对应的机器码,它只是在编译的时候起作用,或者转化为其他的实际指令来运行. 在ARM的汇编程序中,有几种伪指令:符号定义伪指令.数据定义的伪指令.汇编控制的伪指令.宏指令以及其他伪指令. 一.符号

linux应用开发-进程控制理论

linux应用开发-进程控制理论 一 进程 进程是一个具有一定独立功能的程序的一次运行活动. 二 进程特点和状态 动态性 并发性 独立性 异步性 状态 就绪 执行 阻塞 三 调度算法 进程调度:按一定算法,从一组待运行的进程中选出一个来占有CPU运行. 先来先服务 短进程优先调度 高优先级优先调度 时间片轮转法 四 调度方式 在有了等待运行的进程和调度算法后,接下来需要讨论的问题是:什么时候调度? 按调度时机,调度可分为: 抢占式调度 非抢占式调度 五 死锁 多个进程抢占同一个资源而形成的一种僵