导图社区 计算机操作系统进程管理
计算机操作系统—进程管理核心知识点总结快收下吧!进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。比如说,同样一个程序,同一时刻被两次运行了,那么他们就是两个独立的进程。linux下查看系统进程的命令是ps。干货满满,喜欢的小伙伴可以点个赞哦!
一张图带你掌握Java内存模型与线程,线程安全与锁优化。该思维导图图文结合,便于理解。关于硬件的效率与一致性、内存间的交互、先发先行原则、内线线程实现、用户线程实现、Java线程的调度等内容均有详细的讲解~赶快学习起来吧。
计算机操作系统存储器管理核心知识点总结梳理。存储器管理是计算机操作系统的职能之一,主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。
计算机操作系统—处理机调度与死锁核心知识点总结
社区模板帮助中心,点此进入>>
英语词性
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
民法分论
进程管理
程序的顺序执行
并发时失去三个特性
顺序性
可再现性
封闭性
进程实体
程序段
相关数据段
PCB(Process Control Block)
主要进程状态
就绪状态
(就绪队列)
执行状态
阻塞状态
I/O请求
申请缓存空间
创建状态
资源等尚未完全分配
终止状态
进程挂起
终端用户的请求
父进程的请求
负荷调节的需要
操作系统的需要
状态转换
活动就绪(Readya)→(使用挂起原语Suspend)静止就绪(Readys)
活动阻塞(Blockeda)→(使用挂起原语Suspend)静止阻塞(Blockeds)
静止就绪(Readys)→(使用激活原语Active)活动就绪(Readya)
静止阻塞(Blockeds)→(使用激活原语Active)活动阻塞(Blockeda)
PCB中的信息
进程标识符
内部标识符(进程序号)
外部标识符
处理机状态
通用寄存器
指令计数器
程序状态字
用户栈指针
进程调度信息
进程状态
进程优先级
进程调度其他信息
事件
进程控制信息
PCB的组织方式
线性方式
索引方式
链接方式
进程控制
进程图
创建进程事件
用户登入
作业调度
提供服务
应用请求
创建过程 原语(create)
申请空白PCB
为新进程分配资源
初始化进程控制块
将新进程插入就绪队列
进程终止
正常结束
批处理系统 结尾用Holt
分时系统 Logs off
异常结束
越界错误
保护错误
非法指令
......
外界干预
操作员或OS干预
父进程请求
父进程终止
终止过程
检索PCB,读取进程状态
终止进程及其子孙进程执行
归还进程只父进程或系统
将终止进程(PCB)从列表中移出
进程阻塞(block)与唤醒(wakeup)
请求系统服务
启动某种操作
新数据尚未到达
无新工作可做
进程同步
两种制约关系
间接相互制约
直接相互制约
信号量机制
整形信号量
wait(S)
signal(S)
记录型信号量
S.value表示剩余临界资源数,wait申请一个资源,减一,负时则为阻塞数;signal释放一个,加一
AND型信号量
信号量集
几种特殊情况
Swait(S,d,d)
此时在信号量集中只有一个信号量 S,但允许它每次申请 d 个资 源,当现有资源数少于 d 时,不予分配
Swait(S,1,0)
这是一种很特殊且很有用的信号量操作。当S≥1时,允许多个进 程进入某特定区;当 S 变为 0 后,将阻止任何进程进入特定区。换言之,它相当于一个可 控开关。
Swait(S,1,1)
此时的信号量集已蜕化为一般的记录型信号量(S>1时)或互斥信号 量(S=1 时)
应用
实现进程互斥
实现前趋关系
管程机制
进程通信
共享存储器系统
基于共享数据结构的通信
基于共享存储区的通信
消息传递系统
以格式化的消息(message 报文)为单位
直接通信
Send(Receiver,message)
Receive(Sender,message)
通信链路
点——点
多点链接
通信方式
单向通信
双向链路
间接通信
Send(mailbox,message)
Receive(mailbox,message)
信箱
私用信箱
公用信箱
共享信箱
管道通信系统(pipe)文件
三协调
互斥
同步
确定对方是否存在
线程
调度线程
轻型实体
线程自己不拥有系统资源(也有一点必不可少的资 源),但它可以访问其隶属进程的资源,即一个进程的代码段、数据段及所拥有的系统资源;线程控制块(TCB)
独立调度和分派的基本单位
可并发执行
在一个进程中的多个线程之间可以并发执行,甚至允许在一个进程中 的所有线程都能并发执行;同样,不同进程中的线程也能并发执行
共享进程资源
资源进程
作为系统资源分配的单位
可包括多个线程
进程不是一个可执行的实体
线程间的同步和通信
互斥锁(mutex)
lock
unlock
条件变量
线程的实现方式
内核支持线程KST
创建时:分配任务数据区 PTDA(Per Task Data Area)
进程要创建一个线程时,便为新线程分配一个 TCB,将有关信息填入该 TCB 中,并为之分配必要的资源
用户级线程ULT
运行时系统(Runtime System)
实质上是用于管理和控制线程的函数(过程)的集合
内核控制线程
用户级线程与内核控制线程的连接
一对一模型
多对一模型
多对多模型
即用户线程对内核控制线程的映射
组合方式
原子操作(Action Operation)”。所谓原子操作,是指一个操作中的所 有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过 程中不允许被中断。原子操作在管态下执行,常驻内存。