操作系统复习

第一章 操作系统引论

1.1操作系统的目标和作用

操作系统的作用:

  • 作为用户与计算机之间的接口
  • 作为计算机系统资源的管理者(文件管理、存储器管理、处理机管理、设备管理)
  • 用作扩充机器

操作系统的目标:

  • 方便性
  • 可扩充性
  • 有效性
  • 开放性
1.2操作系统的发展过程
1.操作系统的产生
  • 手工操作阶段
  • 单道批处理阶段
    内存中始终只保持一道作业,监控程序常驻内存。
    主要缺点是资源的不到充分的应用,无法进行人机交互。
2.操作系统的形成
  • 多道批处理阶段
    多道:宏观上并行、微观上串行
    优点:资源利用率高、系统吞吐量大
    缺点:平均周转时间长、无交互能力
  • 分时系统
    最大进步:实现了人机交互、引入了时间片概念、作业直接进入内存。
  • 实时操作系统
3.操作系统的基本特征

3.1并发、并行、进程

  • 并发:两个或多个事件在同一时间间隔进行
  • 并行:两个或多个事件在同一时刻进行
  • 进程:是进程实体的运行过程,系统中能够独立运行并作为资源分配的基本单位。(程序是不能并发执行的,但是进程可以)

3.2共享

  • 系统中的资源可供多个并发的进程共同使用
    1.互斥共享:
    规定在一段时间内,只允许一个进程访问该资源
    2.同时访问方式:
    允许一段时间内多个进程“同时”对它们进行访问。(这里的同时是宏观意义上,微观上是交替访问)

3.3虚拟

  • 通过某种技术将一个物理实体映射为若干个逻辑上的对应物。(提高资源利用率)
4.操作系统的主要功能
  • 引入操作系统的主要目的是:为多道程序的运行提供良好的运行环境,并能最大程度提高各种资源的;利用率。
  1. 1,处理机管理功能

    处理机是计算机中最重要的资源

  • 进程控制:为作业创建进程、撤销已结束的进程、控制进程运行中的状态转换。

  • 进程同步:协调多个进程运行。

  • 进程通信:实现相互合作的进程间的信息交换/传递。

  • 调度
    作业调度:从后备队列中选出若干个作业为他们分配所需资源。在作业调入内存后,分别为他们创建进程,并将他们插入就绪队列。
    进程调度:从就绪队列选出一个进程,将处理机分配给他们。

4.2存储器管理功能
是计算机中第二重要的资源

  • 内存分配
  • 内存保护
  • 地址映射
  • 内存扩充(静态、动态)

4.3设备管理功能
(是最庞大繁琐的部分)

  • 缓冲管理
  • 设备分配
  • 设备处理(又称为设备驱动程序)

4.4文件管理功能

  • 文件存储空间管理
  • 目录管理
  • 文件的读/写管理与保护

4.5操作系统与用户间的接口

  • 用户接口
  • 程序接口

第二章 进程的描述与控制

2.1前驱图和程序执行
(略)
2.2进程的描述

  • 为了使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念

  • 进程实体包括三部分:程序段、相关的数据段和PCB
    进程的特征:

    • 动态性
    • 并发性
    • 独立性
    • 异步性
进程的三种基本状态 (重点)

1)就绪状态:指进程已处于准备好运行的状态,及进程已经分配到需要的系统资源,只要在获得CPU就可以执行。如果系统中有许多处于就绪状态的进程,通常将他们按一定的优先级策略排成一个队列,称该队列为就绪队列。
2)执行状态:指进程获得了CPU正在执行,在单处理机系统中,最多只有一个进程处于该状态,而在多处理机系统中,则有多个进程处于执行状态。
3)阻塞状态:指正在执行的进程,在执行过程中发生了某事件(如:I/O请求、申请缓冲区失败等)暂时无法继续执行的状态,系统将处于阻塞状态的进程也排成一个序列称为阻塞序列。(系统会根据阻塞原因不同分为多个阻塞系列)

三种基本状态之间的转换

在这里插入图片描述

  • 分派(就绪态->运行态):OS从就绪队列中选择一个进程运行(调度算法),又被称为调度。

  • 超时(运行态->就绪态):为了防止进程独占CPU,OS规定当程序运行时间达到规定最大值(时间片)时,响应中断将其放置到就绪队列中。

  • 等待事件(运行态->阻塞态):由于进程请求某种事件(如:I/O设备)而进入阻塞状态。

  • 事件发生(阻塞态->就绪态):当某种事件发生时,处于阻塞队列中等待这个事件的所有进程被转换到就绪队列中。

不能就绪至阻塞、阻塞至运行,因为:就绪进程没有占有处理机,也没有经过运行,其状态就不会改变。阻塞状态进程唤醒后要先进入就绪队列,才会被调度选中,进入了执行状态。

引入终止状态和创建状态:

在这里插入图片描述

引入挂起操作和进程状态的转换

引入挂起原语之后三个进程状态的转换:
在这里插入图片描述

引入挂起操作五个进程状态的转换

在这里插入图片描述

进程管理中的数据结构
  • 进程控制块PCB的作用
    为了便于系统描述和管理进程的运行,在OS的核心为每个进程专门定义了一个数据结构——进程控制块PCB。PCB作为进程实体的一部分,记录了操作系统所需的,用于描述进程的当前情况以及管理进程运行的全部信息,是操作系统中最重要的记录型数据结构。PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程。

    • PCB作为独立运行基本单位的标志。:PCB是OS感知进程存在的唯一标志,进程与PCB是一一对应的,PCB常驻内存。
    • PCB能实现间断性运行方式。
    • PCB提供进程管理所需要的信息。
    • PCB提供进程调度所需要的信息。
    • PCB实现与其他进程的同步与通信。

2.3进程控制
(一般由内核的原语来实现)
2.3.1操作系统内核
OS内核:将一些:

  • 与硬件紧密联系
  • 运行频率较高的模块
  • 许多模块所公用的一些基本操作
    都安装在紧靠硬件的软件层次中。将他们常驻内存,称为OS内核。

OS内核支撑功能:

1.支撑功能

  • 中断处理
  • 时钟管理
  • 原语操作

2.资源管理功能

  • 进程管理
  • 设备管理
  • 存储器管理

2.3.2进程的创建

  1. 申请空白PCB
  2. 为新进程分配运行所需的资源
  3. 初始化进程控制块
  4. 如果进程就绪队列能够插入新进程,便将其插入就绪队列

2.3.3进程的终止
引起进程终止的事件:

  • 正常结束
  • 异常结束
  • 外界干预

2.3.4进程阻塞、唤醒、挂起、激活

  • 阻塞:在进程的执行过程中,若发生了向系统请求共享资源失败、等待某种操作的完成、新数据尚未到达、等待新任务的到达等事件,进程便通过阻塞原语block将自己阻塞。(阻塞是一种主动行为)

  • 唤醒:当阻塞的进程所等待的事件发生,进程就调用唤醒原语wakeup将等待该事件的进程唤醒。
    (wakeup和block必须成对使用)

  • 挂起:当系统中出现了引起进程挂起的事件时,OS利用挂起原语suspend将指定进程或处于阻塞的进程挂起。

  • 激活:active

2.4进程同步

2.4.1进程同步概念

  • 临界资源:我们把一次仅允许一个进程使用的资源称为临界资源。
  • 临界区:每个进程中访问临界资源的那段代码
  • 软件同步机制应该准守的规则:空闲让进、忙则等待、有限等待、让权等待。
2.4.2硬件同步机制

(利用软件方法解决进程互斥进入临界区难度大有局限性,使用较少)

  • 关中断

  • Test-and-set指令实现互斥
    在这里插入图片描述
    当lock=false时表示该资源空闲,lock=true时表示该资源正在被使用。

  • Swap指令实现互斥
    在这里插入图片描述
    在这里插入图片描述

信号量

  • 信号量只能被两个标准的原语wait(S)和signal(S)来访问,也可以记为“P操作“和”V操作
  • 原语是指完成某种功能且不被分割不被中断执行的操作序列,通常可由硬件来实现完成不被分割执行特性的功能。

管程
一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。
(更新中(可能不更了))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值