操作系统的特征

并发

空降王道

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

​ 常考易混概念――并行: 指两个或多个事件在同一时刻同时发生

并行与并发的区别:

并行:同一时刻同时进行两个任务(就像你一边背单词一边聊天看电影);

并发:从宏观上看,在整个程序运行周期中程序在同时进行两个任务。微观上看,在某一时刻,程序最多正在进行一个任务。

  • 举例:假设小渣和老渣每人有两个女朋友。任务1:和一号约会;任务2:和二号约会…

    并行就是两个同时约会;

    并发就是一号约完以后于此同时开始二号的约会任务。

操作系统的并发性

空降王道

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。
一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行,也就是刚刚所提到的并发执行。(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)

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

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

共享

空降王道

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

共享(资源共享)又分有两种方式:互斥共享与同时共享

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

    举例:

    ​ 互斥共享方式: 使用QQ和微信视频。同一时间段内摄像头只能分配给其中一个进程。计算机系统中的大多数物理设备,以及某些软件中所用的栈空间、变量和表格,都属于临界资源,只允许一个进程使用。

    理解:

    ​ 互斥共享是指当资源被一个进程A占用时,其他想用使用该资源的进程B就只能等待,只有进程A使用完该资源后,进程B才能够使用该资源,这种共享方式就叫做互斥式共享,把这种资源叫做临界资源或独占资源。如打印机就属于临界资源。

  • 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

    举例:

    ​ 同时共享方式: 使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。

    所谓的“同时”往往是宏观上的同时访问,而在微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。但有时候在微观上也是同时在访问运行的,例如你在玩游戏的时候,后台正在播放音乐,你会发现游戏声音与音乐是同时发出的,这就说明这两个进程正在同时使用扬声器设备,具体还需要结合实际。

并发与共享的关系

空降王道

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

通过上面的例子来看并发与共享之间的关系:

使用QQ发送文件A,同时使用微信发送文件B

  • 两个进程正在并袋执行(并发性);

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

  • 需要共享地访问硬盘资源(共享性);

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

综上所述,并发和共享是互为存在条件的。

虚拟

空降王道

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

理解:内存资源的共享、并发机制;

时分复用技术

时分复用技术即分时使用技术,可以用来实现虚拟处理机、虚拟设备等,用来提高资源的利用率。

时分复用技术又分有两种技术:虚拟处理机技术与虚拟设备技术

  • 虚拟处理器技术:虚拟处理机技术借助多道程序设计技术,即为每一个程序建立一个进程,让多个程序并发执行,从而达到分时使用一台计算机,这台计算机能够同时为多个用户服务,使得每个终端用户都认为有一个处理器专门为他服务。微观上处理器在各个微小的时间段内交替着为各个进程服务。

    • 例如:一个单核CPU的计算机上同时打开6款软件,表面上用户看似有6个CPU同时为自己服务,实际上只有一个CPU在工作。
  • 虚拟设备技术:通过虚拟设备技术可以将一台物理I/O设备虚拟为多态逻辑上的I/O设备,并允许用户占用一台逻辑上的I/O设备,这样可以允许在一段时间内由一个用户访问的设备变为在一段时间内允许多个用户同时访问的共享设备
    • 例如:办公室内的打印机支持多台电脑同时连接与操作。

空分复用技术

空分复用技术是指利用空间的分割实现复用的一种方式。空分复用技术可以用来实现虚拟磁盘、虚拟存储等操作,以此实现提高资源利用率。

同时,空分复用技术又分有两种技术:虚拟磁盘技术与虚拟存储器技术

  • 虚拟磁盘技术:通过虚拟磁盘技术可以将一个硬盘虚拟为多块虚拟磁盘,这样使用起来既安全又方便。

    • 例如:将一块硬盘划分为C、D、E、F等逻辑盘就是虚拟磁盘技术。
  • 虚拟存储器技术:利用存储器的空闲空间来存放程序,提高内存利用率。还可以通过虚拟存储器技术(实质上是时分复用技术)在逻辑上扩大存储器的容量,它可以使得一道程序通过时分复用技术在远小于它的内存空间中运行
    • 例如:一台电脑运行内存只有4G,而如果同时运行GTA5 - 4G运存消耗,QQ - 256MB运存消耗,微信 - 256MB运存消耗时,实际上系统使用了虚拟存储技术(虚拟内存)分时将程序加载运行,在每次只把用户程序上的一部分调入内存运行,运行完成后将该部分换出,将另一部分程序换入到内存,通过这样的置换功能,便实现了用户程序的各个部分分时的进入内存运行。在表面上系统只有4G内存空间,实际上似乎远远大于4G的内存。

该内容后面会有重点的讲解。

小结

通过上面的举例说明,我们谈到时间复用技术中能够让设备、进程同一时间段同时并发运行的虚拟存储器和虚拟设备技术,以及空分复用技术中将磁盘空间的划分、存储器资源共享的虚拟磁盘技术与虚拟存储器技术。它们都有一个特点,让硬件设备、进程更高效率的执行与并发。

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

异步

空降王道

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

  • 举例:再用上面的老渣和两个女孩并发约会的例子。

    两个女孩分别有以下指令:

    • 一号的指令1:老渣陪我吃饭

    • 一号的指令2:老渣把心给我

    • 二号的指令1:老渣把心给我

    • 二号的指令2:老渣陪我吃饭

    老渣的心只有一颗,他能这样约:

    • 8:00 ~ 9:00 - 与一号吃饭;
    • 9:00 ~ 10:00 - 把心给一号;❤此时一号把老渣的心占用,占用期间线程堵塞,在归还这个资源以后老渣的心才能被其他人占用
    • 10:00 ~ 11:00 - 把心给二号;(此时心被一号给占用,所以此刻二号只能线程阻塞等到一号把心归还后,才能执行二号的指令;
    • 11:00 ~ 12:00 - 把心给二号

    还能这么约

    • 8:00 ~ 9:00 - 与一号吃饭;
    • 9:00 ~ 10:00 - 把心给二号;❤ 此时二号把老渣的心占用,占用期间线程堵塞,在归还这个资源以后老渣的心才能被其他人占用
    • 10:00 ~ 11:00 - 把心给一号;(线程阻塞等待,此时心被二号给占用,所以此刻一号只能原地线程阻塞等到二号把心归还;)
    • 11:00 ~ 12:00 - 与二号吃饭;

异步小结:

根据上面的例子我们可以发现,与一、二号的约会任务相当于两个进程,而老渣相当于一个CPU在对这两个进程的指令进行执行,每个进程都有各自需要执行的指令。同时,老渣的心相当于有限的系统资源,由于可分配的资源有限,进程的执行不是一贯到底的,在这些进程推进的过程当中我们发现他们是以不可预知的速度,走走停停推进的。

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

本节总结

空降王道

根据上面的学习:

我们通过大渣和小渣在约会的不同策略学习了并发与并行的区别;

同时我们通过QQ和微信同时发送文件的例子了解到并发和共享是互为存在的条件

根据上面的学习:

我们通过大渣和小渣在约会的不同策略学习了并发与并行的区别;

同时我们通过QQ和微信同时发送文件的例子了解到并发和共享是互为存在的条件

在后面我们了解到了虚拟和异步的概念与理解,我们知道没有并发就不会延伸出虚拟和异步,而并发和共享又是互为存在的条件,那么就可以说明没有并发和共享,就谈不上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

操作系统第一章-第2节:操作系统的特征相关推荐

  1. 操作系统第一章笔记---绪论

    本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载 操作系统系列笔记汇总:操作系统笔记及思维导图汇总附复习建议_Qlz的博客-CSDN博客 文章目录 文章目录 文章目录 本章思 ...

  2. 操作系统第一章课后题

    操作系统第一章课后题 1. 设计现代OS的主要目标是什么? 答:方便性,有效性,可扩充性和开放性 2. OS的作用可表现在哪几个方面? 答:(1) OS作为用户与计算机硬件系统之间的接口.(2) OS ...

  3. 王道-操作系统-第一章

    王道-操作系统-第一章 1.概念.功能.目标 熟悉的操作系统 windows/linux/macos/ios/Android 1.1 概念 层次结构 定义 1.2 功能和目标 作为系统资源的管理者 进 ...

  4. 空间曲线曲率算法c语言,第一章第四节空间曲线曲率计算公式及推导.doc

    第一章第四节空间曲线曲率计算公式及推导 空间曲线的曲率定义及 计算公式 引理 设是单位圆周上的向量,即, 设与之间的夹角记为,则有 . 证明 因为 , 所以 . (用解等腰三角形或用余弦定理,得 .) ...

  5. 当集合a为空集时a的取值范围_高中数学必修一第一章集合分节练习和章末测试题含答案[1] 2...

    高中数学必修1 第一章 集合 分节练习和章末综合测试题含答案 §1 集合的含义与表示 1.下列各组对象能否组成一个集合? (1)接近于0的数的全体: (2)2的近似值的全体: (3)平面上到点O 的距 ...

  6. NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译

    NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译 第一章第二节Mapping a class with XML第一 ...

  7. 操作系统:第一章,第二章总结

    第一章 操作系统引论 (一)操作系统的介绍 1.定义 (1)操作系统是一组用于控制和管理计算机系统硬件和软件资源.合理地对各类作业进行调度,以及方便用户使用的程序集合. 2.地位 (1)操作系统是裸机 ...

  8. 操作系统--第一章 操作系统引论--习题答案

    操作系统第四版课后的全部习题答案,学习通作业答案. 说明:操作系统其他章节的习题答案也在此"操作系统"专栏. 第一章 1.设计现代OS的主要目标是什么?== 答:(1)有效性 (2 ...

  9. 汤晓丹的第四版计算机操作系统--第一章总结概述

    计算机操作系统 最近为了考研复试而复习的计算机操作系统,计算机网络,数据库系统概论,离散数学.现在将复习的书上的知识点整理总结出来,与大家共享. 第一章 操作系统概论 操作系统的目标:方便性,有效性, ...

最新文章

  1. 昌邑机器人_上下料机器人昌邑机器人生产工厂
  2. java 接口参数验证_SpringBoot实现通用的接口参数校验
  3. 关于HTML5的十条霸气侧漏预测
  4. WebConfig的经典使用,大家一起交流一下吧!!!
  5. 871 最低加油次数
  6. 百度网盘7.3.1.10版本增加工作空间功能,可实现百度网盘与电脑文件夹同步
  7. Android之FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
  8. 解决 vs2010问题 error MSB8008: 指定的平台工具集(v110)未安装或无效
  9. 18.TCP使用的注意事项
  10. SQL Server中追踪器Trace的介绍和简单使用
  11. PSP看电视软件测试,实战测试:PSP上运行Windows 95
  12. 计算机管理员账户停用,win10系统提示“你的账户已被停用,请向系统管理员咨询”如何解决...
  13. 赢富、超赢TopView SuperView TotalView 数据网站
  14. 给电脑C盘系统盘瘦身的四种方法
  15. 手机对红外探头发送数据和接受
  16. TORCH.JIT理解
  17. Mybatis源码阅读(二)
  18. cURL到Python/Aardio/易语言(将curl格式文本解析成Python、易语言、AardioGolang、VBA、PowerQuery、Json)20210811
  19. 手游各个平台开接入发者中心网址汇总
  20. 2013年10月17日_羊豆豆_新浪博客

热门文章

  1. [Python] PyQt5+Pycharm 实现省、市、区/县三级联动效果
  2. selenium免登录Java_使用selenium+java模拟登陆今日头条时需要手机验证码登陆,第二次怎么免输入信息登陆?...
  3. 【Kubernetes 010】Ingress作用及Ingress-Nginx实际操作详解
  4. UE4 材质切换(带动画效果)
  5. 卷不动了?300 秒快速了解 Java 9 - 16 新特性,助你脱离内卷
  6. HDLC协议基本功能模拟实现 (C语言)
  7. 联想笔记本老是出现仅计算机,联想电脑开机只显示节能模式怎么办
  8. Testin云测试-标准兼容性测试
  9. 还记得曾经风起云涌的雨林木风了吗?
  10. [编程题] 棋子翻转-Java