应用程序:能够被操做系统执行的一组指令和参数的集合,是静态的,并存储在磁盘空间中;异步
进程:在操做系统中在运行程序后,处于运行状态的程序,是应用程序的一个执行过程,同时也是操做系统分配内存,cpu等系统资源的基本单位;函数
线程:进程中能够共享进程资源的一个执行单位;spa
一个应用程序能够对应多个进程,一个进程中能够有多个执行线程;操作系统
系统操做进程的方式主要是:建立进程,终止进程,已经控制进程间的通讯和同步;线程
进程的建立过程:队列
1. 复制父进程的环境配置;进程
2. 在内核中创建进程结构;内存
3. 将建立好的进程结构放入到进程列表中;资源
4. 系统分配资源给此进程;同步
5. 复制父进程的内存映射信息;
6. 管理文件描述符和链接点;
7. 通知父进程;
进程的终止方式:
1. 从main函数返回;
2. 调用exit或者_exit函数;
3. 调用abort函数;
4. 被信号终止;
进程在终止时,系统会释放进程拥有的资源,包括内存,内核结构等。
进程间的通讯方式:
1. 管道:内核为两个进程创建的通讯通道,一端只能写数据,一个端只能读数据,完成通讯;
2. 共享内存:多个进程共享一段内存,并对内存进行操做来完成通讯;
3. 消息队列:内核中的一个链表,发送方进程将消息发送到内核中,内核将消息放入链表,等待接收方进程发送请求消息,收到请求消息后,内核将消息从链表上取下,交给接收方,完成通讯,此过长彻底是异步的;
4. 信号量:一个共享的数值,主要用于进程间的同步和对共享资源的保护;
进程和线程:
线程是进程的一个执行单位,属于进程的一部分;
进程是操做系统分配资源的基本单位,系统只为线程分配cpu资源,其余系统资源只能共享进程的系统资源,线程是执行的基本单位;
系统经过进程控制表PCB调度线程,并经过线程控制表TCB对线程进行调度;