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

如您所知,操作系统负责计算机系统的运行。为此,它执行以下三大类活动 −

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

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

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

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

处理器管理

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

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

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

  • 抢占式调度
  • 非抢占式调度
处理器管理

抢占式调度

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

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

  • 响应率调度 −响应率定义为

    $$\frac{Elapsed \: Time}{Execution \: time \: received}$$

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

非抢占式调度

在这种类型的调度中,作业调度决策仅在当前作业完成后才做出。作业永远不会被中断以优先考虑优先级较高的作业。使用非抢占式调度的调度技术是 −

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

  • 最短作业下一个调度 −在这里,执行时间最少的作业将被安排在下一个执行。

  • 截止时间调度 − 截止时间最早的作业将被安排在下一个执行。

内存管理

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

如您所知,计算机有两种类型的内存 - 辅助。主内存快速但昂贵,而辅助内存便宜但较慢。操作系统必须在两者之间取得平衡,以确保系统性能不会因主内存太少而受损,或系统成本不会因主内存太多而飙升。

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

连续存储分配

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

非连续存储分配

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

在现实生活中,主内存空间可能不足以存储整个程序。在这种情况下,操作系统借助虚拟存储技术,其中程序物理存储在辅助内存中,但看起来存储在主内存中。这在访问程序组件时引入了微小的时间滞后。虚拟存储有两种方法 −

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

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

操作系统通常使用页面和程序分段的组合来优化内存使用。大型程序段可以分成多个页面,也可以将多个小段存储为单个页面。

文件管理

数据和信息以文件的形式存储在计算机上。管理文件系统以使用户能够安全正确地保存数据是操作系统的一项重要功能。操作系统管理文件系统称为文件管理。需要文件管理来为这些与文件相关的活动提供工具 −

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

设备管理

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

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