文档库 最新最全的文档下载
当前位置:文档库 › PV 09039

PV 09039

PV 09039
PV 09039

Technologie Oberfl?che

Process Specification 09039

Painting of interior parts with Décor

Paint (Parts which are not touched

regularly)

Model: all Models

Plant: Suppliers

Development status: Series

Doc. No. Version: Issued: Revised: Issuer: Approval:

09039-1.0 03.05.2010 20.01.2014 TP-330

Vogt

TP-330

Steurer

TP-33

Giftthaler

TP-3

Stoegmeier

Revision of process specification

Date Index Remark Name

Vogt 20.01.2014 1.0 General remark:

The following primers have been removed

from the PS. If primer is used due to partial

exfoliation, part quality etc. we refer to

PS09040.

Primers 1, 2, 5, 13 and 14 of Co. Mankiewicz,

Primer 3 of Co. Schramm,

Primer 7 of Co. W?rwag.

Mankiewicz was removed.

NMP containing paint system 3 of Co.

Schramm was removed.

Color was removed.

NMP containing paint system 4 of Co. M?der

was removed.

Paint system 13 der Fa. M?der was added.

Paint system 9 Fa. W?rwag was added

Paint system 11 Fa. SW- was added

Paint system 14 Fa. Condor Coatings was

added.

Revisions and supplements of the process or materials have to be requested in writing.

Contents

REVISION OF PROCESS SPECIFICATION (2)

CONTENTS (3)

1.SUBSTRATES (6)

2.PRE-TREATMENT (7)

2.1 CLEANING (7)

2.2SURFACE ACTIVATION (8)

2.3PRE-TREATMENT OF METAL SUBSTRATES (9)

3.PAINTING (10)

3.1TOP COAT (10)

General

Purpose:

This process specification shall ensure a uniform visual and functional product quality regarding painting of defined substrates by means of clearly defined processes and process materials.

Field of applicability:

This process specification is part of the drawing and is valid for all components with a corresponding drawing entry. Requirements, Standards:

The painted parts must fulfil the requirements of the appropriate quality specifications. Paint specific requirements as well as applicable standards are defined in the column "quality requirements" of the process specification.

Drawing entry:

The drawing entry must be as follows: …Surfa ce painted according to PV 09039". Quality requirements placed on painting can be retrieved from the process specification and must not be entered into the drawing again.

Validity:

In cases of doubt the German version is valid.

This PV replaces PS 86055 for painting interior parts with comfort paint.

PS 09040 is valid for dekor paint on interior areas which are touched regularly!

General quality requirements

Addition of paint systems into the process specification:

Painting must comply with Group Standard 97045 and conformance with color, degree of gloss and haptic of the BMW master sample (standard) must be given. Attention is to be paid to the product and safety data sheets of the paint supplier. Deviations of process parameters and process materials must be announced to the author of the process specification and approved by the author in written form.

The specialist department TP-330 checks whether incorporation of new paint systems into the PV is realized within the scope of principal inspection or the paint system is released only for a specific component. For a component-specific release the supplier is asked to present tested and untested components with test report TP-330 for a cross-check by TI-314 (se e also section …Initial sample inspection and process validation”).

The substrate-paint-combinations listed in the PV represent a technologically functional solution according to the described process parameters. The incorporation of paint systems into the PV does not replace the initial sample inspection and process validation at the respective supplier for qualifying the process. This procedure is described below.

Initial sample inspection and process validation:

Procedure for use of a substrate-paint-combination specified in the PV:

The incorporation of paint systems into the PV does not replace any component testing within the scope of the initial sample inspection. In case of restart or material conversion an initial sampling inspection must be performed and must be presented to the responsible BMW quality assurance member in the form of an initial sample inspection report.

A component test and evaluation based on GS 97045 is to be executed in regular intervals at the supplier for the purpose of process validation. The tests (for example color evaluation, adhesion testing and hydrolysis test) and the test sequences are to be defined by means of the scope of painting and component and must be reasonable and must be presented to the quality responsibility. Furthermore regular temperature measuring curves of driers must be regularly recorded for the validation of necessary drying conditions of paints. The process windows for drying can be requested from the paint supplier or TP-330.

Procedure for use of a substrate not listed in the PV, paint suppliers or paint system (component-specific paint release):

The use of a substrate-paint-combination is only permitted, if an economical and qualitative advantage can be verified. The supplier must present tested and untested components according to GS 97045 to SQA, who will submit these components for the purpose of double-check to TP-330 and/or the laboratory department TI-314. In case of verified suitable test results a component-specific paint release is issued, which cannot be transferred to other components.

The process validation as described above must be performed.

Requirements for painted parts which are touched regularly

Painted parts, exposed to regular touching, as for example grab handle, steering wheel bezels and tapped bars require primer in order to ensure the visual appearance, haptic and functionality over the vehicle service life.

PS 09040 is to be applied for decor paint in areas which are touched regularly.

Prozess Specification 09039 Index 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 6 von 15

BMW Group

1. Substrates

The capability to paint substrates listed in GS 93016 must be verified for series launch by a test according to GS 97045!

The material colouring of the substrate is specified in the technical terms of delivery TL 9155626.6 and the specialist department Design Technique Convergence Interior (Material and processing).

Substrate index Designation of plastic Product designation Product manufacturer 1 A3 ABS high-impact Cycolac G320 SABIC Innovative Plastics 2 A5 PC+ABS

Bayblend T65 Bayer MaterialScience 3 A8 PC+ABS-heat-resistant Bayblend T85 Bayer MaterialScience 4 A11 ABS standard type

Terluran GP22 BASF

5 A21 PC+ABS-heat-resistant + 10 % glass fibers Bayblend T88 GF10 Bayer MaterialScience

6 B44 PA6+15% glass fiber – heat resistant Grilon BG-15S EMS-Grivory

7 D2 PC-standard type easy-flow Makrolon 2405

Bayer Material Science 8 Z - Steel with cathodic dip painting - 9

Z4

DC04+ZE

electrolytic galvanized steel

-

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 7 von 15

2. Pre-treatment

2.1 Cleaning

Components to be painted have to be cleaned before first paint application in automated cleaning equipment (Power Wash or Snow Cleaning) and must be immediately activated after that (if necessary) and painted.

If automatic cleaning is not possible, for example cropping parts, special agreements can be arranged with the SQA. An exclusively manual cleaning by wiping of parts using solvent water mixture and dust trapping cloths is not recommended since the complete removal of substances affecting the paint adhesion cannot be guaranteed by that. Furthermore the manual cleaning does not represent any reproducible process (lack of process safety).

Processstep Substrate Process materials Procedure parameter / process Quality requirements

2.1.1 Dry cleaning (Snow Cleaning) all

CO 2 snow

Automated dry cleaning

The surface to be painted must pre properly clean and dry after pre-treatment and free of release agent and remains*.

2.1.2 Alkaline cleaning (Power Wash)

all

Cleaner slightly alkaline-neutral, De-mineralized water Power Wash, rinsing with de-mineralized water.

Drying: 30 ± 10 min / 75 ± 15°C

The surface to be painted must pre properly clean and dry after pre-treatment and free of release agent and remains*.

(PowerWash)

mineralized water

mineralized water.

Drying: 30 ± 10 min / 75 ± 15°C

dry and free of release agent and remains after pre-treatment.*

* The surface to be painted must be free of substances before painting which can negatively affect the visual appearance, haptic or functionality (for example paint adhesion) over the vehicle service life. This includes processing auxiliary means, internal and external release agents as well as contamination (for example hand sweat, dust, tool oils).

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 8 von 15

2.2 Surface activation

The surface of parts must be absolutely clean before activation (see chapter 2.1). Dust residues are to be blown-off using ionized air.

A pre-treatment of the material through flame treatment or fluorination or plasma treatment is necessary for B, F and S-substrates in connection with waterborne paint.

The procedure parameters of the plants are to be adjusted such that the entire surface to be painted shows a surface tension* optimal for the respective paint system after activation. The substrate must not be damaged in a way which could negatively affect the visual appearance, haptic or functionality (for example paint adhesion) over the vehicle service life.

Process step Substrate Product Procedure parameter / process Quality requirements 2.2.1 Flame

treatment

B/F/S

Flame treatment with oxidative flame

Flame treatment: Throughput speed 0.3 m/s, distance to object approx. 70 mm,

correspondingly adjusted to the geometry of the object and the burner.

The entire surface to be painted must show a surface tension optimal for the respective paint system after activation.*

2.2.2 Plasma

treatment

B/F/S Low-pressure plasma

Plasma: DC glow discharge

Procedure parameter must be correspondingly optimized to geometry of parts and plant and material.

The entire surface to be painted must show a surface tension optimal for the respective paint system after activation.*

2.2.3 Fluorination B/F/S Fluorination

Procedure parameter must be correspondingly optimized to geometry of parts and plant and material.

The entire surface to be painted must show a surface tension optimal for the respective paint system after activation.*

* The surface tension of a raw part must minimum 38 mN/m or higher.

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 9 von 15

2.3 Pre-treatment of metal substrates

In case of aluminium and steel substrates a pre-treatment by means of phosphating and subsequent cathodic dip painting according to PV 98028 …Pre -treatment and cathodic dip painting of aluminium and steel parts" is compellingly necessary at the supplier before painting.

Process step Substrate Product Procedure parameter / process Quality requirements 2.3.1 Phosphating Z See PV 98028 Pre-treatment according to PV 98028.

2.3.2 Cathodic dip painting

Z See PV 98028

Cathodic dip painting according to PV 98028.

Corrosion test according to GS 90011.

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 10 von 15

3. Painting

These systems are subjectly used without primer for PS09039, if for some reasons (e.g. partial delamination, part quality, etc.) a primer should be used PS09040 is applied.

All listed paint systems are Pyrrolidon (NXP) free.

The following recommendation list is a variety of elaborated and tested paint/subtrate combinations.

3.1 Top coat

Prozess step Substrate Product

Procedur parameter / process

Quality requirements 3.1.1 Waterborne

Decor paint

A5/8,

Paint system 8

2K-ALEXIT-Decorlack CR 349-79

Hardener: 345-77 Thinner: de-mineralized water

Colours / colour codes: 90BC schwarz BMW 72Q8 perlgrau

10AT creamebeige dunkel 10AU cremebeige 10GE savannabeige 10R2 camel 10TN oyster 71 10UA venetobeige 10V3 canberrabeige

138K sandbeige / sand 38 177X beige 3 307J vermilionrot 355G barriquerot

Supplier: Mankiewicz

Mixing ratio:

Resin : Hardener = 100 : 20 GT

Drying:

Flash-off: 10 – 20 min / room temperature Oven: 30 min / 80°C object temperature

Layer thickness: 25 - 35 μm

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 11 von 15

Prozess step Substrate Product

Procedur parameter / process

Quality requirements 3.1.1 Waterborne

Decor paint (Continued)

A5/8,

Paint system 8 (Continued)

Colours / colour codes: 51CR dunkelblau 60 70K5 basaltgrau 70RU grau 60 70X5 greige 87 71VA everestgrau 72ZF atlasgrau 835F dolomiti dunkel 844J mokka 865K cognac 873F zimtbraun

876E sattelbraun hell 879H terra

90HX carbon black 90QR cool black 9626 elfenbeinwei? 70UF himmelgrau 60 70X1 alaskagrau 70X2 nautilusgrau

Supplier: Mankiewicz

Mixing ratio:

Resin : Hardener = 100 : 20 GT

Drying:

Flash-off: 10 – 20 min / room temperature Oven: 30 min / 80°C object temperature

Layer thickness: 25 - 35 μm

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 12 von 15

Prozess step Substrate Product

Procedur parameter / process

Quality requirements 3.1.1 Waterborne

Decor paint (Continued)

Z4

Paint system 2

2K-Aquacolor-Decklack 386/

Hardener: 065/010138/00 Thinner: de-mineralized water

Colours / colour codes: Schwarz 010020/00 Grau 60 010150/00 Beige 3 010088/00 Trüffelbraun 010149/00 Elfenbeinweiss 010248/00 Canberra Beige 010253/00 Walnuss 010263/ 00

Supplier: Cetelon

Mixing ratio:

Resin : Hardener = 100 : 20 GT

Drying:

Flash-off: 5 min / room temperature Oven: 5 min / 50°C following 7 min / 170°C object temperature

Layer thickness: 20 - 25 μm

A5/8,

Paint system 13

2K-Monocoat Aquadur 3344U-

Hardener: 4100V Thinner: VE-Wasser

Colours / colour codes: 04006 Schwarz

05003 Savannabeige 05004 Himmelgrau 60 05007 Grau 60

Supplier: M?der

Mixing ratio:

Resin : Hardener = 100 : 15 GT

Drying:

Flash-off: 5-10 min / room temperature Ofen: 30 min / 60 - 80°C object temperature

Layer thickness: 22 - 28 μm

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 13 von 15

Prozess step Substrate Product

Procedur parameter / process Quality requirements 3.1.1 Waterborne

Decor paint (Continued)

Z4

Paint system 11

1K-Hydro-Einbrennlack SILVATHERM EB-PUR 3420

Thinner: de-mineralized water

Colours / colour codes: Schwarz 9313-03 Grau 60 7116-03 Sandbeige 1105-04 RR Black 9315-03 RR Consort Red 3100-04 RR Moccasin 1112-04 RR Dark Spice 8103-04 RR Sea Shell 7122-04 RR Blue Grey 7125-04 RR Smoke Grey 7126-04 RR Navy Blue 5104-04 RR Creme Light 1118-04 RR Signal Red 3102-04 RR Pine Green 6100-04 RR Fawn 8107-04 Elfenbeinweiss 1116-04 Venetobeige 1117-04 Vermillion Red 3103-03 Everestgrau 7131-04 Oyster71 7132-04 Zimtbraun 8106-04

Supplier: SW-Color

Drying:

Flash-off: 2-3 min / 20°C - 40°C Oven: 10 min / 160°C or 7min /.180°C

Layer thickness: 20 - 25 μm

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 14 von 15

Prozess step Substrate Product

Procedur parameter / process

Quality requirements 3.1.1 Waterborne

Decor paint (Continued)

A5/8,

Paint system 9

2K-Hydro-Dekorlack R5470 Hardener: 60738 Thinner: de-mineralized water

Colours / colour codes: BMW Schwarz 114434

Supplier: W?rwag

Mixing ratio:

Resin : Hardener = 100 : 30 GT

Drying:

Flash-off: 10 min / 20-25°C Ofen: 30 min / 80°C object temperature

Layer thickness: 30 - 40 μm

A5/8

Paint system 12

SENOSOL-2K-Hydrodekorlack 05-3669-509.080R

Hardener: 19-0306-508.452 Thinner: de-mineralized water

Colours / colour codes: BMW schwarz 509.080

Supplier: Schramm

Mixing ratio:

Resin : Hardener = 100 : 20 GT

Drying:

Flash-off: 10 min / room temperature

Oven 20 min / 80°C object temperature

Layer thickness: 20 - 30 μm

Prozess Spezifiation 09039 Version 1.0

Painting of interior parts with Décor Paint (Parts which are not touched regularly)

Seite 15 von 15

Prozess step Substrate Product

Procedur parameter / process

Quality requirements 3.1.2 Solvent-borne- Decor paint

A5/8, D2

Paint system 10

2K-L?semittel-ALEXIT Dekorlack 402-92

Hardener: ALEXIT 450 Thinner: ALEXIT 901-86

Colours / colour codes: BMW Schwarz 90BC Carbon black 90HX

Supplier: Mankiewicz

Mixing ratio:

Resin : Hardener = 3 : 1 GT

Drying:

Flash-off: 15 min / 15-30°C

Oven: 30 min / 80°C object temperature

Layer thickness: 20 - 30 μm

A5/8, D2

Paint system 14

2K-L?semittel-Decor Lacquer 130-10122-900

Hardener: 220-1010 Thinner: 910-309

Colours / colour codes: Carbon black

Supplier: Condor Coatings

Mixing ratio:

Resin : Hardener = 100 : 20 GT

Drying: Flash-off: 5 - 10 min / room temperature Oven: 30 - 45min / 70 - 80°C object temperature

Layer thickness: 25 - 30 μm

PV操作题解

(一)图书馆有100个座位,每位进入图书馆的读者要在登记表上登记,退出时要在登记表上注销。要几个程序有多少个进程(答:一个程序;为每个读者设一个进程) (1)当图书馆中没有座位时,后到的读者在图书馆为等待(阻塞)(2)当图书馆中没有座位时,后到的读者不等待,立即回家。 解(1 ) 设信号量:S=100; MUTEX=1 P(S) P(MUTEX) 登记 V(MUTEX) 阅读 P(MUTEX) 注销 V(MUTEX) V(S) 解(2) 设整型变量COUNT=100; 信号量:MUTEX=1; P(MUTEX); IF (COUNT==0) { V(MUTEX); RETURN; } COUNT=COUNT-1; 登记 V(MUTEX); 阅读 P(MUTEX); COUNT=COUNT+1; V(MUTEX); RETURN; (二)有一座东西方向的独木桥;用P,V操作实现:(1)每次只允许一个人过桥; (2)当独木桥上有行人时,同方向的行人可以同时过桥,相反方向的人必须等待。 (3)当独木桥上有自东向西的行人时,同方向的行人可以同时过桥,从西向东的方向,只允许一个人单独过桥。(此问题和读者与写者问题相同,东向西的为读者,西向东的为写者)。 (1)解 设信号量MUTEX=1 P (MUTEX) 过桥 V (MUTEX) (2)解 设信号量:MUTEX=1 (东西方互斥) MD=1 (东向西使用计数变量互斥) MX=1 (西向东使用计数变量互斥) 设整型变量:CD=0 (东向西的已上桥人数)

CX=0 (西向东的已上桥人数) 从东向西: P (MD) IF (CD=0) {P (MUTEX) } CD=CD+1 V (MD) 过桥 P (MD) CD=CD-1 IF (CD=0) {V (MUTEX) } V (MD) 从西向东: P (MX) IF (CX=0) {P (MUTEX) } CX=CX+1 V (MX) 过桥 P (MX) CX=CX-1 IF (CX=0) {V (MUTEX) } V (MX) (3) 解:从东向西的,和(2)相同;从西向东的和(1)相同。

pv操作总结

一、PV操作知识 PV操作与信号灯的处理相关,P表示通过的意思,V表示释放的意思。 1962年,狄克斯特拉离开数学中心进入位于荷兰南部的艾恩德霍芬技术大学(Eindhoven Technical University)任数学教授。在这里,他参加了X8计算机的开发,设计与实现了具有多道程序运行能力的操作系统——THE Multiprogramming System。THE是艾恩德霍芬技术大学的荷兰文Tchnische Hoogeschool Eindhov –en的词头缩写。狄克斯特拉在THE这个系统中所提出的一系统方法和技术奠定了计算机现代操作系统的基础,尤其是关于多层体系结构,顺序进程之间的同步和互斥机制这样一些重要的思想和概念都是狄克斯特拉在THE中首先提出并为以后的操作系统如UNIX等所采用的。 为了在单处理机的情况下确定进程(process)能否占有处理机,狄克斯特拉将每个进程分为“就绪”(ready)、“运行”(running)和“阻塞”(blocking)三个工作状态。由于在任一时刻最多只有一个进程可以使用处理机,正占用着处理机的进程称为“运行”进程。当某进程已具备了使用处理机的条件,而当前又没有处理机供其使用,则使该进程处于“就绪”状态。当运行进程由于某种原因无法继续运行下去时,就停止其占用处理机,使之进入“阻塞”状态,待造成其退出运行的条件解除,再进入“就绪”状态。而对系统中所有同时运行的进程,在一个进程访问共享数据时,另一个进程不访问该数据)和互斥(mutually- exclusive,指两个进程不能同时在一个临界区中使用同一个可重复使用的资源,诸如读写缓冲区)两个关系,狄克斯特拉巧妙地利用火车运行控制系统中的“信号灯”(semaphore,或叫”信号量”)概念加以解决。 所谓信号灯,实际上就是用来控制进程状态的一个代表某一资源的存储单元。例如,P1和P2是分别将数据送入缓冲B和从缓冲B读出数据的两个进程,为了防止这两个进程并发时产生错误,狄克斯特拉设计了一种同步机制叫“PV操作”,P操作和V操作是执行时不被打断的两个操作系统原语。执行P操作P(S)时信号量S的值减1,若结果不为负则P(S)执行完毕,否则执行P操作的进程暂停以等待释放。执行V操作V(S)时,S 的值加1,若结果不大于0则释放一个因执行P(S)而等待的进程。对P1和P2可定义两个信号量S1和S2,初值分别为1和0。进程P1在向缓冲B送入数据前执行P操作P(S1),在送入数据后执行V操作V(S2)。进程P2在从缓冲B读取数据前先执行P操作P(S2),在读出数据后执行V操作V(S1)。当P1往缓冲B送入一数据后信号量S1之值变为0,在该数据读出后S1之值才又变为1,因此在前一数未读出前后一数不会送入,从而保证了P1和P2之间的同步。我国读者常常不明白这一同步机制为什么叫PV操作,原来这是狄克斯特拉用荷兰文定义的,因为在荷兰文中,通过叫passeren,释放叫vrijgeven,PV操作因此得名。这是在计算机术语中不是用英语表达的极少数的例子之一。 二、PV操作释疑 信号量 信号量是最早出现的用来解决进程同步与互斥问题的机制, 包括一个称为信号量的变量及对它进行的两个原语操作。 一. 信号量的概念 1.信号量的类型定义 每个信号量至少须记录两个信息:信号量的值和等待该信号量的进程队列。它的类型定义如下:(用类PASCAL语言表述) semaphore = record value: integer; queue: ^PCB;

操作系统关于PV操作

1.读写操作 1、、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一 叠卡片逐一输入到缓冲区B1中,加工处理后在搬到缓冲区B2中,并在打印机上印出,问: ①系统要设几个进程来完成这个任务?各自的工作是什么? ②这些进程间有什么样的相互制约关系? ③用P、V操作写出这些进程的同步算法。 ①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。 ②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。 ③信号量含义及初值: B1full——缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full——缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0; R进程C进程P进程 B1 B2 2、用P.V操作处理生产者和消费者问题如下: mutex初值为1;empty初值为n;full初值为0 生产者消费者 L1:生产产品 L2:P(full) P(empty) P(mutex) P(mutex)取出产品 产品装入缓冲区 V(empty) V(full) V(mutex) V(mutex) GOTO L2 GOTO L1 (1)信号量mutex,empty,full的作用是什么? (2)为什么P操作的顺序不能调换? (1)mutex起互斥作用,empty与full为同步作用。

操作系统 PV操作习题答案

4有三个并发进程,R负责从输入设备读入信息并传送给M,M将信息加工并传送给P,P将打印输出,写出下列条件下的并发程序: 单缓冲区, 缓冲区信号量初值mutex1=1; mutex2=1; buffeR-M // R 和M之间的buf bufferM_P // M 和P之间的buf 另外R 自己的缓存区data_buf1, 另外M 自己的缓存区data_buf2, 另外P 自己的缓存区data_buf3, Procedure R: begin while true do data_buf1 = 读入数据 P(mutex1); buffeR-M = data_buf1; V(mutex1); end end; Procedure M: begin while true do P(mutex2); P(mutex1); Data_buf2 = bufferR_M; 处理Data_buf2; BufferM_P = data_buf2 V(mutex1); V(mutex2); end end; Procedure P: begin while true do P(mutex2); Data_buf3:= BufferM_P; V(mutex2); V(empty); 打印输出数据 end end; 双缓冲区,

缓冲区信号量初值mutex1=1; mutex2=1; Empty1 = 2, full1 = 0; empty2=2, full2=0; buffeR-M[2] // R 和M之间的buf,有两个bufferM_P[2] // M 和P之间的buf 有两个另外R 自己有缓存区data_buf1, 另外M 自己有缓存区data_buf2, 另外P 自己有缓存区data_buf3, var:i,j,k,n Procedure R: begin while true do data_buf1 = 读入数据 P(empty1) P(mutex1); buffeR-M[i] = data_buf1; i=(i+1)mod 2; V(mutex1); V(full1) end end; Procedure M: begin while true do P(full1); P(mutex1); Data_buf2 = bufferR_M[j]; j=(j+1) mod 2 V(mutex1); P(empty1); 处理Data_buf2; P(empty2); P(mutex2) BufferM_P[k] = data_buf2; k=(k+1) mod 2 V(mutex2); V(full2); end end; Procedure P: begin while true do P(full2);

PV操作的例题

PV操作的例题 一、线程是进程的一个组成部分,一个进程可以有多个线程,而且至少有一个可执行线程。进程的多个线程都在进程的地址空间内活动。 资源是分给进程的,而不是分给线程的,线程需要资源时,系统从进程的资源配额中扣除并分配给它。处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程。线程在执行过程中,需要同步。 二、在计算机操作系统中,PV操作是进程管理中的难点。 首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S>=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 PV操作的意义:我们用信号量及PV操作来实现进程的同步和互斥。PV操作属于进程的低级通信。 什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。 一般来说,信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S 的值加1;若S?0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 利用信号量和PV操作实现进程互斥的一般模型是: 进程P1 进程P2 ……进程Pn ……………… P(S);P(S);P(S); 临界区;临界区;临界区; V(S);V(S);V(S); …………………… 其中信号量S用于互斥,初值为1。 使用PV操作实现进程互斥时应该注意的是: (1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。 (2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。(3)互斥信号量的初值一般为1。 利用信号量和PV操作实现进程同步 PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。 使用PV操作实现进程同步时应该注意的是:

计算机操作系统PV操作例题

计算机操作系统P V操 作例题 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

问题1一个司机与售票员的例子在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。 S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()有三个进程R、M、P,它们共享一个缓冲区。R负责从输入设备读信息,每次读出一个记录并把它存放在缓冲区中:M在缓冲区加工读入的记录;P把加工后的记录打印输出。输入的记录经加工输出后,缓冲区中又可存放下一个记录。请用P、V操作为同步机构写出他们并发执行时能正确工作的程序。 答:三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量: S1:表示是否可把读人的记录放到缓冲区,初始值为1. S2:表示是否可对缓冲区中的记录加工,初始值为0. S3:表示记录是否加工好,可以输出,初始值也为0. 三个进程可如下设计: Begin S1,S2,S3:semaphore; S1:=l;S2:=S3:=0; cobegin process R begin L1:读记录; P(S1); 记录存入缓冲区;

V(S2); goto L1; end; process M begin L2:P(S2); 加工记录; V(S3); goto L2; end; process P begin L3:P(S3); 输出加工后的记录; V(S1); goto L3; end; coend; end. 6.现有4个进程R1,R2,W1,W2,它们共享可以存放一个数的缓冲器B.进程R1每次把从键盘上投入的一个数存放到缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数放到缓冲器B中,供进程W2打印输出。当一个进程把数据存放到缓冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数。在缓冲器

操作系统PV操作经典例题与答案

1. 推广例子中的消息缓冲问题。 消息缓冲区为k个,有1个发送进程,n个接收进程,每个接收进程对发送来的消息都必须取一次若有m个发送进程呢? Send: SB=k; //信号量,标记当前空余缓冲区资源。 i = 0; //标记存放消息的缓冲区位置 while (true) { P(SB); 往Buffer [i]放消息; V(SM); i = (i+1) % k; }; Receive: j = 0; //标记取产品的缓存区位置 SM=0;//信号量,标记初始没有消息 ReadCount=0;//读进程计数器 Mutex =1;//读进程互斥信号量 SW=0; //信号量,读进程在此信号量等待 while (true) { P(SM); 从Buffer[j]取消息; ReadCount++ If(ReadCount

rc=0, //正在读者计数器 wc, //写计数器 rw, //读等计数器 R //等待读信号量 W //等待写信号量 读者: while (true) { P(mutex); if (wc >0){ rw++ P (R); } rc++; If(rw>0&&wc=0){ V(R) rw-- } V(mutex); 读 P(mutex); rc --; if (rc==0){ If(wc>0)V(w) } V(mutex); }; 写者: while (true) { P(mutex); wc ++; if((wc >1)||(rc>0)){ P(W) } V(mutex); 写 P(mutex); Wc --; if(wc>0) V(W); Else if(rw>0) V(R)

操作系统pv操作

0PA:beginL1:read from disk; P(avail1); put to buffer1; V(full1); goto L1; End; PB:beginL2:P(full1); get from buffer1; V(avail1); P(avail2); put to buffer2; V(full2); goto L2; End; PC:beginL3: P(full2); get from buffer2; V(avail2); print RECORD; goto L3 end ; Cobegin PA;PB;PC;Coend.

第一步:确定进程间的关系。售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆。在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车。因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步。第二步:确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断是否关车门,司机能否启动车辆,初值为1。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0 第三步: 确定P(wait)、V(signal)操作的位置司机操作中,是否关门?没关则等待,这是一个P操作,P(run); 司机操作中,设立停车标志,这是一个V操作,V(stop); 售票员操作中,是否停车?没停则等待,这是一个P操作,P(stop); 售票员操作中,设立关门标志,这是一个V 操作,V(run) lstop ,run:semaphore run:=1; //是否关车门stop:=0; //是否停车Driver:begin cobegin driver: begin L1: P(run); 启动车辆; 正常行车; 到站停车; V(stop); goto L1; end; Conductor:begin L2:上乘客; 关车门; V(run); 售票; P(stop); 开车门; 下乘客; goto L2; end; coend;

操作系统pv操作

操作系统P V题解 第一章The P,V Theorem 在操作系统理论中有一个非常重要的概念叫做P,V原语。在我们研究进程间的互斥的时候经常会引入这个概念,将P,V操作方法与加锁的方法相比较,来解决进程间的互斥问题。实际上,他的应用范围很广,他不但可以解决进程管理当中的互斥问题,而且我们还可以利用此方法解决进程同步与进程通信的问题。 一Introduction of P,V Theorem 阐述P,V原语的理论不得不提到的一个人便是赫赫有名的荷兰科学家E.W.Dijkstra。如果你对这位科学家没有什么印象的话,提起解决图论中最短路径问题的Dijkstra算法应当是我们再熟悉不过的。P,V原语的概念以及P,V操作当中需要使用到的信号量的概念都是由他在1965年提出的。 1 Some Conceptions 信号量是最早出现的用来解决进程同步与互斥问题的机制,包括一个称为信号量的变量及对它进行的两个原语操作。信号量为一个整数,我们设这个信号量为:S。很显然,我们规定在S大于等于零的时候代表可供并发进程使用的资源实体数,S小于零的时候,表示正在等待使用临界区的进程的个数。根据这个原则,在给信号量附初值的时候,我们显然就要设初值大于零。 p操作和v操作是不可中断的程序段,称为原语。P,V原语中P是荷兰语的Passeren,相当于英文的pass,V是荷兰语的Verhoog,相当于英文中的incremnet。 P原语操作的动作是: (1)S减1; (2)若S减1后仍大于或等于零,则进程继续执行; (3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。 V原语操作的动作是: (1)S加1; (2)若相加结果大于零,则进程继续执行; (3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。 需要提醒大家的是:P,V操作首先是一个原语操作,对于每一个进程来说,都只能进行一次。而且必须成对使用。且在P,V愿语执行期间不允许有中断的发生。 对于具体的实现,方法非常多,可以用硬件实现,也可以用软件实现。这里不再赘述。 2 The Most Important Conceptions 临界资源是指每次仅允许一个进程访问的资源。属于临界资源可以是硬件的打印机、磁带机等,软件的有消息缓冲队列、变量、数组、缓冲区等。每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,该进程进入后不允许其他进程进入。

操作系统PV操作习题

一、用P、V操作描述前趋关系。P1、P2、P3、P4、P5、 P6为一组合作进程,其前趋图如图2.3所示,试用P、V 操作描述这6个进程的同步。p23 图2.3说明任务启动后P1先执行,当它结束后P2、P3可以开始执行,P2完成后P4、P5可以开始执行,仅当P3、P4、P5都执行完后,P6才能开始执行。为了确保这一执行顺序,设置5个同步信号量n、摄、f3、f4、g分别表示进程P1、P2、P3、P4、P5是否执行完成,其初值均为0。这6个进程的同步描述如下:

图2.3 描述进程执行先后次序的前趋图 int f1=0; /*表示进程P1是否执行完成*/int f2=0; /*表示进程P2是否执行完成*/int f3=0; /*表示进程P3是否执行完成*/int f4=0; /*表示进程P4是否执行完成*/int f5=0; /*表示进程P5是否执行完成*/main() { cobegin P1( ); P2( ); P3( ); P4( ); P5( ); P6( ); coend } P1 ( ) { ┇ v(f1); v(f1): } P2 ( ) { p(f1); ┇ v(f2);

v(f2); ) P3 ( ) { p(f1); ┇ v(f3); } P4( ) { p(f2); ┇ v(f4); } P5 ( ) { p(f2); ┇ v(f5); } P6( ) { p(f3); p(f4); p(f5); ┇ } 二、生产者-消费者问题p25

生产者-消费者问题是最著名的进程同步问题。它描述了一组生产者向一组消费者提供产品,它们共享一个有界缓冲区,生产者向其中投放产品,消费者从中取得产品。生产者-消费者问题是许多相互合作进程的一种抽象。例如,在输入时,输入进程是生产者,计算进程是消费者;在输出时,计算进程是生产者,打印进程是消费者。因此,该问题具有很大实用价值。 我们把一个长度为n的有界缓冲区(n>0)与一群生产者进程P1、P2、…、Pm和一群消费者进程C1、C2、…、Ck 联系起来,如图2.4所示。假定这些生产者和消费者是互相等效的。只要缓冲区未满,生产者就可以把产品送入缓冲区,类似地,只要缓冲区未空,消费者便可以从缓冲区中取走物品并消耗它。生产者和消费者的同步关系将禁止生产者向满的缓冲区输送产品,也禁止消费者从空的缓冲区中提取物品。 图2.4 生产者-消费者问题 为解决这一类生产者-消费者问题,应该设置两个同步信号量,一个说明空缓冲单元的

福州大学,操作系统,pv操作,吃水果问题

################################## 1 #################################3 empty=1; apple=0; //表示盘中有苹果 orange=0; //表示盘中有桔子 Parbegin: father: begin L1: P(empty); 放苹果; V(apple); goto L1; End; mother: begin: L2: P(empty); 放桔子; V(orange); goto L2; End; daughter: begin: L3: P(apple); 取苹果; V(empty); goto L3; End; son: begin: L4: P(orange); 去桔子; V(empty); goto L4; End; Parend;

################################## 2 ############################# S=1; //是否允许向盘子中存放水果 SP=0; //盘子中是否有苹果 S0=0; //盘子中是否有桔子 begin S := 1; SP := 0; S0 := 0; Cobegin Process father begin: L1: 准备一个苹果; P(S); 放入苹果; V(SP); goto L1; End; Process mother begin: L2: 准备一个桔子; P(S); 放入桔子; V(S0); goto L2; End; Process daughter begin: L3: P(SP); 取出苹果; V(S); goto L3; End; Process son begin: L4: P(S0); 取出桔子;

操作系统PV操作补充题

1、(2009全国试题)三个进程P1、P 2、P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce( )生成一个正整数并用put( )送入缓冲区某个单元中;P2每次用getodd( )从缓冲区中取出一个奇数并用countodd( )统计奇数个数;P3每次用geteven( )从缓冲区中取出一个偶数并用counteven( )统计偶数个数。请用信号量机制实现这三个进程的同步与互斥 活动,并说明所定义的信号量的含义。要求用伪代码描述。 2、请用信号量解决以下的“过独木桥”问题:同一方向的行人可连续过桥,当 某一方向有人过桥时,另一方向的行人必须等待;当某一方向无人过桥时,另一方向的行人可以过桥。 3、有一阅览室,共有100个座位。为了很好利用它,读者进入时必须先在登记 表上进行登记。该表表目设有座位号和读者姓名;离开时再将其登记项摈除。试问: ⑴为描述读者的动作,应设哪几个进程?它们之间的关系是什么? ⑵试用P、V操作描述进程之间的同步或算法。 4、某自动质量检测系统有三个进程Q、A、B组成。进程Q每次取一件产品检测,把检测后的产品存放在货架F上,F的容量为每次只能存放一件产品。若货架上存放的是合格产品则让进程A取出,并在产品上贴标签后包装;若货架上存放的是不合格产品则让进程B取出后,将其丢入废物箱。回答下列问题: (1)写出用PV操作管理时应定义的信号量及初值:①。 (2)完成下列算法中的填空,使它们能按上述要求正确地并发执行。 进程Q: 取一件产品检测; ② ; F:=检测后的产品 If F=合格产品 then ③ else ④进程A: _____⑤ ; y:=F中产品 ; ______⑥ ; 对产品贴标签且包装; 进程B:____⑦ ; z:=F中产品; ____⑧ ; 把产品丢入废物箱; 5、《操作系统》课程的期末考试即将举行,假设把学生和监考老师都看作进程,学生有N人,教师1人。考场门口每次只能进出一个人,进考场的原则是先来先进。当N个学生都进入了考场后,教师才能发卷子。学生交卷后即可离开考场,

计算机操作系统PV操作例题

问题1 一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作: 停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。 S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()有三个进程R、M、P,它们共享一个缓冲区。R负责从输入设备读信息,每次读出一个记录并把它存放在缓冲区中:M在缓冲区加工读入的记录;P把加工后的记录打印输出。输入的记录经加工输出后,缓冲区中又可存放下一个记录。请用P、V操作为同步机构写出他们并发执行时能正确工作的程序。 答:三个进程共用一个缓冲区,他们必须同步工作,可定义三个信号量: S1:表示是否可把读人的记录放到缓冲区,初始值为1. S2:表示是否可对缓冲区中的记录加工,初始值为0. S3:表示记录是否加工好,可以输出,初始值也为0. 三个进程可如下设计: Begin S1,S2,S3:semaphore; S1:=l;S2:=S3:=0; cobegin process R begin L1:读记录; P(S1); 记录存入缓冲区; V(S2); goto L1; end; process M begin L2:P(S2); 加工记录; V(S3); goto L2; end; process P begin L3:P(S3); 输出加工后的记录; V(S1); goto L3; end; coend; end. ?

6.现有4个进程R1,R2,W1,W2,它们共享可以存放一个数的缓冲器B.进程R1每次把从键盘上投入的一个数存放到缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数放到缓冲器B中,供进程W2打印输出。当一个进程把数据存放到缓冲器后,在该数还没有被打印输出之前不准任何进程再向缓冲器中存数。在缓冲器中还没有存入一个新的数之前不允许任何进程加快从缓冲区中取出打印是怎样才能使这四个进程在并发执行是协调的工作 答:这四个进程实际上是两个生产者R1,R2和两个消费者W1,W2.各自生成不同的产品中各自的消费对象去消费,他们共享一个的缓冲器。由于缓冲器只能存放一个数,所以,R1和R2在存放数时必须互斥。而R1和W1、R2和W2之间存在同步。为了协调它们的工作可定义三个信号量: S:表示能否把数存人缓冲器B,初始值为1. S1:表示R1是否已向缓冲器存入从键盘上读入的一个数,初始值为0. S2:表示R2是否已向缓冲器存入从磁盘上读入的一个数,初始值为0. Begin S,S1,S2:semaphore; S:=1;S1:=S2:=0; Cobegin process R1 xl :integer begin L1:从键盘读一个数; x1:=读入的数; P(S); P(S); B:=xl V(S1); goto L1; end; process R2 x2:integer; begin L2:从磁盘读一数; x2:=读入的数; x2:=读入的数; P(S); B:=x2; V(S2); goto L2; end; process W1 y:integer; begin L3:P(S1); y:=B;

操作系统pv操作

课程设计报告(论文) 报告(论文)题目: PV操作解决生产者-消费者问题 作者所在系部:计算机科学与工程系 作者所在专业:网络工程 作者所在班级: ******* 作者姓名: ****** 作者学号: ************ 指导教师姓名: ******* 完成时间: 2009年11月10日 *******************

目录 摘要 (3) 第一章绪论 (4) 1.1 综述 (4) 1.2 设计地点 (4) 1.3 设计目的 (4) 1.4 设计意义 (4) 1.5 设计内容 (4) 1.6 实验环境 (5) 第二章程序设计与实现 (5) 2.1 详细设计 (5) 2.1.1 PV操作原理 (5) 2.1.2生产者消费者问题描述 (5) 2.1.3 程序流程图 (7) 2.1.4 调试工具与命令 (8) 2.1.5关键代码分析 (8) 第三章程序调试与运行 (9) 3.1编译源文件 (9) 3.2执行目标文件 (9) 3.3运行结果 (10) 3.3.1有PV控制运行结果 (10) 3.3.2无PV控制运行结果 (10) 3.4进程的结束 (11) 3.4.1有PV控制进程结束 (11) 3.4.2无PV控制进程结束 (11) 第四章总结 (12) 参考文献 (13) 附录:源程序清单 (14)

摘要 进程同步机制的主要任务是对多个机关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好的相互合作,从而使程序的执行具有再现性。 生产者和消费者是典型的进程同步问题,它说明了进程同步与临界资源的关系。在生产者-消费者问题中,所描述的是生产者生产和消费者消费之间的关系。为使生产者进程与消费者进程并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池。生产者进程将它所生产的产品,按序放入一个缓冲区中。消费者进程也按序从一个缓冲区中取走产品去消费。尽管所有的生产者进程和消费者进程,都是以异步方式运行的,但他们之间必须保持同步关系,即不允许消费者进程到一个空缓冲区中取产品,也不允许生产者进程向一个已装满产品且尚未取走的缓冲区中投放产品。 一般来说,信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S<=0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。多线程就是有两个或两个以上的信号量,线程同步的运行。 关键词:生产者消费者进程互斥与同步临界资源缓冲区

(完整word版)经典PV操作讲解和练习题

在计算机操作系统中,PV操作是进程管理中的难点。 首先应弄清PV操作的含义:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1; ②如果S30,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1; ②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 PV操作的意义:我们用信号量及PV操作来实现进程的同步和互斥。PV操作属于进程的低级通信。 什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。 一般来说,信号量S30时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S 的值加1;若S£0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 利用信号量和PV操作实现进程互斥的一般模型是: 进程P1 进程P2 ……进程Pn ……………… P(S); P(S); P(S); 临界区;临界区;临界区; V(S); V(S); V(S); …………………… 其中信号量S用于互斥,初值为1。 使用PV操作实现进程互斥时应该注意的是: (1)每个程序中用户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。 (2)P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。(3)互斥信号量的初值一般为1。 利用信号量和PV操作实现进程同步 PV操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息已经存在。用PV操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。 使用PV操作实现进程同步时应该注意的是: (1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。

福州大学,操作系统,pv操作,理发师问题

理发师问题 一个理发师,一把理发椅,n把等候理发的顾客椅子。 (1)如果没有顾客则理发师便在理发椅上睡觉 (2)当有一个顾客到达时,首先看理发师在干什么,如果理发师在睡觉,则唤醒理发师理发; 如果理发师正在理发,则查看是否有空的顾客椅子可坐,如果有,坐下等待,如果没有,则离开。 (3)理发师为一位顾客理完发后,查看是否有人在等待,如果有则唤醒下一位顾客理发,没有则理发师去睡觉 customers=0; //顾客等待服务的信号量 barber=0; //理发师等待顾客的信号量 mutex=1; //互斥信号量 waiting=0; //等待理发的顾客数 CHAIRS=n; //表示椅子的总数为n process barber begin while true do begin p(customers); //顾客数为0,则入睡 P(mutex); //进入临界区 waiting := waiting - 1; //减少顾客数 V(barber); //理发师准备理发 V(mutex); Cut_hair(); End; End; process customer begin P(mutex); //进入临界区 if(waiting < CHAIRS) begin waiting := waiting + 1; //增加顾客数 V(customers); //如有必要,则唤醒理发师 V(mutex); //释放信号量mutex P(barber); //如果无顾客,则理发师入睡 Get_hair(); //进入理发店理发 End; else V(mutex); //已满,离开

操作系统PV操作的作业参考答案

关于调度算法 【例1】下表给出作业l ,2,3的提交时间和运行时间。采用先来先服务调度算法和短作业优先调度算法,试问作业调度次序和平均周转时间各为多少?(时间单位:小时,以十进制进行计算。) 分析 解这样的题关键是要根据系统采用的调度算法,弄清系统中各道作业随时间的推进情况。我们用一个作业执行时间图来形象地表示作业的执行情况,帮助我们理解此题。 采用先来先服务调度算法,是按照作业提交的先后次序挑选作业,先进入的作业优先被挑选。然后按 照“排队买票”的办法,依次选择作业。其作业执 行时间 图如下: 采用短作业优先调度算法,作业调度时根据作业的运行时间,优先选择计算时间短且资源能得满足的作业。其作业执行时间图如下: 由于作业1,2,3是依次到来的,所以当 开始时 系统中只有作业1,于是作业1先被选中。在8.0时刻,作业1运行完成,这时系统中有两道作业在等待调度,作业2和作业3,按照短作业优先调度算法,作业3只要运行1个时间单位,而作业2要运行4个时间单位,于是作业3被优先选中,所以作业3先运行。待作业3运行完毕,最后运行作业2。作业调度的次序是1,3,2。

另外,要记住以下公式: 作业i的周转时间T i=作业完成时间-作业提交时间 系统中个作业的平均周转时间,其中Ti为作业i的周转时间。 解:采用先来先服务调度策略,则调度次序为l、2、3。 作业号提交时间运行时间开始时间完成时间周转时间 1 0.0 8.0 0.0 8.0 8.0 2 0.4 4.0 8.0 12.0 11.6 3 1.0 1.0 12.0 13.0 12.0 平均周转时间T=(8+11.6+12)/3=10.53 采用短作业优先调度策略,则调度次序为l、3、2。 作业号提交时间运行时间开始时间完成时间周转时间 1 0.0 8.0 0.0 8.0 8.0 3 1.0 1.0 8.0 9.0 8.0 2 0.4 4.0 9.0 13.0 12.6 平均周转时间T=(8+8+12.6)/3=9.53 思考题1 请同学们判断这句话:作业一旦被作业调度程序选中,即占有了CPU。() 提示:需要清楚作业调度和进程调度的区别。 【例2】考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法的缺页次数各是多少? 答:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页。

相关文档