操作系统-3【进程】

3.1 进程

1 是啥

  1. 进程 是一个具有独立功能的程序 关于某个数据集合的一次运行活动

  2. 是系统进行资源分配和调度独立单元

  3. 进程=程序+执行

在这里插入图片描述

2 组成

程序代码code
数据集data
执行execution

3 进程控制快

标识符 identifier:区分不同进程
状态 state:
优先级priority
程序计数器program counter
内存指针:memory pointers
上下文数据 context data:进程执行时 寄存器中的数据
I/O状态
记账信息accounting information:处理器时间总和,使用时钟数总和,时间限制

3.2 进程状态

1. 进程轨迹

进程的指令序列——-单个进程的行为
分配器dispatcher交替各个进程——-处理器的行为
在这里插入图片描述

2. 两状态:运行/未运行

未运行——排队——调度到处理器
在这里插入图片描述

3. 创建和终止

4.五状态模型

  1. 运行态running——一个处理器一次只有一个进程处于running
  2. 就绪态ready
  3. 阻塞态blocked ——进程在某些事件发生前不能执行
  4. 新建态new——进程控制块已经创建但还未加载到内存中
  5. 退出态exit
    在这里插入图片描述
    在这里插入图片描述

5.被挂起的进程Suspended process

机器变复杂的原因:处理器 远快于 I/O活动
解决方法:交换swap

把 阻塞的进程(从内存中踢出)到磁盘disk的挂起队列

  1. 挂起进程==不在内存中的进程
  2. 不能立即执行
  3. 等待/不等待一个事件
  4. 设置代理挂起进程,代理(进程本身 父进程 操作系统)

在这里插入图片描述

3.3 描述

1. 操作系统控制结构 Operating System Control Structures

为了管理进程和资源
操作系统必须掌握每个进程和资源的当前状态信息
几乎所有操作系统都会用:

内存表memory table——跟踪主存和辅存
I/O表 ——管理设备和通道
文件表——提供当前存在文件中的信息、当前位置、当前状态等
进程表——管理进程

2. 进程控制结构 Process Control

进程映像 process image:

用户数据
用户程序
栈——后进先出,保存参数、系统调用地址、过程调用地址
进程控制快process control block

3.4 进程控制

1. 执行模式

非特权模式:用户模式
特权模式:系统模式、控制模式、内核模式

模式切换:

  1. 用户模式——>系统模式

用户程序执行到一条系统调用,进入操作系统内核执行

  1. 系统模式——>用户模式

执行完系统调用的功能,返回到用户程序

  1. 特殊情况

程序执行到结束语句后,切换到系统模式,不再返回用户程序

2. 进程创建

  1. 为新进程分配一个唯一的进程标识符Assign a unique process identifier

主进程表中会添加一个新表项,每个进程一个表项

  1. 为进程分配空间Allocate space for the process

OS必须知道私有用户得程序数据,用户栈需要的空间

  1. 初始化进程控制块Initialize process control block

进程ID,相关ID……

  1. 设置正确的连接 Set up appropriate linkages

若OS将每个调度队列都维护为一个链表,则新进程必须放在就绪、挂起链表中

  1. 创建或扩充其他数据结构 Create of expand other data structures

为每个进程维护一个记账文件

3. 进程切换—何时切换?

(1) 中断interrupt

  1. 时钟中断

OS确定当前进程执行时间是否超过最大允许的时间段time slice

  1. I/O中断
  2. 内存失效memory fault

memory address is in vitual memory so it must be brought into main memory

(2)陷阱trap

OS判断错误异常是否致命
致命:进程退出,切换进程
不致命:可能会尝试恢复

(3)系统调用supervisor call

总结:
在某时刻,一个正在运行得进程被中断,操作系统就将另一个进程置为运行状态。
操作系统掌控时,切换随时会发生

我是分割线====

进程

一个正在执行的程序

PCB

进程控制块,包含了进程的pid号, 控制信息,状态信息

是为了管理进程 设置的一个专门的数据结构,用来记录进程的外部特称,描述进程的运动变化过程

PCB是系统感知进程存在的唯一标准

CPU模式

用户模式:只能执行部分指令

内核模式:可以执行所有指令,包括特权指令

进程状态

新建new

就绪ready

执行running

挂起 suspend

阻塞blocked

结束 exit

选择

OS支持进程的硬件支持

描述一个程序 变成进程的过程

进程同步 异步概念

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值