zoukankan      html  css  js  c++  java
  • 并发编程

    一、手工操作——穿孔卡片

    1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。

    程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片)后,才让下一个用户上机。

    手工操作方式两个特点:

    1. 用户独占全机。不会出现因资源已被其他用户占用而等待的现象,但资源的利用率低。
    2. CPU 等待手工操作。CPU的利用不充分。

    20世纪50年代后期,出现人机矛盾。:手工操作的慢速度和计算机的高速度之间形成了尖锐矛盾,手工操作方式已严重损害了系统资源的利用率(使资源利用率降为百分之几,甚至更低),不能容忍。唯一的解决办法:只有摆脱人的手工操作,实现作业的自动过渡。这样就出现了成批处理

    二、批处理——磁带存储

    批处理系统:加载在计算机上的一个系统软件,在它的控制下,计算机能够自动地、成批地处理一个或多个用户的作业(这作业包括程序、数据和命令)。

     联机批处理系统

    联机(多份代码)使用

    效率还是很低

    CPU的利用率极低

    读取数据速度特别慢

    脱机批处理系统

    读取数据速度提高

    CPU的利用率提高

    三、多道程序系统

    多道程序设计技术

    多道
    比如:a,b需要使用cpu,a先试用,b等待a,直到a进入"IO或执行时间过长",a会(切换 + 保存状态),然后b可以使用cpu,待b执行遇到"IO或执行时间过长",再将cpu执行权限交给a,直到两个程序结束。
      空间上的复用(*******)
        多个程序使用一个CPU
      时间上的复用(*******)
        切换 + 保存状态
      1.当执行程序遇到IO时,操作系统会将CPU的执行权限剥夺
        优点:CPU的执行效率提高
      2.当执行程序执行的时间过长时,操作系统会将CPU的执行权限剥夺
        缺点:程序的执行效率低
    并发与并行(*******)
      并发:在单核(一个cpu)的情况下,当执行两个a,b程序时,a先执行,当a遇到IO时,b开始争抢cpu的执行权限,再让b执行,他们看起来像同时运行
      并行:在多核(多个cpu)的情况下,当执行两个a,b程序时,a与b同时执行。他们是真正意义上的同时运行

    单道:一条道走到黑
      比如:a,b需要使用cpu,a先使用,b等待a使用完毕后,b才能使用cpu

  • 相关阅读:
    11.【原创】Object.keys()的一般用法
    5. 【原创】table设置text-overflow: ellipsis;(超出范围显示...)不生效
    12.【转载】vscode默认常用快捷键
    13.【原创】JS读取apk安装包的信息,做应用上传
    11.【原创】chrom文件上传后,手动释放内存
    26.Mysql "truncate"与"delete"的区别
    25.【转载】Mysql timestamp类型字段的CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
    bof
    ctf Wiener tricky
    分解大素数
  • 原文地址:https://www.cnblogs.com/lvguchujiu/p/11997093.html
Copyright © 2011-2022 走看看