操作系统进程

进程的引入

为了提高计算机的利用率、处理速度和系统的处理能力,并发处理技术和并发程序的设计在计算机中得到广泛应用。
并发执行的特点
程序执行的间断性 异步性
资源分配的动态性
相互通信的可能性
同步和互斥的必要性:相互通信和资源互斥。

什么是进程?

1.进程是程序的一次执行,该进程可与其它进程并发执行;他是一个动态的实体。

2.进程是计算机的程序关于某数据集合的一次运动活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

3.狭义:进程是正在运行的程序的实例。

程序,进程,线程

程序是静态,进程是动态的。程序是有序代码的集合;进程是程序的一次执行。

进程是暂时的,程序是永久的。

程序的多次执行,一个程序对应多个进程,根据调用关系,一个进程可以包含多个程序
一个进程中可能包含不只一条线程。

线程是进程的一个组成部分,线程由进程创建,因此一个进程至少存在一个线程,线程还可以创建其他线程。

进程是资源分配和保护的基本单位,线程只能在今后才能的地址空间活动,进程只能使用其所在进程的资源。

进程的几种状态

进程的执行时状态:
操作系统进程
进程的五中状态:
操作系统进程

1.创建。进程的创建主要通过调用创建原语来实现。创建原语的主要功能是建立进程的PCB,将调用者提供的信息添加到PCB中。

2.终止。进程的终止通过调用终止原语来实现。主要的功能是将当前运行进程所占用的资源归还给父进程,从PCB总链中将其删除,将PCB结构归还给系统。

3.等待。进程等待的事件没有发生时,处于该状态下。

4.进程唤醒。当处于等待队列中的进程所等待的时间发生时,则由“发现者”进程调用唤醒原语,将等待该事件的进程唤醒。唤醒主要有两种方法:一种是由系统进程唤醒,另一种是由时间发生进程唤醒,处于等待状态的进程只能由其他进程来唤醒,不可以自己唤醒自己。

5.进程挂起。在没有进程挂起的情况下,如果系统中存在很多的进程,那么就需要将所有的进程都放在内存中,这样可能会导致内存不足,使得程序运行效率不高,因此引入了内存挂起的概念。对于上面内存不足的情况,有两种方法解决,一种是增大内存,显然这不现实,另一种就是使用交换技术,在磁盘上设置一些虚拟内存,用于存放一些未被执行的进程。

进程的特征

并发性:执行时间可以重叠;

动态性:有生命周期,存在不同的状态;

独立性:独立执行,是资源分配和调度的独立单位;

制约性:虽然独立执行,但可能存在相互制约关系;

异步性:各进程执行时间相对独立,不确定;

结构性:拥有固定结构。

进程的调度

概念:按照一定的算法,从就绪队列中选择某个进程占用CPU的方法–对CPU资源进行合理的分配使用,以提高处理机利用率,并使各进程公平得到处理机资源。

进程的调度算法:
先到先服务(First Come First Served)FCFS

基于优先数的调度算法(Priority Scheduling Algorithm)

时间片轮转法(RR,Round Robin)

多级反馈队列调度算法(Multilevel Feedback Queue Scheduling)

进程之间的相互作用

同步:
进程之间相互合作、协同工作的关系称为进程的同步。 进程间的直接制约

临界资源
又称独占资源,是指在一段时间内只允许一个进程访问的资源。

互斥
当多个今后才能因为争夺临界资源而互斥执行称为进程的互斥,进程间的间接制约

互斥的解决方案

资源加锁

线程的优势

创建和撤销线程的开销非常少:
不需要向系统请求独立的地址空间及进行相关的地址空间复制(例如父子进程),因此创建和撤销线程系统的开销远小于进程。

切换速度:
先后才能的上下文环境比进程简单的多,因此线程间的切换速度比进程快的多。

通信效率高:
统一进程的线程由于共享同一地址空间,通信时不需要借助内核功能

并发度高:
在多处理机系统中,对进程的个数是有限制的,但对于线程的个数理论上不存在限制,更发挥了多处理机系统的优势。

写在最后

进程的五大状态和状态间的转换,进程的特征为常考点。