��͂肠�����H �������Ɍ����V�X�e���R�[���F�m���ăg�N����V�X�e���R�[���i3�j�i2/2 �y�[�W�j

» 2012�N01��18�� 00��00�� ���J
[�㓡��n�C��IT]
�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

�������x�ɑ傫�ȍ�

�@�ł́A���ۂɂǂ̒��x�������x���Ⴄ�̂����ׂĂ݂悤�B�܂��A�v���O�������s�O�ɁA100Mbytes�̃t�@�C��������Ă����B�ȉ��̃R�}���h�����s����΁Ain�A�‚܂�R�s�[���̃t�@�C�����ł���B

dd if=/dev/random of=in bs=512 count=204800

�@mmap(2)�́u�t�@�C�����������Ƀ}�b�s���O�v������̂��Bout�A�‚܂�R�s�[��Ƃ���100Mbytes�̃t�@�C������邱�Ƃ��Y��Ă͂����Ȃ��B�ȉ��̃R�}���h�����s���Ăق����B���̒i�K��in��out�ɃR�s�[����ƁA�R�s�[�v���O�����������ɐ������Ă��邩�ǂ������m�F�ł��Ȃ��̂Œ��ӂ��Ăق����B�ŏ���dd(1)�R�}���h���g���āA�ł��ꂼ��•ʂɃt�@�C�����쐬����B

dd if=/dev/random of=out bs=512 count=204800

�@�v���O�����Ńt�@�C���̏��������������邱�Ƃ��ł��邪�A�\�[�X�R�[�h�����G�ɂȂ�̂ō���͎~�߂Ă������B�܂�mmap(2)���ǂ��������̂Ȃ̂����‚���łق����B

�@���̏�ԂŁAin��out�̂��ꂼ��̃n�b�V���l�����߂�ƁA�l�͈قȂ������̂ɂȂ��Ă���͂����B

% md5 in out
MD5 (in) = 4b5c11779d7f6d9ada20a308c1b15090
MD5 (out) = ff76dfcfd807c3dd3fa645fde5968704
%

�@�t�@�C���̃R�s�[������������ōĂуn�b�V���l���r����ƁA���̂悤�ɓ����l�ɂȂ�͂����B

% md5 in out
MD5 (in) = 4b5c11779d7f6d9ada20a308c1b15090
MD5 (out) = 4b5c11779d7f6d9ada20a308c1b15090
%

�@�������x���r�������ʂ��\1�̒ʂ�B�����ł͂��ꂼ��R���p�C�����1��R�}���h�����s���āA���̌��5����s���āA���ꂼ��̏������Ԃ̕��ϒl�������Ă���B

�v���O�����̃t�@�C���� �����ɂ����������ώ��ԁi�P�ʁ��b�j
copy-fgetc-fputc.c 1.42
copy-read-write.c 1.40
copy-mmap.c 0.30
�\1�@100Mbytes�̃t�@�C�����R�s�[����3��ނ̃v���O���������ꂼ�ꏈ��������������܂łɂ�����������

�@mmap(2)���g�����T���v���́Aread(2)/write(2)��fgetc(2)/fputc(2)���g�������̂ɔ�ׂ�4�`5�{�����ɓ��삵�Ă��邱�Ƃ�������B���|�I�ȑ��x�����B�����ł̓V���v���Ɏ��s���x�����ɒ��ڂ��Ă��邪�A����mmap(2)���g���ƁA�������̎g�p�ʂ�X�P�[���r���e�B�Ȃǂ��܂��܂ȖʂŃ����b�g������ł���B

�f�[�^�����[�U�[�����h�ɃR�s�[���Ȃ�

�@�ł͂Ȃ�mmap(2)���g���Ə������x���オ��̂��B������u�J�[�l���ƃR�s�[�v���O�����̊ԂŃf�[�^�̃R�s�[���������Ȃ�����v�Ɛ����ł���Bmmap(2)���g���ƁA�f�[�^���������񃆁[�U�[�����h�փR�s�[���鑀�삪�������Ȃ��̂��B

�@copy-read-write.c���ɍl����ƕ�����₷���B�V�X�e���R�[���́A�����������K�v�ȂƂ��ɁA�������������J�[�l���ɏ������˗������i�ł���Ƃ������Ƃ���1���Ő��������Bcopy-read-write.c�ł�read(2)��write(2)��2��ނ̃V�X�e���R�[���𗘗p���Ă���B�����2��ނ̃V�X�e���R�[���́A�������[�h�œ��삵�A�ǂݏ�������f�[�^����������z��b�ɃR�s�[����B���炩���ߗp�ӂ��Ă�����100Mbytes�̔z�񂾁B���̃R�s�[�悪��肾�B�t�@�C��in�̃f�[�^����x�A�R�s�[�v���O�����A�‚܂胆�[�U�[�����h�œ��삷��v���O�����̔z��փR�s�[���Ă���B���ꂪ�������x��ቺ�����Ă��錴�����B

�@mmap(2)�̓t�@�C�����������Ƀ}�b�s���O���Ă��邪�A�f�[�^���v���O�������̕ϐ���z��ɃR�s�[����K�v���Ȃ��d�g�݂ɂȂ��Ă���B���z�������̎d�g�݂����p���Ď������Ă���@�\�ł���A�������R�ȕ��@�Ŏ��������������}�b�s���O�@�\�ł���B

�Ȃ�ׂ��f�[�^�̃R�s�[���������Ȃ��悤��

�@�������x���r�����Ƃ���ŁA���x��truss(1)���g���āA�ǂ̃V�X�e���R�[�����Ă΂�Ă��邩�A���ꂼ�ꉽ��Ă΂�Ă���̂��𒲂ׂĂ݂悤�Bcopy-fgetc-fputc.c�ł�read(2)��write(2)�����ꂼ��3200��قnjĂ΂�Ă��邱�Ƃ�������B12��ނ̃V�X�e���R�[�����Ăяo���Ă���A�Ăяo���񐔂̍��v��6435�񂾁B

syscall                     seconds   calls  errors
readlink                0.000045816       1       0
lseek                   0.000014527       1       0
mmap                    0.000146526       8       0
open                    0.031803904       5       1
close                   0.000033314       2       0
fstat                   0.000090725       3       0
write                   0.060363421    3200       0
break                   0.000016553       1       0
access                  0.000025911       1       0
sigprocmask             0.000119290       8       0
munmap                  0.000034431       2       0
read                    0.114219237    3203       0
------------- ------- -------
0.206913655    6435       1

�@����copy-read-write.c�𒲂ׂĂ݂悤�Bread(2)��write(2)�̌Ăяo���񐔂͂��ꂼ��3���1�񂾁Bread(2)��2�񕪂̓R�s�[�ȊO�̏����ŌĂ΂�Ă�����̂Ȃ̂ŁA�����I�ɃR�s�[�̂��߂̃V�X�e���R�[���Ăяo����1�񂸂‚��B10��ނ̃V�X�e���R�[�����Ăяo���Ă���A�Ăяo���񐔂̍��v��29��B��قǂ̗�Ɣ�ׂ�ƁA�V�X�e���R�[���̌Ăяo���񐔂����ɏ��Ȃ����Ƃ�������B

syscall                     seconds   calls  errors
lseek                   0.000015854       1       0
mmap                    0.000121665       6       0
open                    0.000121663       5       1
close                   0.000035689       2       0
fstat                   0.000035339       1       0
write                   1.086137903       1       0
access                  0.000025492       1       0
sigprocmask             0.000128857       8       0
munmap                  0.000018718       1       0
read                    0.130443603       3       0
------------- ------- -------
1.217084783      29       1

�@�Ō��copy-mmap.c�𒲂ׂĂ݂�B9��ނ̃V�X�e���R�[�����Ăяo���Ă���A�Ăяo���񐔂̍��v��29��Bmmap(2)���Ăяo���񐔂��ق���2�‚̃T���v���ɔ�ׂ�2�񑽂����ƁA�V���{���b�N�����N��ǂݎ��readlink(2)���Ăяo���Ă��Ȃ����Ƃ������΁Acopy-read-write.c�̌X���ɂ悭���Ă���B

syscall                     seconds   calls  errors
lseek                   0.000006705       1       0
mmap                    0.000065791       8       0
open                    0.000046864       5       1
close                   0.000014039       2       0
fstat                   0.000012781       1       0
access                  0.000010127       1       0
sigprocmask             0.000087791       8       0
munmap                  0.000007054       1       0
read                    0.000042673       2       0
------------- ------- -------
0.000293825      29       1

�@�‚܂�f�[�^���t�@�C������R�s�[�v���O�����ɃR�s�[���A�������炳��Ƀt�@�C���ɏ����o���Ƃ����������A�R���s���[�^�ɏd�����S���|���Ă��邱�Ƃ�������B�V�X�e���R�[���̌Ăяo���񐔂����炷�A�Ƃ����̂͏������\�������グ������1�‚ł���A����ɂ���1�A�Ȃ�ׂ��f�[�^�̃R�s�[���������Ȃ��悤�ɂ���Ƃ������������Ƃ������Ƃ��o���Ă��������B

�@mmap(2)�͔�r�I�ȒP�Ɏg���đ傫�Ȍ��ʂ����҂ł��閣�͓I�ȃV�X�e���R�[�����B����ȍ~���΂炭�́Ammap(2)�̎g�������Љ�Ȃ���Ammap(2)�̂悤�ɌĂяo�������ŗǂ����ʂ𓾂���V�X�e���R�[��������Ƃ������Ƃ������Ă������Ǝv���B

�ǎ������̒���

�@����Љ���T���v���v���O�������g���āA�ǎ��������{����Ƃ��́A�ȉ���2�_�ɒ��ӂ��Ă������������B

�@�܂��A���z�‹��̃Q�X�gOS�ŃT���v���v���O���������s���A�������Ԃ��r����ƍ��񎦂������ʂƑ傫���H���Ⴄ�”\��������B���z�‹��̉��z�n�[�h�f�B�X�N�́A���ۂ̃n�[�h�f�B�X�N��OS���C���X�g�[�������Ƃ��Ɣ�ׂ�ƈقȂ铮���������邱�Ƃ����邩�炾�B�����͉��z�‹��łȂ��A���ۂ̃n�[�h�E�F�A��OS���C���X�g�[�������‹��Ŏ��{���������ǂ��B

�@Solaris 11��FreeBSD 9�����ڂ��Ă���t�@�C���V�X�e��ZFS�iZettabyte File System�j���񋟂���A�d���r���@�\�idedup�j�𗘗p���Ă���ƁA����f�[�^�̃R�s�[����u�Ŋ������邱�Ƃ�����B����̃T���v���v���O������ʂ��Ēm�肽���̂́Aread(2)��write(2)��g�ݍ��킹���v���O�����ƁAmmap(2)�����p�����v���O�����ŏ������\���ǂ̒��x�قȂ�̂��Ƃ������Ƃł���B�t�@�C���V�X�e���̋@�\�������āA�R�s�[����u�ōς�ł��܂��Ă͌��؂��ł��Ȃ��BUFS�iUnix File System�j��Ŏ������邩�A�d���r���@�\�∳�k�@�\�Ȃǂ𖳌��ɂ��Ď����ׂ����낤�B

�@�����āA����͏Љ�Ȃ��������Amemcpy(3)�Ƃ����W�����C�u�����֐��������Ă݂�Ɨǂ����낤�B���̊֐��́A�w�肵���������̈�̃f�[�^���ق��̗̈�ɃR�s�[����@�\�����Bcopy-mmap.c�ɁAmemcpy(3)�Ń������̈�̃f�[�^���R�s�[����@�\��t��������ƁA�������x���啝�ɏオ��”\��������B�����memcpy(3)���֐������̏������H�v���č�������B�����Ă���̂ł͂Ȃ��A�v���Z�b�T�̋@�\�𗘗p���Ă��邽�߂��B����̓n�[�h�E�F�A�ɂȂ�ׂ�����Ȃ��悤�ɂ��邽�߁A�T���v���v���O�����ł�memcpy(3)�͗��p���Ȃ��������A���ۂɎ����āA�g�����Ƃ��̌��ʂ�m���Ă����������ǂ����낤�B

�@�ǎ����ɗ��p����‹���AOS���Ƃ̃R�}���h�̈Ⴂ�Ȃǂ��A�ڑ�2���ɂ܂Ƃ߂Ă���B��������Q�l�ɂ��Ă������������B

���ҏЉ�

BSD�R���T���e�B���O������Ў�����^�I���O�X��\�����

�㓡 ��n

��IT�ւ̊�e�AMYCOM�W���[�i���ɂ�����j���[�X���M�̂ق��A�A�v���P�[�V�����J����V�X�e���\�z�A�w�������� FreeBSD�r�M�i�[�Y�o�C�u���x�wD����p�[�t�F�N�g�K�C�h�x�wUNIX�{�i�}�X�^�[�@��b�ҁ`Linux��FreeBSD���g�����Ȃ����߂̑����`�x�Ȃǒ��������B



�O�̃y�[�W�� 1|2 �@�@�@�@�@�@

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B