多道程序设计的出现解决了这个问题,就是把内存分为几个部分,每一个部分放不同的程序。当一个程序需要等待I/O操作完成时。那么CPU可以切换执行内存中的另外一个程序。如果内存中可以同时存放足够多的程序,那CPU的利用率可以接近100%。

在这个时候,引入了第一个概念- 进程, 进程的本质是一个正在执行的程序,程序运行时系统会创建一个进程,并且给每个进程分配独立的内存地址空间保证每个进程地址不会相互干扰。同时,在CPU对进程做时间片的切换时,保证进程切换过程中仍然要从进程切换之前运行的位置出开始执行。所以进程通常还会包括程序计数器、堆栈指针。

有了进程以后,可以让操作系统从宏观层面实现多应用并发。而并发的实现是通过CPU时间片不端切换执行的。对于单核CPU来说,在任意一个时刻只会有一个进程在被CPU调度

并发的发展历史-集成电路和多道程序设计相关推荐

  1. CMOS模拟集成电路发展历史、设计特点、设计流程

    集成电路发展历史: 20世纪50年代,小规模集成电路,small scale Intergrated circuits,集成度个元件 20世纪60年代,中规模集成电路,medium scale Int ...

  2. 并发的发展历史-线程的出现

    有了进程以后,为什么还会发明线程呢? 1. 在多核CPU中,利用多线程可以实现真正意义上的并行执行 2. 在一个应用进程中,会存在多个同时执行的任务,如果其中一个任务被阻塞,将会引起不依赖该任务的任务 ...

  3. 并发的发展历史-晶体管和批处理系统

    批处理操作系统的运行方式:在输入室收集全部的作业,然后用一台比较便宜的计算机把它们读取到磁带上.然后把磁带输入到计算机,计算机通过读取磁带的指令来进行运算,最后把结果输出磁带上.批处理操作系统的好处在 ...

  4. 并发的发展历史-真空管和穿孔打卡

    最早的计算机只能解决简单的数学运算问题,比如正弦.余弦等.运行方式:程序员首先把程序写到纸上,然后穿孔成卡片,再把卡片盒带入到专门的输入室.输入室会有专门的操作员将卡片的程序输入到计算机上.计算机运行 ...

  5. eBPF 的发展历史和核心设计

    前言 本文翻译自 2016 年 Daniel Borkman 在 NetdevConf 大会上的一篇文章:On getting tc classifier fully programmable wit ...

  6. UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)

    文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...

  7. 《操作系统之哲学原理(第2版)》——— 操作系统的发展历史

    <操作系统之哲学原理(第2版)>本书对操作系统的核心内容进行了全面分析,包括操作系统的发展历史和基本概念.进程与线程.内存管理.文件系统.输入与输出.多核环境下的进程调度和操作系统设计.本 ...

  8. 操作系统:操作系统发展历史与现状

    1.2 操作系统的发展历史       单道批处理时代(50年代) 多道批处理,分时,实时系统时代(60年代初) 多方式系统时代(60-70年代) PC操作系统.网络系统和多机系统时代(70年代后) ...

  9. FPGA的发展历史及相关名词解释

    FPGA全称Field Programmable Gate Array,现场可编辑逻辑门阵列.它以PAL.GAL.CPLD等可编程逻辑器件为技术基础发展而成.相较全定制的ASIC(Applicatio ...

最新文章

  1. 第十五届智能车竞赛技术报告-成电金秋-AI电磁
  2. 关于castle和Could not find the dialect in the configuration错误
  3. Java / Web项目中的NPM模块Browser-Sync
  4. 用aliplayer如何实现视频的连续播放?
  5. java中堆栈的基本操作_玩儿转队列和栈的基本操作及其应用:Java 版
  6. php中::双冒号有什么作用
  7. android php 推送,php-Android通过Firebase推送通知(服务器端)
  8. 风阻能发电装置叶片的动力学仿真
  9. 修改IDEA格式化单行注释 后增加空格
  10. 电脑面上,在电脑桌面上添加文字_在电脑桌面上添加图片
  11. 我的世界命令计算机,我的世界电脑版指令大全,你想要的指令都在这里
  12. Microsoft Visual SourceSafe 6.0 关联VS
  13. 初识中间件Kafka
  14. linux控制wifi发射功率,路由器的发射功率上限是多少
  15. VGG16 VGG19
  16. 兔云资讯_游戏研发工程师面试更新_20200801
  17. ResNet、ResNeXt网络详解及复现
  18. 多用户博客BLOG系统大全
  19. 一个隐藏android应用图标的方法
  20. 谷歌关键词是怎么排名的?google关键词优化

热门文章

  1. CSS浏览器兼容汇总
  2. asp.net跨页面传值收集
  3. Java面试题系列之Java基础类库(一)
  4. 进制问题:m进制转n进制,m进制转十进制,十进制转n进制
  5. Web 开发时需要注意到的一些性能问题
  6. Firebug的安装方法
  7. SilverFoxServer出炉!!
  8. POJ 1273 (基础最大流) Drainage Ditches
  9. GIS管网项目-flex/java
  10. Nginx 服务并发过10万的Linux内核优化配置