(针对接口编程,不要对实现编程)进程与程序的联系
- 程序是产生进程的基础
- 程序的每次运行构成不同的进程
- 进程是程序功能的体现
- 通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序
进程: 一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。
指针的快主要体现在绕过了页码通过逻辑地址检索物理地址的时间,
内存地址:(逻辑地址,物理地址)
进程与程序的区别:
- 进程是动态的,程序是静态的;程序是有序代码的集合;进程程序的执行,进程有核心态/用户态
- 进程是暂时的,程序是永久的;进程是一个状态变化的过程,程序可长久保存
- 进程与程序的组成不同;进程的组成包括程序,数据和进程控制块(即进程状态信息)
线程: 进程当中的一条执行流程。它是进程的一部分,描述指令流执行状态。它是进程中的指令执行流的最小单元,是CPU调度的基本单位。
线程的优点:
- 一个进程中可以同时存在多个线程;
- 各个线程之间可以并发地执行;
- 各个线程之间可以共享地址空间和文件等资源
线程的缺点:
- 一个线程崩溃,会导致其所属进程的所有线程崩溃
线程与进程的比较:
- 进程是资源分配单位,线程是CPU调度单位
- 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈;
- 线程同样具有就绪,阻塞和执行三种基本状态,同样具有状态之间的转换关系;
- 线程能减少并发执行的时间和空间开销;
- 线程的创建时间比进程短
- 线程的终止时间比进程短
- 同一进程内的线程切换时间比进程短
- 由于同一进程的各线程间共享内存和文件资源,可直接进行不通过内核的通信