我是靠谱客的博主 迅速帽子,最近开发中收集的这篇文章主要介绍进程的基本概念,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

定义

在引入多道程序之后,计算机可以同时处理多个程序,那么问题来了,那么多个程序,操作系统要怎么才能找到各程序的存放位置呢?

于是就引入了一个概念:PCB

PCB 就是进程控制块,它用来描述进程的各种信息。

进程实体由 PCB、程序段、数据段组成。

我们所说的创建一个进程其实就是创建一个 PCB。

PCB 是进程存在的唯一标志。

  • 注意进程和进程实体的区别:进程是程序的一次执行过程,是动态的,而进程实体是静态的。
  • 进程标识符 PID 是进程创建时系统自动分配的唯一 ID。
  • 和进程管理相关的信息都保存在 PCB 中。

进程的状态

进程有 3 种状态:

  • 在单核处理机下,每一时刻最多只有一个进程处于运行态;

进程状态的切换

阻塞态就绪态 是一种被动行为,不是进程自己能控制的。

运行态阻塞态 是一种主动行为,进程主动请求系统调用。

进程控制

进程控制就是要实现进程状态转换,通过 原语 实现。

原语的特点是

  • 不允许中断,只能一气呵成,是一种原子操作;
  • 运行在核心态。

无论哪个原语,要做的无非三类事情

  • 更新 PCB 中的信息;
  • 将 PCB 插入合适的队列;
  • 分配回收资源。

进程通信

共享存储、管道通信、消息传递。

管道通信:管道是指用于连接读写进程的一个共享文件,又名 pipe 文件。其实就是在内存中开辟一个大小固定的 缓冲区

消息传递:进程间的数据交换以 格式化的消息 (如报文)为单位,进程通过操作系统提供的 “发送消息、接收消息” 两个原语进行数据交换。

最后

以上就是迅速帽子为你收集整理的进程的基本概念的全部内容,希望文章能够帮你解决进程的基本概念所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部