デフォルトでの出力 /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x164eca000 0x00043426 0x104aba000 0x00027f67 0x15a837000 0x00037b99 0x164fd6000 0x0003deac 0x104ae7000 0x0002cf10 0x104b1a000 0x00048e25 0x15a710000 0x00038ff8 0x15a350000 0x00059a60 0x104ca9000 0x0002625c 0x164e0f000 0x00060e7a 0x15a9e6000 0x00051bda 中略 0x129a1b000 0x0003b8f8 0x111e77000 0x00022989 0x14c64b000 0x00048c33 0x14c9d9000 0x0004b2ab 0x120aeb000 0x00036e77 0x112d69000 0x000231c9 0x164971000 0x00058bb7 0x10a728000 0x0002053f ./a.out 1.32s user 2.80s system 48% cpu 8.482 total long MEMORY = 160*1000*100; //memoryのみ変更 /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x10cbee000 0x00034fc2 0x10cd3a000 0x0002cf3d 0x10c8a4000 0x00030202 0x10c95d000 0x00053361 0x10c8d9000 0x00031694 0x10c935000 0x000277a5 0x10d36f000 0x0005f819 0x10cd0a000 0x0002aeaa 0x10d009000 0x0003379e 0x10d3cf000 0x0005e46a 0x10c453000 0x00060b34 0x10c9b5000 0x000543a3 0x10c90e000 0x00020415 0x10d11b000 0x00057baf 0x10c3ad000 0x00061656 0x10d42e000 0x0005574b 0x10d488000 0x0005b6ad 0x10c5e3000 0x0004a4da 0x10ca9b000 0x0002bc9e 0x10cb21000 0x00025413 0x10d1c1000 0x0005ac87 0x10c552000 0x0002cd14 0x10d21c000 0x0005ecfc 中略 0x10cc23000 0x00042589 0x10cce5000 0x00022f2d 0x10c7a7000 0x0005af74 0x10c6bb000 0x00048be4 0x10d2d1000 0x00058680 0x10cc95000 0x0004f1a9 0x10cefe000 0x0005aae2 0x10c520000 0x0003157b 0x10cdc1000 0x00052afd ./a.out 0.01s user 0.01s system 62% cpu 0.039 total 出力数がかなり減る。実行時間もかなり短くなっているのでそのことがわかる。また出力される数値の左側部分n->addressはソートされているわけではないが、デフォルトの時より数値が小さい範囲になっている。右側部分n->sizeについてはそれほど変化はない。 long ALLOCATED = 10000; この値の変更ではn->address,n->sizeの数値は多少変化したが出力数や実行時間は目立つほど変化がなかったので省略する。 long COUNT = 8; /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x1045b2000 0x0003256a 0x1045e5000 0x0004c9f9 0x104632000 0x00037d9a 0x10466a000 0x00025602 0x104690000 0x00023643 ./a.out 0.00s user 0.00s system 21% cpu 0.019 total 出力数が圧倒的に下がった。8個になるかと予想したが、そうではなかった。また、デフォルトの時は特にされてなかったが、ここでは昇順にソートされていた。 long COUNT = 80; /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x10fa90000 0x0003256a 0x10fac3000 0x0004c9f9 0x10fb10000 0x00037d9a 0x10fb48000 0x00025602 0x10fb6e000 0x00023643 0x10fb92000 0x00023f8c 0x10fbb6000 0x00060164 0x10fc17000 0x0003ab1b 0x10fc52000 0x00030487 0x10fc83000 0x0003154e 0x10fcb5000 0x00034e99 0x10fcea000 0x00024eb6 中略 0x110503000 0x00020665 0x110524000 0x00052447 0x110577000 0x0005d4ea 0x1105d5000 0x00057a6b 0x11062d000 0x00033bd8 0x110661000 0x0005eccf 0x1106c0000 0x0002a59e 0x1106eb000 0x00029d2c 0x110715000 0x000311b4 0x110747000 0x00024604 0x11076c000 0x0003fb9a 0x1107ac000 0x00042b5e 0x1107ef000 0x000458f9 ./a.out 0.01s user 0.01s system 57% cpu 0.026 total 出力数が56とcount=8の時の出力数の10倍近い数値が出ている。ここでも昇順にソートされていることが確認できた。 long ACTIVE = 10; /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x1086b4000 0x00035788 0x108951000 0x0003f997 0x1086ec000 0x00026a49 0x1089fa000 0x0003d95d 0x1087bb000 0x0003a8de 0x108659000 0x0002ab38 ./a.out 0.39s user 0.04s system 96% cpu 0.441 total 出力数は減ったが特にソートはされていない。 long MAXSIZE = 40000000000000; //maxsizeのみ変更 /Users/e145729/Documents/大学三年/os/ex8.1% time ./a.out 0x11a8b0000 0x0ad8a63d 0x12563b000 0x1007838f 0x170f13000 0x1614f7a2 0x13a312000 0x063e6928 0x152096000 0x01ffde5f 0x140d5f000 0x0e3093b5 0x1552ab000 0x071274f8 0x1356b4000 0x01290384 0x136945000 0x018326c4 0x10f46c000 0x045b351e 0x15c3d3000 0x03e05a58 0x11960d000 0x0098f9f3 0x1185eb000 0x0098a3c5 0x16ee40000 0x0125f01f 0x1163da000 0x005200ce 0x138178000 0x00fb7a21 0x14f069000 0x0127e5d6 0x10e578000 0x003b0d91 0x11a20c000 0x0023a18b 0x11a447000 0x0029c405 0x10ec17000 0x003f94ab 0x139130000 0x0033bea4 0x13946c000 0x00343049 ./a.out 1.76s user 3.44s system 87% cpu 5.921 total 出力数がmemory変更時の時より少ない程度に減る。MAXSIZEの数値と出力数、またn->address,n->size等の値とは比例関係ではなかった。 MAXSIZEの値をデフォルト数値以下にすると出力しなくなる。 MINSIZEは数値を大きくしても小さくしても出力しなくなるようなことはなかった。MAXSIZE同様出力数が減ることが確認できた。またMAXSIZEとMIXSIZEのデフォルト比率はそのままで数値を大きくしたがデフォルトとはかけ離れた結果となった。 メモリを食うプログラムと併用した場合、実行時間が伸びるパターンもいくつかあったが、大体が実行時間がかなり短いものが多くて変化がわかりづらかった。今回は実行時間の変化がわかるものだけ載せる。 デフォルトでの出力のみの場合 ./a.out 1.18s user 1.07s system 99% cpu 2.274 total メモリを食うプログラムと併用1回目 ./a.out 1.79s user 2.95s system 66% cpu 7.115 total メモリを食うプログラムと併用2回目 ./a.out 3.42s user 7.61s system 63% cpu 17.431 total 明らかに遅くなり、時間がかかった。プログラムを実行してすぐデフォルトを実行したものが1回目。プログラムを放置し重くし続けたのが2回目で、これ以上放置しても2回目の誤差程度の範囲しか出なかった long MAXSIZE = 40000000000000 long MINSIZE = 4000000にパラメータを変えたプログラムのみの場合 ./a.out 2.74s user 4.00s system 99% cpu 6.763 total メモリを食うプログラムと併用1回目 ./a.out 3.16s user 5.69s system 78% cpu 11.226 total メモリを食うプログラムと併用2回目 ./a.out 3.53s user 6.54s system 67% cpu 14.814 total デフォルトの時と同じく、メモリを食うプログラムを実行し続けていると、mallock-test.cの実行時間が長くなった。また今回も2回目以降放置してもそれほど差は出なくなった。