[20210828]如何实现2.txt

来源:这里教程网 时间:2026-03-03 16:54:22 作者:

[20210828]如何实现2.txt --//内核参数kernel.sem的探究,需要写一个命令,看看processes,nsems,semaphores_used_arrays的关系,自己看看如何实现. $ seq 196 1 204 | xargs -IQ echo "scale=0;Q;a=(Q+4)/4;scale=3;b=Q/(a-4);a;b" | bc | tr -d '\r' | paste - - - 196     50      4.260 197     50      4.282 198     50      4.304 199     50      4.326 200     51      4.255 201     51      4.276 202     51      4.297 203     51      4.319 204     52      4.250 --//以上按照2^2来分组的情况.最后一列输出使用ceil,就是对应semaphores arrays的数量。 --//写的更复杂一些,分析processes=196 ~ 204,分组 2^N (N=1,2,3,4)的情况。 $ seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=2^Q'" $ seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'scale=0;a=(Z+4)/c;scale=3;b=Z/(a-4);Z;c;a;b;'" $ paste -d";"  <(seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=2^Q'" ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'scale=0;a=(Z+4)/c;scale=3;b=Z/(a-4);Z;c;a;b;'") | bc | tr -d "\r" | paste - - - - 196     2       100     2.041 197     2       100     2.052 198     2       101     2.041 199     2       101     2.051 200     2       102     2.040 201     2       102     2.051 202     2       103     2.040 203     2       103     2.050 204     2       104     2.040 196     4       50      4.260 197     4       50      4.282 198     4       50      4.304 199     4       50      4.326 200     4       51      4.255 201     4       51      4.276 202     4       51      4.297 203     4       51      4.319 204     4       52      4.250 196     8       25      9.333 197     8       25      9.380 198     8       25      9.428 199     8       25      9.476 200     8       25      9.523 201     8       25      9.571 202     8       25      9.619 203     8       25      9.666 204     8       26      9.272 196     16      12      24.500 197     16      12      24.625 198     16      12      24.750 199     16      12      24.875 200     16      12      25.000 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201     16      12      25.125 202     16      12      25.250 203     16      12      25.375 204     16      13      22.666 --//说明:输出顺序 processes group nsems semaphores_used_arrays. --//随手写了一个类似的脚本,结果不贴出了。 seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=Q'" seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'" paste -d";" <(seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=Q'" ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'") paste -d";" <(seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=Q'" ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'") | xargs -IY echo 'Ya=(d+4)/2^c;scale=3;b=d/(a-4);d;2^c;a;b;' | bc| tr -d '\r'| paste - - - - paste -d";" <(seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=Q'" ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'") | xargs -IY echo 'Ya=(d+4)/2^c;scale=3;b=d/(a-4);print d," ",c," ",a," ",b,"\n"' | bc paste -d";" <(seq 4 | xargs -IQ  bash -c "seq 9 | xargs -iZ echo 'scale=0;c=Q'" ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'") | xargs -IY echo 'Ya=(d+4)/2^c;scale=3;b=d/(a-4);print d,"\t",c,"\t",a,"\t",b,"\n"' | bc paste -d";" <(seq 4 | sed -n "p;p;p;p;p;p;p;p;p"| xargs -IQ echo 'scale=0;c=Q'  ) <(seq 4 | xargs -IQ  bash -c "seq 196 1 204 | xargs -IZ echo 'd=Z;'") | xargs -IY echo 'Ya=(d+4)/2^c;scale=3;b=d/(a-4);print d,"\t",c,"\t",a,"\t",b,"\n"' | bc

相关推荐