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

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

一、操作系统的概念

  • 操作系统(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实时操作系统

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

总结

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


相关文章
|
20天前
|
供应链 安全 数据处理
操作系统高级议题:并发控制与进程互斥技术
操作系统高级议题:并发控制与进程互斥技术
38 0
|
1月前
|
消息中间件 存储 算法
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
【软件设计师备考 专题 】操作系统的内核(中断控制)、进程、线程概念
92 0
|
4天前
|
存储 调度 C++
【操作系统】进程与线程的区别及总结(非常非常重要,面试必考题,其它文章可以不看,但这篇文章最后的总结你必须要看,满满的全是干货......)
【操作系统】进程与线程的区别及总结(非常非常重要,面试必考题,其它文章可以不看,但这篇文章最后的总结你必须要看,满满的全是干货......)
24 1
|
1月前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
12天前
|
存储 安全 调度
深入理解操作系统:从基础概念到高级应用
本文将深入探讨操作系统的基本概念、功能和特性,以及其在现代计算环境中的应用。我们将从操作系统的定义和历史开始,然后详细介绍其主要组件和工作原理,包括进程管理、内存管理、文件系统和设备管理等。最后,我们将讨论一些高级主题,如操作系统的安全性、性能优化和虚拟化技术。无论您是计算机科学的学生,还是对操作系统有兴趣的技术人员,这篇文章都将为您提供深入理解和应用操作系统所需的知识和技能。
|
1月前
|
算法 调度
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
111 3
|
1月前
|
调度 索引
【操作系统】进程的基本概念&进程的状态与转换&进程的组织方式
【操作系统】进程的基本概念&进程的状态与转换&进程的组织方式
27 2
|
12天前
|
机器学习/深度学习 人工智能 算法
现代操作系统的演进与未来发展:从单任务到多任务并发
在计算机技术飞速发展的今天,操作系统作为计算机系统的核心,其功能和性能也在不断演进。本文将探讨操作系统从单任务到多任务并发的转变过程,分析其背后的技术驱动因素,并展望未来操作系统的发展方向。我们将深入剖析多任务操作系统的设计挑战、解决方案及其在现代计算环境中的应用,旨在为读者提供一个全面的理解。
|
1月前
|
安全 Java Linux
手机操作系统和嵌入式操作系统的区别和联系
手机操作系统和嵌入式操作系统的区别和联系
|
20天前
|
算法 Java Linux
线程的魔法:揭开现代操作系统并发执行的面纱
线程的魔法:揭开现代操作系统并发执行的面纱
17 0