第一章 操作系统引论

第一章 操作系统引论

操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机地工作和资源分配,以提供给用户和其他软件方便的接口和环境,是计算机系统最基本的系统软件

1.1 操作系统的目标和作用

  1. 操作系统的主要目标:

    • 方便性

    • 有效性:提高系统资源的利用率,提高系统吞吐量。

    • 可扩充性

    • 开放性

  2. 操作系统作用:

    • OS作为用户与计算机硬件系统之间的接口:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。通过命令方式,系统调用方式和图标一窗口方式实现与操作系统的通信,并取得它的服务。
    • OS作为计算机系统资源的管理者:计算机系统含有多种硬件和软件资源,可分为四类:处理机、存储器、I/O设备以及文件(数据和程序),对这四类资源进行有效的管理。
      • 处理机管理用于分配和控制处理机。
      • 存储器管理负责内存的分配和回收。
      • I/O设配管理负责I/O设备的分配(回收)和操纵。
      • 文件管理用于实现对文件的存取、共享和保护。
    • OS实现了对计算机资源的抽象:OS是铺设在计算机硬件上的多层软件的集合,不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型。

1.2 操作系统的发展过程及分类

  1. 人工操作方式
    • 缺点:
      • 用户独占全机,一台计算机资源的全部资源由上机用户所独占。
      • CPU等待人工操作。输入输出纸带花销时间过多,而计算机运算花销时间短。
  2. 批处理阶段
    1. 单批道处理系统(引入脱机输入输出技术
      • 优点:解决人机矛盾和CPU与I/O设备速读不匹配矛盾。
      • 缺点:不能充分利用系统资源。
    2. 多道批处理系统(操作系统开始出现)
      • 优点:多道程序并发执行,资源利用率高。系统吞吐量大。
      • 缺点:不提供人机交互功能。平均周转时间长。
  3. 分时操作系统
    • 引入时间片的概念,系统规定每个作业每次只能运行一个时间片,然后就停止该作业的运行,并立即调度下一个作业运行。
    • 分时系统的特征:
      • 多路性:系统运行将多台终端同时连接在一台主机上,并按分时原则为每个用户服务。
      • 独立性:每个用户在各自的终端上进行操作,彼此之间互不干扰。
      • 及时性:用户的请求能在很短时间内获得响应。
      • 交互性:用户可通过终端与系统进行广泛的人机对话。
    • 优点:提供人机交互功能。
    • 缺点:不能优先处理紧急任务。
  4. 实时操作系统
    1. 硬实时系统:必须在绝对严格的规定时间内完成处理。
    2. 软实时系统:能接受偶尔违反时间规定。
    3. 优点:能优先处理紧急任务。

1.3 操作系统的基本特性

  1. 并发

    • 并行性:指两个或多个事件在同一时刻发生。
    • 并发性:指两个或多个事件在同一时间间隔内发生。分时交替执行。
    • 进程是指系统中能够独立运行并作为资源分配的基本单位,是由一组机器指令、数据和堆栈组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。
  2. 共享

    • 资源共享(资源复用),是指系统中的资源可供内存中多个并发执行的进程共同使用。
    • 互斥共享方式:规定在一段时间内,只允许一个进程访问该资源。
    • 同时访问方式:允许子啊一段时间内又多个进程“同时”对它们进行访问,在微观上,这些进程对该资源的访问是交替进行的。

并发和共享式多用户OS的两个最基本的特征。它们互为存在条件。即一方面资源共享是以进程的并发执行为条件,如系统不允许并发执行也就不存在资源共享问题;另一方面,如系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的访问,也必然会影响到诸进程间并发执行的程度,甚至根本无法并发执行。

  1. 虚拟
    • “虚拟”技术通过“空分复用”或“时分复用”技术,将一个物理信道变为若干条逻辑信道。通过虚拟技术将一个物理实体变为若干个逻辑上的对应物,前者是实际存在的,后者是虚假的。
    • 时分复用技术:通过利用处理机的空闲事件运行其他程序,提高了处理机的利用率
    • 空分复用技术:通过利用存储器的空闲事件分区域存放和运行其他的多道程序,以此来提高内存的利用率
  2. 异步
    • 在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
    • 只有系统拥有并发性,才有可能导致异步性。

1.4 操作系统的主要功能

  1. 处理机管理功能
    1. 进程控制:为作业创建进程,撤销(终止)已结束的进程,以及控制进程在运行过程中的状态转换。
    2. 进程同步:为多个进程(含线程)的运行继续协调,常用协调方式两种:进程互斥方式、进程同步方式。
    3. 进程通信:实现相互合作进程之间的信息交换。
    4. 调度:传统OS中,包括作业调度和进程调度。
      • 作业调度:从后备队列中按一定算法选择除若干个作业,为它们分配运行所需的资源,将这些作业调入内存后,分别为它们创建进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中。
      • 进程调度:从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给他,并为它设置运行现场,使其投入执行。
  2. 存储器管理功能
    1. 内存分配
      • 为每道进程分配内存空间,提高存储器利用率,减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,适应程序和数据动态增长的需要。
      • 静态分配方式:作业在装入时内存空间确定好,运行期间不允许再申请新的内存空间,不允许作业在内存中“移动”。
      • 动态分配方式:每个作业的内存空间再装入时确定,但允许该作业在运行过程中继续申请新的附加内存空间,适应程序和数据动态增长的需要。
    2. 内存保护
      • 确保每道用户程序都仅在自己的内存空间运行,彼此互不干扰。
      • 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行。
    3. 地址映射
    4. 内存扩充:借助虚拟存储技术,从逻辑上扩充内存容量。
  3. 设备管理功能
    • 完成用户进程提出的I/O请求,为用户进程分配所需的I/O设配,并完成指定的I/O操作。
    • 提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设配。
  4. 文件管理功能
    1. 文件存储空间管理:为每个文件分配必要的外存空间,提高外存利用率,进而提高文件系统的存、取速度。
    2. 目录管理:为每个文件建立一个目录项,并对众多的目录项加以有效的组织,一是想方便的按名存取。
    3. 文件的读/写管理和保护:根据用户的请求,从外存中读取数据,或将数据写入外存。在文件系统提供有效的存取控制功能:防止未经核准的用户存储文件,防止冒名顶替存取文件,防止以不确定的方式使用文件。

1.5 OS结构设计

  1. 分层结构

    • 特性:内核分多层,每层可单向调用更低一层提供的接口。
    • 优点:便于调试和验证,自底向上逐层调试验证;易扩充和易维护,各层之间调用接口清晰固定。
    • 缺点:仅可调用相邻低层,安逸合理定义各层边界;效率低,不可跨层调用,系统调用执行时间长
  2. 模块化

    • 特性:将内核划分为多个模块,各模块之间相互协作。内核=主模块+可加载内核模块。主模块只负责核心功能,如进程调度、内存管理。可加载内核模块可以动态加载新模块到内核,而无需重新编译整个内核。
    • 优点:模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发。支持动态加载新内核模块,增强OS适应性。任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
    • 缺点:模块间的接口定义未必合理、使用;模块间相互依赖,更难调试和验证。
  3. 宏内核

    • 特性:所有系统功能都放在内核里
    • 优点:性能高,内核内部各种功能都可以直接相互调用
    • 缺点:内核庞大功能复杂,难以维护;大内核中某个功能模块出错,就可能导致整个系统崩溃
  4. 微内核

    • 特性:只把中断、原语、进程

    • 优点:内核小功能少,易于维护,内核可靠性高;内核外的某个功能模块出错不会导致整个系统崩溃

    • 缺点:性能低,需要频繁的切换用户态/核心态,用户态下的各功能模块不可以直接相互调用,只能通过内核的“消息传递”来间接通信。

  5. 外核

    • 特性:内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全。
    • 优点:外核可直接给用户进程分配“不虚拟、不抽象”的硬件资源,使用户进程可以更灵活的使用硬件资源。减少了虚拟硬件资源的“映射层”,提升效率。
    • 缺点:降低了系统的一致性,使系统变得更加复杂。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值