现代计算机操作系统的四大基本特性(并发/共享/虚拟/异步)

1、并发性

1.1、并发与并行区别

并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。并发需要硬件支持,如多流水线或者多处理器。

并发性是指两个或多个事件在同一时间间隔内发生;操作系统通过引入进程和线程,使得程序能够并发运行。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序同时运行,但在单处理机系统中,每一时刻只能由一道程序执行,所以微观上程序是分时地交替执行的。

并行性是指两个或多个事件在同一时刻发生。

举个栗子:在8ms内,0-2ms程序A1运行; 2-4ms程序A2运行;4-6ms程序A3执行;6-8ms程序A4运行。可知,在8秒的间隔内,宏观上有4个程序在同时运行,但是在微观上,程序A1、A2、A3、A4是分时交替执行的。

1.2、单核和多核的并发与并行

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

当今计算机一般是多核 CPU,比如4核或8核 CPU,这意味着同一时刻可以有四个程序并行执行,但是操作系统的并发性依然必不可少。

1.3、引入进程实现并发

在一个未引入进程的系统中,属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行;并且当其中一个程序执行时,另一个程序不能执行。

如果为两个进程分别建立一个进程(Process),这两个进程便可以并发执行了。实行这种方式,极大的提高了系统资源的利用率,增加了系统的吞吐量。多个进程之间可以并发执行和交换信息。

2、共享性

共享是指系统中的资源可以被多个并发进程共同使用。

有两种共享方式:互斥共享和同时共享。

互斥共享的资源称为临界资源,例如打印机等,在同一时间只允许一个进程访问,需要用同步

机制来实现对临界资源的访问。

所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用;

3、虚拟性

虚拟技术把一个物理实体转换为多个逻辑实体。

主要有两种虚拟技术:时分复用技术和空分复用技术。例如多个进程能在同一个处理器上并发

执行使用了时分复用技术,让每个进程轮流占有处理器,每次只执行一小个时间片并快速切

换。

所谓虚拟是指通过某项技术把一个物理实体变为若干个逻辑上的对应;

4、异步性

异步指进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进。

产生原因:操作系统允许多个并发进程共享资源,使得每个进程的运行过程受到其他进程制约,使进程的执行不是一气呵成,而是以停停走走的方式运行。

————————————————

OS基础-四大基本特征的更多相关文章

  1. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  2. lqb 基础练习 数列特征

    基础练习 数列特征 时间限制:1.0s   内存限制:256.0MB     问题描述 给出n个数,找出这n个数的最大值,最小值,和. 输入格式 第一行为整数n,表示数的个数. 第二行有n个数,为给定 ...

  3. 国产CPU 申威1621 异数OS基础组件理论性能测试报告

    国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...

  4. Java实现 蓝桥杯 基础练习 数列特征

    基础练习 数列特征 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给出n个数,找出这n个数的最大值,最小值,和. 输入格式 第一行为整数n,表示数的个数. 第二行有 ...

  5. java基础-四大特征

  6. 一、基础篇--1.1Java基础-面向对象的特征

    面向对象的特征 封装.继承和多态 https://blog.csdn.net/jianyuerensheng/article/details/51602015 封装: 定义:封装就是将数据或函数等集合 ...

  7. Java基础-四大特性理解(抽象、封装、继承、多态)

    抽象: 象就是有点模糊的意思,还没确定好的意思. 就比方要定义一个方法和类.但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口.具体怎么用,要做什么,我不用关心,由使用的人自己去定义去 ...

  8. os基础

    命令:指计算机用户要求计算机系统为其工作的指示: 命令的表示形式: 1.字符形式: 2.菜单形式: 3.图形形式: 命令的使用方式:1. 脱机使用方式 off_line       2.联机使用方式  ...

  9. 【图像处理基础】LBP特征

    前言 其中dsptian的博客不仅给出了LBP的实现,还计算了LBPH,计算LBP过程中有点小瑕疵,评论中有给出修改方法.除了使用power还可以使用bitxor函数实现. lbpcode = bit ...

  10. JAVA基础之——三大特征、接口和抽象类区别、重载和重写区别、==和equals区别、JAVA自动装箱和拆箱

    1 java三大特征 1)封装:即class,把一类实体定义成类,该类有变量和方法. 2)继承:从已有的父类中派生出子类,子类实现父类的抽象方法. 3)多态:通过父类对象可以引用不同的子类,从而实现不 ...

随机推荐

  1. .NET在单台Windows2008下百万TCP连接测试

    测试客户端: 客户端程序建立TCP连接,发送一条几个字节的数据. 虚拟机8台,PC机8台,服务器1台. 设置MaxUserPort=60000,有一台机没有设置约在1.5万左右.最后因为差一点到100 ...

  2. iOS开发之时间格式化

    //返回当前时间,以GMT为准 NSDate * date = [NSDate date]; NSLog(@"%@", date); //显示当前时间距离1970-01-01 00 ...

  3. 050_Sublime For Salesforce

    之前安装工具都是在网上找的文章,照着步骤一点点来的,最近电脑升级所以要重新安装,花了一个小时终于搞好了,虽然说现在插件已经不维护了,但我觉得目前的工具还是可以够我用的: 1.我之前用的是3083版本, ...

  4. SQL 用 in 大于 1000 问题解决

    -- 今天生成环境数据突然多,系统异常 解决方案(必须用in 业务情况),也可以用其他函数解决 union all  或者 exists 等 1:截取list List<Integer>  ...

  5. Vue添加--图片 二级联动

    二级联动: 首先在数据处理层写对应语句, #region 分类 public List<GTYpe> GTYpe(int id) { return db.GTYpe.Where(p =&g ...

  6. PostgreSQL 存储过程 通过设定条件,返回指定的数据表记录

    PL/pgSQL是 PostgreSQL 数据库系统的一个可装载的过程语言. PL/pgSQL的设计目标是创建一种可装载的过程语言,可以可用于创建函数和触发器过程, 在SQL语言中添加控制结构功能, ...

  7. 项目实训 DAY 13

    GraphCore学习成本太高/现有资料太少,决定放弃 PlotNN用python语言生成pdf(需求:png),且不能通过仅运行python程序实现,python内生成的是tex格式,还需要加一行命 ...

  8. 智利SUBTEL更新WiFi 6技术法规!

    2022年9月6日,智利电信监管机构(SUBTEL) 发布了第2844号豁免决议,更新了1985号豁免决议,即短程设备的固定技术标准. 主要更新如下: • 2.4 GHz频段已在医疗设备目录中删除,现 ...

  9. 阿里云下载ssl证书

    "request合法域名"跟上面CA证书中申请的二级域名一致. Springboot增加证书 创建Springboot项目. 解压缩后,证书文件4375838_wechat.abc ...

  10. python学习笔记5--正则表达式

    正则表达式: 语法: import re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0-9]代表匹配0至9的任 ...