Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BitVisorであやつるコンテナネットワーク/BitVisorSummit11

 BitVisorであやつるコンテナネットワーク/BitVisorSummit11

Yuki Nakata chikuwait

December 07, 2022
Tweet

More Decks by Yuki Nakata chikuwait

Other Decks in Technology

Transcript

  1.  ͘͞ΒΠϯλʔωοτגࣜձࣾ ͘͞ΒΠϯλʔωοτݚڀॴ தా ༟وʢUXJUUFS[email protected]ʣ ೥݄೔ #JU7JTPS4VNNJU #JU7JTPSͰ͋΍ͭΔίϯςφωοτϫʔΫ

  2.   #JU7JTPSΛ׆༻ͯ͠ίϯςφִؒ཭Λ ݎ࿚ʹ͢Δݚڀͱ࣮૷ͷ࿩Λ͠·͢ ͸͡Ίʹ • ֶ෦ɾम࢜࣌୅ͷݚڀ ͸ͩͯ͜ະདྷେγεςϜιϑτ΢ΣΞݚʢদݪࠀ໻ઌੜʣ • UI*&&&"$.*OUFSOBUJPOBM$POGFSFODFPO

    6UJMJUZBOE$MPVE$PNQVUJOH 6$$ Ͱൃද - $PODFOUSBUFEJTPMBUJPOGPSDPOUBJOFSOFUXPSLT UPXBSEBQQMJDBUJPOBXBSFTBOECPYUBJMPSJOH - IUUQTEMBDNPSHEPJ - IUUQTTQFBLFSEFDLDPNDIJLVXBJUVDD 
  3.  ݚڀ঺հ 

  4.   • ίϯςφ͸04ΧʔωϧΛڞ༗ - 04΍ίϯςφϥϯλΠϜͷ੬ऑੑΛѱ༻ͯ͠ ίϯςφ͔Βϗετ؀ڥ΁ͷ୤ग़ɾݖݶঢ֨ - ίϯςφ಺ͰେྔͷϦιʔεΛ࢖༻͢Δ͜ͱͰ ϗετ؀ڥ΍ଞίϯςφʹର͢ΔαʔϏε๦֐߈ܸ

    %P4 • ίϯςφΛ׆༻ͨ͠1BB4΍'BB4ͳͲͷ Ϋϥ΢υαʔϏε͸ෆಛఆଟ਺ͷϢʔβ͕ಉډ - ڞ༗͢Δ04ΧʔωϧΛѱ༻͢ΔϢʔβʹΑΔ߈ܸΛ૝ఆ͢Δඞཁ ίϯςφִؒ཭ͷ໰୊ ίϯςφ͸ैདྷͷԾ૝Ϛγϯͱൺ΂ͯ ࣮ߦ؀ڥؒͷִ཭͕ऑ͘ɺִ཭ΛڧԽ͢Δඞཁ 04 -JOVY ίϯςφ ϥϯλΠϜ ίϯςφ ΞϓϦ έʔγϣϯ ίϯςφ ΞϓϦ έʔγϣϯ 9-JOFUBM".FBTVSFNFOU4UVEZPO-JOVY$POUBJOFS4FDVSJUZ"UUBDLTBOE$PVOUFSNFBTVSFTUI"OOVBM$PNQVUFS4FDVSJUZ"QQMJDBUJPOT$POGFSFODF "$4"$` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r  $IFMMBEIVSBJ FUBM4FDVSJOH%PDLFS$POUBJOFSTGSPN%FOJBMPG4FSWJDF %P4 "UUBDLT*&&&*OUFSOBUJPOBM$POGFSFODFPO4FSWJDFT$PNQVUJOH 4$$ r 
  5.   • αϯυϘοΫεɿ௥Ճͷִ཭؀ڥ - ίϯςφ͝ͱʹԾ૝Ϛγϯͷ࡞੒ʢFH ,BUB$POUBJOFST ʣ - ϢʔβۭؒΧʔωϧʹΑΔ04Χʔωϧ෼཭ʢH7JTPS

    ʣ • αϯυϘοΫε࡞੒ʹΑΔΦʔόϔου - Ծ૝Ϛγϯͷ࡞੒ʹΑΔىಈʹ͔͔Δ࣌ؒͷ૿େ - ϢʔβۭؒͰͷ04ػೳ࠶࣮૷ʹΑΔΞϓϦέʔγϣϯੑೳ௿Լ ίϯςφִؒ཭Λ޲্͢ΔαϯυϘοΫεͱͦͷ՝୊ αϯυϘοΫεΛ༻͍Δ͜ͱͰִ཭ΛڧԽͰ͖Δ͕ ߴ଎ͳىಈ΍ΞϓϦέʔγϣϯੑೳ͕τϨʔυΦϑ H7JTPS ,BUB$POUBJOFST 04 -JOVY ίϯςφϥϯλΠϜ ίϯςφ 04Χʔωϧ Ϣʔβۭؒ Χʔωϧ ίϯςφ 0QFO*OGSBTUSVDUVSF'PVOEBUJPO,BUB$POUBJOFST 0QFO4PVSDF $POUBJOFS3VOUJNF4PGUXBSFIUUQTLBUBDPOUBJOFSTJP "DDFTTFEPO  5IFH7JTPS"VUIPSTH7JTPSIUUQTHWJTPSEFW "DDFTTFEPO  98BOH 'VQBO -J,BUB$POUBJOFSTBOEH7JTPSB2VBOUJUBUJWF$PNQBSJTPOIUUQTXXXPQFOTUBDLPSHWJEFPTTVNNJUTCFSMJOLBUBDPOUBJOFSTBOEHWJTPSBRVBOUJUBUJWFDPNQBSJTPO "DDFTTFEPO  &(:PVOHFUBM5IF5SVF$PTUPG$POUBJOJOH"H7JTPS$BTF4UVEZ*OUI64&/*98PSLTIPQPO)PU5PQJDTJO$MPVE$PNQVUJOH )PU$MPVE  64&/*9"TTPDJBUJPO 
  6.   ຊݚڀͷΰʔϧ4BOECPY5BJMPSJOH • Ϋϥ΢υج൫ͱΞϓϦέʔγϣϯͷಛੑʹண໨ - Ϧιʔε͝ͱʹ࢖༻ಛੑ͸ҟͳΓݸผͷִ཭ɾੑೳཁ͕݅ଘࡏ • طଘख๏ɿ࠷΋ݫ֨ͳཁ݅ͷϦιʔεʹ߹Θͤͯ શϦιʔεΛ୯Ұख๏Ͱִ཭

    - ݸผͷཁ݅Λຬͨ͢ͷ͕೉͘͠ɺཁ݅Ҏ্ͷִ཭͕ΦʔόϔουͷཁҼ • 4BOECPY5BJMPSJOHͷར఺ - ಛఆͷϦιʔεΛूதతʹִ཭͢Δख๏Λ૊Έ߹Θͤɼ ଞͷϦιʔεʹ༩͑ΔΦʔόϔουΛ࡟ݮ - Ϧιʔεຖʹִ཭ɾੑೳɾߴ଎ͳىಈͷόϥϯεΛઃఆՄೳ ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ֤Ϧιʔεʹ ࠷దͳִ཭ख๏Λ૊Έ߹ΘͤͯαϯυϘοΫεΛߏ੒ 4BOECPY5BJMPSJOH ίϯςφ ख๏" ख๏# ख๏$ ख๏$ طଘͷαϯυϘοΫεख๏ ίϯςφ ୯Ұͷִ཭ख๏ FH Ծ૝Ϛγϯ 
  7.   म࢜࿦จ6$$࿦จͷείʔϓ • Ϋϥ΢υαʔϏεͱ࣮ߦ͞ΕΔΞϓϦέʔγϣϯಛੑʹண໨ - ωοτϫʔΫϦΫΤετΛτϦΨʔʹͨ͠ ίϯςφىಈऴྃɾεέʔϧΞ΢τΠϯ - ωοτϫʔΫΠϯςϯγϒͳΞϓϦέʔγϣϯͷ࣮ߦ

    • ωοτϫʔΫΛհͯ͠ίϯϙʔωϯτؒͷ௨৴Λߦ͏ ϚΠΫϩαʔϏεΞʔΩςΫνϟ ίϯςφϕʔε1BB4'BB4ʹ͓͚Δ4BOECPY5BJMPSJOHʹ޲͚ͨ ूதܕωοτϫʔΫִ཭ख๏ͷ࣮ݱ ίϯϙʔωϯτ " ίϯϙʔωϯτ # ίϯϙʔωϯτ $ %# ίϯϙʔωϯτ $` ࣌ܥྻ ίϯςφϕʔε1BB4'BB4Ϋϥ΢υ ίϯςφ ʢऴྃঢ়ଶʣ ίϯςφ ίϯςφ ʢऴྃʣ ωοτϫʔΫ ϦΫΤετ ίϯςφ εέʔϧΞ΢τ εέʔϧΠϯΞ΢τ 
  8.   ωοτϫʔΫִ཭ཁ݅ .4IBISBE FUBM4FSWFSMFTTJOUIF8JME$IBSBDUFSJ[JOHBOE0QUJNJ[JOHUIF4FSWFSMFTT8PSLMPBEBUB-BSHF$MPVE1SPWJEFS64&/*9"OOVBM5FDIOJDBM$POGFSFODF 64&/*9"5$ 64&/*9"TTPDJBUJPO r 5:VFUBM$IBSBDUFSJ[JOH4FSWFSMFTT1MBUGPSNTXJUI4FSWFSMFTTCFODI*O1SPDFFEJOHTPGUIFUI"$.4ZNQPTJVNPO$MPVE$PNQVUJOH 4P$$

    ` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r ཁ݅ɽِ଄͞Εͨύέοτͷݕग़ • ଞίϯςφ͕ૹ৴ݩͷِ૷͞ΕͨύέοτΛड৴ͤͣ தؒऀ߈ܸ΍%P4ɺΞΫηε੍ޚͷಥഁΛ๷ࢭ ཁ݅ɽωοτϫʔΫִ཭ϙϦγͷڧ੍ • ѱҙͷ͋ΔίϯςφʹΑΔݖݶঢ֨ͳͲΛ༻͍ͨ04্ͷϙϦγมߋΛ๷ࢭ ཁ݅ɽߴ଎ͳىಈͱΞϓϦέʔγϣϯੑೳͷҡ࣋ • 1BB4'BB4ίϯςφ͸୹໋ͳੑ࣭Λ࣋ͭ - සൟʹىಈͱऴྃΛ܁Γฦ͢ - ଟ͘ͷ'BB4ίϯςφͷ࣮ߦ࣌ؒ͸ඵҎ಺Ͱ͋Γ ɺ ىಈʹ͔͔Δ࣌ؒͱωοτϫʔΫॲཧ͕ॲཧͷେ൒Λࢧ഑
  9.   • 1BDLFU7FSJGJFSِ଄͞Εͨύέοτ͔ݕࠪ • 4VCBDP3PVUFSωοτϫʔΫִ཭Λ 04ΑΓԼͷϨΠϠͰڧ੍ • #JU7JTPS಺ʹ࣮૷ •

    ఏڙ͢ΔԾ૝/*$͸WJSUJPOFU/*$Λ࢖༻ - 7.ɾίϯςφ໰Θͣ޿͘ར༻ - ༷ʑͳख๏ͱ૊Έ߹ΘͤΔ͜ͱ͕༰қ • 4FDVSFBOE6OXFJHIUFE#PPU"CMF$0OUBJOFS ໋໊ɿদݪઌੜ ωοτϫʔΫִ཭ػೳΛڧ੍͢Δ Ծ૝/*$Λίϯςφʹఏڙ 4VCBDP 04 Ծ૝/*$ ίϯςφ ίϯςφ Ծ૝/*$ 1BDLFU 7FSJGJFS 1BDLFU 7FSJGJFS طଘͷִ཭ख๏ 4VCBDP3PVUFS ෺ཧ/*$ 4VCBDPɿ 4BOECPY5BJMPSJOHͷͨΊͷωοτϫʔΫִ཭ίϯϙʔωϯτ
  10.   04Χʔωϧ ѱҙͷ͋Δِ଄͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈  ߴ଎ಛఆϞʔυɿύέοτϔομͷِ଄Λݕग़ • ίϯςφʹׂΓ౰ͯͨ/*$ͷ৘ใͱ*1."$ΞυϨεͱରԠ෇͚ •

    ύέοτૹ৴ݩ/*$ͷ৘ใʹରԠ෇͚ΒΕͨΞυϨεͱ ύέοτϔομͷૹ৴ݩΞυϨεΛൺֱ - Ұக͠ͳ͍৔߹͸ɺِ଄͞Εͨύέοτͱͯ͠ഁغ • ϥϯλΠϜ͸*1ΞυϨεΛ 4VCBDP͔Βऔಘͯ͠ίϯςφʹઃఆ - /*$ʹઃఆ͢ΔΞυϨεͱ 4VCBDP಺Ͱ/*$ʹରԠ෇͚ΒΕͨ*1."$ΞυϨε৘ใΛҰகͤ͞ΔͨΊ • 4VCBDP಺ͷ৘ใ͚ͩΛ༻͍ΔͨΊߴ଎ͳಛఆ͕Մೳ 1BDLFU7FSJGJFSɿ Ͳͷίϯςφ͕ύέοτΛૹ৴͔ͨ͠ಛఆ ίϯςφ ίϯςφ ϥϯλΠϜ 4VCBDP W/*$ 1BDLFU 7FSJGJFS /*$ΞυϨε ରԠ৘ใ ෺ཧ /*$ ِ଄͞Εͨ ύέοτ *1ΞυϨε औಘ *1ΞυϨεઃఆ ಛఆॲཧ
  11.   ਫ਼ີಛఆϞʔυɿଞίϯςφͷ/*$Λѱ༻ͨ͠ૹ৴Λݕग़ • ߴ଎ಛఆϞʔυͷಛఆ಺༰ʹՃ͑ͯɺ ύέοτૹ৴ݩίϯςφͷϓϩηεΛಛఆ • ίϯςφ͕ύέοτΛૹ৴ͨ͠ࡍʹɼ 04͕؅ཧ͍ͯ͠Δϓϩηε؅ཧ৘ใΛ୳ࡧ •

    ύέοτ͕ૹ৴͞ΕΔ౓ʹ04ͷσʔλߏ଄Λ୳ࡧ͢ΔͨΊ ੑೳ͕௿Լ͢Δ͕ɺૹ৴ݩίϯςφΛਖ਼֬ʹಛఆՄೳ ѱҙͷ͋Δِ଄͞Εͨύέοτͷݕग़ ཁ݅ʹؔ࿈  04Χʔωϧ ίϯςφ ίϯςφ ϥϯλΠϜ 4VCBDP W/*$ 1BDLFU 7FSJGJFS /*$ΞυϨε ରԠ৘ใ ෺ཧ /*$
  12.   ωοτϫʔΫִ཭ϙϦγͷڧ੍ ཁ݅ʹؔ࿈ • 04্ͷωοτϫʔΫִ཭ϙϦγ͕վม͞Εͯ΋ִ཭Λҡ࣋ • Ϣʔβ΍ϩʔϧͳͲΛϥϕϧϕʔεͷϙϦγʹهड़ - ϥϕϧϚονϧʔϧʹج͍ͮͯ௨৴ͷڐՄɾෆڐՄΛܾఆ

    • ڐՄ͞Ε͍ͯͳ͍Ѽઌ΁ͷ௨৴ͷ৔߹ɺ-ϨΠϠͰ௨৴Λڋ൱ - ίϯςφͱ֎෦ͷ௨৴͸ϙϦγͰ໌ࣔతʹڐՄ͢Δඞཁ • 4VCBDP$POUSPMMFSϙϦγΛϦϞʔτͰ؅ཧ - ࡞੒͞ΕͨίϯςφͷϙϦγΛ4VCBDP3PVUFSʹఏڙ - ίϯςφΛϗετ͢Δ04͔Β௚઀ϙϦγΛઃఆ͠ͳ͍͜ͱͰɺ 4VCBDPʹର͢Δ߈ܸΛ๷ࢭ ϋΠύʔόΠβͰ ϧʔςΟϯάͱΞΫηε੍ޚΛ࣮ࢪ 4VCBDP$POUSPMMFS 4VCBDP ίϯςφ$ W/*$ 4VCBDP3PVUFS ෺ཧ/*$ ίϯςφ# W/*$ ίϯςφ" W/*$ 04 QPMJDJFT  $POUBJOFS"  MBCFMVTFS"  $POUBJOFS#  MBCFMVTFS"  FYQPTFUSVF MBCFMT  VTFS" SVMFNBUDI ؅ཧ༻/*$
  13.   ߴ଎ͳىಈͱΞϓϦέʔγϣϯੑೳͷҡ࣋ ཁ݅ʹؔ࿈ 54IJOBHBXBFUBM#JU7JTPS"5IJO)ZQFSWJTPSGPS&OGPSDJOHJP%FWJDF4FDVSJUZ *O1SPDFFEJOHTPGUIF"$.4*(1-"/4*(014*OUFSOBUJPOBM$POGFSFODFPO7JSUVBM&YFDVUJPO&OWJSPONFOUT 7&&` "TTPDJBUJPOGPS$PNQVUJOH.BDIJOFSZ r ४ύεεϧʔܕϋΠύʔόΠβ#JU7JTPS

    • Πϯλʔηϓτ͢ΔσόΠεΛબ୒Մೳ - Ծ૝ԽͱΠϯλʔηϓτͷΦʔόϔουΛड͚ΔσόΠεΛݶఆ • ϋΠύʔόΠβͷϦιʔεফඅΛ࡟ݮ ४ύεεϧʔܕϋΠύʔόΠβͷ׆༻ • ίϯςφωοτϫʔΫͷִ཭ͱ੍ޚʹूத • ଞͷϦιʔεʹ༩͑ΔӨڹΛ࡟ݮ 4VCBDP͸ ωοτϫʔΫ*0ͷΈΛΠϯλʔηϓτ 4VCBDP 04 ίϯςφ W/*$ 4VCBDP 3PVUFS ࣮/*$ ଞͷσόΠε FH ετϨʔδ Ծ૝Խ͞Ε͍ͯͳ͍ ࣮σόΠεΛ࢖༻ #JU7JTPSେ׆༂ʂʂʂ
  14.   Packet size(byte) Throughput (Gbps) 0 1 2 3

    4 64 128 256 512 1024 1472 runC gVisor Kata-QEMU Kata-FC Subaco ִ཭ख๏ ىಈʹ͔͔Δ࣌ؒ ඵ SVO$  H7JTPS  ,BUBRFNV  ,BUB'$  4VCBDP  ධՁɿωοτϫʔΫεϧʔϓοτɾىಈʹ͔͔Δ࣌ؒ 9.22 9.22 9.12 9.2 9.22 9.22 9.22 9.22 9.23 9.22 Throughput (Gbps) 0 2 4 6 8 10 runC (Tx) runC (R x) gVisor(Tx) gVisor(R x) Kata-Q EM U (TX) Kata-Q EM U (R X) Kata-FC (Tx) kata-FC (R x) Subaco(Tx) Subaco(R x) 6%1εϧʔϓοτ 5$1εϧʔϓοτ
  15.   ධՁɿΞϓϦέʔγϣϯੑೳ Number of connections Throughput x1000 (req/sec) 0

    50 100 150 200 0 512 1024 1536 2048 runC gVisor Kata-QEMU Kata-FC Subaco Number of connections Throughput (req/sec) 0 25000 50000 75000 0 200 400 600 800 1000 runC gVisor Kata-QEMU Kata-FC Subaco • ྆ΞϓϦέʔγϣϯͷੑೳɿ 4VCBDP,BUBRFNV ,BUB'$H7JTPS 4VCBDP͸ɺωοτϫʔΫִ཭ΛΑΓݎ࿚ʹ͠ͳ͕Β΋ αϯυϘοΫεͷద༻ൣғΛௐ੔ͯ͠ΞϓϦέʔγϣϯੑೳ΁ͷӨڹΛܰݮ /HJOY .FNDBDIFE Y Y Y Y
  16.   ηΩϡϦςΟධՁ 'MBOOFM 0QFOW4XJUDI $BMJDP $JMJVN 4VCBDP SVO$ αϯυϘοΫε

    SVO$ αϯυϘοΫε SVO$ αϯυϘοΫε SVO$ αϯυϘοΫε - ✕ ✕ ˚ ˚ 㾎 㾎 㾎 㾎 㾎 -- ✕ ✕ ˚ ˚ ✕ ✕ 㾎 㾎 㾎 /FUXPSL 1PMJDJFT ✕ 㾎 ✕ 㾎 ✕ 㾎 ✕ 㾎 㾎 • -ͱ-Λର৅ͱِͨ͠଄͞ΕͨύέοτʹΑΔ߈ܸΛ๷ࢭ - 1BDLFU7FSJGJFS͸-ͱ-Λର৅ͱِͨ͠଄͞ΕͨύέοτΛݕग़ • ωοτϫʔΫִ཭ϙϦγʹର͢Δ߈ܸΛ๷ࢭ - ϋΠύʔόΠβͰϧʔςΟϯάͱΞΫηε੍ޚΛڧ੍ +BFIZVO /BNFUBM#"45*0/"4FDVSJUZ&OGPSDFNFOU/FUXPSL4UBDLGPS$POUBJOFS/FUXPSLT64&/*9"OOVBM5FDIOJDBM$POGFSFODF 64&/*9"5$ 64&/*9"TTPDJBUJPO r
  17.  ࣮૷ͷ͸ͳ͠

  18.   WJSUJPOFU/*$ͷεέʔϧ ϞνϕʔγϣϯɿίϯςφΛ࢖༻ͨ͠Ϋϥ΢υαʔϏε͸ ୆ͷϚγϯ্Ͱ਺ඦͷίϯςφΛ࣮ߦ͢Δ • 4VCBDPͰ࡞੒Ͱ͖Δ/*$਺ʹಉ࣮࣌ߦՄೳͳίϯςφ਺্ݶ #JU7JTPSɿ࣮σόΠεͱԾ૝σόΠε͸جຊతʹ͸ର • ຊདྷ͸Ծ૝σόΠεΛେྔʹੜ΍͢࢖͍ํʹ͸ෆ޲͖ʁ

    • ೥ʹԾ૝1$*σόΠεʢԾ૝WJSUJPOFUʣରԠ͕ೖͬͨ - ࣮σόΠεͱ͸ແؔ܎ͷԾ૝σόΠεΛੜ΍ͤΔ • ଔݚ͕೥౓ͩͬͨͷͰ࠷ߴͷλΠϛϯάʂ ᒇᒜ ӳथ#JU7JTPS ೥ͷओͳมߋ఺ #JU7JTPS 4VNNJU IUUQTXXXTMJEFTIBSFOFUCJUWJTPSCJUWJTPSTVNNJUCJUWJTPS "DDFTTFEPO 
  19.   Ͳ͜·Ͱεέʔϧ͢Δ͔ʁ ݸఔ౓Ͱݶք͕དྷΔ • 1BOJDͯ͠ࢮ͵ • *0)BOEMFSͷσΟεΫϦϓλͷ্ݶ͕ݸ ˠ্ݶΛ૿΍ͯ͠ରॲ ݸ͙Β͍·Ͱεέʔϧ͢Δ

    • ؀ڥґଘ • Ծ૝1$*σόΠε͸1$*όε൪ͷۭ͖σόΠε൪߸Λ࢖༻ͯ͠࡞੒͞ΕΔ • ෳ਺ݸ࡞੒͞ΕΔͱɺۭ͖σόΠε൪߸ҎԼͷϑΝϯΫγϣϯ
  20.   思ったよりスケールしない…

  21.   ͞Βʹεέʔϧͤ͞ΔͨΊʹ ࣮σόΠεͷ࢖ΘΕ͍ͯͳ͍ϑΝϯΫγϣϯ͕͋Δ • )PTU#SJEHF΍༷ʑͳίϯτϩʔϥ • ΋ͬͨͳ͍ͷͰഈआ͍ͨ͠ ࣮σόΠεʹԾ૝WJSUJPOFU/*$Λدੜͤ͞Δ •

    ࡞੒࣌ʹ࣮σόΠεͷະ࢖༻ϑΝϯΫγϣϯΛ࢖༻͢ΔΑ͏मਖ਼ • 1$*$POGJHVSBUJPO4QBDF΁ͷΞΫηεͷϋϯυϥΛमਖ਼ - دੜ͞Ε࣮ͨσόΠεΛԾ૝σόΠεͱͯ͠ೝࣝͯ͠͠·͍ɺ ࣮σόΠε΁ͷશΞΫηε͕Ծ૝σόΠεଆʹٵΘΕͯ04͕ىಈ͠ͳ͍ - ࢖༻ϑΝϯΫγϣϯ൪߸ͷ৘ใΛอ࣋͠ɺ ࣮σόΠε͔Ծ૝σόΠεͲͪΒ΁ͷΞΫηε͔൑ผ͢Δͱ͖ʹ ϑΝϯΫγϣϯΛߟྀ͢ΔΑ͏ʹมߋ • ݸ͘Β͍·Ͱ૿͑ͨ ϝϞϦ $16 ϗετϒϦοδ /*$ /*$ /*$ σόΠε /*$ /*$ /*$ /*$
  22.   ࣮σόΠεʹدੜ͢ΔԾ૝WJSUJPOFU/*$ 実デバイス番号の使われていないファンクションがある

  23.   Ծ૝WJSUJPOFU/*$͸ϩάग़ྗ΍5$1*1ελοΫར༻͕ϝΠϯ • ࣮/*$Λհͨ͠֎෦ͱͷ௨৴΍Ծ૝WJSUJPOFU/*$ؒͰ௨৴͢Δʹ͸ػೳ͕ෆ଍ Ծ૝WJSUJPOFU/*$͔Β֎෦΁ͷ௨৴ • #JU7JTPSͷωοτϫʔΫυϥΠό - 7JSUJPOFUଆɿήετόοϑΝͱதؒόοϑΝؒ

    - ࣮σόΠευϥΠόଆɿதؒόοϑΝɾγϟυ΢ؒ - Ծ૝1$*σόΠευϥΠόɿதؒόοϑΝ͔Βઌ͕ͳ͍ • Ծ૝1$*σόΠευϥΠό͔Β ࣮σόΠευϥΠόͷγϟυ΢ʹίϐʔ͢ΔΑ͏ʹվม WJSUJPOFU/*$ ήετ όοϑΝ Ծ૝WJSUJPOFU/*$ ήετ όοϑΝ ࣮/*$ Ծ૝1$*σόΠ ε γϟυ΢ όοϑΝ தؒόοϑΝ தؒόοϑΝ -ϧʔςΟϯάͷ࣮ݱ 
  24.   ֎෦͔ΒԾ૝WJSUJPOFU/*$Ծ૝WJSUJPOFU/*$ؒ௨৴ • Ծ૝WJSUJPOFU/*$ͷ."$ΞυϨεͷमਖ਼ - ݻఆ͔Β Ϛγϯ಺ͰϢχʔΫͳϩʔΧϧΞυϨεʹมߋ • ."$ΞυϨεͱWJSUJPOFUͷߏ଄ମ΁ͷ

    ϙΠϯλͷςʔϒϧ - &UIFSOFUϑϨʔϜͷѼઌ."$ΞυϨε͔Β ͲͷԾ૝WJSUJPOFU/*$ͷWJSURVFVFʹసૹ͢Δ͔ܾఆ • ࣮/*$ͷϓϩϛεΩϟεϞʔυ༗ޮԽ - Ծ૝WJSUJPOFU/*$ѼͷϑϨʔϜΛड৴͢ΔͨΊ WJSUJPOFU/*$ ήετ όοϑΝ Ծ૝WJSUJPOFU/*$ ήετ όοϑΝ ࣮/*$ ϓϩϛεΩϟε Ծ૝1$*σόΠε γϟυ΢ όοϑΝ தؒόοϑΝ தؒόοϑΝ Ծ૝WJSUJPOFU/*$ ήετ όοϑΝ Ծ૝1$*σόΠε தؒόοϑΝ Ծ૝WJSUJPOFU/*$ ήετ όοϑΝ Ծ૝1$*σόΠε தؒόοϑΝ Ծ૝WJSUJPOFU/*$ ήετ όοϑΝ Ծ૝1$*σόΠε தؒόοϑΝ -ϧʔςΟϯάͷ࣮ݱ 
  25.   *0ൃߦݩίϯςφ ϓϩηε ͷಛఆ 7.&YJU࣌ʹऔಘͰ͖ΔήετͷϨδελ৘ใ͔Β[email protected]Λݟ͚ͭΔ • 341ʹ֨ೲ͞Ε͍ͯΔ ΧʔωϧελοΫͷϙΠϯλΛ࢖༻ -

    ετϨʔτϚοϓ͞Ε͍ͯΔྖҬͷԾ૝ΞυϨε • Ծ૝ΞυϨε͔Β෺ཧΞυϨε΁ͷม׵ - [email protected]@QIZTΛҠ২ • ελοΫϙΠϯλͷΞυϨε͔Β [email protected]Λಛఆ - 1*%1(*%ɾ-JOVY/BNFTQBDFͷJOPEF൪߸Λऔಘ - ίϯςφϥϯλΠϜ͔Β औಘͨ͠৘ใͱಥ͖߹ΘͤΔ Ϣʔβۭؒ Χʔωϧۭؒ ෺ཧ ΞυϨε YGGGGGGGGGGG Y YGGGG YGGGGD 341 [email protected]
  26.   *0ൃߦݩίϯςφͷಛఆػೳͷ੍໿  ಈ࡞͢Δ-JOVYΧʔωϧͷόʔδϣϯ΍σΟετϦϏϡʔγϣϯʹڧ͘ґଘ • [email protected]ͷߏ଄͕มΘΔͱऴΘΔ - 3FE)BUܥʹ͸[email protected]಺ʹ3)@,"#*@3&4&37&ͱ͍͏༧໿ྖҬ͕͋Δ -

    ։ൃ࣌ʹ$FOU04Λ࢖༻͍ͯͯ͠ɺ༧໿ྖҬͷݟམͱ͠Ͱ͔ͳΓ࣌ؒΛ༹͔ͨ͠ - όχϥΧʔωϧͷιʔείʔυ͚ͩͰ͸ͳ͘ɺσΟετϦϏϡʔγϣϯ΋ߟྀ͢Δඞཁ • [email protected]಺ʹ[email protected]΁ͷϙΠϯλ͕͋ΔΧʔωϧͷόʔδϣϯ͡Όͳ͍ͱಈ࡞͠ͳ͍ - [email protected]ͱΧʔωϧελοΫ͸VOJPOͳͨΊɺΧʔωϧελοΫͷαΠζ͔Β ઌ಄ΞυϨεΛࢉग़ͯ͠[email protected]Λऔಘ͠ɺ͔ͦ͜Β[email protected]ʹ౸ୡͰ͖Δ - [email protected]ɺελοΫϙΠϯλ͔Β[email protected]Λ୧ͬͯѱ͍͜ͱΛ͢Δෆಧ͖ऀ͕͍ΔͨΊɺফ໓ - ҎલͷΧʔωϧ͕ඞཁ • MJC7.*ͳͲΛ࢖͏΂͖ͩͬͨʁ - ଔ࿦ʹؒʹ߹ΘͤΔͨΊʹŚŘźŕͱ࣮૷ͨ͠ͷͰɺ࡞Γ௚͢ͳΒ7.*ܥͷπʔϧΛ׆༻͍ͨ͠
  27.   *0ൃߦݩίϯςφͷಛఆػೳͷ੍໿  ,"4-3͕͋Δͱ͏·͘͏͔͝ͳ͍ • Ծ૝ΞυϨε͔Β෺ཧΞυϨε΁ͷม׵͕೉͘͠ͳΔ • Կ͔͍͍ํ๏͕͋Ε͹ڭ͑ͯԼ͍͞ ύϑΥʔϚϯε͕௿Լ͢Δ

    • ύέοτ͕ૹ৴͞Εͯ7.&YJU͢ΔͨͼʹϓϩηεͷಛఆॲཧΛ࣮ߦ • [email protected]ͳͲͷΧʔωϧ಺ͷߏ଄ମΛ#JU7JTPSͰෳ਺ճϚοϐϯά͢Δඞཁ • (C&Ͱεϧʔϓοτ͕໿ˋ͘Β͍௿Լͨ͠
  28.   ؆қɾߴ଎ͳίϯςφૹ৴ݩίϯςφಛఆ ίϯςφ΁ͷ/*$ׂΓ౰ͯ࣌ʹɺ/*$ͷ1$*όεɾσόΠεɾϑΝϯΫγϣϯ൪߸ͱ ."$ΞυϨεɾ*1ΞυϨεΛରԠ෇͚ • ѱҙͷ͋Δίϯςφ͔Βૹ৴͞Εͨ ૹ৴ݩΞυϨεِ͕଄͞ΕͨύέοτΛݕग़ • ύέοτͱσόΠε΁ͷΞΫηε৘ใ͚ͩͰ׬݁͢ΔͨΊ

    7.&YJU࣌ʹ௥Ճͷ৘ใऔಘ͕ෆཁ - ύϑΥʔϚϯεྼԽ͕΄΅ͳ͍
  29.  ݚڀͷཪ࿩ɾܦҢʢ͕࣌ؒ͋Ε͹ʣ

  30.   ݚڀͷ͖͔͚ͬ # ίϯςφͱ#JU7JTPSΛ૊Έ߹ΘͤͯԿ͔Λ͔ͨͬͨ͠ʢϘτϜΞοϓతʣ • #ͷ࣌ʹ#JU7JTPS΁ͷNSVCZͷҠ২Λ΍͍ͬͯͯ਌͠Έ ͕͋ͬͨ • #JU7JTPS

    ίϯςφ୭΋΍ͬͯͳ͍͓͠΋͠Ζͦ͏ ,BUB$POUBJOFSͱH7JTPSͷதؒΛૂ͏ίϯςφΛ࡞Δ • 04ΧʔωϧΛڞ༗ͨ͠··ͲΕ͚ͩίϯςφִؒ཭ΛڧԽͰ͖Δ͔ʁ • #JU7JTPSΛ׆༻ͯ͠ίϯςφؒͰڞ༗͢ΔϦιʔε΍σόΠεʹରͯ͠ Կ͔͠ΒͷΞΫηε੍ޚΛڧ੍ • ಛఆͷϦιʔε΍σόΠεʹಛԽͯ͠ੑೳ໘Ͱύϥύεεϧʔͷྑ͞ΛڗडͰ͖ͳ͍͔
  31.   ͳͥ#JU7JTPSͰωοτϫʔΫִ཭ͳͷ͔ • ϑΝΠϧ͸04ͷந৅ԽΛอͬͨ··੍ޚ͢Δͷ͕೉͍͠ • ϝϞϦ͸&15Ͱ΍͍ͬͯΔઌߦݚڀ͕͋ͬͨ • -JOVY$BQBCJMJUZΛ༻͍ͯίϯςφʹݖݶΛ෇༩ͨ͠৔߹ɺ ωοτϫʔΫपΓͷݖݶ෼ׂͷཻ౓͕ߥ͔ͬͨ

    - ౰࣌͸QJOHΛ࣮ߦ͢Δʹ͸$"[email protected]/&[email protected]"8͕ඞཁͰɺ ෇༩͢Δͱ"31εϓʔϑΟϯάͰ͖ͯ͠·͏ͱ͍ͬͨ͜ͱ͕͋ͬͨ - #JU7JTPSΛ࢖ͬͯίϯςφʹ෇༩͢ΔݖݶΛ'JOF(SBJOFEʹͰ͖ͳ͍͔ʁ • ѱҙͷ͋ΔίϯςφʹΑΔ"31εϓʔϑΟϯάͳͲΛ๷͙ͱ͍͏಺༰ͷଔ࿦ +JYJOH (V $IVOZBO -JV4FDVSF$POUBJOFST8JUI&15*TPMBUJPO -JOVY$PO $POUBJOFS$PO $MPVE0QFO $IJOB IUUQTXXXTMJEFTIBSFOFU-$$IJOBTFDVSFDPOUBJOFSTXJUIFQUJTPMBUJPO "DDFTTFEPO 
  32.   ํ޲ੑͷస׵ . #JU7JTPSΛ࢖ͬͯωοτϫʔΫ͚ͩΛݎ࿚ʹ͢Δྑ͞Λ͖ࣔ͠Εͳ͔ͬͨ ഊ • -JOVY$BQBCJMJUZ͸ωοτϫʔΫҎ֎΋'JOF(SBJOFEͱ͸ݴ͑ͳ͍ • ͦΕ͸εΠον΍ϧʔλͷ࢓ࣄͰ͸ʁ

    • ηϚϯςΟοΫΪϟοϓղফͷͨΊͷίϯςφಛఆػೳͰ ωοτϫʔΫੑೳ͕େ෯ʹ௿Լ͢Δ͕ɺϋΠύʔόΠβͰ΍Δҙٛ͸Կ͔ʁ #JU7JTPSͰίϯςφωοτϫʔΫͷσʔλύε࠷దԽ • WFUI΍ϒϦοδͳͲΛ࢖༻͢ΔͨΊɺσʔλύε͕௕͘ɺίϯςΩετεΠον͕૿Ճ • #JU7JTPSͰίϯςφԾ૝43*07Έ͍ͨʹͯ͠ɺγϯϓϧͳߏ੒ʹͳͬͯੑೳ͕޲্͠ͳ͍͔ʁ • ಛʹมΘΓ·ͤΜͰͨ͠ ഊ - WFUI΍ϒϦοδʹΑΔΦʔόϔουΛ࡟ݮͯ͠΋ɺ ϋΠύʔόΠβͷΦʔόϔουͰ݁ہมΘΒͳ͍
  33.   ֶ෦ͷ಺༰ʹ໭Δ . ݪ఺ճؼͯ͠ݎ࿚ͳωοτϫʔΫִ཭ͰݚڀͷཱͪҐஔΛ࠶ݕ౼ • 04ΑΓԼͰσόΠε৘ใͱ૊Έ߹ΘͤͨϙϦγͷڧ੍΍ѱҙͷ͋Δύέοτͷݕग़ - Ϛγϯ֎ͷεΠον΍ϧʔλͩͱɺύέοτϔομ಺ͷ৘ใҎ֎ͷίϯςΩετ͕૕ࣦ -

    ݎ࿚ͳִ཭ͱ*0ؔ࿈ʢؤுΕ͹ήετ04ʣίϯςΩετͷཱ͕྆ϋΠύʔόΠβͰ΍Δྑ͞ - ͱ͸͍͑ɺηϚϯςΟοΫΪϟοϓΛ৐Γӽ͑Δͷ͸େม - "14ZTͱ͍͏ࠃࡍձٞʹ౤ߘɿ3FKFDU 8FBL3FKFDUºɺ8FBL"DDFQUº • ωοτϫʔΫ͚ͩݎ࿚ʹ͢Δҙຯ͕෼͔ΒΜͱ͍ΘΕͯഊ๺ • 4BOECPY5BJMPSJOHͱ͍͏ίϯηϓτ - ΞϓϦέʔγϣϯಛੑʹ߹Θͤͯɺ ύϥύεεϧʔͰಛఆϦιʔεಛԽͷݎ࿚ͳִ཭Λ࣮ݱ͠ɺଞͷख๏ͱ૊Έ߹ΘͤΔ • #͔ΒݟΔͱឯ༨ۂં͕͋ͬͨɺͱΓ͋͑ͣண஍ʜ - 6$$ɿ"DDFQU "DDFQUºɺ8FBL"DDFQUɺ#PSEFS
  34.   ·ͱΊ 4VCBDPɿ#JU7JTPSΛ׆༻ͨ͠ίϯςφωοτϫʔΫִ཭ػߏ • Ծ૝WJSUJPOFU/*$Λίϯςφʹఏڙ • ѱҙͷ͋Δύέοτͷݕग़΍ΞΫηε੍ޚͷڧ੍ ࠓޙͷ༧ఆ •

    ӳޠδϟʔφϧԽ ΍Γ͔͚ͨͬͨͲ࣌ؒͷ౎߹ͰͰ͖ͳ͔ͬͨ͜ͱ • #JU7JTPS૊ΈࠐΈͷNSVCZΛ༻͍ͨಈతͳ੍ޚ • ෳ਺Ϛγϯ؀ڥͰͷίϯςφωοτϫʔΫ - ݱঢ়͸୯ҰϚγϯલఏͷߏ੒ - #JU7JTPSͰ79-"/ʁ#(1ʁ