1, 计算机的硬件组成:
主板 固化(寄存器, 是直接和CPU进行交互的一个硬件)
CPU 中央处理器: 计算(数字计算和逻辑计算)和控制(控制所有硬件协调工作)
存储 硬盘, 内存
输入设备 键盘, 鼠标, 话筒
输出设备 显示器, 音箱, 打印机
早起计算机是以计算为核心, 现在计算机是以存储为核心.
2, 操作系统:
为了用户更方便的使用.
为什么要有操作系统?
1, 封装了所有硬件的接口, 使用户使用更方便.
2, 对于一算计内所有资源, 进行一个合理的调度和分配.
3, 进程:
进程是指正在执行的程序.
是正在执行过程中的一次指令, 数据集等的集合.
也可以叫做程序的一次执行过程.
进程也是一个动态概念.
进程的组成三大部分: 代码段, 数据段, PCB(进程控制块)
进程的基本状态:
就绪状态: 已经获得运行需要的所有资源, 不包括CPU.
执行状态: 已经获得了所有资源包括CPU, 处于正在运行.
阻塞状态: 因为各种原因, 进程放弃了CPU, 导致进程无法继续执行, 此时进程属于内存中,继续执行要等待获取CPU.
进程的一个特殊状态----挂起状态.
挂起状态: 是指因为各种原因, 放弃了CPU, 导致进程无法继续执行, 此时进程被踢出内存.
multiprocessing内置模块, 是python提供的, 主要用于多进程变成.
Process模块
dos操作系统: 单用户单任务
windows系统: 单用户多任务(早期), 现在是多用户多任务.
unix系统: 多用户多任务.
并发: 是指两个或多个事件在同一时间间隔内同时进行(单条线)
并行: 是指两个或多个事件在同一时间点同时进行,互不影响属于多线条.
同步: 执行一个操作之后, 等待结果, 然后才继续执行后续的操作.(银行存取款, 医院排号, 网上购票等)
异步: 执行一个操作后, 可以去执行其他的操作. 然后等待通知再回来执行刚才没执行完的操作.(电脑打开多个窗口)
阻塞: 进程给CPU传达一个任务之后. 一直等待CPU处理完成,然后才执行后面的操作.
非阻塞: 进程给CPU 传达任务后, 继续处理后续的操作, 隔断时间再来询问之前的操作时候完成, 这样的过程其实也叫轮询.
阻塞、非阻塞、多路IO复用,都是同步IO,异步必定是非阻塞的,所以不存在异步阻塞和异步非阻塞的说法。真正的异步IO需要CPU的深度参与。换句话说,只有用户线程在操作IO的时候根本不去考虑IO的执行全部都交给CPU去完成,而自己只等待一个完成信号的时候,才是真正的异步IO。所以,拉一个子线程去轮询、去死循环,或者使用select、poll、epool,都不是异步。
参考网址:
https://www.zhihu.com/question/19732473
https://www.zhihu.com/question/27965282
http://www.smithfox.com/?e=191