【王道操作系统】1.1.2 操作系统的特征(并发、共享、虚拟、异步)

news2024/9/24 17:09:25

操作系统的特征(并发、共享、虚拟、异步)

文章目录

  • 操作系统的特征(并发、共享、虚拟、异步)
    • 1.操作系统特征:并发
    • 2.操作系统特征:共享
    • 3.操作系统特征:虚拟
    • 4.操作系统特征:异步


操作系统是一种系统软件,但与其它系统软件和应用软件有很大的不同,它有自己的特殊性,及基本特征

请添加图片描述


1.操作系统特征:并发

  • 并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的, 操作系统的并发性指系统中同时存在着多个运行的程序
  • 并行:两个或多个事件在同一时刻发生
  • 一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)
  • 操作系统是伴随着“多道程序技术出现的”,因此操作系统和并发是一同诞生的
  • 在如今的计算机中,一般都是多核cpu的,即在同一时刻可以并行执行多个程序,比如我的计算机是8核的,我的计算机可以在同一时刻并行执行8个程序,但是事实上我们计算机执行的程序并不止8个,因此并发技术是必须存在的,并发性必不可少

请添加图片描述


2.操作系统特征:共享

  • 资源共享即共享,是指系统中的资源可以供内存中多个并发执行的进程共同使用
  • 共享分为两类:互斥共享和同时共享

互斥共享:

  • 计算机中的某个资源在一段时间内只能允许一个进程访问,别的进程没有使用权
  • 临界资源(独占资源):在一段时间内只允许一个进程访问的资源,计算机中大多数物理设备及某些软件中的栈、变量和表格都属于临界资源,它们被要求互斥共享
  • 举个例子:比如QQ和微信视频。同一段时间内摄像头只能分配给其中一个进程

同时共享:

  • 计算机中的某个资源在在一段时间内可以同时允许多个进程访问
  • 同时共享通常要求一个请求分为几个时间片段间隔的完成,即交替进行,“分时共享”
  • 这里的同时指在宏观上是同时的,在微观上是交替进行访问的,只是cpu处理速度很快,我们感觉不到,在宏观上感觉是在同时进行
  • 举个例子:比如QQ在发送文件A,微信在发送文件B,宏观上两个进程A和B都在访问磁盘,在我们看来是同时进行的,但是在微观上两个进程A和B是交替进行访问磁盘的,只是时间太短,cpu处理速度太快,我们感觉不到。
  • 注意:有时候多个进程可能真的是在同时进行资源访问,比如玩游戏时可以放音乐,游戏声音和音乐声音都能听见

并发性和共享性互为存在条件:

请添加图片描述


3.操作系统特征:虚拟

多道程序设计:是指在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计。多道程序技术运行的特征:多道、宏观上并行、微观上串行

  • 虚拟是把一个物理上的实体变为若干逻辑上的对应物
  • 物理实体(前者)是实际存在的;而后者是虚的,是用户感觉上的事务
  • 虚拟技术:用于实现虚拟的技术
  • 虚拟处理器(CPU):通过多道程序设计技术,采用让多道程序并发执行的方法,分时来使用一个CPU,实际物理上只有一个CPU,但是用户感觉到有多个CPU
  • 虚拟存储器:从逻辑上扩充存储器容量,用户感觉到的但实际不存在的存储器
  • 虚拟设备:将一台物理设备虚拟为逻辑上的多台设备,使多个用户在同一时间段内访问同一台设备,即同时共享,用户宏观上感觉是同时的,但实际上是微观交替访问同一台设备的
  • 操作系统的虚拟技术归纳为:
    • 时分复用技术:如处理器的分时共享
    • 空间复用技术:如虚拟存储器

请添加图片描述


4.操作系统特征:异步

  • 异步:多道程序环境允许多个程序并发执行,但由于资源有限,如cpu只有一个,进程的执行并不是一贯到底的,而是走走停停的,它以不可预知的速度向前推进

  • 比如A进程正在占用CPU计算,B进程这时也想占用CPU计算,B进程只有等,等A进程算完了,A进程去访问磁盘资源了,这时B进程再占用CPU进行计算,B进程还没计算完,A进程从磁盘取出资源了,A进程发现B这时在占用CPU,这时A进程就需要等待,等B算完后再继续到CPU中进行计算。由于每个进程占用资源的时间不固定,所以进程的执行以不可预知的速度前进

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NXP的mfgtool镜像烧写工具是如何对EMMC进行分区的

本来是想在IMX6ULL板卡上实现u-boot中显示开机logo的功能的,过程中就牵扯出了这几个问题。大概的缘由是修改了u-boot后,想在系统中直接对EMMC中u-boot进行更新,就不用通过SD卡或USB重新烧写了;在更新的时候,又需要知道…

猿如意程序代码生成实践与测试

ChatGPT中国区申请无法直接注册与使用; 使用csdn提供的猿如意效率工具箱提供的chatGPU功能实现智能程序编写实验: 先安装: csdn猿如意下载地址 选择其中的ChatGPT菜单 在右侧窗口中的输入框,可输入问题内容。 (1&a…

〖产品思维训练白宝书 - 产品思维认知篇⑥〗- 职场人面临困惑与迷茫应该如何破局?

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

Leetcode:459. 重复的子字符串(C++)

目录 问题描述: 实现代码与解析: 移动匹配法: 原理思路: 利用kmp法: 原理思路: 暴力法: 原理思路: 问题描述: 给定一个非空的字符串 s ,检查是否可以…

55 处理错误的树形数据结构导致不断地添加元素到集合中 OOM

前言 呵呵 这是最近一个 前同事/朋友 碰到的一个问题 主要的问题是 在 dump 文件中发现了很多 LinkedList$Node 的节点 然后 整个问题 抛出来的错误是 OOM 呵呵 这种问题 还是相当好处理的 这里 仅仅是 简单记录一下 前因 后果 测试用例 /*** Test11OomByTree** aut…

关于2022年

也算是传统了,每年到年底的时候,总喜欢做点总结,或许类似于企业里面的年底复盘,但更多的还是碎碎念。往年一般会放在农历新年那一天,今年做点小改变,影响不大。 回顾过去的一年,发现自己基本上…

【HR-VITON】虚拟换衣算法pre-processing复现全过程记录

Link of original Github repo Link of personal made study case of HR-VITON ContentPre1、OpenPose(On colab, need GPU)2、Human ParseMethod 1: ColabMethod 2: Local or Server3、DensePose (On colab, GPU or CPU)4、Cloth Mask (On colab, GPU o…

【MySQL】InnoDB数据页结构

文章目录1. 前言2. 数据页结构3. 记录在页中的存储4. 记录头信息5. 页目录(Page Directory)6. 页面头部(Page Header)7.文件头部(Fiile Header)8. 文件尾部(File Trailer)不知不觉20…

JVM调优相关说明

前言 其实听着JVM调优这个词有些高大上,但是等你真正了解了他的内在原理后,还是很容易的。再简单 JVM调优大致可分为如下: 解决JVM运行过程中的问题(主要就是内存溢出的问题)优化JVM运行时的环境,提高运…

多线程问题(四)

目录 一、常见的锁策略 1、乐观锁 VS 悲观锁 2、读写锁 VS 普通的互斥锁 3、重量级锁 VS 轻量级锁 4、挂起等待锁 VS 自旋锁 6、公平锁 VS 非公平锁 7、可重入锁 VS 不可重入锁 8、synchronized锁的性质 二、CAS 1、CAS的伪代码 2、CAS的应用 a、实现原子类…

【Spring系列】一篇文章开启你的 SpringBoot 之旅

SpringBoot 快速入门一. 环境搭建1.1 环境准备Java环境准备(本人是 JDK 1.8)开发工具 IntelliJ IDEAMaven (可使用 IntelliJ IDEA 自带)二. 快速开始2.1 新建项目打开IDEA 新建 SpringBoot 项目2.2 运行项目Spring Boot 项目运行分析尝试在浏览器中访问2.3 完成第一个接口新建c…

ArcGIS基础实验操作100例--实验30清除坐标系信息

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验30 清除坐标系信息 目录 一、实验背景 二、实验数据 三、实验步骤 方法一&#xff…

运维管理平台OEM定制集成开发,激发IT价值

对硬件设备商而言,借助优秀的网管、运维管理平台,可以形成完整的产品解决方案,直接提升产品的形象和适用范围。同时还可以通过网管、运维管理平台,切入到外围的产品及集成领域,并在用户后续的升级改造活动中占据有利位…

12.31日报

纠正前天的错误: 前天我写: 不知道在mapper中的增删改方法返回值int的值,和含义,在调用方法时也没有定义int来接参,都是直接调用。于是我定义int i,并打印输出,使用postman调用接口方法&#xf…

R语言hdnom包进行高维惩罚 Cox 回归模型绘制列线图-校准曲线-时间依赖ROC-外部验证

Hdnom包可以用于用于给高维数据构建Cox 模型、绘制列线图-校准曲线-时间依赖ROC-外部验证,而且Hdnom包简化了建模过程,带有自动选择变量功能,将用户从繁琐且容易出错的调参过程中解放出来. hdnom提供了多项自动调参和模型选择功能&#xff…

【OpenAI】基于 Gym-CarRacing 的自动驾驶项目 | 前置知识介绍 | 项目环境准备

猛戳!跟哥们一起玩蛇啊 👉 《一起玩蛇》🐍 💭 写在前面: 本篇是关于多伦多大学自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行…

jscharting.js v3.3.1.20220428 Crack

jscharting.js 3.3 版带来了主要的新组织结构图和甘特图扩展,包括甘特关键路径图、组织连接线样式和选择、仪表板小部件、象形图等等。图表渐变支持扩展到包括图标和动态点和系列渐变填充。 JSCharting 团队使用新功能、图表类型和图表小部件制作了超过 55 个高级示…

从发展的趋势来看,数字技术理应是产业互联网时代的驱动力

事实上,以往,我们所经历的那个互联网玩家频出的年代,其实就是一个以互联网技术为主导的年代。在那样一个年代里,互联网技术几乎是解决一切痛点和难题的万能解药,几乎是破解一切行业痛点和难题的杀手锏。任何一个行业&a…

【Java语言】—顺序结构、分支结构

流程控制语句 Java提供了一些流程控制语句,来控制程序的执行流程。 1.顺序结构 按照代码的先后顺序,以此执行程序。 2.分支结构 (1)if分支 根据判断的结果(真或假)决定执行某个分支的代码。 if分支有三…

Docker+Nginx打包部署前后端分离项目

DockerNginx打包部署前后端分离项目1、问题描述2、项目打包2.1 前端项目打包2.1.1 修改vue.config.js文件2.1.2 router配置中添加base属性2.1.3 打包前端项目2.2 后端项目打包2.3 将前端和后端的打包文件上传到服务器3 nginx反向代理配置4、后端通过Dockerfile打包成docker镜像…