计算机基础 - 操作系统的功能



如您所知,操作系统负责计算机系统的运行。为了做到这一点,它执行以下三大类活动:

  • 基本功能 – 确保资源的最佳和有效利用

  • 监控功能 – 监控和收集与系统性能相关的信息

  • 服务功能 – 为用户提供服务

让我们看看与这些活动相关的一些最重要的功能。

处理器管理

管理计算机的CPU以确保其最佳利用称为处理器管理。处理器管理基本上涉及将处理器时间分配给需要完成的任务。这称为作业调度。作业必须以以下方式安排:

  • 最大限度地利用CPU
  • 周转时间(即完成每个作业所需的时间)最短
  • 等待时间最短
  • 每个作业获得最快可能的响应时间
  • 实现最大吞吐量,其中吞吐量是完成每个任务的平均时间

操作系统有两种作业调度方法:

  • 抢占式调度
  • 非抢占式调度
Processor Management

抢占式调度

在这种类型的调度中,处理器要执行的下一个作业可以在当前作业完成之前调度。如果出现更高优先级的作业,则可以强制处理器释放当前作业并执行下一个作业。有两种调度技术使用抢占式调度:

  • 循环调度 – 定义一个称为时间片的小时间单位,每个程序一次只能获得一个时间片。如果在此时间内未完成,则必须加入作业队列的末尾,并等待所有程序都获得一个时间片。这里的优点是所有程序都获得平等的机会。缺点是,如果程序在时间片结束前完成执行,则CPU在剩余时间内将处于空闲状态。

  • 响应比调度 – 响应比定义为

    $$\frac{已用时间}{接收到的执行时间}$$

    响应时间较短的作业具有更高的优先级。因此,即使较大的程序比较短的程序早请求,也可能不得不等待。这提高了CPU的吞吐量。

非抢占式调度

在这种类型的调度中,只有在当前作业完成后才会做出作业调度决策。永远不会中断作业以优先处理更高优先级的作业。使用非抢占式调度的调度技术包括:

  • 先到先服务调度 – 这是最简单的技术,其中第一个发出请求的程序首先完成。

  • 最短作业优先调度 – 在这里,接下来要安排执行的作业是执行时间最少的作业。

  • 截止日期调度 – 下一个要安排执行的作业是截止日期最早的作业。

内存管理

调节计算机内存并使用优化技术来增强整体系统性能的过程称为内存管理。在现代计算环境中,内存空间非常重要,因此内存管理是操作系统的关键作用。

如您所知,计算机有两种类型的内存——主存储器辅助存储器。主存储器速度快但价格昂贵,辅助存储器价格便宜但速度慢。操作系统必须在这两者之间取得平衡,以确保系统性能不会因主存储器过少而受到损害,或者系统成本不会因主存储器过多而激增。

输入和输出数据、用户指令以及程序执行的中间数据需要高效地存储、访问和检索,以实现高系统性能。一旦接受程序请求,操作系统就会根据需要为其分配主存储器和辅助存储器区域。执行完成后,分配给它的内存空间将被释放。操作系统使用许多存储管理技术来跟踪所有已分配或空闲的存储空间。

连续存储分配

这是最简单的存储空间分配技术,其中连续的内存位置分配给每个程序。操作系统必须在分配之前估计整个进程所需的内存量。

非连续存储分配

顾名思义,程序和相关数据无需存储在连续的位置。程序被分成较小的组件,每个组件存储在单独的位置。一个表记录了程序的每个组件存储在哪里。当处理器需要访问任何组件时,操作系统使用此分配表提供访问权限。

在现实场景中,主存储器空间可能不足以存储整个程序。在这种情况下,操作系统将借助虚拟存储技术,程序物理存储在辅助存储器中,但看起来好像存储在主存储器中。这会在访问程序组件时引入极小的时延。虚拟存储有两种方法:

  • 程序分页 – 程序被分解成固定大小的页面并存储在辅助存储器中。这些页面从0到n被赋予逻辑地址或虚拟地址。一个页表将逻辑地址映射到物理地址,用于在需要时检索页面。

  • 程序分段 – 程序被分解成称为的逻辑单元,从0到n分配逻辑地址并存储在辅助存储器中。一个段表用于将段从辅助存储器加载到主存储器。

操作系统通常结合使用页面和程序分段来优化内存使用。一个大的程序段可以被分解成页面,或者多个小的段可以存储为一个页面。

文件管理

数据和信息以文件的形式存储在计算机上。管理文件系统以使用户能够安全、正确地保存其数据是操作系统的关键功能。操作系统管理文件系统称为文件管理。文件管理需要提供用于以下文件相关活动的工具:

  • 创建新文件以存储数据
  • 更新
  • 共享
  • 通过密码和加密保护数据
  • 在系统故障时恢复

设备管理

操作系统实施、操作和维护设备的过程称为设备管理。操作系统使用一个名为设备驱动程序的实用程序软件作为设备的接口。

当许多进程访问设备或请求访问设备时,操作系统以一种有效的方式在所有进程之间共享设备。进程通过系统调用接口(操作系统提供的编程接口)访问设备。

广告