进程控制实验报告.docx
《进程控制实验报告.docx》由会员分享,可在线阅读,更多相关《进程控制实验报告.docx(7页珍藏版)》请在冰点文库上搜索。
1.目的和要求
进程控制实验报告
word文档可自由复制编辑
通过本实验掌握Linux操作系统的进程创建fork(),进程终止exit(),等待进程终止wait(),执行用户可执行程序exec()等进程控制的操作,利用Linux操作系统提供的进程通信的工具实现进程间的同步。
2.实验内容
s
随机生成10万个浮点数
求2.5万个
数部分和
求2.5万个
数部分和
求2.5万个
数部分和
求2.5万个
数部分和
求10万个
数之和
f
问题:
求100000个浮点数(精确小数点右4位)的平均值(和、最大值、最小值)流程图:
步骤:
1、随机生成100000个浮点数(父进程);
2、创建4个子进程,分别求25000个浮点数之和;
3、父进程完成100000个浮点数之和并打印结果。
4、统计顺序计算的时间和多个进程采用多道程序设计完成计算的时间。
3.参考文献
KeithHaviland等著/《UNIX系统编程》/第二版/电子工业出版社/03年1月出版
4.实验内容
1、求解问题的顺序程序及运行时间
#include#include
#include
#includeintmain(void)
{
inti,j;
doublearray[4][25000]doubleallsum=0.0;
time_tstart,end;structtimevaljs;for(i=0;i<4;i++)
for(j=0;j<25000;j++)
array[i][j]=(double)rand()/(double)RAND_MAX;gettimeofday(&js,NULL);
start=js.tv_usec;for(i=0;i<4;i++)
{
for(j=0;j<25000;j++)sum[i]+=array[i][j];
}
for (i=0;,i<4;i++)
{
allsum=sum[i];
printf("sum=%f\n",allsum);
}
gettimeofday(&tv,NULL);end=js.tv_usec;
printf("time=%d\n",end–start);
return0;
}
运行结果为:
sum=49951.056669
time=1456
2、求解问题的多道程序设计的程序及运行时间
#include#include#include#include
#includedoublearray[4][25000];doublesum[4]={0.0}doubleallsum[4];doublesum=0.0;
intfpipe[4][2];intmain(void)
{
inti,j;
structtimevaltv;time_tstart,end;for(i=0;i<4;i++)
for(j=0;j<25000;j++)
a[i][j]=(double)rand()/(double)RAND_MAXgettimeofday(&tv,NULL);
start=js.tv_usec;for(i=0;i<4;i++)
{
if(pipe(fpipe[i])<0)
{
printf("pipeerror!
\n");exit
(1);
}
if(fork()==0){
for(j=0;j<25000;++j)
{
sum1[i]+=a[i][j];
}
write(fpipe[i][1],&sum1[i],sizeof(double));exit(0);
}
else
{
if(!
read(fpipe[i][0],&sum[i],sizeof(double)))
{
exit
(1);
}
printf("sum[%d]=%f\n",i,sum[i]);
}
}
for(i=0;i<4;i++)sum+=sum[i];
printf("sum=%f\n",sum);gettimeofday(&tv,NULL);
end=js.tv_usec;
printf("time=%d\n",end-start);return0;
}
其结果为:
Sum=49551.056669
Time=5035
其部分生成的数字为:
………..
0.5800
0.0670
0.4490
0.5106
0.6561
0.7088
0.5746
0.7144
0.4324
0.2044
0.0959
0.4480
0.0764
0.3211
0.0312
0.1233
0.3066
0.3779
0.0558
0.5903
0.2981
0.3085
0.6777
0.9622
0.4080
0.2521
0.0996
0.4301
0.5412
0.2261
0.0797
0.1212
0.2931
0.5287
0.6318
0.9492
0.2376
0.2065
0.6636
0.6700
0.4109
0.7596
0.1180
0.4873
0.0807
0.1492
0.6106
0.3873
0.5271
0.6664
0.9776
0.8252
0.9749
0.6553
0.7874
0.3829
0.9075
0.8870
0.8130
0.4486
0.1131
0.8927
0.5698
0.4062
0.4214
0.2017
0.3554
0.6590
0.4081
0.0190
0.3290
0.8190
0.7786
0.4470
0.3063
0.8593
0.5962
0.9169
0.2466
0.1233
0.5833
0.2242
0.9485
0.5582
0.8796
0.7359
0.9411
0.7870
0.6229
0.7541
0.2357
0.7360
0.6468
0.8055
0.1422
0.0683
0.0072
0.4976
0.7273
0.4153
0.5166
0.0563
0.2343
0.2952
0.5033
0.5407
0.1544
0.0995
0.4576
0.4010
0.2227
0.0409
0.6253
0.1712
0.5991
0.5049
0.9071
0.5402
0.2919
0.5300
0.2943
0.5275
0.2660
0.9411
0.3330
0.4082
0.0094
0.3402
0.9058
0.7367
0.7555
0.4224
0.7929
0.9898
0.7175
0.2962
0.5305
0.8719
0.3957
0.9881
0.2730
0.6184
0.0289
0.8983
0.7896
0.6280
0.4031
0.6968
0.1682
0.6950
0.2268
0.4625
0.2225
0.4928
0.4036
0.5555
0.9010
0.4130
0.8957
0.8068
0.1496
0.6512
0.2292
0.9426
0.6411
0.9467
0.2388
0.1716
0.8186
0.6345
0.1597
0.0916
0.2529
0.1886
0.9899
0.0425
0.8166
0.3930
0.7393
0.9848
0.0881
0.9661
0.4473
0.3106
0.4589
0.8508
0.8661
0.3599
0.2638
0.7619
0.1668
0.4134
0.4131
0.3959
0.3560
0.0541
0.3426
0.5948
0.2257
0.1613
0.2293
0.3854
0.2529
0.4822
0.5740
0.2428
0.5247
0.3907
0.6359
0.2639
0.3755
0.7239
0.2300
0.8227
0.0345
0.6889
0.6736
0.9006
0.0488
0.9374
0.6625
0.2156
0.3508
0.0755
0.6115
0.7068
0.1297
0.9541
0.3017
0.3554
0.1154
0.5309
0.7408
0.3683
0.0131
0.3148
0.6111
0.5378
0.7055
0.2470
0.8017
0.0810
0.9709
0.0317
0.9037
0.0053
0.7206
0.5773
0.9060
0.7694
0.5147
0.5684
0.9850
0.8655
0.6440
0.5966
0.5724
0.7736
0.5507
0.8740
0.1291
0.6661
0.4050
0.8699
0.0344
0.4181
0.1847
0.6455
0.9558
0.8902
0.8924
0.7575
0.9712
0.8633
0.7892
0.8749
0.8686
0.5098
0.4523
0.7746
0.2792
0.9670
0.3430
0.2643
0.8325
0.9870
0.8608
0.4048
0.7606
0.4115
0.2789
0.8897
0.0776
0.6838
0.7595
0.1120
0.1019
0.9443
0.7575
0.0577
0.8345
0.6499
0.8152
0.8057
0.5132
0.6044
0.6806
0.3818
0.1142
0.1329
0.1564
0.3935
0.0998
0.4995
0.6578
0.9323
0.4864
0.5186
0.3372
0.2471
0.9301
0.6160
0.1367
0.0077
0.2999
0.8963
0.1197
0.4018
0.8406
0.8772
0.4595
0.6750
0.5271
0.2747
0.4807
0.0403
0.8791
0.1614
0.4222
0.9933
0.2942
0.5786
0.3868
0.3941
0.0781
0.0446
0.3264
0.5645
0.5632
0.6635
0.8116
0.4933
0.2796
0.9484
0.5010
0.5794
0.8446
0.6207
0.9812
0.6852
0.4979
0.4407
0.3602
0.0251
0.7154
0.8410
0.0654
0.5945
0.0023
0.4876
0.5878
0.2966
0.0662
0.9746
0.6906
0.1443
0.0192
0.0170
0.7089
0.5824
0.6806
0.5205
0.0756
0.9602
0.4688
0.5766
0.5396
0.3135
0.1974
0.5208
0.9987
0.6953
0.9615
0.3589
0.7204
0.6769
0.1999
0.7858
0.2713
0.2022
0.2734
0.8591
0.4988
0.3396
0.8338
0.1894
0.4840
0.8530
0.2064
0.1928
0.4353
0.8870
0.7133
0.5110
0.8472
0.1821
0.0876
0.3868
0.4956
0.2850
0.9076
0.4942
0.9803
0.8691
0.8531
0.7007
0.5459
0.0530
0.4865
0.8172
0.2552
0.7599
0.6764
0.7540
0.0996
0.5101
0.9434
0.5835
0.3631
0.1499
0.7763
0.7984
0.0369
0.4896
0.3094
0.8840
0.6717
0.3970
0.2708
0.1673
0.6819
0.1784
0.6615
0.6622
0.0474
0.5146
0.3629
0.5933
0.5677
0.8494
0.4106
0.8229
0.6093
0.0869
0.5769
0.7089
0.5971
0.5204
0.2924
0.9602
0.6703
0.0687
0.7586
0.7071
0.5583
0.0680
0.5912
0.2300
0.4649
0.8620
0.3973
0.1469
0.0404
0.0588
0.8091
0.0878
0.5735
0.1721
0.6811
0.1411
0.0215
0.0917
0.9641
0.6308
0.1786
0.5410
0.3397
0.7757
0.0614
0.6322
0.7358
0.7317
0.7009
0.4944
0.4388
0.2592
0.5624
0.0300
0.4893
0.0273
0.8920
0.8866
0.1742
0.9323
0.9454
0.9834
0.0201
0.5189
0.1554
0.7012
0.6600
0.1769
0.7929
0.6241
0.8077
0.9715
0.1651
0.1475
0.7472
0.2265
0.7796
0.4830
0.9581
0.4805
0.9774
0.3969
0.7398
0.5398
0.4269
0.2291
0.5671
0.3189
0.1157
0.7414
0.2512
0.0611
0.7247
0.2713
0.5800
0.8801
0.9725
0.2400
0.0570
0.7654
0.8640
0.8648
0.7369
0.0291
0.0123
0.4841
0.2555
0.7919
0.9671
0.2136
0.2724
0.9445
0.6105
0.0122
0.4844
0.0374
0.2413
0.0515
0.3563
0.3569
0.7929
0.6074
0.4180
0.5176
0.8787
0.9980
0.3977
0.8513
0.2379
0.4548
0.6167
0.1020
0.3195
0.3536
0.1310
0.3318
0.8377
0.3866
0.1237
0.8049
0.6002
0.3961
0.7494
0.2107
0.4083
0.2338
0.2481
0.6496
0.2852
0.6044
0.0065
0.0781
0.2118
0.4245
0.5957
0.0906
0.4225
0.9934
0.9418
0.6605
0.4482
0.5585
0.7624
0.7677
0.9122
0.8934
0.0995
0.7499
0.2800
0.2231
0.5548
0.8802
0.6192
0.3042
0.0909
0.0275
0.5379
0.3391
0.6771
0.8232
0.9435
0.6836
0.9013
0.1553
0.1082
0.4970
0.2459
0.5307
0.4904
0.1877
0.1911
0.9385
0.7462
0.9536
0.7062
0.6584
0.8470
0.8057
0.4083
0.1270
0.0288
0.9631
0.0072
0.6480
0.2672
0.0982
0.6756
0.8051
0.4372
0.3526
0.6283
0.3807
0.0363
0.5296
0.5360
0.1444
0.0265
0.7818
0.6751
0.5169
0.9695
0.8662
0.4554
0.7157
0.8198
0.1617
0.3741
0.6668
0.9674
0.7824
0.7938
0.9962
0.7455
0.8010
0.6442
0.0127
0.8992
0.3198
0.8178
0.3364
0.6724
0.4461
0.7171
0.7087
0.9757
0.2531
0.8531
0.0022
0.0349
0.5282
0.5191
0.0044
0.3944
0.9746
0.7202
0.2142
0.1362
0.0943
0.8810
0.1036
0.8767
0.6748
0.0998
0.6222
0.4758
0.7441
0.6349
0.3750
0.0639
0.4527
0.7114
0.7363
0.8989
0.4285
0.4450
0.8746
0.6816
0.2981
0.8768
0.7165
0.8263
0.3959
0.7209
0.2207
0.3705
0.4411
0.4349
0.5068
0.5353
0.3159
0.6104
0.4121
0.9907
0.7102
0.0343
0.4665
0.4543
0.6692
0.8415
0.5181
0.1219
0.5530
0.2544
0.0208
0.9815
0.6994
0.8954
0.6631
0.9976
0.7722
0.3796
0.8239
0.1681
0.1005
0.0446
0.5387
0.5415
0.4795
0.0454
0.0769
0.7955
0.6558
0.4890
0.7862
0.3660
0.5232
0.2527
0.8203
0.1924
0.0942
0.3384
0.3143
0.6472
0.5928
0.3351
0.6287
0.2923
0.2305
0.2918
0.2898
0.0027
0.6714
0.1137
0.1708
0.7719
0.1583
0.7095
0.3134
0.6378
0.7549
0.3903
0.4333
0.4108
0.8793
0.2195
0.7768
0.4025
0.4722
0.5971
0.5949
0.5664
0.9355
0.9092
0.2136
0.5283
0.2443
0.8423
0.8206
0.4748
0.1342
0.1105
0.4775
0.8056
0.2242
0.6483
0.5774
0.3825
0.3578
0.8909
0.0203
0.1127
0.2812
0.4536
0.5235
0.1605
0.6731
0.3003
0.5630
0.1453
0.8974
0.1579
0.7117
0.8329
0.0670
0.9253
0.3612
0.3113
0.7676
0.1818
0.7861
0.9018
0.2923
0.2635
0.7073
0.5165
0.9118
0.2848
0.8989
0.2696
0.1757
0.9193
0.3824
0.4569
0.3729
0.9059
0.6173
0.0460
0.2062
0.1803
0.1912
0.1036
0.3382
0.9029
0.9364
0.4052
0.8282
0.2976
0.7165
0.5958
0.4795
0.5026
0.4976
0.7718
0.7661
0.2049
0.2882
0.6780
0.4897
0.1871
0.9476
0.6654
0.1064
0.3300
0.1222
0.4793
0.2359
0.7396
0.5253
0.4420
0.9199
0.7165
0.5456
0.2581
0.6194
0.4820
0.6633
0.4476
0.7797
0.3798
0.0435
0.2591
0.8824
0.5411
0.0309
0.6485
0.7460
0.3191
0.3265
0.2357
0.5062
0.2741
0.9011
0.6126
0.6041
0.0233
0.0919
0.8399
0.7629
0.6172
0.2819
0.6828
0.3337
0.8275
0.9408
0.9531
0.3095
0.6041
0.4007
0.0892
0.9839
0.4442
0.3483
0.8663
0.9852
0.3792
0.5148
0.7312
0.6983
0.8413
0.9669
0.2045
0.1154
0.8680
0.8171
0.7195
0.8913
0.9090
0.5594
0.6542
0.5262
0.8414
0.3369
0.8599
0.6689
0.2778
0.8129
0.9784
0.8819
0.2137
0.0676
0.865