王道 —— 操作系统的四个特征

2023-05-16

1、知识总览

操作系统有并发、共享、虚拟、异步四个基本特征,并发和共享是两个最基本的特征,二者互为存在条件;

在这里插入图片描述

2、操作系统的特征 —— 并发

并发:指两个或者多个时间在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的;

并行:指两个或者多个事件在同一时刻同时发生;

并发 VS 并行

eg:假设小渣和老渣每人有两个女朋友。任务1:和一号约会;任务2:和二号约会;
在这里插入图片描述

操作系统的并发性指计算机系统中同时存在多个运行着的程序。

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但是宏观上看起来就像同时执行)。

事实上,操作系统就是伴随着“多道程序技术”而出现的。因此,操作系统和程序并发是一起诞生的。

当今计算机一般都是多核CPU,比如Intel的第八代i3处理器就是4核CPU,这意味着同一时刻可以有4个程序并行执行,但是操作系统的并发性依然必不可少;因为当代人使用计算机绝对有4个以上的程序需要同时工作。

3、操作系统的特征 —— 共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

两种资源共享方式:

  • 互斥共享:系统中的某些资源,虽然可以提供给多个进程使用,但是一个时间段内只允许一个进程访问该资源;
  • 同时共享方式:系统中的某些资源,允许一个时间段内多个进程“同时”对它们进行访问;

所谓“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享);

在这里插入图片描述

生活实例:

  • 互斥共享方式:使用QQ和微信视频,同一时间段内摄像头只能分配其中一个进程;
  • 同时共享方式:使用QQ发送文件A,同时使用微信发送文件B;宏观上,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上,两个进程是交替着访问硬盘的;

4、并发和共享的关系

并发性指计算机系统中同时存在多个运行着的程序;
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用;

通过上面的例子来看并发与共享的关系:使用QQ发送文件A,同时使用微信发送文件B。

  1. 两个进程正在并发执行(并发性);
  2. 需要共享地访问硬盘资源(共享性);

如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;

如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发;

因此,并发性和共享性是互为存在条件,两者缺一不可;

5、操作系统的特征 —— 虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的;

举个例子一:

游戏GTA5需要4GB的运行内存,QQ需要256MB的内存,迅雷需要256MB的内存,网易云音乐需要256MB的内存,但是我的电脑只有4GB的内存;

问题:这些程序同时运行需要的内存远大于4GB,那么为什么它们还可以在我的电脑上同时运行呢?

答案:这是虚拟存储器技术,实际上只有4GB,在用户看来似乎远远大于4GB;虚拟存储器技术使用的是虚拟技术中的“空分复用技术”;

举个例子二:

某单核CPU的计算机中,用户打开了以下程序软件:QQ、微信、浏览器、迅雷、视频播放器;

问题:既然一个程序需要被分配CPU才能正常执行,那么为什么单核CPU的电脑中能同时运行这么多个程序呢?

答案:这是虚拟处理器技术,实际上只有一个单核CPU,在用户看来似乎有多个CPU在为自己服务;虚拟处理器技术是虚拟技术中的“时分复用技术”,微观上处理机在各个微小的时间段内交替着为各个进程服务;

虚拟技术

  • 空分复用技术,如虚拟存储器技术;
  • 时分复用技术,如虚拟处理器;

显然,如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性就谈不上虚拟性;

6、操作系统的特性 —— 异步性

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性;

举个例子:老渣要和两个女孩并发约会;

有以下执行:

  • 一号的指令1:老渣陪我吃饭;
  • 一号的指令2:老渣把心给我;
  • 二号的指令1:老渣把心给我;
  • 二号的指令2:老渣陪我吃饭;

老渣的可能约会方式:

  • 8点到9点:约会一号,陪一号吃饭;
  • 9点到10点:约会一号,把心给一号;
  • 10点到11点:约会二号,把心给二号;
  • 11点到12点:约会二号,陪二号吃饭;

在和一号约会的时候,;老渣把心给了一号,因此在和二号约会的时候,只能等一号把心还回来,这样老渣才能把心给二号,这时候二号的约会进程才能继续执行。

与一号、二号的约会相当于对两个进程的处理,每个进程都有各自需要执行的指令;
老渣的心相当于有限的系统资源,由于可分配的资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进的;

显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底。只有系统拥有并发性,才有可能导致异步性。

7、总结

在这里插入图片描述

  • 理解并发和并行的区别;
  • 并发和共享互为存在条件;
  • 没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统中的两个最基本的特征;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

王道 —— 操作系统的四个特征 的相关文章

  • Linux文件系统变成只读的解决方法

    解决方法 1 重启看是否可以修复 xff08 很多机器可以的 xff09 2 使用用 fsck y dev hdc6 dev hdc6指你需要修复的分区 来修复文件系统 3 若 xff0c 在进行修复的时候有的分区会报错 xff0c 重新启
  • 19-29-k8s-基本命令-yaml-kubectl

    19 k8s 基本命令 yaml kubectl xff1a Kubernetes 集群的命令行工具kubectl 1 kubectl 命令格式 xff1a kubectl command type name flags 参数 xff1a
  • linux下安装nginx

    linux下安装nginx 注 xff1a 此处需要先安装vmware xff0c 下载Centos8等工具 xff0c 配置好一个虚拟机 1 下载nginx的linux版本 2 上传至搭建好的linux环境上 3 解压nginx压缩包 4
  • 128-152-spark-核心编程-源码

    128 spark 核心编程 源码 xff08 主要以了解基本原理和流程为主 xff09 xff1a 总体相关 1 环境准备 Yarn 集群 1 Driver Executor 2 组件通信 1 Driver 61 gt Executor
  • 6-zookeeper-hadoop-ha原理简述-fail

    6 zookeeper hadoop ha故障转移机制 xff0c 原理简述 HA概述 xff08 2 X版本架构 xff09 1 xff09 HA xff08 High available xff09 xff0c 即高可用 xff08 7
  • treelistview入门使用

    treelistview入门使用 1 创建窗口程序 2 引入库System Runtime InteropServices APIs dll和System Runtime InteropServices APIs dll 3 工具箱添加控件
  • ps-01

    ps 01 入门 xff1a 来源尚硅谷ps课程 xff0c 兴趣而已 xff0c 仅做记录 内容无实质性操作指导 1 软件安装 百度参考各种连接 xff0c 自己安装 https baiyunju cc 10433 2 基础操作 2 1打
  • Notes of Dense Trajectory

    Dense Trajectories densely sample feature points in each frame track points in the video based on optical flow compute m
  • python解析xml文件(解析、更新、写入)

    Overview 这篇博客内容将包括对XML文件的解析 追加新元素后写入到XML xff0c 以及更新原XML文件中某结点的值 使用的是python的xml dom minidom包 xff0c 详情可见其官方文档 xff1a xml do
  • 统计字符串中出现次数最多的字母及其出现次数C++

    小弱鸡看不太懂别人的代码 xff0c 于是用了结构体的方法 xff0c 将字母及其出现次数打包 xff01 include lt iostream gt include lt string h gt include lt algorithm
  • 安装man中文

    安装 man 中文手册 在使用 mac 或者 linux 的时候 xff0c 需要用到命令 xff0c 而大量的命令含有大量 options xff0c 一般很难记住 xff0c 使用 man 可以查看这些命令的 options xff0c
  • Ubuntu 18.04安装PyCharm社区版

    下载 下载 xff1a 或直接官网下载 链接 xff1a https pan baidu com s 1JLmMqJNBvClLAYuK1rlKrw 提取码 xff1a 41qk 安装 下载完后进入到存储文件的地址执行以下代码 xff0c
  • Android安卓动态获取存储权限,保存文件到外部存储

    添加存储权限 lt 外部存储的写权限 gt lt uses permission android name 61 34 android permission WRITE EXTERNAL STORAGE 34 gt lt 外部存储的读权限
  • 按键消抖详解

    一 按键消抖原理 抖动时间的长短由按键的机械特性决定 xff0c 一般为 5ms xff5e 10ms xff0c 键抖动会引起一次按键被误读多次 解决办法 xff1a 判断按键按下时 xff0c 延时 10 ms 即可 二 软件实现按键消
  • 20 分钟梳理 Spring 全家桶 !

    作 者 xff1a Daisy 授权转自IT技术思维 xff0c 每日精选优质干货 xff0c 欢迎关注 xff01 xff1e xff1e xff1c xff1c Spring框架自诞生以来一直备受开发者青睐 xff0c 有人亲切的称之为
  • Linux添加软件分类(GNOME桌面)

    Linux添加软件分类 xff08 GNOME桌面 xff09 之前安装TIM deepin wine 的时候发现TIM的分类为chat xff0c 而系统默认没有这个分类 xff0c 所以TIM就很自然的被划分到 其他 里边去了 这强迫症
  • gnome扩展推荐

    引言 xff1a gnome在Linux世界里作为一个比较流行的桌面环境 xff0c 默认不是十分美观 xff0c 有些功能也没有 xff0c 这个时候我们就可以选择安装扩展去个性化gnome 下面是我的桌面截图 xff0c 我利用了扩展实
  • SpringBoot + Redis实现布隆过滤器

    一 简述 关于布隆过滤器的详细介绍 xff0c 我在这里就不再赘述一遍了 我们首先知道 xff1a BloomFilter使用长度为m bit的字节数组 xff0c 使用k个hash函数 xff0c 增加一个元素 通过k次hash将元素映射
  • 屏蔽效能预估

    今天完成了屏蔽效能预估部分的程序 由于公式比较多 xff0c 而且就编程本身而言技术含量不高 xff0c 因此不将源代码贴出 xff0c 有需要者可以联系我 程序界面如下 xff1a

随机推荐

  • SSH 命令的11种用法

    使用ssh连接远程主机 最简单的用法只需要指定用户名和主机名参数即可 xff0c 主机名可以是 IP 地址或者域名 ssh user 64 hostname ssh连接到其他端口 SSH 默认连接到目标主机的 22 端口上 xff0c 可以
  • Spring配置的可选方案(三种配置方式)

    版权声明 xff1a 本文摘自 Spring实战 第4版 xff0c 美 Craig Walls 著 xff0c 张卫滨 译 本文仅作为学习与交流使用 xff0c 如有侵权请留言联系作者 转载请注明出处 目录 一 自动化装配Bean 注释
  • ftp工具

    本文会介绍java代码的ftp工具使用 xff0c 代码实现的功能难免不全 xff0c 要完整的体验ftp功能 xff0c 建议使用该ftp工具 xff1a iis7服务器管理工具 iis7服务器管理工具 xff08 曾用名 xff1a I
  • windows server 2000 r2 设置FTP文件服务器

    最近有一个需求需要将我们自己的一台windows服务器设置文件服务器 xff0c 小小记录一下 xff0c 设置过程 搭建IIS 第一步 xff1a 打开控制面板 第二步 xff1a 点击 打开或关闭 Windows 功能 第三步 xff1
  • ubuntu通过shell脚本实现服务自启和自动关机

    通常服务器开启后需要输入一大堆繁琐的进入文件 启动服务等命令 xff0c 每天如此就会逼着自己寻找捷径 xff0c 毕竟时间不用来学习就是在浪费生命嘛 xff1a Shell脚本挺身而出 xff1a 实现 xff1a 1 配置开机root账
  • 是什么导致了nginx.service: control process exited, code=exited status=1?

    是什么导致了nginx service control process exited code 61 exited status 61 1 xff1f 今天使用脚本安装nginx服务时遇到下面的问题 xff1a 那就先敲命令呗 xff0c
  • .jar与sources.jar区别

    首先 xff0c 当我们在下载jar包与引入jar包的时候可能会发现 xff0c 存在jar文件与相应的sources jar文件 如下图所示 xff1a 这个时候 xff0c 到底该下载哪一个 xff0c 或者我们需要的是哪一个 是jun
  • bat暂停5秒

    choice T 5 C ync CS D y n
  • Linux 开机自启动

    一 无界面的程序自启动 etc rc local 1 编辑 etc rc local vi etc rc local 2 添加要执行的命令 在exit 0 之前 注意 xff1a 这里的执行命令都必须是全路径的 xff0c 就算你添加到了
  • 使用firefox color自定义firefox的主题

    本说明基于firefox 79 轻量级主题 引用 xff1a firefox关于主题的说法 xff0c firefox现在仅支持轻量级主题了 那么什么是轻量级主题呢 xff1f mozilla官方并没有明确的定义 xff0c 我的理解是 x
  • TCL判断条件

    编写TCL代码时遇要写一个if判断条件 xff0c 很简单的一个语句 xff0c 结果却费了很大力气才搞定 要判断的是 xff0c 如果执行info exists成功而且某全局数组C的某个成员大于0 xff0c 正确的语句为 xff1a i
  • 实验二:线性时间选择

    实验二 xff1a 线性时间选择 问题描述 xff08 1 xff09 线性时间选择问题 给定线性序集中n个元素和一个整数k xff0c 1 lt 61 k lt 61 n 要求找出这n个元素中第k小的元素 xff0c 即如果将这个n个元素
  • 我的 IDEA 常用插件介绍

    本文同步发表于我的微信公众号 xff0c 在微信搜索 及格 即可关注 这篇文章介绍一下我 IDEA 里安装的插件 我的 IDEA 版本是IntelliJ IDEA 2021 3 3 xff0c 并且打上了官方的汉化包 xff0c 但我假设看
  • 在电脑上配置 protobuf + VS Code 开发环境

    工作需要学习 protobuf 开发 xff0c 如果能在 Windows 环境下使用更便于练习 xff0c 于是这篇文章介绍一下如何在 Windows 下借助 VS Code 配置 protobuf 开发环境 Protobuf 介绍 pr
  • 【CMake】gtest环境搭建与TDD入门(二)

    上一篇文章 xff0c 我们介绍了CMake xff1a 传送门 这一篇文章我暂时不打算继续写CMake相关的东西了 xff0c 转而写一个叫TDD的开发理论 xff0c 当然 xff0c 理论是需要实践支撑的 xff0c 利用CMake
  • 【刷机】给小米8输入PE12

    前言 我的小米8的官方开发版在两年前就停更了 最后一个版本是MIUI 12 20 9 4 有一个第三方网站收录小米ROM的 xff0c 最新只到MIUI 10 xff0c 很可惜我已经没有开发版权限了 xff0c 也下载不了完整包 xff0
  • 【elasticsearch + kibana】安装配置

    新年的第一篇文章 xff0c 由于工作需要 xff0c 在我自己的Windows电脑上配置elasticsearch 43 kibana xff0c 于是边做边记录 Elasticsearch 下载 xff1a Elasticsearch
  • 【WSL】Ubuntu 22.04 安装配置docker

    前言 WSL就是个坑 xff01 WSL就是个坑 xff01 WSL就是个坑 xff01 我第一次安装使用 Ubuntu 还是第一台笔记本 xff0c 装了双系统 xff0c 版本是18 04 LTS xff0c 但是我那个时候只有机械硬盘
  • 【Android】重新 build Android 项目遇到的问题

    没有理由重新build我的Android项目 xff0c 除了因为我C盘空间不足 但是发现C盘gradle的文件就占用了很大体积 xff08 4 7 G xff09 xff0c 因此决定把gradle换个位置 更换 gradle 位置 gr
  • 王道 —— 操作系统的四个特征

    1 知识总览 操作系统有并发 共享 虚拟 异步四个基本特征 xff0c 并发和共享是两个最基本的特征 xff0c 二者互为存在条件 xff1b 2 操作系统的特征 并发 并发 xff1a 指两个或者多个时间在同一时间间隔内发生 这些事件宏观