📜  操作系统介绍 – Set 1

📅  最后修改于: 2021-09-27 06:22:18             🧑  作者: Mango

操作系统充当计算机用户和计算机硬件之间的中介。操作系统的目的是提供一个环境,让用户可以方便有效地执行程序。

操作系统是管理计算机硬件的软件。硬件必须提供适当的机制以确保计算机系统的正确运行并防止用户程序干扰系统的正常运行。

操作系统 –定义:

  • 操作系统是控制应用程序执行并充当计算机用户和计算机硬件之间的接口的程序。
  • 一个更常见的定义是操作系统是计算机上一直运行的一个程序(通常称为内核),其他所有程序都是应用程序。
  • 操作系统关注资源和服务的分配,例如内存、处理器、设备和信息。操作系统相应地包括管理这些资源的程序,如流量控制器、调度器、内存管理模块、I/O程序、文件系统等。

操作系统的功能 –操作系统执行三个功能:

  1. 便利性:操作系统使计算机使用起来更加方便。
  2. 效率:操作系统允许有效地使用计算机系统资源。
  3. 进化能力:操作系统的构建方式应允许在不干扰服务的情况下同时有效地开发、测试和引入新的系统功能。
  4. 吞吐量:操作系统的构建应使其能够提供最大的吞吐量(每单位时间的任务数)。

操作系统的主要功能:

  • 资源管理:当操作系统中发生并行访问时,意味着当多个用户访问系统时,操作系统作为资源管理器,其职责是为用户提供硬件。它减少了系统中的负载。
  • 进程管理:它包括各种任务,如调度、进程终止。操作系统一次管理各种任务。在这里CPU 调度发生意味着所有任务将由用于调度的许多算法完成。
  • 存储管理:用于管理存储的文件系统机制。 NIFSCFSCIFSNFS等是一些文件系统。所有数据存储在硬盘的各个磁道中,均由存储管理器管理。它包括硬盘
  • 内存管理:指对主内存的管理。操作系统必须跟踪使用了多少内存以及由谁使用。它必须决定哪个进程需要内存空间和多少。操作系统还必须分配和释放内存空间。
  • 安全/隐私管理:操作系统还通过密码提供隐私,以便未经授权的应用程序无法访问程序或数据。例如,Windows 使用Kerberos身份验证来防止对数据的未授权访问。

作为用户界面的进程操作系统:

  1. 用户
  2. 系统和应用程序
  3. 操作系统
  4. 硬件

每台通用计算机都由硬件、操作系统、系统程序和应用程序组成。硬件由内存、CPU、ALU 和 I/O 设备、外围设备和存储设备组成。系统程序由编译器、加载器、编辑器、OS等组成。应用程序由业务程序、数据库程序组成。

图 1:计算机系统的概念图

每台计算机都必须有操作系统才能运行其他程序。操作系统在各种系统程序和各种用户的应用程序之间协调硬件的使用。它只是提供了一个环境,其他程序可以在其中进行有用的工作。

操作系统是一组在计算机系统上运行的特殊程序,可以使其正常工作。它执行基本任务,例如识别来自键盘的输入、跟踪磁盘上的文件和目录、将输出发送到显示屏以及控制外围设备。
操作系统旨在服务于两个基本目的:

  1. 它控制计算系统资源在各种用户和任务之间的分配和使用。
  2. 它提供了计算机硬件和程序员之间的接口,简化了应用程序的编码、创建和调试,并使之变得可行。

操作系统必须支持以下任务。任务是:

  1. 提供使用编辑器创建、修改程序和数据文件的工具。
  2. 访问用于将用户程序从高级语言翻译成机器语言的编译器。
  3. 提供加载程序,将编译后的程序代码移动到计算机内存中执行。
  4. 提供处理 I/O 编程细节的例程。

I/O 系统管理 –
跟踪设备状态的模块称为 I/O 流量控制器。每个 I/O 设备都有一个设备处理程序,它驻留在与该设备关联的单独进程中。
I/O 子系统包括

  • 一个内存管理组件,包括缓冲缓存和假脱机。
  • 通用设备驱动程序接口。

特定硬件设备的驱动程序。

装配工——
汇编器的输入是汇编语言程序。输出是一个目标程序以及使加载程序能够准备目标程序以供执行的信息。曾经,计算机程序员拥有一台基本机器,可以通过硬件解释某些基本指令。他会通过编写一系列 1 和 Zero(机器语言)来对这台计算机进行编程,并将它们放入机器的内存中。

编译器——
高级语言 – 例如 FORTRAN、COBOL、ALGOL 和 PL/I 由编译器和解释器处理。编译器是接受“高级语言”源程序并生成相应目标程序的程序。解释器是一个程序,它看起来像执行机器语言一样执行源程序。相同的名称(FORTRAN、COBOL 等)通常用于指定编译器及其相关语言。

装载机——
加载程序是加载目标程序并准备执行的例程。有多种加载方案:绝对、重定位和直接链接。通常,加载器必须加载、重定位和链接目标程序。加载器是一个将程序放入内存并准备执行的程序。在简单的加载方案中,汇编器在辅助设备上输出程序的机器语言翻译,加载器将其放置在内核中。加载器将用户程序的机器语言版本放入内存并将控制权交给它。由于加载程序比汇编程序小得多,因此用户程序可以使用更多内核。

操作系统的历史 –
多年来,操作系统一直在发展。下表显示了操作系统的历史。

Generation Year Electronic device used Types of OS Device
First 1945-55 Vacuum Tubes Plug Boards
Second 1955-65 Transistors Batch Systems
Third 1965-80 Integrated Circuits(IC) Multiprogramming
Fourth Since 1980 Large Scale Integration PC

操作系统类型

  • 批处理操作系统 – 计算机上程序中的作业序列,无需手动干预。
  • 分时操作系统——允许多个用户共享计算机资源。 (资源的最大利用率)。
  • 分布式操作系统 – 管理一组不同的计算机并使其看起来像是一台计算机。
  • 网络操作系统 – 运行在不同操作系统中的计算机可以参与公共网络(用于安全目的)。
  • 实时操作系统——意味着应用程序来修复最后期限。

操作系统的例子是——

  • Windows(基于 GUI,PC)
  • GNU/Linux(个人、工作站、ISP、文件和打印服务器、三层客户端/服务器)
  • macOS (Macintosh),用于 Apple 的个人电脑和工作站(MacBook、iMac)。
  • Android(谷歌的智能手机/平板电脑/智能手表操作系统)
  • iOS(适用于 iPhone、iPad 和 iPod Touch 的 Apple 操作系统)

参考 –
操作系统概念 – 书籍
操作系统简介 – NPTEL