进程知识点
来源:互联网 发布:查重软件是什么 编辑:程序博客网 时间:2024/06/08 15:13
进程
进程基本特征:动态性、并发性、独立性、异步性和结构特征。
进程结构上包括:程序段、数据段、进程控制块PCB(Process Control Block)组成。PCB是进程存在的唯一标识。系统通过PCB对进程进行控制和管理。
为了方便进程的调度和管理,需将各进程的PCB以适当方法组织起来。常见的有链接方式和索引方式。
链接方式就是形成队列,如就绪队列、阻塞队列。
索引就是将同一状态的进程组织在一个索引表中,如就绪索引表、阻塞索引表。
进程基本状态:阻塞、就绪、运行。引起状态转化的事件有:见书P23,28
进程的阻塞与唤醒:
阻塞:执行转阻塞,唤醒:阻塞转就绪。阻塞是进程自己主动的,唤醒是被动由其他进程唤醒的。
线程
1、为什么操作系统要引入线程?
答:进程是为了使多个程序并发执行,而线程是为了减少程序并发执行所需的时空开销,提高程序执行的并发程度。
2、线程的实现:分为内核级线程和用户级线程。一个内核级线程由于IO操作阻塞时不会影响其他线程的运行。处理器时间片分配的对象是线程,多个线程的进程就拥有更多时间。
用户级线程,当某个线程阻塞时,整个进程必须等待。处理器时间片是分给进程的,该进程拥有的线程多,每个线程的时间就少了。
3、进程与线程的比较:
(1)调度:线程是独立调度的基本单位,进程是资源拥有的基本单位
(2)拥有资源:进程是资源拥有的基本单位,线程几乎不拥有系统资源(或很少)
(3)并发性:进程可以并发,同一进程内的多个线程也可以并发
(4)系统开销:线程切换时开销很少,同一进程内的多个线程同步与通信非常容易。
4、进程通信
高级通信方式分为3类:共享存储器系统、消息传递系统、管道通信系统
处理器调度
处理器的三级调度:
高级调度(作业调度):又称为宏观调度,任务是从外存上处于后备状态的作业中选择一个或多个。频率低。
中级调度(交换调度):将外存对换区与内存间的进程调换
低级调度(进程调度):从就绪队列选择一个进程。频率很高。
常见调度算法:先来先服务算法、短作业优先、时间片轮转、高响应比优先调度算法、
多级反馈队列调度算法(见P40)
同步与互斥
同步:某进程需要另一进程提供必要信息
互斥:同类进程争夺资源
死锁
死锁产生原因是:系统资源不足和进程推进顺序不当。
处理死锁4种方法:
鸵鸟算法:不理睬死锁;
预防死锁:对系统加严格限制条件,去破坏死锁产生的必要条件来预防死锁;
避免死锁:对系统的限制条件相对宽松,用某种方法防止系统进入不安全状态;银行家算法(见P67 p79)
检测及解除死锁:
- 进程知识点
- 进程知识点
- 僵尸进程孤儿进程知识点
- 进程、线程 知识点整理
- 进程和线程知识点
- 进程、线程知识点随笔
- 进程的基础知识点
- 线程和进程知识点
- 有关进程的小知识点
- Android知识点之进程优先级
- Android知识点之进程优先级
- Java线程进程相关知识点
- OS中关于进程线程的知识点
- 进程间通信的简单知识点
- linux进程通讯和线程同步知识点
- 进程环境 知识点汇总《APUE》 chapter-7
- 进程和线程--重磅推出--知识点梳理
- 进程与线程的基本知识点
- JDK1.5新特性-增强for循环
- 《Java高并发程序设计》学习 --2.1 基本概念
- 最长上升子序列nlogn算法
- Redis学习笔记(十)消息通知(任务队列和发布订阅模式)
- STL中map实现原理
- 进程知识点
- #203. Koishi Loves Dynamic Programming
- JDK1.5新特性-可变参数
- 中文转拼音
- 为OpenStreetMap瓦片服务器添加3弧秒全球DEM图层
- python爬虫笔记<一:POST和GET数据传送>
- Java JPA知识的理解与总结
- BZOJ 4765 普通计算姬(分块表+树状数组)
- 各种数据类型的取值范围