zoukankan      html  css  js  c++  java
  • Python并发编程01 /操作系统发展史、多进程理论

    Python并发编程01 /操作系统发展史、多进程理论

    1. 操作系统

    • 定义:管理控制协调计算机中硬件与软件的关系

    • 操作系统的作用:

      第一个作用: 将一些复杂丑陋的硬件调用的接口,变成简单美丽的接口. open函数.
      第二个作用: 多个进程抢占一个(CPU)资源时,操作系统会将其执行变得合理有序.

    • 操作系统的发展史

      第一代计算机1940~1955

      在大学里出现了机房,想使用计算机必须预约,先连接调配各个硬件,1.5小时, 真空管, 然后在插上程序调试.效率低.
      优点: 
          个人独享整个计算机资源.
      缺点:
         1. 硬件调试插线,耗时
         2. 所有人都是串行执行.
      

      第二代计算机 磁带存储---批处理系统 1955~1965

      优点: 
         1. 程序员不用亲自对硬件进行插线操控,效率提高.
         2. 可以进行批量处理代码.
      缺点:
         1. 程序员不能独自使用计算机.
         2. 你的所有程序还是串行.
      

      第三代计算机:集成电路,多道程序系统

      # 大背景:
      1. 集成电路: 把所用的硬件变小,线路板.
      2. 将两套不同的生产线合并成一条生产线.
      
      # 技术上的更新: 多道技术.
      1. 空间上的复用:
         将内存分区域,一个内存可以同时加载多个进程.
      2. 时间上的复用:
         实现将cpu在多个进程之间来回切换,并且保留状态.
      
      # 第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生:多人(少于10个) 共同使用一个计算机主机,
      

      第四代计算机: 至今.

    2. 进程理论

    • 概念

      1. 串行:所有的任务一个一个的完成.
      2. 并发:一个cpu完成多个任务.看起来像是同时完成.
      3. 并行:多个cpu执行多个任务,真正的同时完成.
      4. 阻塞:cpu遇到IO就是阻塞.
      5. 非阻塞:没有IO,就叫非阻塞.
      6. 程序:一堆静态文件
      7. 进程:一个正在执行的程序任务,一个程序能否开启多个进程
    • 进程的创建

      1. 一个子进程必须依赖于一个主进程才可以开启.

      2. 一个主进程可以开启多个子进程.

      3. unix创建进程:

        unix: fork创建子进程.
        unix(linux,mac): 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变.

      4. windows创建进程:

        windows: 操作系统调用CreateProcess 处理进程的创建.
        windows:创建一个子进程,会copy主进程所有的资源,但是会改变一些资源.

    • 进程的状态

      运行:执行程序文件代码

      阻塞:程序运行时遇到IO就是阻塞

      就绪:阻塞完成后或者正在运行别的程序,可能会来不及切换回来,这之间的状态就是中间状态

  • 相关阅读:
    TTVNC 2.0 发布了
    软件收费问题,目前没有限制, 全部免费
    为什么服务器端要确认才能连接通过
    关于transfer file功能的使用?
    同一台机器上测试会出现很多黑块
    TTVNC 设计理念
    TTVNC 2.2发布
    redis连接池 jedis2.9.0.jar+commonspool22.4.2.jar
    Calendar add 方法 和set方法
    jar包读取包内properties文件
  • 原文地址:https://www.cnblogs.com/liubing8/p/11383970.html
Copyright © 2011-2022 走看看