【操作系统】第一章--操作系统引论--笔记与理解

笔记理解之后可以进行深入解释→【操作系统】第一章–操作系统引论–深入与解释

【操作系统】第一章–操作系统引论–笔记与理解

操作系统的目标及作用

操作系统的目标

方便性、有效性、可扩充性、开发性

操作系统的作用
  1. OS作为用户与计算机硬件之间的接口
  2. OS作为计算机系统资源的管理者
  3. OS实现了对计算机资源的抽象

操作系统的发展过程

未配置操作系统的计算机系统
  1. 人工操作方式、用户独占、CPU等待
  2. 脱机输入/输出方式,减少CPU空闲,提高I/O速度
单道批处理系统
  1. 单道批处理
  2. 缺点:系统中资源得不到充分的利用
多道批处理系统
  1. 基本概念:将所提交作业先存在外存上,排成一个"后备队列",运行程序A时,利用其因I/O而 暂停执行CPU的 空闲时间,调度程序B运行…
  2. 优缺点:
    1. 资源利用率高
    2. 系统吞吐量大:资源保持忙碌,系统开销小,作业完成 或运行不下去才切换
    3. 平均周转时间长
    4. 无交互能力
  3. 需要解决的问题:
    1. 处理机争用问题:既要满足运用需要,又要提高处理机利用率
    2. 内存分配和保护问题:分配必要内存,不因为异常而破坏其他程序
    3. I/O设备分配问题:既方便用户对设备的使用,又能提高设备利用率
    4. 文件的组织和管理问题:对作业进行合理地组织,以满足作业用户的不同需求
    5. 用户与系统的接口问题:使用户方便使用,OS应提供用户与系统之间的接口
分时系统
  1. 基本概念:一个逐渐连接多个终端,多个用户同时通过自己的终端,交互使用、共享资源
  2. 分时系统的引入:
    1. 人-机交互:独占全机进行直接控制,方便程序中错误的修改
    2. 共享主机:进行共享时,希望像独占一样,可以进行交互同时不受其他影响
  3. 关键问题:
    1. 及时接收:配置多路卡,实现分时多路复用,配置缓冲区暂存命令与数据
    2. 及时处理:作业及时进入内存,采用轮转运行方式
  4. 特征:
    1. 多路性:允许多个用户共享一台计算机,提高资源利用率。降低使用费用
    2. 独立性:独立操作、互不干扰
    3. 及时性:用户请求在短时间内获得响应
    4. 交互性:可通过终端与系统进行广泛人机对话,用户可请求系统提供多方面服务
实时系统
  1. 基本概念:系统能及时响应外部事件的请求,规定时间完成处理,控制任务一致运行
  2. 实时系统的类型:
    1. 工业/武器控制系统
    2. 信息查询系统
    3. 多媒体系统
    4. 嵌入式系统
  3. 实时任务的类型:
周期性实时任务 非周期性实时任务
外部设备周期性发出激励信号给计算机,要求按指定周期循环执行,以便周期性控制某外部设备 无明显周期性,但截止时间:开始截止:某时间前必须开始执行;完成截止:某时间前必须完成
硬实时任务 软实时任务
系统必须满足对截止时间的要求(工业/武器) 偶尔错过任务的截止时间,对系统不会影响太大
  1. 实时系统与分时系统
\ 实时系统 分时系统
多 路 性 系统周期性对多路信息采集,对多个对象/执行机构进行控制 系统按分时原则对多个终端用户服务
独 立 性 信息的采集和对对象的控制互不干扰 每个终端用户与系统的交互相互独立、互不干扰
及 时 性 以控制对象要求截止时间 -
交 互 性 仅限访问系统中某些特定的专用服务程序 向终端提供数据处理、资源共享等服务
可 靠 性 高度可靠 系统可靠

微机操作系统的发展:单用户单任务→单用户多任务→多用户多任务
发展

操作系统的基本特征

  1. 并发:并发性是指两个或多个活动在统一给定的时间间隔中进行
  2. 共享:共享是指计算机系统中的资源被多个任务所公用
  3. 虚拟性:虚拟化是操作系统的一种管理技术,这种技术能通过软件把一个物理实体变成逻辑上的多个对应物,或者把多个物理实体变成逻辑上的一个对应物
  4. 异步性:一个程序什么时候执行,以及向前推进速度快慢,都是有执行得到现场所决定的
  • 并发是核心,其他特征都是由并发演变来的。

操作系统的主要功能

  1. 存储器管理:内存分配与释放、地址映射、内存保护和内存扩充
    1. 内存保护:
      1. 仅在自己内存空间运行,互不干扰
      2. 不允许访问OS程序与数据,不允许其转移到非共享的其他用户进程中执行
    2. 地址映射:降低至空间中的逻辑地址转换为内存空间中对应物理地址
    3. 内存扩充:
      1. 请求调入功能
      2. 置换功能
    4. 内存分配:
      1. 分配内存,各得其所
      2. 提高存储器利用率,减少内存空间碎片
      3. 允许正运行程序申请附加内存空间,以适应程序和数据动态增长的需求
静态分配方式 动态分配方式
作业内存空间在装入时确定,装入后不允许再申请新的内存空间,,也不允许作业在内存空间中“移动” 基本内存空间在装入时确定,但允许运行过程中申请新的内存空间,允许在内存中“移动”
  1. 处理机(进程)管理:作业和进程调度、进程控制和进程通信
    1. 进程控制:为作业创建进程,终止已结束进程,以及运行时的状态转换
    2. 进程同步:进程互斥方式与进程同步方式,信号量机制
    3. 进程通信:一组进程合作完成共同任务,彼此之间需要交换信息
    4. 调度:
      1. 作业调度:后备队列选出若干作业分配资源,调入内存建立进程插入到就绪队列中
      2. 进程调度:就绪队列选中一个进程,分配处理机,设置运行现象,使其投入执行
  2. 设备管理:缓冲区管理、设备分配、设备驱动和设备无关性
    1. 完成I/O请求,分配I/O设备,完成I/O操作
    2. 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备
    3. 缓冲管理→设备分配→设备处理
  3. 文件管理:文件存储空间管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制
    1. 文件存储空间的管理:为每个文件分配必要外存,提高外存利用率
    2. 目录管理:
      1. 提供文件名,可对文件进行存取
      2. 文件共享
      3. 目录查询
    3. 文件的读写管理和保护:
      1. 获得文件所在外存位置,利用文件读写指针
      2. 防止未经核准用户存取文件,防止冒名顶替文件,防止不正确方式使用文件
  4. 用户接口:程序接口和命令接口
    1. 用户接口:联机用户接口,脱机用户接口,图形用户接口
    2. 程序借口:是用户程序去的操作系统服务的唯一途径

操作系统结构设计

传统操作系统结构:无结构操作系统
模块化结构
  1. 模块独立性:
    1. 内聚性:模块内部各部分间的紧密程度,内聚越高,独立性越强
    2. 耦合度:模块间相互联系与影响的程度,耦合性月底,独立性越好
  2. 模块接口的优缺点:
    • 优点:
      1. 提高OS设计的正确性、可理解性和可维护性
      2. 增强OS可适应性
      3. 加速OS的开发过程
    • 缺点:
      1. 没设计时,各模块接口规定很难满足完成后对接口的实际要求
      2. (无序模块法)很难做到每一步在可靠基础上
分层式结构:每一步设计都建立在可靠的基础上
  • 理解:理解分层
  • 优点:
    1. 易保证系统的正确性
    2. 易扩充和易维护性
  • 缺点:因层次间的单向依赖性,每层次间都有通信机制,使系统效率降低
客户/服务器模式
  1. 交互过程:客户发送请求→服务器接收消息→服务器回送消息→客户机接收消息
  2. 组成及类型:客户机 + 服务器 + 网络系统
  3. 优缺点:
    • 优点:
      1. 有利于数据的分布处理和存储
      2. 便于集中管理
      3. 灵活性与可扩充性
      4. 易于改编应用软件
    • 缺点:存在不可靠性和瓶颈问题,服务器影响整个网络,影响请求响应时间
微内核结构
  1. 基本概念:微内核 + 多个服务器
    1. 足够小的内核:与硬件紧密相关部分 + 较基本功能 + 客户与服务器间通信
    2. 基于客户/服务器模式:
    3. 应用“机制与策略分离”模式
    4. 采用面向对象技术
  2. 基本功能:
    1. 进程/线程管理
    2. 低级存储器管理
    3. 中断和陷入处理
  3. 优缺点:
    • 优点:
      1. 提高了系统的可扩展性
      2. 增强了系统的可靠性
      3. 可移植性强
      4. 提供了对分布式系统的支持
      5. 融入面向对象的思想
    • 缺点:至少4次的上下文切换
      1. 客户发送请求消息给内核
      2. 由内核吧和会请求消息发往服务器
      3. 服务器完成请求,将响应消息发送给内核
      4. 内核将响应消息发送给客户

本章练习

  1. 哪个是操作系统分层结构设计的特点(D)
    A. 每一层只可以使用底层的功能和服务
    B. 调试和验证容易
    C. 结构变得清晰
    D. 以上都是

  2. 具有易维护和易扩展性,采用客户机/服务器模式的通信方式,进程间通信代价大特点的操作系统设计结构是©
    A. 分层结构
    B. 模块结构
    C. 微内核结构

  3. Linux操作系统设计时使用的结构是(B)
    A. 分层结构
    B. 模块结构
    C. 微内核结构

  4. 引入单道批处理系统之后还要引入多道批处理系统的原因(A)
    A. 为了进一步提高系统资源的利用率和增加系统吞吐量
    B. 为了能让更多的作业放入内存
    C. 为了让用户能与作业进行交互
    D. 为了提高系统的可靠性

  5. 由多个计算机组成的一个系统,这些计算机之间可以通信来交换信息,互相之间无主次之分,它们共享系统资源,程序由系统中的全部或部分计算机协同执行,管理上述计算机系统的操作系统是©
    A. 分时OS
    B. 实时OS
    C. 分布式OS
    D. 网络OS

  6. 多个用户在终端设备上的交互方式输入、排错和控制其程序的运行是(A)
    A. 分时OS
    B. 实时OS
    C. 分布式OS
    D. 网络OS

  7. 把一个程序划分成若干个宏观同时执行的程序模块的设计方法是(D)
    A. 分时OS
    B. 实时OS
    C. 多道程序设计
    D. 并发程序设计

  8. 为了提高计算机的处理机和外部设备的利用率,把多个程序同时放入主存,在宏观上并发运行是©
    A. 分时OS
    B. 实时OS
    C. 多道程序设计
    D. 并发程序设计

  9. 在设计批处理系统时,首先要考虑的是©
    A. 灵活性和可适应性
    B. 交互性和响应时间
    C. 周转时间和系统吞吐量
    D. 实时性和可靠性

  10. 在设计实时操作系统时,首先要考虑的是(D)
    A. 灵活性和可适应性
    B. 交互性和响应时间
    C. 周转时间和系统吞吐量
    D. 实时性和可靠性

  11. 在设计分时操作系统时,首先要考虑的是(B)
    A. 灵活性和可适应性
    B. 交互性和响应时间
    C. 周转时间和系统吞吐量
    D. 实时性和可靠性

猜你喜欢

转载自blog.csdn.net/weixin_44321600/article/details/107322110