进程的定义
进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。
进程是程序的一次执行,该进程可与其它进程并发执行;它是一个动态的实体,在传统的操作系统设计中,进程既是资源的基本分配单元,也是基本的执行单元。
进程与程序的区别和联系
(1)程序是静态的,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。
(2)进程是暂时的,程序的永久的。进程是一个变化的过程,有生命周期,暂时存在,程序没有生命周期,可长久保存。
(3)进程还是操作系统资源分配和保护的基本单位,程序没有此功能。
(4)进程与程序的对应关系。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。
(5)进程与程序的结构不同。
进程的组成
进程的状态
三种进程状态切换
五种进程状态切换
七种进程状态切换
进程调度
就是按照一定的算法,从就绪队列中选择某个进程占用CPU的方法——对CPU资源进行合理的分配使用,以提高处理机利用率,并使各进程公平得到处理机资源。
进程调度算法
1.先到先服务调度 First-Come, First-Served Scheduling (FCFS)
2.基于优先级调度 Priority Scheduling
3.最短作业优先调度 Shortest-Job-First Scheduling (SJF)
4.循环调度 Round-Robin Scheduling (RR)
5.多层次队列调度 Multilevel Queue Scheduling
进程间的通信(IPC)
管道(pipe)
命名管道(named pipe)
信号(signal)
消息队列(message queue)
共享内存(shared memory)
信号量(semaphore)
套接字(socket)
线程(thread)
线程(thread)也叫轻型进程,是一个可执行的实体单元。它代替以往的进程,成为现代操作系统中处理机调度的基本单位。
1、线程是进程的一个组成部分,线程由进程创建,因此一个进程中至少存在一个线程,线程还可以创建其它线程。
2、进程依然是资源分配和保护的基本单位,线程只能在进程的地址空间活动,线程只能使用其所在进程的资源。