操作系统笔记五(进程定义,进程状态,进程管理)

7.1 进程的定义
一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程
(进程强调的是执行过程)
7.2 进程的组成
进程包含了正在运行的一个程序的所有状态信息
比如进程 代码,程序处理的数据,程序计数器的值,一组通用计数器的当前值,系统资源

程序和进程之关系
程序的每次运行构成了不同的进程
进程是程序功能的体现
通过多次执行,一个程序对应多个进程,通过调用关系,一个进程包括多个程序

7.3 进程的特点
动态性,并发性(不是并行),独立性,制约性(因访问共享数据资源或进程间同步而产生制约)
程序=算法+数据结构
描述进程的数据结构:进程控制块(PCB)(操作系统为每个进程都维护了一个PCB)

7.4 进程控制结构
PCB:操作系统管理控制进程运行所用的信息集合,PCB是进程存在的唯一标志
PCB包含的信息:.进程标识信息,处理机状态信息保存区,进程控制信息
PCB的组织方式: 一般情况下我们采用链表形式,为了在进程中动态插入和动态删除,但也可以采用其他形式
PCB最常见的组织形式是链表

进程的状态

2.1.进程的生命期管理
创建-运行-等待-唤醒-结束
进程创建:3种条件 系统初始化时 用户要求创建新进程 正在运行的进程执行创建进程的系统调用
进程运行:选择一个可以执行的进程,即就绪进程,从就绪变成执行状态running
进程等待(阻塞):由于服务或数据未到位无法马上完成,那么就等待
(进程等待这个事件是由进程自身发起的)
进程唤醒:进程只能被其他进程或者OS来唤醒
进程结束:正常退出(自愿) 错误退出(自愿) 致命错误(强制性的) 被其他进程所杀(强制性的)

2.2 进程状态变化模型
运行状态
就绪状态 只缺处理机,资源什么的都是好的 等待被调度
阻塞状态 等待某资源
2.3 进程挂起 挂起的话都是在外存中等待
挂起是指的没有占据内存空间 也就是说他在磁盘上,这当然是为了合理充分的利用系统资源
分为两种
阻塞挂起状态:进程在外存中并等待某事件出现
就绪挂起状态:进程在外存,但只要进入内存,即可运行
挂起后会激活(解挂) 当内存满足后

状态队列: OS会维护一组队列,用来表示系统中所有进程的当前状态
不同的状态用不同的队列表示(就绪队列,各种阻塞队列)
进程状态一旦发生变化,他的PCB就从一个队列加入另一个队列

2.4 进程调度算法
不同环境的进程调度算法不同
2.4.1 批处理系统
批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间(从提交到终止的时间)。
(1)先来先服务(FCFS)
非抢占式的调度 按照请求时间来
(2)短作业优先(SJF)
非抢占式的调度 这样的话长作业可能会饿死 永远歇逼
(3)最短剩余时间优先(SRTN)
谁需要的时间少 谁先来
2.4.2 交互式系统
交互式系统有大量的用户交互操作,在该系统中调度算法的目标是快速地进行响应

(4)时间片轮转法
就是说时间片固定 先按照FCFS把大家伙排成队列 然后先请队首的进程运行 运行完一个时间片 时钟中断 把这个进程扔到队尾去 现在又取队首进程来运行

(5) 优先级调度
为每一个进程设置一个优先级 进行调度
为防止低优先级进程永远得不到调度 可以随着时间推移增加等待进程的优先级

(6)多级反馈队列
时间片轮转法和优先级调度的结合

2.4.3 实时系统
实时系统要求一个请求在一个确定时间内得到响应

2.5 进程同步
这个概念问题先搞清楚
同步和互斥
同步:多个进程因为合作产生的直接制约关系 使得进程有一定的先后执行关系
互斥:多个进程在同一时刻只有一个进程可以进入临界区

2.5.1 信号量
信号量(Semaphore)是一个整型变量,可以对其执行 down 和 up 操作,也就是常见的 P 和 V 操作。
down : 如果信号量大于 0 ,执行 -1 操作;如果信号量等于 0,进程睡眠,等待信号量大于 0;
up :对信号量执行 +1 操作,唤醒睡眠的进程让其完成 down 操作。

2.5.2 管程
抽象概念
目的:分离互斥和条件同步的关注
包含:一个锁:指定临界区
0或者多个条件变量:等待/通知信号量用于管理并发访问共享数据

2.6 进程通信
进程同步和进程通信的区别在于:
进程同步是控制多个进程按一定顺序执行
进程通信是进程间传输信息
进程通信是一种手段,而进程同步是一种目的。也可以说,为了能够达到进程同步的目的,需要让进程进行通信,传输一些进程同步所需要的信息。
(1)管道 pipe函数
(2)FIFO
(3)消息队列
(4)信号量 它是一个计数器,用于为多个进程提供对共享数据对象的访问。
(5)共享存储 允许多个进程共享一个给定的存储区
(6)套接字 与其它通信机制不同的是,它可用于不同机器间的进程通信。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值