操作系统820

操作系统820

第一部分 操作系统的基本概念

1. 批处理与多道程序设计

操作系统: 一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序集合。
操作系统的目标:

  • 方便性: 计算机只能识别0、1;用户熟悉的是各种语言。
  • 有效性: 使计算机的各类资源在系统的管理下得到更有效的利用,提高系统吞吐量。
  • 可扩充性: 便于修改和增加功能(如何设计?)。
  • 开放性: 系统能支持世界标准规范。

操作系统的作用:

  • 作为用户与计算机硬件系统之间的接口。
  • 作为计算机系统资源的管理者。
  • 作为扩充机器。

操作系统发展的主要动力:

  • 不断提高计算机资源利用率的需要(如批处理系统的出现)。
  • 方便用户(如分时交互式系统的出现)。
  • 器件的不断更新换代(8位-16-32-64-…)。
  • 计算机体系结构的不断发展(单机OS-多机OS-网络OS-…)。

操作系统的发展过程:

  1. 无操作系统时的计算机系统。
    • 人工操作方式
    • 脱机I/O方式
  2. 单道批处理系统
  3. 多道批处理系统

单道批处理系统:
处理过程:

  • 监督程序(monitor)。
  • 概念:系统对作业的处理都是成批进行的、且内存中始终只保持一道作业,称为单道批处理系统(simple batch system)。
  • 批处理系统的引入是为了提高系统资源的利用率和吞吐量。
  • 概念:运行控制权。

特征:自动性、顺序性、单道性

多道批处理系统:
基本概念:

  • 多道:系统中同时驻留多个作业。
  • 多道引入的优点:
    • 提高CPU利用率。
    • 提高内存和I/O设备利用率。
    • 提高了系统吞吐量。

特征:多道性、无序性、调度性:作业调度、进程调度。
缺点:平均周转时间长、无交互能力。
需解决问题:

  • 处理机管理问题
  • 内存管理问题
  • I/O管理问题
  • 文件管理问题
  • 作业管理问题

2. 分时系统与实时系统

分时系统的产生:

  • 概念:指一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户共享主机中的资源,各个用户都可通过自己的终端以交互方式使用计算机。
  • 是用户的需求
    • 人机交互性
    • 共享主机
    • 便于用户上机

分时系统在实现中的关键问题:

  • 及时接收:多终端卡、输入缓冲区
  • 及时处理:交互作业应在内存、响应时间应短

分时系统的实现方法:

  • 交互式作业直接进入内存
  • 以分配时间片方式实现
  • 类型
    • 单道分时系统
    • 具有前、后台的分时系统
    • 多道分时系统

分时系统的特征: 多路性、独立性、及时性、交互性

实时系统(要求及时处理的场合):
概念: 系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。
类型: 实时控制,实时信息处理。
实时任务类型:
按任务执行是否呈现周期性来划分:

  • 周期性的(联系周期)。
  • 非周期性的(联系开始或完成截止时间)。

根据对截止时间的要求来划分:

  • 硬实时任务。
  • 软实时任务。

实时、分时的比较:

  • 多路性:相同。
  • 独立性:相同。
  • 及时性:实时系统要求更高。
  • 交互性:分时系统交互性更强。
  • 可靠性:实时系统要求更高。

3. 操作系统的基本类型与特征

并发:

  • 并行是指两或多个事件在同一时刻发生。
  • 并发是两或多个事件在同一时间间隔内发生。
  • 进程:系统中能独立运行并作为资源分配的基本单位。引入线程后,独立运行的单位变为线程。

共享:

  • 系统中资源可供内存中多个并发执行的进程共同使用。
  • 互斥共享:一段时间只允许一个进程访问该资源。
  • 同时访问:微观上仍是互斥的。

虚拟

  • 通过某种技术把一个物理实体变为若干个逻辑上的对应物。若n是某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。

异步:

  • 运行进度不可预知。

4. 并发与并行的概念

见上节…

5. 操作系统的层次结构与功能模块

操作系统的层次结构(传统):
无结构操作系统:

  • 一组过程集,各过程可相互调用,也叫整体系统结构。
  • 缺点:逻辑复杂,维护困难。

模块化操作系统:

  • 通过分解来控制大型软件复杂度。
    • 进程模块、内存模块…,各模块内进一步划分子模块。
  • 优点:
    • 提高了OS设计的可维护性。
    • 增强的OS的可适应性。
    • 加速了OS的开发过程:并行开发模块。
  • 缺点:
    • 接口不易确定。
    • 模块依赖关系可能复杂(对于大型软件而言)。

分层式操作系统:

  • 有序分层的基本概念:
    • 可简化设计的复杂度。
    • 下层为上层提供服务。
  • 层次的设置应考虑的因素:
    • 程序嵌套:各模块间嵌套关系复杂。
    • 运行频率:随层次的增高,相应软件的运行速度就随之下降。
    • 公用模块:低层。
    • 用户接口:高层。

微内核操作系统结构:
C/S服务器模式:

  • 提高了系统的灵活性和可扩充性。
  • 提高了软件的可靠性。
  • 适合于分布式系统。

面向对象的程序设计技术:

  • 概念:
  • 优点:
    • 可扩展性。
    • 继承性。

微内核技术:

  • 引入:提高系统的灵活性。
  • 采用C/S模式。
  • 基本功能:
    • 进程、内存、IPC等基本管理功能。

6. 程序的并发执行与顺序执行

程序的顺序执行及特征:

  • 程序执行有固定的时序。
  • 特征:顺序性、封闭性、可再现性、

前趋图:

  • 有向无循环图。
  • 表示方式:
    • p1—>p2
    • —>={(p1,p2)| p1 必须在p2开始前完成}
  • 节点表示:一条语句,一个程序段,一进程。

程序的并发执行:

  • 多个程序的并发执行(可能性分析)
  • 特征:
    • 间断性
    • 失去封闭性:主要由共享资源引起
    • 不可再现性:设N的初值为n。
    • 有2个循环程序A和B,它们共享一个变量N,程序A每执行一次时,都要做N:=N+1; B则每次要执行 Print(N), 然后再做N:=0. 若程序A,B以不同的速度运行有以下三种不同的结果。
      • N:=N+1在print(N)和N:=0之前,则N值分别为n+1,n+1,0.
      • N:=N+1在print(N)和N:=0之后,则N值分别为n,0,1.
      • N:=N+1在print(N)和N:=0之间,则N值分别为n,n+1,0.

第二部分 进程管理

1. 进程: 进程控制块、进程的几种基本状态与状态转换(进程的创建、进程的终止、进程的阻塞与唤醒、进程的挂起与激活等)

进程的特征和定义:

  • 定义:程序的一次执行过程。
  • 特征:
    • 结构特征
      • 进程:由程序段、数据段及进程控制块三部分构成,总称“进程映像”。
    • 动态性
      • 由“创建”而产生,由“调度”而执行;由得不到资源而阻塞;由撤消而消亡。(而程序是静态的)。
    • 并发性
      • 只有建立了进程,才能并发执行。
    • 独立性。
      • 独立运行,独立获得资源。
    • 异步性:(间断性)

进程的三种基本状态:

  • 就绪状态
  • 执行状态
  • 阻塞状态
    进程的三种基本状态及其转换

挂起状态(被换出内存的状态)

  • 引入原因
    • 终端用户请求
    • 父进程请求
    • 负荷调节需要
    • 操作系统需要
  • 进程状态的转换
    • 活动就绪–>静止就绪
    • 活动阻塞–>静止阻塞
    • 静止就绪–>活动就绪
    • 静止阻塞–>活动阻塞
      在这里插入图片描述

进程控制块:

  • 进程控制块的作用:
    • 是进程存在的唯一标志。
    • PCB(process control block)常驻内存
  • 进程控制块中的信息:
    • 标识、处理机状态,进程调度信息,进程控制信息。
  • PCB的组织
    • 链接
    • 索引

进程的创建:

  • 进程图:
    • 描述了进程的家族关系。
    • 子进程可继承父的资源,撤消时应归还给父进程,父的撤消会撤消全部子进程。
  • 引起创建进程的事件:
    • 用户登录:为终端用户建立一进程。
    • 作业调度:(不是进程调度)为被调度的作业建立进程。
    • 提供服务:如要打印时建立打印进程。
    • 应用请求:由应用程序建立多个进程。
  • 进程的创建:(creat原语)
    • 申请空白PCB(一个系统的PCB是有限的)
    • 为新进程分配资源(不同于一般的分配,PCB-LIST在一个特殊区域)
    • 初始化PCB
    • 将新进程插入就绪队列。

进程的终止:

  • 引起进程终止的事件:
    • 正常结束:如Halt、logoff。
    • 异常结束:如Protect errorovertime等。
    • 外界干预:
      • 系统员kill进程。
      • 父进程终止。
      • 父进程请求。
  • 进程的终止过程:
    • 检查进程状态。
    • 执行态――>中止,且置调度标志为真。
    • 有无子孙需终止。
    • 归还资源给其父进程或系统。
    • 从PCB队列中移出PCB。

进程的阻塞与唤醒:

  • 引起进程阻塞和唤醒的事件:
    • 请求系统服务而得不到满足时,如问系统请求打印。
    • 启动某种操作而需同步时:如该操作和请求该操作的进程需同步运行(即非异步操作)。
    • 新数据尚未到达:如进程A写,进程B读,则A未写,完B不能读。
    • 无新工作可做。
  • 进程阻塞过程:
    • 是进程自身的一种主动行为
    • 调block原语
    • 停止执行,修改PCB入阻塞队列(一个或多个),并转调度。
  • 唤醒过程:
    • 其它相关进程完成。
    • wakeup原语。
    • 修改PCB,入就绪队列。
    • 有block原语,在其它进程中就应有wakeup原语。

进程的挂起与激活:

  • 进程的挂起过程:
    • 由进程自己或其父进程调suspend原语完成,将该进程PCB移到指定区域,注意状态的改变,有可能要重新调度。
  • 进程的激活过程:
    • active原语(如在外存,调入内存,改变状态,根据情况看是否调度,如抢先或非抢先)。
  • 阻塞、唤醒一般由OS实现,而挂起与激活可由用户干预。

2. 进程的同步与互斥:临界资源、临界区、进程同步与互斥问题、信号量机制以及 P、V 操作、管程机制

3. 进程间通信:进程通信的类型(直接通信和间接通信方式)、消息传递系统中的几个问题、消息缓冲队列通信机制

4. 线程与进程的调度:线程与进程的基本概念,调度的类型、调度队列模型、调度方式、进程调度算法(先来先服务、短进程优先、时间片轮转、基于优先级的调度算法等)

线程的基本概念:

  • 线程的引入:
    • 减少并发执行时的时空开销,进程的创建、撤消、切换较费时空,因它既是调度单位,又是资源拥有者。
    • 线程是系统独立调度和分派的基本单位,其基本上不拥有系统资源,只有少量资源(IP,寄存器,栈),但共享其所属进程所拥有的全部资源。
  • 线程的属性:
    • 轻型实体。
    • 独立调度和分派的基本单位。
    • 可并发实体。
    • 共享进程资源。
  • 线程的状态:
    • 状态参数:
      • 寄存器状态、堆栈、运行状态、优先级、线程专有存储器。
      • 信号屏蔽。
    • 线程的运行状态 。
  • 线程的创建和终止。
  • 多线程中的进程:
    • 拥有系统资源的基本单位,不再是一个开执行的实体。

5. 死锁:死锁的基本概念,死锁定理、死锁预防、死锁避免与处理死锁的基本方法、银行家算法

6. 综合应用:生产者消费者问题、读者和写者问题、哲学家进餐问题等

第三部分 内存管理

1. 内存管理的需求:重定位、内存保护、内存共享

2. 程序的装入和链接:静态装入和可重定位装入、静态链接、动态链接、运行时动态链接。

3. 分区存储管理:分区方式(单一连续分区、固定分区、可变式分区)、分区分配算法(首次适应算法、循环首次适应算法、最佳适应法、最坏适应法等)

4. 段式管理与页式管理:段、页、碎片等基本概念、段式管理与页式管理机制

5. 虚拟内存:局部性原理、虚拟内存概念、请求分段与请求分页、段页式管理、段页式地址结构与地址转换、页面置换算法(OPT、先进先出、LRU、Clock、改进型 Clock 置换)、抖动

第四部分 设备管理

1. I/O 系统的基本概念、I/O 控制方式(程序 I/0、中断、DMA、通道)、相关数据结构、缓冲管理(单缓冲、双缓冲、循环缓冲、缓冲池)

2. 磁盘管理与磁盘调度算法:SSTF 算法,SCAN 算法,CSCAN 算法,N-STEP-SCAN 算法,FSCAN算法

3. 设备分配、设备处理、虚拟设备,Spooling 系统

第四部分 文件系统

1. 基本概念:文件和文件系统、目录、文件结构的物理结构和逻辑结构(顺序文件、索引顺序文件、索引文件、HASH 文件)、文件共享(基于索引节点、基于符号链接实现文件共享)

2. 外存分配方法:连续分配、链接分配、索引分配

3. 目录管理:单级目录、二级目录、多级目录

4. 文件存储空间的管理技术:位示图、空闲链表、索引

相关推荐
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页