线程
- 进程:使多个程序能并发执行,以提高资源利用率和系统吞吐量。
- 引入线程,是为了救减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。
引入线程的目的
- 进程是可拥有资源的独立单位和可独立调度和分派的基本单位。
- 创建、撤销和切中,系统必须为之付出较大的时空开销。故进程,其数目不宜过多,进程切换的频率也不宜过高。
- 进程不应同时作为拥有资源的单位和可独立调度和分派的基本单位,应该“轻装上阵”。
线程的属性
(1)轻型实体。线程中的实体基本上不拥有系统资源。
(2)独立调度和分派的基本单位。线程的切换非常迅速、开销小。
(3)可并发执行。
(4)共享进程资源。
进程和程序的区别
- 进程是动态的,程序是静态的。
- 进程具有并发性,而程序具有顺序性
- 进程具有独立性,是资源分配和调度的基本单位,而程序无此特性
- 进程和程序间没有一一对应关系
- 进程异步运行,会相互制约,程序不具备此特性
题目
有两个用户进程A和B,在运行过程中都要使用系统中的一台打印机输出计算结果。
(1)说明A、B进程之间存在什么样的制约关系?
答:互斥。因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。
(2)为保证这两个进程能正确的打印出各自的结果,请用信号量和P、V操作写出各自的有关申请、使用打印机的代码。要求给出信号量的含义和初值。
答:mutex:用于互斥的信号量,初值为1。代码如下:
(adsbygoogle = window.adsbygoogle || []).push({});