当前位置: 首页 > news >正文

操作系统的四大特性

一、并发性

指操作系统同时运行着多个程序,这些程序宏观上是同时运行的,但微观上其实是交替运行的

补充1:并发性区别于并行性

并发是指两个或多个事件在同一时间间隔内发生,事件宏观上是同时进行的,围观上市交替进行的

并行指的是两个事件在同一时刻同时发生

补充2:CPU内核

单核CPU:同一时刻只能执行一个程序,各个程序可以并发执行

多核CPU:同一时刻 可以执行多个程序,多个程序可以并行执行

二、共享性

指操作系统中的资源可供内存中多个并发执行的进程使用

 

共享的两种方式:

1.互斥共享

系统中的某些资源虽然可以给多个进程使用,但一个时间段只允许一个进程访问该资源

例:使用QQ和微信进行视频通话,同一时间段内摄像头资源只能分配给其中一个进程

2.同时共享

系统中的某些资源允许一个时间段多个进行“同时”对他们进行访问(所谓“同时”,往往是宏观上的,在微观上他们可能是交替地对资源进行访问)

例:使用QQ和微信发送文件,宏观上两个进程都在进行文件的发送,都在进行访问硬盘资源,但从微观上看两个进程其实是交替进行访问硬盘的

三、虚拟性

指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是具体存在的,而逻辑对应物是用户感受到的

 

虚拟性的两种技术:

1.空分复用技术

是指利用存储器的空闲空间分区域存放和运行其他躲到程序,以此来提高内存的利用率

 

例:GTA5需要4GB运行内存,QQ需要256MB运行内存,网易云音乐需要256MB运行内存……而我的电脑只有4GB运行内存,这些程序同时运行需要的运行内存远大于4GB,那么为什么这些程序可以同时在我的电脑上运行呢?因为利用了虚拟技术中的空分复用技术。我的电脑实际上运行内存只有4GB,但在用户看起来却远大于4GB

 

2.时分复用技术

是指利用某一设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用

 

例:某单核CPU计算机,用户打开了N多软件。问题:既然一个程序要被分配CPU才能正常运行,那么为什么单核CPU计算机可以同时运行这么多程序?因为利用了虚拟技术中的时分复用技术。实际上只有一个CPU在为用户服务,但在用户看来似乎有很多个CPU同事在位自己服务。微观上,CPU在各个微小的时间段交替着为各个进程服务。

四、异步性

指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底进行的,而是走走停停,已不可预知的速度向前推进,每个程序何时执行,何时暂停,何时完成都是不可预知的

http://www.lryc.cn/news/155931.html

相关文章:

  • 旅游攻略APP外包开发功能
  • Apollo在Java中的使用
  • Elasticsearch 全文搜索引擎 ---- IK分词器
  • Layer 2盛夏已至,StarkNet如何实现价值跃迁?
  • KaiwuDB 受邀亮相 2023 中国国际“软博会”
  • RS-485/RS-422收发器电路 DP3085 国产低成本替代MAX3085
  • R-which函数(带有arr.ind参数)
  • 单片机通用学习-什么是时钟?
  • PCL入门(二):初识点云数据
  • LeetCode 面试题 03.01. 三合一
  • 【WebSocketIndexedDB】node+WebSocketIndexedDB开发简易聊天室
  • 【01】弄懂共识机制PoW
  • QT C++ 基于TCP通信的网络聊天室
  • SpringMVC入门详细介绍
  • R3LIVE源码解析(9) — R3LIVE中r3live_lio.cpp文件
  • 如何高效的解析Json?
  • MySQL——分组查询
  • thinkphp 使用 easypay 和 easywechat
  • 无涯教程-JavaScript - DVARP函数
  • Databend 开源周报第 108 期
  • Android-Intent实现数据传递
  • 系统学习Linux-zabbix监控平台
  • 基于MediaPipe的人体摔倒检测
  • WebDAV之π-Disk派盘 + 无忧日记
  • Docker 相关操作,及其一键安装Docker脚本
  • 【Microsoft Edge】如何彻底卸载 Edge
  • 2023-09-04力扣每日一题
  • jQuery成功之路——jQuery事件和插件概述
  • Java ArrayList类详解
  • 快速排序学习