zoukankan      html  css  js  c++  java
  • Python之并发编程(一)进程和操作系统概述

    进程和操作系统概述

    1. 进程的基础

      • 程序和进程:

        程序是一堆静态的代码文件

        进程是一个正在运行着的程序,抽象概念

        进程由操作系统操控调用交给CPU运行

    2. 操作系统

      • 管理控制协调计算机硬件和软件的关系

      • 操作系统的作用:

        • 将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口. open函数.

        • 多个进程抢占一个(CPU)资源时,操作系统会将你的执行变得合理有序.

          阻塞: input read write sleep recv accept sendto recvfrom .....

    3. 操作系统发展史

      1. 最早出现的计算机: 算盘.

      2. 电子类的计算机发展史:

        1. 第一代计算机1940~1955

          • 在大学里出现了机房,想使用计算机必须预约.

            先连接调配各个硬件,1.5小时, 真空管, 然后在插上程序调试.效率低

          • 优点: 个人独享整个计算机资源.

          • 缺点:硬件调试插线,耗时,所有人都是串行执行

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

          • 优点:
            • 程序员不用亲自对硬件进行插线操控,效率提高
            • 可以进行批量处理代码
          • 缺点:
            • 程序换不能独自使用计算机
            • 你的所欲程序还是串行的
        3. 第三代计算机:集成电路,多道程序系统

          • 大背景:

            • 集成电路:把所有用的硬件变小,线路板
            • 将两套不同的生产线合并成 一条生产线
          • 技术上的更新:多道技术

            1.空间上的复用:将内存分区域,一个内存可以同时加载多个进程

            2.时间上的复用:实现将CPU在多个进程之间来回切换,并且保留状态

            几乎所有的程序又有IO阻塞,

            同时加载到内存 3个任务,3个进程,每个进程都有阻塞情况,只要cpu运行一个进程时,遇到IO阻塞立马回切换,长时间占用cpu也会切换.

            提升效率,最大限度的使用cpu.

            如果是一个IO密集型进程,来回切换提升效率.

            如果是一个计算密集型,来回切换降低效率.

            第三代计算机广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生:

            每个人占用计算机的时间有限的,

            多人(少于10个) 共同使用一个计算机主机,

            第四代计算机: 至今.

      3. 进程的理论:

        1. 串行: 所有的任务一个一个的完成.

        2. 并发: 一个cpu完成多个任务.看起来像是同时完成.

        3. 并行: 多个cpu执行多个任务,真正的同时完成.

        4. 阻塞: cpu遇到IO就是阻塞.

        5. 非阻塞: 没有IO,就叫非阻塞

        6. 程序: 一堆静态文件

        7. 一个正在执行的程序任务,一个进程.

        8. 一个程序能否开启多个进程? 可以.

        9. 进程的创建:

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

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

          unix: fork创建子进程.

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

          windows: 操作系统调用CreateProcess 处理进程的创建.

          windows:创建一个子进程,会copy主进程所有的资源,但是会改变一些资源.

        10. 程序的状态:

  • 相关阅读:
    Power BI for Office 365(八)共享查询
    Power BI for Office 365(七) Power BI站点
    Power BI for Office 365(六)Power Map简介
    Power BI for Office 365(五)Power View第二部分
    Power BI for Office 365(四)Power View第一部分
    Power BI for Office 365(三)Power Pivot
    Power BI for Office 365(二)Power Query
    java 继承、重载、重写与多态
    Android 热修复方案Tinker(一) Application改造
    阿里最新热修复Sophix与QQ超级补丁和Tinker的实现与总结
  • 原文地址:https://www.cnblogs.com/zhangdadayou/p/11431884.html
Copyright © 2011-2022 走看看