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

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. Vue全局方法配置

    在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,复制文本等等.这时候我们就需要把常用函数抽离出来,提供给全局使用.那如何才 ...

  2. Java基础——数组的初始化与赋值、循环遍历,Random随机数[大于等于0,小于所给值)

    package com.zhao.demo; public class Demo05 { //数组的静态初始化 /*public static void main(String[] args) { i ...

  3. golang实现请求cloudflare修改域名A记录解析

    现在有些DNS解析要收费,国内的几个厂商需要实名制.下面给出golang请求cloudflare修改域名A记录解析的代码. 准备工作: 在域名购买服务商处,将dns解析服务器改为cloudflare的 ...

  4. scala调用fastjson JSON.toJSONString()序列化对象出错

    在scala中需要将case class 序列化为string,代码如下 results.map(JSON.toJSONString(_)).foreach(println) case class p ...

  5. CCF 202012-2 期末预测之最佳阈值

    #include <iostream> #include <bits/stdc++.h> #include <string> using namespace std ...

  6. <雪山飞狐><飞狐外传 >合辑剧情+随笔

    严格而言雪山飞狐与飞狐外传的剧情并不相关,前者写作与前,然后飞狐外传算是对雪山飞狐中形象并不饱满的胡斐作进一步补充描述,同时对二十余年前苗人凤与胡一刀之间故事的补充,以及众人叙述中的一些补充.因此虽然 ...

  7. 项目实训 day15-16

    第一天我与灿哲沟通,我弄明白了真正的网络结构且如何运行的,自己记了下网络草图,开始初步用PlotNN绘制 第二天我发现pycore库表达能力不够,于是参考其他用tex写的例子,写了几个方法,最终能生成 ...

  8. react-signature-canvas 签名功能

    基于移动端需要扫码签名的功能,这里记录一下. 1.使用 react-signature-canvas 插件,npm i react-signature-canvas --save 2.此功能签名后生成 ...

  9. 处理时间转换不正确-Springboot、springclound、feign、http请求

    SpringBoot.SpringCloud.feign.前后端时间解析不正确时,我们可以自定义HttpMessageConverters,以达到我们希望的结果 参考链接:https://www.cn ...

  10. 微服务注册到Nacos上的Ip错误,是内网ip不是公网ip

    spring.cloud.nacos.discovery.ip = 本机公网IP spring.cloud.nacos.discovery.port = 服务端口