📜  操作系统

📅  最后修改于: 2020-11-07 04:07:49             🧑  作者: Mango

操作系统

顾名思义,操作系统是一种软件,没有它,您将无法操作或运行计算机。它充当计算机硬件和计算机上安装的应用程序之间的中介或翻译系统。换句话说,如果没有用于在它们之间建立连接的介质,则不能直接将计算机程序与计算机硬件一起使用。

除此之外,它还是计算机用户和计算机硬件之间的中介,因为它提供了打开计算机后在计算机屏幕上看到的标准用户界面。例如,Windows和Mac OS也是提供带有图标和图片的图形界面的操作系统,以使用户能够同时访问多个文件和应用程序。

因此,尽管操作系统本身是程序或软件,但它允许用户在系统上运行其他程序或应用程序。可以说,这是在后台运行计算机的工作。

操作系统的主要功能:

  • 内存管理:它同时管理主内存和辅助内存,例如RAM,ROM,硬盘,笔式驱动器等。它检查并确定内存空间对不同进程的分配和重新分配。当用户与系统交互时,应该由CPU进行读取或写入操作,在这种情况下,OS会确定要分配的内存量,以将程序指令和数据加载到RAM中。该程序终止后,存储区将再次释放,并准备由OS分配给其他程序。
  • 处理器管理:它有助于处理器管理,它可以决定进程访问处理器的顺序以及确定为每个进程分配的处理时间。除此之外,它还监视进程的状态,在执行进程时释放处理器,然后将其分配给新进程。
  • 设备/硬件管理:操作系统还包含用于管理设备的驱动程序。驱动程序是一种翻译软件,它允许操作系统与设备进行通信,并且由于每个设备使用不同的语言,因此针对不同设备的驱动程序也不同。
  • 运行软件应用程序:它提供运行或使用为执行特定任务而开发的软件应用程序的环境,例如Word女士,Excel女士,Photoshop等。
  • 数据管理:它通过提供和显示用于数据管理的目录来帮助数据管理。您可以查看和操作文件,文件夹,例如,可以移动,复制,命名或重命名,删除文件或文件夹。
  • 评估系统的运行状况:它使我们对系统硬件的性能有了一个了解。例如,您可以看到CPU的繁忙程度,从硬盘中检索数据的速度等等。
  • 提供用户界面:它充当用户和硬件之间的接口。它可以是一个GUI,您可以在其中查看并单击屏幕上的元素以执行各种任务。它使您即使不知道计算机的语言也可以与计算机通信。
  • I / O管理:它管理输入输出设备,并使I / O过程平稳有效。例如,它通过输入设备接收用户提供的输入,并将其存储在主存储器中。然后,它指示CPU处理此输入,并相应地通过输出设备(例如监视器)提供输出。
  • 安全性:它具有一个安全模块,可以保护存储在计算机内存中的数据或信息免受恶意软件和未经授权的访问。因此,它不仅可以管理您的数据,还可以帮助保护它。
  • 时间管理:它有助于CPU进行时间管理。内核操作系统不断检查请求CPU时间的进程的频率。当两个或多个同等重要的进程争用CPU时间时,会将CPU时间切成段并以循环方式分配给这些进程,以防止单个进程独占CPU。
  • 防止死锁:有时,一个进程应该持有两个或多个进程共享的资源,因此该资源无法继续。这种情况称为死锁。 OS不会通过在不同进程之间仔细分配资源来让这种情况出现。
  • 中断处理:OS还响应中断,中断是由程序或设备生成的信号,用于引起CPU的注意。操作系统检查中断的优先级,如果它比当前正在运行的进程更重要,它将停止当前进程的执行并保留此CPU状态,然后执行所请求的进程。之后,CPU返回到停止状态。

操作系统类型:

1)批处理操作系统:

用户和计算机之间的交互不会在此系统中发生。要求用户以批处理形式在打孔卡上准备作业,并将其提交给计算机运算符。计算机运算符对作业或程序进行排序,并将相似的程序或作业放在同一批中,然后成组运行以加快处理速度。它旨在一次执行一项作业。作业以先到先得的原则处理,即按提交顺序进行,无需任何人工干预。

例如,银行生成的信用卡账单就是批处理的一个示例。不会为每次信用卡购买生成单独的账单,而是通过批处理生成包含一个月内所有购买的单个账单。收集帐单明细并成批保存,然后在开票周期结束时进行处理以生成帐单。同样,在工资核算系统中,每个月底通过批处理系统计算并生成公司员工的工资。

批处理操作系统的优点:

  • 重复的工作可以轻松完成,无需任何人工干预
  • 在批处理系统中输入数据不需要硬件或系统支持
  • 它可以脱机工作,因此由于它知道接下来要处理的任务以及任务将持续多长时间,因此对处理器的压力较小。
  • 可以在多个用户之间共享。
  • 您可以设置批处理作业的时间,以便在计算机不忙时可以开始处理批处理作业,例如晚上或任何其他空闲时间。

批处理操作系统的缺点:

  • 您需要培训计算机运算符如何使用批处理系统。
  • 调试该系统并不容易。
  • 如果一项作业中发生任何错误,则其他作业可能必须等待不确定的时间。

2)分时操作系统:

顾名思义,它使位于不同终端的多个用户可以使用计算机系统并同时共享处理器的时间。换句话说,每个任务都有时间执行,因此所有任务都可以顺利执行。

每个用户使用单个系统时都会获得处理器的时间。分配给任务的时间长度称为量子或时间片;该持续时间结束后,操作系统将启动下一个任务。

分时操作系统的优点:

  • 它减少了CPU空闲时间,从而提高了生产率。
  • 每个进程都有机会使用CPU。
  • 它允许不同的应用程序同时运行。

分时操作系统的缺点:

  • 由于它消耗更多资源,因此需要特殊的操作系统。
  • 任务之间的切换可能会挂断系统,因为它可以同时服务许多用户并同时运行许多应用程序,因此它需要具有高规格的硬件。
  • 它不太可靠。

3)分布式操作系统:

它使用或运行在多个独立处理器(CPU)上,以服务多个用户和多个实时应用程序。处理器之间的通信是通过许多通信线路(例如电话线和高速总线)建立的。处理器的大小和函数可能彼此不同。

强大的微处理器和先进的通信技术的可用性使设计,开发和使用分布式操作系统成为可能。除此之外,它是网络操作系统的扩展,支持网络上计算机的高级别通信和集成。

分布式操作系统的优点:

  • 由于资源共享,其性能高于单个系统。
  • 如果一个系统停止工作,发生故障或发生故障,则其他节点不受影响。
  • 可以轻松添加其他资源。
  • 可以建立对打印机等资源的共享访问。
  • 更大程度地减少了处理延迟。
  • 由于使用了电子邮件,因此数据共享或交换速度很高。

分布式操作系统的缺点:

  • 资源共享可能会引起安全问题
  • 系统中可能丢失的消息很少
  • 处理大量数据时需要更高的带宽
  • 可能会出现过载问题
  • 性能可能很差
  • 用于建立分布式系统的语言尚未很好定义
  • 它们非常昂贵,因此不容易获得。

4)网络操作系统:

顾名思义,该操作系统将计算机和设备连接到局域网并管理网络资源。 NOS中的软件使网络中的设备可以共享资源并相互通信。它在服务器上运行,并允许通过LAN共享访问打印机,文件,应用程序,文件以及其他网络资源和功能。除此之外,网络中的所有用户都知道彼此的基础配置和单个连接。示例:Windows Server 2003和2008,Linux,UNIX,Novell NetWare,Mac OS X等。

网络操作系统的优点:

  • 服务器是集中式的,可以从遥远的位置和不同的系统进行远程访问。
  • 在该系统中轻松集成先进的技术和最新的技术。

网络操作系统的缺点:

  • 系统中使用的服务器可能很昂贵。
  • 该系统取决于中央位置,需要定期监视和维护。

5)实时操作系统:

它是为实时应用开发的,这些实时应用应在固定的短时间内处理数据。它用于应该在短时间内接受和处理多个过程的环境中。 RTOS需要快速输入并立即做出响应,例如在炼油厂中,如果温度过高并超过阈值,则应立即对此情况做出响应以避免爆炸。同样,该系统也用于控制科学仪器,导弹发射系统,交通信号灯控制系统,空中交通控制系统等。

根据时间限制,该系统进一步分为两种类型:

硬实时系统:

这些用于时序很关键或响应时间是主要因素的应用。即使延迟不到一秒也可能导致灾难。例如,安全气囊和自动降落伞在发生事故时会立即打开。除此之外,这些系统缺少虚拟内存。

软实时系统:

这些用于时序或响应时间不太重要的应用。在此,未能按时完成任务可能会导致性能下降而不是灾难。例如,视频监控(cctv),视频播放器,虚拟现实等。在这里,截止时间对于每次任务都不是至关重要的。

实时操作系统的优势:

  • 由于设备和系统的最大利用率,输出更快,更多
  • 任务转移非常快,例如3微秒,因此似乎同时执行了多个任务
  • 与排队的应用程序相比,当前运行的应用程序更重要
  • 它可以用在嵌入式系统中,例如在运输系统和其他系统中。
  • 它没有错误。
  • 内存已适当分配。

实时操作系统的缺点:

  • 可以同时运行较少数量的任务以避免错误。
  • 对于设计人员来说,编写复杂而困难的算法或精通程序以获得所需的输出并不容易。
  • 需要特定的驱动程序和中断信号来快速响应中断。
  • 由于工作所需资源的介入,它可能会非常昂贵。

几代操作系统:

第一代(1945年至1955年):

那是第二次世界大战之前,数字计算机还没有被开发出来的时候,当时有带有机械继电器的计算引擎。后来,由于速度很慢,机械继电器被真空管代替。但是,即使使用真空管,性能问题也无法解决,除了这些机器过于庞大和庞大之外,因为它是由数以万计的真空管制成的。

此外,每台机器都是由一群人设计,编程和维护的。编程语言和操作系统未知,并且使用绝对机器语言进行编程。

这些系统设计用于数值计算。程序员需要签约一段时间,然后将其插件板插入计算机。在1950年代,引入了打孔卡,从而提高了计算机性能。它允许程序员在打孔卡上编写程序并将其读入系统。其余过程相同。

第二代(1955年至1965年):

这一代始于1950年代中期的晶体管问世。晶体管的使用使计算机更加可靠,并开始向客户出售。这些机器称为大型机。只有大型组织和政府公司才能负担得起。在这台机器上,要求程序员将程序写在纸上,然后在卡上打孔。该卡将被带到输入室并交给运算符以获取输出。打印机将输出输出到输出室。这些步骤使其成为一项耗时的任务。因此,采用批处理系统来解决此问题。

在批处理系统中,任务以分批的形式收集在输入室的托盘中,并读取到磁带上,然后将其带到机房,然后将其安装在磁带机上。然后,使用特殊程序,运算符将从磁带中读取第一个任务或作业并运行它,然后将输出生成到第二个磁带上。操作系统会自动从磁带读取下一个作业,然后一个接一个地完成作业。批次完成后,取下输入和输出磁带,然后开始下一个批次。打印输出是从输出带上获取的。它主要用于工程和科学计算。在这一代计算机中使用的第一个操作系统称为FMS(Fortran监视系统),IBMSYS和FORTRAN被用作高级语言。

第三代(1965年至1979年):

这一代产品始于1964年的IBM 360系列计算机。在这一代产品中,晶体管被硅芯片所取代,并且该操作系统是为多程序开发的,其中一些甚至支持批处理,时间共享,实时。同时处理。

第四代操作系统(1979年至今):

这一代操作系统始于引入个人计算机和工作站。在这一代中引入了包含数千个晶体管的芯片,这使得支持网络发展的个人计算机的发展成为可能,因此也使网络操作系统和分布式操作系统的发展成为可能。 DOS,Linux和窗口操作系统是这一代OS的少数示例。