操作系统发展

手工操作阶段

  • 基本情况:早期计算机没有操作系统,用户与计算机的交互完全通过手动操作来实现。用户需要亲自操控计算机的开关、按钮等硬件设备来输入指令和数据,程序的编写也是通过在穿孔卡片或纸带上打孔来完成,然后将穿孔卡片或纸带放入输入设备中让计算机读取。输出结果则通过打印机等设备打印出来,用户再根据打印结果进行分析和判断。
  • 优点:计算机操作直接由用户控制,对于简单任务,用户可以精确控制计算机的运行步骤。例如,在进行一些简单的数值计算时,用户可以按照自己的需求准确地输入指令,控制计算过程。
  • 缺点
    • 效率极低:手动操作计算机的过程非常繁琐,每一个指令的输入都需要用户亲自按下相应的按钮或开关,这需要耗费大量的时间和精力。而且程序的编写和修改也很麻烦,一旦出现错误,查找和纠正错误都需要花费很长时间。例如,在编写一个稍微复杂一点的程序时,可能需要几天甚至几周的时间来完成穿孔卡片的制作。
    • 资源利用率低:计算机在等待人工操作时,CPU和其他硬件资源处于闲置状态,造成资源浪费。比如,用户在输入数据或查看输出结果时,CPU只能闲置等待,不能进行其他工作。
    • 容易出错:人工操作容易出现失误,例如误操作开关、输入错误的指令等,导致程序运行错误或计算机故障。由于整个操作过程完全依赖人工,任何一个小的疏忽都可能引发问题,而且一旦出现问题,排查和解决起来也比较困难。

批处理系统

  • 单道批处理系统
    • 基本情况:单道批处理系统是在手工操作的基础上发展起来的。用户将一批作业(程序和数据)提交给计算机,由操作系统将这些作业按照顺序依次读入内存并执行。作业执行完毕后,操作系统再将下一个作业读入内存进行处理,直到这批作业全部处理完成为止。
    • 优点:将多个作业成批提交给计算机,由操作系统自动依次处理,减少了人工干预时间,提高了CPU利用率。相比于手工操作阶段,计算机可以连续处理多个作业,不需要人工频繁地干预每个作业的启动和停止,从而在一定程度上提高了计算机的工作效率。例如,一批作业中包含多个数据处理任务,计算机可以自动依次完成这些任务,而不需要用户每次都手动启动程序和输入数据。
    • 缺点
      • 资源利用率仍不高:在一个作业处理过程中,内存中只有一个作业,其他资源如I/O设备等可能处于闲置状态,导致资源浪费。例如,当一个作业正在进行大量的CPU计算时,I/O设备可能处于空闲状态,没有得到充分利用。
      • 作业周转时间长:作业需要按顺序依次处理,后面的作业需要等待前面的作业完成后才能开始,整体作业周转时间较长。如果一批作业中有一个作业执行时间很长,那么后面的作业都需要等待很长时间才能开始执行,这对于一些对时间要求较高的作业来说是不利的。
  • 多道批处理系统
    • 基本情况:多道批处理系统允许多个作业同时存放在内存中,操作系统根据一定的调度算法,轮流将CPU分配给各个作业使用,使得多个作业能够并发执行。在一个作业等待I/O操作完成时,CPU可以切换到其他作业继续执行,从而提高了CPU和其他资源的利用率。
    • 优点:允许多个作业同时在内存中运行,通过并发执行进一步提高了资源利用率和系统吞吐量。CPU可以在多个作业之间切换,减少了CPU的空闲时间,I/O设备也能得到更充分的利用。例如,当一个作业进行I/O操作时,CPU可以去执行其他作业,而不是像单道批处理系统那样等待I/O操作完成,这样就大大提高了系统的整体性能。
    • 缺点
      • 缺乏交互性:用户提交作业后,直到作业完成才能得到结果,在作业运行过程中无法与计算机进行交互,不便于调试和修改程序。用户只能在作业提交前准备好所有的输入数据和程序,一旦提交后就无法再对作业进行干预,即使发现程序有错误也只能等到作业完成后才能进行修改。
      • 作业调度复杂:需要复杂的调度算法来合理分配资源,以确保多个作业能够高效运行,否则可能导致系统性能下降。由于多个作业同时在内存中运行,需要考虑如何合理地分配CPU时间、内存空间和I/O设备等资源,以避免出现资源竞争和死锁等问题,这增加了操作系统的设计和实现难度。

分时系统

  • 基本情况:分时系统允许多个用户通过终端同时连接到计算机上,操作系统将CPU时间划分成多个时间片,轮流分配给各个用户作业使用。每个用户在自己的时间片内可以独占CPU执行自己的程序,当时间片用完后,操作系统会暂停当前用户的作业,将CPU分配给下一个用户作业,如此循环往复,使得每个用户都能及时得到响应。
  • 优点
    • 良好的交互性:允许多个用户通过终端同时使用计算机,每个用户都能及时得到响应,仿佛独占计算机一样,方便用户进行程序开发、调试和日常操作。用户可以随时输入命令、查看结果,与计算机进行实时交互,大大提高了工作效率。例如,用户在编写程序时,可以随时编译和运行程序,根据输出结果及时修改程序中的错误。
    • 资源共享性好:多个用户可以共享计算机的硬件和软件资源,提高了资源的利用率。多个用户可以同时使用计算机的CPU、内存、磁盘等硬件资源,也可以共享系统中的各种软件资源,如编译器、库文件等,避免了资源的重复配置和浪费。
    • 便于系统管理:操作系统可以统一管理和分配资源,对用户的操作进行监控和管理,保证系统的稳定运行。操作系统可以对用户的权限进行管理,限制用户对系统资源的访问和使用,防止用户误操作或恶意破坏系统。同时,操作系统还可以对系统的性能进行监控和优化,确保系统能够为用户提供良好的服务。
  • 缺点
    • 响应时间受用户数量影响:当用户数量过多时,每个用户获得的时间片相对减少,可能导致响应时间变长,影响用户体验。例如,在一个有大量用户同时使用的分时系统中,用户输入一个命令后,可能需要等待较长时间才能得到响应,这对于一些对实时性要求较高的操作来说是不太理想的。
    • 处理机开销较大:系统需要频繁地进行进程切换,保存和恢复现场,这会增加处理机的开销,降低系统的整体性能。每次进行进程切换时,操作系统都需要保存当前进程的运行状态,包括CPU寄存器的值、内存指针等,然后再恢复下一个进程的运行状态,这个过程需要消耗一定的时间和处理机资源。

实时系统

  • 硬实时系统
    • 基本情况:硬实时系统主要用于对时间要求极为严格的应用场景,如航空航天、工业自动化控制、军事指挥等领域。在这些场景中,系统必须在规定的时间内对外部事件做出准确的响应,否则可能会导致严重的后果,如飞机坠毁、工业生产事故、军事任务失败等。硬实时系统通常具有高度的可靠性和稳定性,采用专门的硬件和软件设计来确保实时性要求。
    • 优点:能够在严格的时间限制内对外部事件做出快速响应,保证系统的实时性和可靠性,适用于对时间要求极高的关键任务。例如,在航空航天领域,飞行控制系统需要实时监测飞机的各种状态参数,并及时对飞行姿态进行调整,以确保飞机的安全飞行。硬实时系统能够保证在极短的时间内完成这些任务,满足飞行控制的严格要求。
    • 缺点
      • 设计和实现复杂:为了满足严格的实时要求,硬件和软件都需要专门设计,系统的设计和实现难度大,成本高。硬件方面需要采用高性能的处理器、高速的I/O设备和可靠的存储设备等,软件方面需要设计专门的实时操作系统和实时任务调度算法,这些都增加了系统的复杂性和成本。
      • 资源利用率相对较低:为了确保实时任务的及时执行,系统需要预留足够的资源,可能导致资源利用率不如其他系统高。例如,为了保证在任何情况下都能满足实时任务的时间要求,系统可能会分配较多的CPU时间和内存空间给实时任务,即使在系统负载较轻时,这些资源也不能被其他非实时任务充分利用,从而造成资源的浪费。
  • 软实时系统
    • 基本情况:软实时系统在一定程度上允许超过时间限制,但仍要尽可能满足实时要求,适用于一些对实时性要求不是绝对严格的场景,如多媒体播放、网络通信、智能交通等领域。在这些场景中,虽然偶尔的延迟可能不会导致严重的后果,但也需要保证在大多数情况下能够及时响应,以提供良好的用户体验或系统性能。
    • 优点:在一定程度上允许超过时间限制,但仍能尽可能满足实时要求,适用于一些对实时性要求不是绝对严格的场景。相对硬实时系统来说,设计和实现难度较低,资源利用率也相对较高。例如,在多媒体播放中,虽然要求音频和视频能够实时播放,但偶尔的短暂卡顿或延迟可能不会对用户体验造成太大的影响。软实时系统可以根据系统的负载情况,灵活地调整任务的执行顺序和时间分配,在保证一定实时性的同时,提高资源的利用率。
    • 缺点:虽然允许一定的时间延迟,但如果系统负载过高,可能会导致实时任务的延迟过大,影响系统的性能和用户体验。例如,在网络通信中,如果网络拥塞严重,软实时系统可能无法及时处理数据包,导致数据传输延迟增加,甚至出现丢包现象,影响通信质量。

通用操作系统

  • 基本情况:通用操作系统融合了批处理、分时、实时等多种功能,能够满足不同用户和应用的需求。它具有强大的功能和良好的用户界面,支持多种应用程序的运行,适用于各种不同的场景,如个人办公、服务器应用、科学计算、游戏娱乐等。现代的操作系统如Windows、Linux、macOS等都属于通用操作系统,它们提供了丰富的系统服务和应用程序接口(API),方便用户和开发者使用。
  • 优点:融合了批处理、分时、实时等多种功能,能够满足不同用户和应用的需求。具有强大的功能和良好的用户界面,支持多种应用程序的运行。例如,在个人办公场景中,用户可以使用办公软件进行文档编辑、表格制作等;在服务器应用中,通用操作系统可以支持多种网络服务和数据库管理;在科学计算中,可以运行各种专业的计算软件。同时,友好的用户界面使得用户能够方便地操作计算机,无需具备专业的计算机知识。
  • 缺点: - 系统复杂度高:由于功能强大且复杂,操作系统的代码量庞大,维护和管理难度较大,容易出现漏洞和安全问题。操作系统需要不断地进行更新和维护,以修复漏洞、提升性能和增加新功能,但这也增加了系统管理的工作量和成本。同时,复杂的系统结构也使得安全问题更加突出,容易受到病毒、黑客等攻击。 - 对硬件要求较高:为了支持丰富的功能和良好的用户体验,通用操作系统通常对硬件配置有较高的要求。例如,运行最新版本的Windows操作系统可能需要较高的CPU频率、大容量的内存和高性能的显卡等。对于一些低配置设备,可能无法流畅运行通用操作系统,或者在运行过程中会出现卡顿、响应缓慢等问题。
#牛客创作赏金赛#
操作系统I 文章被收录于专栏

操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的核心程序,是用户与硬件之间的桥梁,也是计算机系统的核心组成部分。

全部评论

相关推荐

03-20 19:34
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务