0 并发编程--操作系统的发展史与多道技术

必备的理论基础:

一 操作系统的作用:
    1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口
    2:管理、调度进程,并且将多个进程对硬件的竞争变得有序

二 多道技术:
    1.产生背景:针对单核,实现并发
    ps:
    现在的主机一般是多核,那么每个核都会利用多道技术
    有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个
    cpu中的任意一个,具体由操作系统调度算法决定。

    2.空间上的复用:如内存中同时有多道程序
    3.时间上的复用:复用一个cpu的时间片
       强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样
            才能保证下次切换回来时,能基于上次切走的位置继续运行

一、操作系统发展史及多道技术

  1.第一代计算机(1940~1955):真空管和穿孔卡片

    特点:没有操作系统的概念,所有的程序设计都是直接操控硬件。

    优点:程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序。

    缺点:浪费计算机资源,一个时间段内只有一个人用。

  2.第二代就算机(1955~1965):晶体管和批处理系统

    特点:把代码都赞到一块,让一个CPU共享,但是还是一个一个的去运行,还是顺序算法(串行)
    优点:批处理,节省了机时。
    缺点:整个流程需要人参与控制,将磁带搬来搬去;计算过程任然是顺序计算;程序开发效率低,无法及时调试程序。

  3.第三代计算机(1965~1980):集成电路芯片和多道程序设计

    第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术:多道技术

    多道技术:(指的是多道/个程序)
       1.空间上的复用:内存要支持同时跑进多个程序,将内存分为几部分,每个部分放入一个程序。这样,同一时间内存就有了多道程序。
       2.时间上的复用:多个程序要让它们能切换(什么时候要切?一个程序占用的时间过长要切;当CPU遇到IO阻塞时,等待的时间要切)

  4.第四代计算机(1980~至今):个人计算机

批处理 

1401 主要用于输入输出操作----I/0操作

7094 负责具体运行程序,计算操作

二、为什么要使用操作系统呢?

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。

三、操作系统的两大作用

  1.为应用程序提供如何使用硬件资源的抽象

  2.把多个程序对硬件的竞争变得有序化(管理应用程序)

四、计算机语言的分类

   机器语言:
     特点:用计算机能看懂的0和1去写程序
     优点:程序运行速度快
     缺点:开发效率低
  汇编语言:
     特点:用一些英文标签代替一串二进制数字去写程序
     优点:比机器语言好一点,操作系统内使用大量汇编语言(操作系统不需要网络,则速度越来越好)
          比如:关于进程的调用代码,就是用汇编语言写的
     缺点:开发效率低
  高级语言:
     特点:用人能读懂的(英文)字符去写程序
     优点:开发效率高
     缺点:运行速度慢,必须经过翻译才能让计算机识别,导致运行速度慢
  以上得出结论:开发效率从低到高,运行速度从低到高,学习难度由难到易。

 
原文地址:https://www.cnblogs.com/foremostxl/p/9715750.html