• python 32 操作系统与进程


    1. 操作系统

    ​ 管理、控制、协调计算机硬件与软件资源的计算机程序。

    1.1 作用

    1. 将一些对硬件操作的复杂、丑陋的接口,变成简单、清晰的接口。
      2. 将多个进程对硬件资源(cpu)的竞态请求变得有序化、合理化。

    1.2 操作系统的发展

    ​ linux或windows的源代码有五百万行数量级。

    计算机发展史:

    1. 第一代:电子管计算机(1946——1958年),真空电子管,机器语言编写。

      ​ 优点:个人能够独享资源;

    ​ 缺点: 体积大,功耗高,速度慢,操作繁琐,串行执行。

    1. 第二代:晶体管计算机(1958年—1964年)存储与磁盘,批处理系统

      ​ 优点:批处理,节省机时;

      ​ 缺点:人参与控制,串行执行,统一规划到一批作业中。

    2. 第三代:集成电路计算机(1964年—1970年):多道程序系统

      ​ 背景:1. 集成电路:把所用的硬件变小,线路板。2.不同生产线不兼容,需合并兼容。

      多道程序系统

      1. 空间上的复用:将内存分区域,一个内存可以同时加载多个进程。
        2. 时间上的复用:实现将cpu在多个进程之间来回切换,并且保留状态。

      ​ 几乎所有的程序又有IO阻塞;同时加载到内存3个进程,每个进程都有阻塞情况,只要cpu运行一个进程遇到IO阻塞时,会立马切换,长时间占用cpu也会切换。 这样能够提升效率,最大限度的使用cpu。

      ​ 如果时一个IO密集型进程,来回切换提升效率;

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

      ​ 再加上计算机采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生。(分时系统

      特点:系统化、标准化。

    3. 第四代:大规模集成电路(1970年—至今)

      ​ 集成度更高,体积小,使用方便。

    2. 进程的理论

    2.1 相关名词

    程序:一堆静态的代码。

    进程:程序的运行过程、任务。 是由操作系统操控调用交与cpu运行。

    一个程序可以开启多个进程。

    串行:所有的任务一个接一个去完成。

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

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

    阻塞:cpu遇到IO就是阻塞。

    非阻塞:没有IO就是非阻塞。

    2.2 进程的创建

    ​ 新的进程创建都是由一个已存在的进程执行调用创建的。

    ​ 一个主进程可以开启多个子进程;

    ​ 一个子进程必须依赖主进程才可以开启。

    Unix: 由fork创建子进程。linux,mac基于Unix: 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变.

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

    2.3 进程的状态:

    ​ 运行、阻塞、就绪三种状态。

  • 相关阅读:
    正则表达式的语法表
    leetcode1567. 乘积为正数的最长子数组长度 吴丹阳
    leetcode152. 乘积最大子数组 吴丹阳
    leetcode740. 删除并获得点数 吴丹阳
    leetcode53. 最大子数组和 吴丹阳
    leetcode55. 跳跃游戏 吴丹阳
    leetcode45. 跳跃游戏 II 吴丹阳
    leetcode213. 打家劫舍 II 吴丹阳
    leetcode918. 环形子数组的最大和 吴丹阳
    leetcode482. 密钥格式化 吴丹阳
  • 原文地址:https://www.cnblogs.com/yzm1017/p/11379088.html
Copyright © 2020-2023  润新知