导图社区 进程_20200223_202000301
对进程一个整体的认知与介绍,进程每一个环节的介绍
对CUP调度原理的简单介绍与了解,调度算法的介绍
对linux中的线程的介绍,内核线程与用户空间线程
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
进程
3.0.1:综述
是正在执行的程式,需要一定资源来完成任务,是由作业发展过来的
是CPU或者系统的工作单元
系统进程
用户进行
可包含一个或者多个线程
相关活动
创建或者删除
调度
同步机制
通信机制
死锁处理机制
生产的原因
早期系统只允许一个程式运行,他对系统有完整的控制权,能访问所有资源
现代操作系统允许多个程式调入内存并发执行
要求各种程式之间严格控制,合理分配资源
3.0.2:目标
介绍进程概念:执行中的程式,形成计算的基础
介绍不同特点:调度、创建与删除、通信
介绍客户机与服务器系统之间的通信
3.1:进程概念
包含
文本段:程式代码
当前活动
程序计数器的值
处理器寄存器里面的内容
栈
临时数据
函数参数
返回地址
局部变量
数据段
全局变量
子主题
堆
动态分配的内存
区别
程式:被动实体,存在磁盘中的包含一系列指令内容的文件
进程:活动实体,用程序计数器来表示下一个需要执行的命令和相关资源集合
两个不同的进程,可以执行相同的程式,但是他们是完全独立的个体
进程状态
新的
正在被创建
运行
正在被执行
等待
进程等待某个时间的发生
就绪
进程等待分配处理器
终止
完成执行
进程控制块
英文名:PCB:process control block
包含信息
新的、就绪、运行、等待、终止
程序计数器
进程要执行的下一个指令地址
CPU寄存器
累加、索引、堆栈、通用、其他条件等
CPU调度信息
优先级、调度队列指针、其他调度参数
内存管理信息
基地址和界限寄存器、页表、段表
记账信息
CPU时间、实际使用时间、时间界限、记账数据、作业或者进程数量等等
I/O状态信息
I/O设备信息、文件列表等
3.2:进程调度
意义
多道程式设计:永远由进程在CPU里面运行,提高CPU利用率
分时系统:进程之间快速切换CPU,同时用户与程式进行交互
调度队列 PCB来实现
作业队列
系统中所有的队列
就绪队列
等待运行的进程
设备队列
等待特定I/O设备的进程队列
调度程式
作用:在各种队列中选择所需进程来让CPU执行
分类
长周期调度程式(作业调度程式)
从存储在磁盘缓冲中调取
I/O为主的进程
短周期调度程式(CPU调度程式)
从准备执行的进程中调取
CPU为主的进程
分类依据:执行的频率
上下文切换
内容
相关操作
状态保存
状态恢复
定义
将CPU切换到另一个进程,需要保存当前进程的状态;并恢复另一个进程的状态
3.6:客户机-服务器系统通信
Socket 套接字
定义:通信的端点
组成
IP
端口
类型
TCP
UDP
多点传送
分布式进程通信
远程过程调用 RPC
不太了解
远程方法调用
RMI:remote method invocation
3.5:IPC具体实例
POSIX共享内存
Mach
WondowsXP
3.4:进程间通信
概述
进程分类
独立进程
该进程不受其他进程影响,也不影响其他进程
不与其他进程共享数据
协作进程
该进程会受到其他进程影响或者影响其他进程
会与其他进程共享数据
协作进程存在理由
信息共享
允许并发访问
提高运算速率
将任务分解成子任务,并且将其同时完成
每个子任务之间是有逻辑联系
模块化
方便
进程间通讯
IPC:interprocess communication
模式
共享内存
消息传递快速
需要建立共享内存即可,只需要调用一次系统调用
消息传递
轻量级数据
每次传递都需要系统调用介入,实现方便
职责
取消系统的阻止,允许多进程共同访问同一块内存
保证进程不能同时对同一块内存区域的数据进行修改
缓冲
无限缓冲
有限缓冲
消息发送工具
发送消息
接收消息
通信线路
直接或者间接通信
直接通信
原语
send(P,message)
发送消息到进程P
receive(Q,message)
接受来自进程Q的消息
属性
需要通讯,每对进程之间自动建立线路;
进程只需要知道互相通信的标识符即可
一条线路只与两个进程相关
每对进程之间只有一个线路
对称
通信双方需要相互知道,只接受命名的进程的信息
非对称
接收者可以接受任何进程的信息;发送者只能发送给固定的进程
间接通信
send(A,message)
发送一个消息到邮箱A
receive(A,message)
接受来自邮箱A的消息
只有在两个进程共享一个邮箱是,才能建立通信线路
一个线路可以与两个或者多个进程相关联
两个通信进程之间可有多个不同的线路,每个线路对应于一个邮箱
同步或者异步通信
阻塞send
发送进程阻塞,直到消息被接进程或者邮箱所接受
非阻塞send
发送进程发送消息并继续执行
阻塞receive
接受阻塞,直到有消息可用
非阻塞receive
接收者收到一个有效消息或者空消息
自动或者显示缓冲
队列实现方式
零容量
消息长度为0,必须阻塞发送
有限容量
队列未满,可以非阻塞发送消息
队列已满,必须阻塞发送消息
无限容量
无论什么情况,都不必等待;
3.3:进程操作
创建
父进程
创建进程的进程
子进程
被进程创建的进程
系统调用
fork
唯一进程识别符:process identifier
进程创建资源来源
从操作系统直接获取
父进程分配部分资源给子进程
父进程会限制子进程的资源使用上限
创建新进程是,两种执行可能
并发
新进程地址空间
子进程是父进程的复制品
载入另外一个新进程
举例
linux
fork,创建
返回值为0,子进程
返回值不为0,父进程,需要获取子进程的pid
windows
略
作用
终止进程,并且可以将状态返回给父进程
只有父进程可以终止子进程,其他进程没有这个权限
exit()
父进程终止子进程的原因
子进程使用了父进程所分匹配的资源
分配给子进程的任务已不再需要
父进程退出,会将其所有的子进程终止
级联终止
父进程终止子进程状态
自己立马被父进程一起终止
将自己的父进程变为init进程