文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

qxsxjo

http://keair.bhha.com.cn/comqxsxjo/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:李先生
  • 电话:13886202250
【计算机操作系统:一、绪论】
发布时间:2025-01-14        浏览次数:3        返回列表

第1章 绪论

1.1 操作系统在计算机系统中的地位
1.1.1 存储程序式计算机的结构和特点

存储程序式计算机(Stored Program Computer)是现代计算机的基础,其概念源于冯·诺依曼(John von Neumann)提出的模型。这种计算机架构的核心特点包括

  1. 存储程序与数据统一性
    在存储程序式计算机中,程序和数据以相同的方式存储在存储器中。存储器由多个存储单元组成,每个单元都有唯一地址,可以存储指令或数据。这一特点为程序的灵活性和自动化运行奠定了基础。

  2. 指令按序执行
    CPU从存储器中按顺序读取指令并执行,但通过条件跳转指令可以改变执行顺序,从而实现复杂的流程控制。

  3. 输入输出统一
    输入设备用于将外部数据输入到计算机,输出设备将处理结果呈现给用户。这一机制实现了程序与用户的交互。

  4. 主要组成部分

    • 中央处理单元(CPU 包括算术逻辑单元(ALU)和控制单元,负责指令执行和运算处理。
    • 存储器 包括主存(RAM)和辅存(如磁盘,存储程序和数据。
    • 输入/输出设备 如键盘、显示器、打印机等,用于交互。
      下图展示了冯·诺依曼结构的计算机模型

在这里插入图片描述

这种架构为现代计算机的设计提供了理论基础,其优点包括操作简单和设计灵活,但也存在如存储墙问题等瓶颈。

1.1.2 操作系统与计算机系统各层次的关系

计算机系统的整体结构可以分为硬件、操作系统和应用程序三个层次,操作系统作为核心组件,连接了硬件与用户应用程序之间的桥梁。

  1. 硬件层

    • 提供计算能力和存储能力的基础,包括CPU、内存、磁盘等。
    • 硬件本身只能执行低级操作,如加减法、数据读写。
  2. 操作系统层

    • 操作系统通过抽象硬件的复杂性,为用户和程序提供友好的接口。
    • 提供文件系统、进程管理、内存管理等功能,简化用户的使用。
  3. 应用程序层

    • 运行在操作系统之上,提供特定功能,如文字处理、网络浏览等。
    • 应用程序通过操作系统访问硬件资源。

下图描述了计算机系统的分层结构及操作系统的中介作用

在这里插入图片描述

1.1.3 操作系统与计算机体系结构的关系

操作系统的设计和实现必须与计算机体系结构紧密结合。计算机体系结构提供了操作系统赖以运行的硬件环境,而操作系统通过优化资源调度、并发处理等技术充分发挥硬件的性能。

  1. 中断机制
    操作系统通过中断响应硬件事件,例如外设请求或异常情况,从而提高系统响应速度。
  2. 存储管理
    操作系统利用体系结构中的内存管理单元(MMU)实现虚拟内存,支持程序运行所需的大容量内存。
  3. 多核处理
    在多核处理器中,操作系统负责将任务分配到不同的核心,从而实现并行计算。
    操作系统与体系结构的紧密结合是提高计算机性能和可靠性的关键。
1.2 操作系统的形成和发展
1.2.1 操作系统发展的初级阶段

在计算机发展的早期阶段,操作系统的概念尚未出现,用户需要直接控制硬件运行程序。此阶段的主要特点是

  1. 手工操作
    用户通过插拔电缆、打孔卡输入程序。

    • 优点:操作简洁,无需额外软件。
    • 缺点:效率极低,无法实现资源共享。
  2. 单用户环境
    计算机资源由单一用户独占,多个作业之间无法并发执行。

  3. 缺乏抽象
    用户需要了解底层硬件细节,例如设备地址、内存布局等。

这种方式虽然简单,但随着计算需求的增加,手工操作已无法满足要求。

1.2.2 操作系统的形成

随着硬件性能的提高和计算需求的增长,批处理系统成为最早的操作系统形式

  1. 作业控制
    用户通过作业描述语言提交任务,计算机自动执行作业。
  2. 资源调度
    批处理系统引入了作业调度机制,允许系统按顺序执行作业,从而提高资源利用率。
  3. 离线处理
    使用磁带等存储设备将作业排队执行,减少用户干预。
1.2.3 操作系统的进一步发展

20世纪60年代之后,操作系统逐步向多用户和实时方向发展

  1. 分时操作系统
    支持多用户共享计算机资源,通过时间片轮转机制实现任务交替运行。
  2. 实时操作系统
    提供确定性响应,确保任务在规定时间内完成。
  3. 分布式操作系统
    通过网络连接多个计算节点,实现跨节点的资源共享和任务协作。
1.3 操作系统的基本概念
1.3.1 操作系统的定义和特性

操作系统是管理计算机硬件和软件资源的系统软件,为用户和程序提供接口。
在这里插入图片描述

其主要特性包括

  1. 并发性

    • 支持多个任务或程序同时运行。
    • 提供同步和互斥机制,避免资源竞争。
  2. 共享性

    • 通过虚拟化技术实现资源的共享使用。
  3. 虚拟性

    • 将物理资源抽象为虚拟资源,为用户提供更高层次的操作接口。
  4. 异步性

  • 程序执行过程中可以中断并恢复。

通过这些特性,操作系统将复杂的硬件操作抽象为用户友好的接口。

1.3.2 操作系统的资源管理功能

操作系统是计算机资源的管理者,其主要资源管理功能包括

  1. 处理器管理

    • 操作系统通过进程调度算法(如先来先服务、短作业优先等)控制处理器的分配,确保所有任务能够有效执行。
    • 实现并发执行,支持多任务和多用户环境。
  2. 内存管理

    • 操作系统通过内存分配和回收机制,确保程序运行所需的内存得到满足。
    • 使用虚拟内存技术,通过页表和段表实现对物理内存的抽象。
  3. 文件系统管理

    • 操作系统负责文件的存储、读取和权限控制,提供层次化目录结构。
    • 通过缓冲和缓存机制,提高文件操作效率。
  4. 设备管理

    • 操作系统通过设备驱动程序抽象硬件设备,为用户提供一致的操作接口。
    • 采用中断机制,实现高效的设备数据传输。
  5. 网络资源管理

    • 在分布式环境中,操作系统通过协议栈管理网络资源,实现节点之间的通信和资源共享。
1.3.3 操作系统应解决的基本问题

操作系统在运行中需解决以下基本问题

  1. 同步问题

    • 确保多个进程或线程之间能够协同工作,避免竞争条件或死锁。
  2. 死锁问题

    • 通过死锁预防、避免、检测和恢复技术,确保系统资源能够正常分配。
  3. 安全与保护问题

    • 防止未经授权的访问或恶意操作,确保用户数据和系统稳定性。
  4. 性能优化问题

    • 通过调度优化和资源分配策略,提高系统响应速度和吞吐量。
1.4 操作系统的基本类型
1.4.1 批量操作系统

批量操作系统是计算机发展的早期操作系统类型,主要用于提高资源利用率。

  1. 特点

    • 用户将多个作业(程序和数据)提交到输入设备,系统按批次运行作业。
    • 采用脱机处理方式,通过输入/输出设备(如磁带)实现作业存储与读取。
  2. 优点

    • 减少了用户与计算机的交互时间,提高了计算机的资源利用率。
    • 系统能够自动化调度作业,减少人为干预。
  3. 缺点

    • 实时性差,用户需等待作业完成后查看结果。
    • 不支持多任务并发运行。
  4. 典型应用

    • 在科学计算和数据处理领域广泛应用。
1.4.2 分时操作系统

分时操作系统是为了支持多用户共享计算机资源而设计的系统。

  1. 核心技术

    • 时间片机制:每个用户分配固定的时间片,系统按时间片轮转执行任务。
    • 多任务调度:支持多用户、多任务同时运行。
  2. 优点

    • 提供交互式操作,用户可以实时与系统交互。
    • 充分利用计算机资源,提高系统吞吐量。
  3. 缺点

    • 对硬件资源要求较高。
  4. 应用场景

    • 用于早期的多用户终端环境,如大学主机系统。
1.4.3 实时操作系统

实时操作系统(Real-Time Operating System,RTOS)用于对时间敏感的应用场景。

  1. 分类

    • 硬实时系统:严格满足时间限制,典型应用包括航空航天、工业控制等。
    • 软实时系统:在一定范围内满足时间要求,典型应用包括多媒体处理、游戏等。
  2. 特点

    • 高可靠性和确定性。
    • 提供中断处理和任务优先级机制。
  3. 应用领域

    • 医疗设备、自动驾驶、通信设备等。
1.4.4 个人计算机操作系统

个人计算机操作系统(PC OS)是专为单用户设计的操作系统。

  1. 特点

    • 图形用户界面(GUI,操作直观易用。
    • 支持丰富的应用程序和硬件设备。
  2. 代表系统

    • Windows、macOS、Linux桌面版。
  3. 应用场景

    • 家庭、办公、娱乐等个人计算环境。
1.4.5 网络操作系统

网络操作系统(Network OS)用于管理联网计算机之间的通信和资源共享。

  1. 功能

    • 提供文件共享、打印共享、网络通信等功能。
    • 管理网络节点间的权限与安全。
  2. 典型系统

    • Windows Server、UNIX网络版本。
1.4.6 分布式操作系统

分布式操作系统(Distributed OS)在多个计算节点上协同工作。

  1. 特点

    • 透明性:对用户隐藏底层节点分布。
    • 高可靠性:通过冗余和容错机制增强系统稳定性。
  2. 关键技术

    • 分布式文件系统、分布式进程管理。
  3. 应用

    • 大规模计算集群、云计算平台。
1.5 操作系统采用的关键技术
1.5.1 操作系统采用的并行处理技术

并行处理技术使操作系统能够充分利用硬件资源,提高计算性能。

  1. 线程与进程并发

    • 支持多进程、多线程运行,使用多核处理器实现任务并行。
    • 提供线程同步与互斥机制,避免资源竞争。
  2. 多处理器支持

    • 在对称多处理(SMP)架构中,操作系统可将任务动态分配到多个处理器。
    • 支持负载均衡和任务迁移。
  3. 并行算法

    • 提供如快速排序、矩阵乘法等并行算法库。
1.5.2 操作系统采用的虚拟技术

虚拟化技术实现了对物理资源的抽象管理。

  1. 虚拟内存

    • 通过地址转换机制,将逻辑地址映射到物理地址。
    • 提供分页、分段等管理方式。
  2. 虚拟机

    • 支持在单一物理机上运行多个操作系统实例。
    • 提供硬件抽象层,实现资源隔离与共享。
  3. 容器技术

    • 提供轻量级虚拟化环境,例如Docker。
1.6 UNIX、Linux操作系统概述
1.6.1 UNIX操作系统的发展

UNIX操作系统起源于20世纪60年代,最初由AT&T贝尔实验室开发。

  1. 发展阶段

    • 早期开发:1969年,Ken Thompson和Dennis Ritchie开发了第一版UNIX。
    • 标准化:20世纪80年代,IEEE制定了POSIX标准。
  2. 影响

    • UNIX的设计思想影响了后续众多操作系统,包括Linux和macOS。
1.6.2 UNIX操作系统的类型及特点
  1. UNIX类型

    • System V:商业版UNIX,应用于企业服务器。
    • BSD:学术版UNIX,注重网络功能。
  2. 特点

    • 简洁、优雅的设计,提供强大的命令行接口。
    • 高度模块化,支持多用户、多任务。
1.6.3 Linux系统及其特点

Linux是基于UNIX思想开发的自由开源操作系统。

  1. 发展

    • 1991年,由Linus Torvalds开发的Linux内核问世。
    • 通过社区协作和开源贡献迅速发展。
  2. 特点

    • 开源免费,适合个人用户和企业应用。
    • 高度可定制,支持多种硬件架构。
    • 提供丰富的软件生态系统。