操作系统的概念、并发和并行的区别、操作系统的发展和分类

简介: 操作系统的概念、并发和并行的区别、操作系统的发展和分类

一、操作系统的概念

  • 操作系统(Operation System ,OS)是指控制和管理真个计算机系统的硬件和软件资源,并合理的调度计算机的工作和资源的分配;
  • 提供给用户和其他软件方便的接口和环境
  • 它是计算机系统中最基本的系统软件

  • 1.操作系统是系统的管理者
  • 2.向上层提供方便易用的服务
  • 3.是最接近硬件的一层软件。

1.1操作系统作为系统资源的管理者

执行一个程序前需要将该程序放到内存中,才能被CPU处理。

  • 用QQ和朋友视频聊天的过程:
  • 1.在文件夹中找到QQ安装的位置
  • 2.双击打开QQ.exe
  • 3.QQ程序正常运行
  • 4.开始和朋友视频聊天

分别对应着

1.处理机管理:逐层打开文件夹,找到程序(可执行文件)的存放位置

2.存储器管理:需要把该程序相关数据放入内存

3.文件管理:对应的进程被处理机(CPU)处理

4.设备管理:将摄像头设备分配给进程

1.2向上层提供方便易用的服务

  • 封装思想:
  • 操作系统把一些丑陋的硬件功能封装成简单易用的服务,使用户能更方便的使用计算机,用户无需关心底层硬件的原理,只需要对操作系统发出命令即可。

GUI:图形化用户接口(Graphical User Interfase)

用户可以使用形象的图形界面进行操作,而不需要记忆复杂的命令、参数,

例:在Windows操作系统中,删除一个文件只需要把文件“拖拽”到回收站即可。

1.2.1 联机命令接口(交互式命令接口)

  • 特点:用户说一句,系统跟着做一句


1.2.2 脱机命令接口(批处理命令接口)

  • 使用Windows系统,找到一个*.bat的文件,用记事本打开

  • 当运行这个文件时,操作系统会根据文件中的内容一条一条执行
  • 特点:用户说一堆,系统做一堆。

1.2.3程序接口

  • 可以在程序中进行系统调用来使用程序接口。
  • 普通用户不能直接使用程序接口,只能通过程序代码简洁使用。


  • 系统调用类似于函数调用,是应用程序请求操作系统服务的唯一方式。

1.3最接近硬件的一层软件

  • 需要实现对硬件机器的拓展
  • 没有任何软件支持的计算机称为裸机,在裸机上安装的操作系统,可以提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器
  • 通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机
  • 操作系统对硬件机器的拓展:将CPU、内存、磁盘、显示器、键盘等硬件合理的组织起来,让各种硬件能够相互协调配合,实现更多更复杂的功能

二、操作系统的特征

2.1并发

  • 指两个或多个事件在同一时间间隔内发生。
  • 这些事件在宏观上是同时发生的,但微观上是交替发生的。
  • 并行:
  • 指两个或多个事件在同一时刻同时发生。
  • 操作系统的并发性指计算机系统中“同时”运行着多个程序,这些程序宏观上看是同时运行的,而微观上看是交替运行的。
  • 注意:
  • 单核CPU同一时刻只能执行一个程序,各个程序只能并发的执行
  • 多核CPU同一时刻可以同时执行多个程序,多个程序可以并行的执行
  • 即使是对于4核CPU来说,只要有4个以上的程序需要“同时”运行,那么并发性依然是必不可少的,因此并发性是操作系统一个最基本的特性。

2.2共享

  • 共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。
  • 互斥共享方式:
  • 系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
  • 同时共享方式:
  • 系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问
  • 并发性指计算机系统中同时及存在着多个运行着的程序
  • 共享性指系统中的资源可供内存中的多个并发执行的进程共同使用
  • 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
  • 如果失去共享性,则两个进程不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
  • 并发性与共享性互为存在条件

2.3虚拟

  • 虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。
  • 物理实体(前者)是实际存在的,而逻辑上的对应物(后者)是用户感受到的。
  • “空分复用技术”:如虚拟存储器技术
  • 虚拟技术中的“时分复用技术”,微观上处理机在各个微小的时间段内交替着为各个进程服务。
  • 如果失去了并发性,则一个时间段内系统只需运行一道程序,那么就失去了实现虚拟性的意义了,因此,没有并发性,就谈不上虚拟性

2.4异步

  • 指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
  • 如果失去了并发性,即系统只能串行的运行各个程序,那么每个程序的执行会一贯到底。
  • 只有系统拥有并发性,才有可能导致异步性

没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征。

三、操作系统的发展和分类

3.1手工操作阶段

  • 纸带机输入
  • 缺点:用户独占全机、人机速度矛盾导致资源利用率极低。

3.2批处理阶段(单道批处理系统)

  • 引入脱机输入/输出技术(用外围机+磁带完成),并由监督程序负责控制作业的输入、输出。
  • 通过外围机把程序提前存到磁带里。
  • 监督程序:操作系统的雏形。
  • 主要优点:
  • 缓解了一定程度的人机速度矛盾,资源利用率有所提升。
  • 主要缺点:
  • 内存中仅有一道程序运行,只有该程序运行结束之后才能调入下一道的程序
  • CPU有大量的时间是在空闲等待I/O完成。
  • 资源利用率依然很低。

3.2批处理阶段(多道批处理系统)

  • 操作系统正式诞生,用于支持多道程序并发运行
  • 每次往内存中读入多道程序。
  • 主要优点:
  • 多道程序并发执行,共享计算机资源
  • 资源利用率大幅提升
  • CPU和其他资源更能保持“忙碌”状态,系统吞吐量增大。
  • 主要缺点:
  • 用户响应时间长,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行)
  • 无法调试程序/无法在程序运行过程中输入一些参数

3.3分时操作系统

  • 计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。
  • 主要优点:
  • 用户请求可以被即时响应,解决了人机交互问题。
  • 允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
  • 主要缺点:
  • 不能优先处理一些紧急任务
  • 操作系统对各个用户/作业都是完全公平的,循环的为每个用户/作业服务一个时间片,不区分任务的紧急性。

3.3实时操作系统

  • 主要优点:
  • 能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
  • 在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。
  • 实时操作系统的主要特点是及时性和可靠性。
  • 硬实施系统:
  • 必须在绝对严格的规定时间内完成处理
  • 软实施系统:
  • 能接受偶尔违反时间规定

总结

本文主要介绍了操作系统的概念、特征及分类,注意并发和并行的区别,欢迎各位小伙伴点赞+关注!!!


相关文章
|
5月前
|
负载均衡 算法 Linux
操作系统的演化之旅:从单任务到多任务再到现代并发处理
【7月更文挑战第28天】在数字世界的心脏,操作系统(OS)是支撑一切软件运行的基础。本文将带领读者穿梭于操作系统的发展史,揭示从简单单任务处理到复杂多任务和现代并发处理技术的演进过程。我们将探讨如何通过这些技术提高计算机资源的利用效率,并分析它们对现代软件开发实践的影响。
63 5
|
1月前
|
API 数据处理 C语言
探索操作系统:从基础概念到实际应用
本文将带你进入操作系统的世界,了解它的基本概念、发展历程和应用场景。我们将一起探讨操作系统的核心功能、体系结构以及它在计算机系统中的重要作用。同时,我们还将介绍一些常见的操作系统类型,并分析它们的特点。最后,通过一个简单的代码示例,展示操作系统在实际应用中的重要作用。让我们一起揭开操作系统的神秘面纱,探索它的奥秘吧!
|
1月前
|
安全 算法 Unix
深入浅出操作系统:从基础概念到实践应用
【10月更文挑战第22天】本文旨在以浅显易懂的语言,为读者揭开操作系统的神秘面纱。我们将从操作系统的基本概念出发,逐步深入其核心功能与设计哲学,并通过具体代码示例,展示操作系统如何在实际中发挥作用。无论你是计算机科学的学生,还是对技术有浓厚兴趣的爱好者,这篇文章都将为你提供一次轻松愉快的操作系统之旅。
50 4
|
2月前
|
Ubuntu Java Linux
Linux操作系统——概念扫盲I
Linux操作系统——概念扫盲I
55 4
|
3月前
|
存储 算法 安全
深入理解操作系统:从基础概念到代码实践
【9月更文挑战第23天】本文将带领读者深入探索操作系统的奥秘,从基础概念出发,逐步揭示操作系统的工作原理和设计哲学。我们将通过实际代码示例,展示操作系统如何与硬件交互、管理资源以及提供用户界面。无论你是计算机专业的学生还是对操作系统感兴趣的开发者,这篇文章都将为你打开一扇通往操作系统世界的大门。
80 16
|
3月前
|
Web App开发 Linux iOS开发
操作系统的演变:从单任务到多核并发
在数字时代的浪潮中,操作系统作为计算机硬件与应用程序之间的桥梁,其发展历史充满了创新与变革。本文将带领读者穿越时空,探索操作系统如何从简单的单任务处理演化为今天能够高效管理多核处理器的复杂系统。我们将一窥各个时代下操作系统的设计哲学,以及它们是如何影响现代计算的方方面面。加入我们的旅程,一起见证技术的力量如何在每次迭代中重塑世界。
48 7
|
3月前
|
C语言 Python
exit、quit、sys.exit、os._exit,这么多退出方式,它们之间有什么区别呢?
exit、quit、sys.exit、os._exit,这么多退出方式,它们之间有什么区别呢?
94 0
|
5月前
|
人工智能 Unix 物联网
深入理解操作系统:从概念到实践
【7月更文挑战第31天】本文将带领读者深入探索操作系统的世界,从基本概念、发展历程、核心组件,到实际应用场景和未来趋势。我们将揭示操作系统如何作为软件与硬件之间的桥梁,以及它如何影响计算机系统的性能和用户体验。通过本文,您将获得对操作系统设计哲学的深刻理解,并掌握评估不同操作系统特性的能力。
88 7
|
4月前
|
人工智能 监控 虚拟化
操作系统的演变:从单任务到多任务,再到并发和分布式
随着计算技术的发展,操作系统经历了从简单的单任务处理到复杂的多任务、并发处理,再到现代的分布式系统的转变。本文将探索这一演变过程中的关键里程碑,以及它们如何塑造我们今天使用的计算机系统的架构和性能。
|
5月前
|
算法 安全 Linux
操作系统的演变之旅:从单任务到多任务和并发处理
【7月更文挑战第30天】操作系统作为计算机硬件与软件之间的桥梁,其发展历程充满了创新与变革。本文将通过一次虚拟的时光旅行,探索操作系统从最初的单任务处理到现代多任务和并发处理的转变。我们将一窥操作系统如何适应计算需求的演进,并讨论这一过程中出现的关键概念和技术。
49 3