操作系统(Operating System)知识点复习——第三章进程

目录

0.前言 

1.什么是进程(What is a Process)

2.进程的状态(Process States)

2.1进程轨迹(Trace of the Process)

2.2 Two-State Process Model

2.3 A Five-State Model

2.4 A Seven-State Model(Two Suspend States)

3.进程描述(Process Description)

3.1 Operating System Control Structures

3.2 Process Control Structures

4.进程控制(Process Conrtrol)

4.1 Modes of Execution(CPU)

4.2 Process Creation

4.3 Process Switching

5.在OS中的具体执行(Execution of the Operating System)

5.1 Non-process Kernel(无进程内核)

5.2 Execution Within User Processes(在用户进程中执行)

5.3 Process-Based Operating System(基于进程的OS)

6.一些简单的进程API(略)


0.前言 

本系列文章旨在记录操作系统的知识点,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗高亮部分为重点。

1.什么是进程(What is a Process)

定义:

①正在执行中的程序

②一个正在运行的程序实例

③在处理器上执行的实体

④一个活动单元

2.进程的状态(Process States)

2.1进程轨迹(Trace of the Process)

进程的执行顺序;用Dispatcher(调度器)来进行进程转换

2.2 Two-State Process Model

由两个状态组成:Running,Not Running

缺点:1.进程有优先级,查询所有进程浪费时间 2.分派器不能只选择在队列中停留最长的进程,因为有可能被阻塞。

解决方案:将Not Running改成就绪态(ready to execute )和阻塞态(blocked)。

2.3 A Five-State Model

由五个状态组成:Running(运行态),Ready(就绪态),Blocked(阻塞态),New(新建态),Exit(退出态)

 缺点:内存空间有限,有部分进程要被挂起到硬盘(多阻塞),效率会降低。

2.4 A Seven-State Model(Two Suspend States)

Suspended Processes(被挂起的进程)

处理器比 I/O 快,因此所有进程都可能正在等待 I/O,将这些进程交换到磁盘以释放更多内存,交换到磁盘时阻塞状态变为挂起状态。

3.进程描述(Process Description)

3.1 Operating System Control Structures

了解每个进程和资源的当前状态,操作系统构造并维护他所管理的四类资源实体的信息表:

 MEM,I/O,FILE,PROCESS

①Memory Tables

提供分配给进程的主存、副存

共享内存区域的保护属性

虚拟内存的管理信息

②I/O Tables

记录I/O设备分配状态

记录I/O操作的状态

3.2 Process Control Structures

进程映像(Process image):PCB+程序+stack+可修改的data(地址并不连续)

PCB(Process Control Block)内存有:进程的身份、进程的状态、进程的控制信息。所有操作系统中的管理等功能模块,如调度,资源分配,中断,性能监控,等都可以访问修改PCB。

4.进程控制(Process Conrtrol)

4.1 Modes of Execution(CPU)

为保护操作系统执行模式分为了用户态内核态(系统态)后者具有更高的权限

切换两种模式的方法:1.中断/异常/系统调用;2.修改状态寄存器及当前权限等级。

4.2 Process Creation

进程创建过程:

1.分配独一无二的进程ID

2.未新进程分配空间

3.初始化PCB

4.将新进程添加进调度队列

5.创建其他的数据结构

4.3 Process Switching

进程切换的时机:

1.中断产生

  • 时钟中断(Clock interrupt):时间片用完了。
  • I/O中断(I/O interrupt):处理机发出I/O请求。
  • 页表缺失(Memory fault):引用的虚拟地址不在主存中。

2.异常或陷阱(Trap)

  • 异常产生时可能会使进程转换为退出态

3.更高级的请求(Supervisor call)

  • 系统调度,例如打开文件。

怎样进行进程切换:保存上下文,包括寄存器,然后更新PCB更改进程状态移动调度队列,选择进程进行执行,更改所选进程的PCB及其状态,更新内存管理数据结构,最后恢复所选进程的上下文。

5.在OS中的具体执行(Execution of the Operating System)

5.1 Non-process Kernel(无进程内核)

进程外部执行内核,操作系统代码作为在特权模式下操作的独立实体执行。

5.2 Execution Within User Processes(在用户进程中执行)

在用户进程上下文中的操作系统软件,进程在执行操作系统代码时以特权模式执行。

5.3 Process-Based Operating System(基于进程的OS)

将操作系统实现为系统进程的集合,适用于多处理器或多计算机环境。

6.一些简单的进程API(略)

创建 create:

  • fork 在父进程中,fork返回新创建子进程的进程ID;
  • 在子进程中,fork返回0;
  • 如果出现错误,fork返回一个负值;

销毁 destroy

等待 wait 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五倍子的代码空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值