1. 操作系统

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

1.1 作用

  1. 将一些对硬件操作的复杂、丑陋的接口,变成简单、清晰的接口。

    1. 将多个进程对硬件资源(cpu)的竞态请求变得有序化、合理化。

1.2 操作系统的发展

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

计算机发展史:

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

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

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

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

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

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

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

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

    多道程序系统

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

      1. 时间上的复用:实现将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 进程的状态:

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

python 32 操作系统与进程的更多相关文章

  1. 33.python之操作系统,进程,线程

    转载:https://www.cnblogs.com/yuanchenqi/articles/6248025.html 操作系统 一 为什么要有操作系统? 现代计算机系统是由一个或者多个处理器,主存, ...

  2. python 操作系统和进程

    一. 操作系统介绍 多道程序系统 多道程序设计技术       所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行.即同时把多个程序放入内存,并允许它们交替在CPU中运行,它们共享系统中的各种 ...

  3. 操作系统/应用程序、操作中的“并发”、线程和进程,python中线程和进程(GIL锁),python线程编写+锁

    并发编程前言: 1.网络应用 1)爬虫 直接应用并发编程: 2)网络框架 django flask tornado 源码-并发编程 3)socketserver 源码-并发编程 2.运维领域 1)自动 ...

  4. day 32 操作系统、线程和进程(GIL锁)

    一.操作系统/应用程序 a. 硬件 - 硬盘 - CPU - 主板 - 显卡 - 内存 - 电源 ... b. 装系统(软件) - 系统就是一个由程序员写出来软件,该软件用于控制计算机的硬件,让他们之 ...

  5. Python之线程、进程和协程

    python之线程.进程和协程 目录: 引言 一.线程 1.1 普通的多线程 1.2 自定义线程类 1.3 线程锁 1.3.1 未使用锁 1.3.2 普通锁Lock和RLock 1.3.3 信号量(S ...

  6. 在Python程序中的进程操作,multiprocess.Process模块

    在python程序中的进程操作 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起 ...

  7. python 全栈开发,Day38(在python程序中的进程操作,multiprocess.Process模块)

    昨日内容回顾 操作系统纸带打孔计算机批处理 —— 磁带 联机 脱机多道操作系统 —— 极大的提高了CPU的利用率 在计算机中 可以有超过一个进程 进程遇到IO的时候 切换给另外的进程使用CPU 数据隔 ...

  8. python(40)- 进程、线程、协程及IO模型

    一.操作系统概念 操作系统位于底层硬件与应用软件之间的一层.工作方式:向下管理硬件,向上提供接口. 操作系统进行进程切换:1.出现IO操作:2.固定时间. 固定时间很短,人感受不到.每一个应用层运行起 ...

  9. Python程序中的进程操作--—--开启多进程

    Python程序中的进程操作-----开启多进程 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创 ...

随机推荐

  1. md文档的书写《三》

    markdown语法 官网 这是标题 "#加空格" 是标题,通常可以设置六级标题. 内容下 空格是换行 列表 无序列表:使用" - + * "任何一种加空格都可 ...

  2. 用python输出菱形

    num = eval(input('请输入最多*所在行数:')) a = num b = num #上三角 for i in range(1,num+1): print((a-1) *' ', (2* ...

  3. Python 学习笔记 编程基础汇总000

    编程基础知识汇总000 1.计算机结构 2.编程语言分类 3.字符编码由来 计算机结构 计算机组成五大部件: 控制器.运算器.存储器.输入.输出 控制器(Controler):对程序规定的控制信息进行 ...

  4. MVC WebApi 实现Token验证

    基于令牌的认证 我们知道WEB网站的身份验证一般通过session或者cookie完成的,登录成功后客户端发送的任何请求都带上cookie,服务端根据客户端发送来的cookie来识别用户. WEB A ...

  5. React躬行记(11)——Redux基础

    Redux是一个可预测的状态容器,不但融合了函数式编程思想,还严格遵循了单向数据流的理念.Redux继承了Flux的架构思想,并在此基础上进行了精简.优化和扩展,力求用最少的API完成最主要的功能,它 ...

  6. string的学习

    原:https://blog.csdn.net/qq_37941471/article/details/82107077 一. string的构造函数的形式: string str:生成空字符串 st ...

  7. Linux学习笔记06之DNS

    一.DNS概念:Domain Name System(域名系统) 是互联网上作为域名和IP地址相互映射的一个分布式数据库 二.DNS功能: 完成IP地址和域名之间的一个映射 三.DNS分类: 1.静态 ...

  8. Kibana对数据的可视化

    基于上一篇的操作,我们已经获得了数据,接下来我们就要处理数据,因此选用了Kibana 先来介绍一下, Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在E ...

  9. JS 中构造函数和普通函数的区别

    原来只是随意的了解了下 , 但是最近有点忘了 于是详细了解下 加深下印象. 1.构造函数也是一个普通函数,创建方式和普通函数一样,但构造函数习惯上首字母大写 2.构造函数和普通函数的区别在于:调用方式 ...

  10. Activiti6系列(5)- 核心API

    前言 本来想把<疯狂工作流讲义-activiti6.0>这本书里面的实例拿过来,但是这本书我看完后,认为里面编写的activiti6的核心API代码片段不是很清晰,有不少需要雕琢的地方才好 ...