Operating System 简明教程

Operating System - Overview

一个 Operating System (操作系统)是在计算机用户和计算机硬件之间的一个接口。操作系统是一个软件,它执行所有基本任务,如文件管理、内存管理、进程管理、处理输入和输出,以及控制磁盘驱动器和打印机等外围设备。

操作系统是一种让应用程序与计算机硬件进行交互的软件。包含操作系统核心组件的软件被称为 kernel

Operating System 的主要目的是让应用程序(软件)能与计算机硬件进行交互,并管理系统的硬件和软件资源。

一些流行的操作系统包括 Linux 操作系统、Windows 操作系统、VMS、OS/400、AIX、z/OS 等。如今,操作系统几乎出现在所有设备中,例如手机、个人电脑、大型机、汽车、电视、玩具等。

Definitions

我们可以对操作系统进行多种定义。让我们来了解一些定义:

我们可以将此定义优化为如下:

以下是摘自维基百科的另一定义:

Architecture

我们可以为操作系统绘制一张通用架构图,如下所示:

conceptual view

Operating System Generations

操作系统多年来一直在发展。我们可以根据不同的世代对这种评估进行分类,如下简述:

0th Generation

第 0 代一词指的是计算发展的时期,当时查尔斯·巴贝奇发明了分析机,后来约翰·阿塔纳索夫在 1940 年创造了一台计算机。该时期的硬件组件技术是电子真空管。这一代计算机没有可用的操作系统,并且计算机程序以机器语言编写。这一代计算机效率低下,并且依赖于各个操作员的不同能力。

First Generation (1951-1956)

第一代标志着商用计算的开始,包括 1951 年初埃克特和莫奇利 UNIVAC I 的引入,以及稍晚的 IBM 701。

系统操作是在专家操作员的帮助下进行的,当时还没有操作系统,尽管程序开始使用高级的、面向过程的语言编写,因此操作员的例程得到扩展。后来开发了单程序操作系统,从而消除了运行作业的部分人工干预,并为程序员提供了一些所需的功能。这些系统仍继续在人的操作员控制下运行,他们过去遵循许多步骤来执行程序。约翰·W·巴克斯于 1956 年开发了 FORTRAN 等编程语言。

Second Generation (1956-1964)

第二代计算机硬件最显着的特征是晶体管取代真空管作为硬件组件技术。第一款操作系统 GMOS 是由 IBM 计算机开发的。GMOS 基于单流批处理系统,因为它将所有类似的作业收集到组或批次中,然后使用穿孔卡将作业提交给操作系统以完成机器中的所有作业。操作系统在完成一项作业后被清理,然后继续读取并启动穿孔卡中的下一项作业。

研究人员开始在其称为分时系统的计算服务中尝试多道程序设计和多处理。一个值得注意的例子是 20 世纪 60 年代初在麻省理工学院开发的兼容分时系统 (CTSS)。

Third Generation (1964-1979)

第三代于 1964 年 4 月正式开始,当时 IBM 宣布了其 System/360 系列计算机。硬件技术开始使用集成电路 (IC),这在速度和经济性方面产生了显着优势。

操作系统开发的进展是引入和广泛采用多道程序设计。充分利用计算机数据通道 I/O 能力的想法继续发展。

另一项导致第四代个人计算机发展的进步是 DEC PDP-1 的小型计算机新发展。对于计算机硬件和附带操作系统的开发而言,第三代确实是一个激动人心的时代。

Fourth Generation (1979 – Present)

第四代以个人计算机和工作站的出现为特征。第三代的组件技术被超大规模集成 (VLSI) 取代。我们今天使用的许多操作系统,例如 Windows、Linux、MacOS 等,都是在第四代开发的。

以下是操作系统的部分重要功能。

  1. Memory Management

  2. Processor Management

  3. Device Management

  4. File Management

  5. Network Management

  6. Security

  7. Control over system performance

  8. Job accounting

  9. Error detecting aids

  10. 协调其他软件和用户

Memory Management

内存管理是指对主内存或主存储器的管理。主内存由一组单词或字节组成,每个单词或字节拥有自己的地址。

主内存提供一种由 CPU 直接访问的快速存储器。程序需要在主内存中才能执行。操作系统针对内存管理执行以下活动:-

  1. 跟踪主内存的使用状况,例如有哪些部分由哪些进程使用,哪些部分未使用。

  2. 在多道程序设计中,操作系统决定哪个进程何时获得内存,以及获得多少内存。

  3. 在进程请求时分配内存。

  4. 在进程不再需要内存或已被终止时释放内存。

Processor Management

在多道程序设计环境中,操作系统决定哪个进程在何时获得处理器,以及获得多长时间的处理器。此功能称为 process scheduling 。操作系统针对处理器管理执行以下活动:-

  1. 跟踪处理器的状态和进程。负责此任务的程序称为 traffic controller

  2. 向进程分配处理器(CPU)。

  3. 在进程不再需要时释放处理器。

Device Management

操作系统通过各个驱动程序管理设备通信。操作系统针对设备管理执行以下活动:-

  1. 保持对所有设备的追踪。负责这项任务的程序被称为 I/O controller

  2. 决定进程何时、使用多长时间获得设备。

  3. 有效地分配设备。

  4. De-allocates devices.

File Management

文件系统通常根据目录进行整理,以方便浏览和使用。这些目录可能包含文件以及其他的方向。

操作系统对文件管理执行以下活动 -

  1. 保持对信息、位置、用途、状态等的追踪。这些集合功能通常被称为 file system

  2. 决定谁能够获得资源。

  3. Allocates the resources.

  4. De-allocates the resources.

Other Important Activities

以下是操作系统执行的部分重要活动 -

  1. Security - 通过密码及其他类似的技术,防止对程序和数据的未经授权访问。

  2. Control over system performance - 记录了对服务请求和系统响应之间的延迟。

  3. Job accounting - 保持对各种作业和用户使用的资源和时间进行追踪。

  4. Error detecting aids - 生成转储、跟踪、错误消息和其他调试和错误检测辅助信息。

  5. Coordination between other softwares and users - 为计算机系统的各种用户协调和分配编译器、解释器、汇编器和其他软件。