《计算机操作系统原理—linux实例分析》_肖竞华_第二章_知识点
来源:互联网 发布:mac版matlab安装 编辑:程序博客网 时间:2024/05/15 11:29
第二章:进程控制
2.1 进程的概念:从程序中产生
2.1.1 程序的顺序执行及其特性:顺序性,可再现性,封闭性,与时间无关
2.1.2 程序的并发执行及其特性
- 并发环境:指一定的时间内,物理器械上有两个或两个以上的程序同时处于开始执行但是尚未停止的状态,并且次序不是事前预定的。
- 并发执行的特性:并发性,失去封闭性和可在现性,程序计算不再一一对应,相互制约性
- 并行与并发的概念差别:并行(同一时,两个事物都处于活跃状态),并发(宏观上并行,微观上存在顺序性)
2.1.4 进程的概念与特征
- 定义:一个具有一定独立功能的程序关于某个数据集合的一次运行活动,他是系统进行资源分配和调度一个单位
- 特性:动态性,并发性,独立性
- 进程与程序的区别:进程是动态的,进程有生命周期,程序和进程无一一对应关系,程序刻字哦位软件资源长时间保存,进程是一次执行过程是暂时的、
- 进程的组成:程序,数据,进程控制块(PCB)
- PCB内容:进程名(唯一的),程序和数据结构的地址,进程的状态,进程的现场保护信息,资源清单,进程优先级,进程家族信息,进程通信信息
2.1.6 PCB组织方式:线性表,链接表,索引表
2.1.7 进程状态及其状态转换
- 进程状态:运行,就绪,等待,
- 辅助状态:初始状态,终止状态
- 状态装换:就绪->运行,运行->就绪,运行->等待,等待->就绪
2.2 进程控制
- 原语:是有操作系统提供的统一的一组特定功能程序实现的
- 进程控制源语:
- 创建:由系统程序模块统一创建,由父进程创建;Create创建源语,输入进程名,优先级,构成PCB的表要参数,返回进程号(功能:申请一个空闲的PCB,为新进程分配资源,将新进程的PCB初始化
- 进程撤销
- 原因:已完成所要求的功能而正常终止,由于某种错误导致非正常终止,祖先进程要求撤销某个字进程
- 撤销原语Kill:输入进程号,返回成功或者失败标记】
- 撤销语句功能:从系统PCB中找到指定PCB终止运行,收回PCB全部资源,终止所有子进程,释放终止后的PCB
- 进程的阻塞
- 原语Block:输入参数无,返回转进程调度
- 功能:进程主动放弃处理机,将进程运行的CPU现场环境保存到该进程的PCB现场保存区,如果该进程为等待态,彬插入到相对应的等待队列中,调用进程调度程序,重新选择一个进程占用处理机
- 进程唤醒
- 唤醒源语:wakeup输入参数:进程号,返回成功或者失败标志
- 功能:从相对应的等待队列中查找该事件的等待进程,把该进程从等待进程中摘除,将其置于为就绪并插入到就绪队列中
2.3 进程调度
- 进程调度的功能:
- 记录当前的进程的情况存入PCB中
- 更具一定的调度算法,从就绪队列中选择一个进程获得处理机
- 进行上下文切换
- 进程调度方式:
- 可剥夺调度方式:又称可以抢占方式;原则:优先级原则,短进程优先原则,时间片原则,强制性掠夺。
- 非剥夺调度方式
- 进程调度原则:公平性原则,有效性原则,友好性原则,快捷性原则,广泛性原则
- 进程调度算法:又称调度策略,是指按照什么原则合理有效的将处理机分配给就绪进程,其中类别有
- 先来先服务调度算法:公平但效率较低
- 优先数法:分为静态和动态
- 时间片轮转法
- 多队列反馈法
2.4 进程的同步与互斥
- 临界资源和临界区:只能允许一个进程同时使用的资源称为临界资源
- 进程的同步
- 进程的互斥
- 同步和互斥的相同特点
- 互斥的各个进程在各自单独执行的都可以得到正确的运算结果,但是当他们在临界区交叉执行时就可能出现问题
- 互斥进程只要求它们不能同时进入临界区,而不规定进程进入临界区的顺序
- 一般情况下互斥的进程不知道对方的存在
- 用锁操作原语实现进程的互斥:对临界区上把锁,执行步骤关锁->执行临界区程序->开锁
- 信号量及P,V操作原语:P-v操作优点:简单,表达能力强,缺点:不安全
- 经典的进程的同步和互斥问题:生产者-消费者问题,哲学家就餐问题
2.5 进程通信
- 进程通信机制
- 直接通信——消息缓冲通信
- 间接通信——信箱通信
2.6 线程
- 线程引入目的:简化进程的通信,提高系统吞吐量
- 线程的概念;是进程的一个实体,是CPU调度和分派的基本单位,线程不能独立执行,必须依赖于应用程序,由应用互斥呢工序提供多个线程执行控制
- 线程的属性:
- 组成部分:一个唯一标示符号,两个栈,一个私有存储器
- 线程是进程的一个实体,是被系统独立调度和分派的基本单位
- 一个线程可以创建和撤销另外一个线程
- 进程与线程的关系
- 线程是进程的一部分,是进程的一个执行单元
- 在引入线程的操作系统中,资源分配的对象hi进程而不是线程
- 在引入线程的操作系统中,调度对象是线程而不是进程
- 进程可以并发执行,一个进程中的线程也可以并发执行
- 线程的功能和特征
- 线程的状态:产生,阻塞,解除阻塞,结束
- 线程的同步
- 线程的分类和比较
- 内核级线程:线程的创建撤下切换,都是��️核心实现
- 用户级线程
2.7 linux进程管理
- linux进程组成
- 实体组成:正文段,用户数据段,系统数据段
- 进程控制块(task_struct):进程标识,进程当前状态,调度信息,进程通信信息,进程家族关系,时间和定时信息,文件系统信息,存储管理信息,CPU现场保留信息
- Linux进程的状态及转换:运行态,可运行态,等待态,暂停态,僵死态(进程死亡,但是控制块还存在系统中),退出态(所有资源被收回)。
- 进程在处理机上的执行的核心态和用户态
- 进程空间和系统空间
- linux进程调度
- 方式:抢占调度方式,时间片轮转法
- 就绪进程队列
阅读全文
0 0
- 《计算机操作系统原理—linux实例分析》_肖竞华_第二章_知识点
- 《计算机操作系统原理-linux实例分析》_肖竞华_第一章_知识点
- 《计算机操作系统-linux实例分析》_肖劲华_第三章_知识点
- 《计算机组成原理》_第二版_唐硕飞_第二章知识点归纳
- 《计算机组成原理》_第二版_唐硕飞_第三章知识点归纳
- 《计算机组成原理》_第二版_唐硕飞_第一章知识点归纳
- 操作系统_第二章_UNIX操作系统简介
- 第二章_算法分析
- 操作系统_再识(Linux内核分析)
- 计算机操作系统原理:Linux实例分析
- 计算机操作系统原理--Linux实例分析
- 数据库原理_知识点总结
- Excel数据分析与业务建模_第二章_查找函数VLOOKUP及HLOOKUP(语法及应用实例)
- 计算机操作系统实验之_进程观测_实验报告
- VisualVM jvm gc调优_安装_原理_配置_集成_日志_验证_分析
- 第二章_链路层
- 第二章_继承
- 操作系统_第四章_虚拟存储器
- levaldb写入数据(6)
- java多线程中wait()和sleep()方法的区别
- poj 3320
- C++实现第一个Windows程序设计Hello World
- Memcache的使用与安全
- 《计算机操作系统原理—linux实例分析》_肖竞华_第二章_知识点
- [POJ 1062]昂贵的聘礼
- 《计算机操作系统-linux实例分析》_肖劲华_第三章_知识点
- CoreJava day02
- 提高MYSQL大数据量查询的速度
- JAVA 编程规范
- nginx设置反向代理,获取真实客户端ip
- SpringBoot自动化配置原理
- 学习笔记 8月8号