<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet href="http://rss.egloos.com/style/blog.xsl" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>견우의 블로그</title>
	<link>http://cjhnim.egloos.com</link>
	<description>...다시 시작해봅니다....</description>
	<language>ko</language>
	<pubDate>Sat, 18 Oct 2008 09:43:11 GMT</pubDate>
	<generator>Egloos</generator>
	<image>
		<title>견우의 블로그</title>
		<url>http://pds7.egloos.com/logo/200806/04/67/b0001167.jpg</url>
		<link>http://cjhnim.egloos.com</link>
		<width>80</width>
		<height>107</height>
		<description>...다시 시작해봅니다....</description>
	</image>
  	<item>
		<title><![CDATA[ 무당벌레 ]]> </title>
		<link>http://cjhnim.egloos.com/3946811</link>
		<guid>http://cjhnim.egloos.com/3946811</guid>
		<description>
			<![CDATA[ 
  오늘 대학원 논문발표회가 있었습니다.<br>이제 저도 앞으로 1년후엔 저자리에서 발표를 해야하는데<br>지금까지 준비하나도 한 것이 없음을 절로 느끼는 자리였지요.!!!<br>....<br>한번 할꺼면 좀 멋지게 논문을 쓰고 싶은데 방법은 없을까요?....<br>....<br><br>아래사진은 오늘 자전거 타다가<br>우연히 찍은 무당벌레입니다. 햇살이 따뜻해서<br>밖에서 운동하기 참좋네요... <br>기분도 절로 좋아지고요...<br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/18/67/b0001167_48f9af303140e.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/18/67/b0001167_48f9af303140e.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/18/67/b0001167_48f9af31133c0.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/18/67/b0001167_48f9af31133c0.jpg');" /></div>			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3946811#comments</comments>
		<pubDate>Sat, 18 Oct 2008 09:43:11 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 불꽃축제 ]]> </title>
		<link>http://cjhnim.egloos.com/3938176</link>
		<guid>http://cjhnim.egloos.com/3938176</guid>
		<description>
			<![CDATA[ 
  올해가 아닙니다... 작년입니다.. <br>크롭하니까... 나름 괜찮네요~<br><br>내 인생도 펑펑 불꽃처럼 살면 좋겠습니다.!<div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b9173c538.jpg" width="500" height="398.125" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b9173c538.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b91825206.jpg" width="500" height="400.625" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b91825206.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b9198dc78.jpg" width="500" height="399.375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b9198dc78.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b91bae9c6.jpg" width="500" height="399.375" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b91bae9c6.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b91d5c804.jpg" width="500" height="399.375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b91d5c804.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0b91e6e78f.jpg" width="500" height="396.875" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0b91e6e78f.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b920a2294.jpg" width="500" height="402.5" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0b920a2294.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b9218bd2e.jpg" width="500" height="399.375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0b9218bd2e.jpg');" /></div>			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3938176#comments</comments>
		<pubDate>Sat, 11 Oct 2008 14:33:15 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 제주도 러브랜드... ]]> </title>
		<link>http://cjhnim.egloos.com/3938108</link>
		<guid>http://cjhnim.egloos.com/3938108</guid>
		<description>
			<![CDATA[ 
  작년이맘때쯤.... <br>여행마지막날이 되서야 겨울 맑은 하늘을 볼 수 있었지...<br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0afee3159b.jpg" width="500" height="259.375" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0afee3159b.jpg');" /></div><br>			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3938108#comments</comments>
		<pubDate>Sat, 11 Oct 2008 13:54:17 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 제부도... ]]> </title>
		<link>http://cjhnim.egloos.com/3938050</link>
		<guid>http://cjhnim.egloos.com/3938050</guid>
		<description>
			<![CDATA[ 
  1년후에 다시 온 제부도...<br>사람은 사라지고...<br>흙만 남았구나....<br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a82ae80f8.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a82ae80f8.jpg');" /></div>			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3938050#comments</comments>
		<pubDate>Sat, 11 Oct 2008 13:21:23 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 가을하이킹.... ]]> </title>
		<link>http://cjhnim.egloos.com/3938029</link>
		<guid>http://cjhnim.egloos.com/3938029</guid>
		<description>
			<![CDATA[ 
  따뜻한 가을 햇살<br>진하게 물든 가을길<br>.............<br>의외로 우리가 사는 곳은 아름답다....<br>다만 이를 느끼지 못하는 차가운 가슴만 존재할뿐.<br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a51543611.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a51543611.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a516eaec1.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a516eaec1.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a5183dec9.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a5183dec9.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a51994406.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a51994406.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a51aee3f1.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a51aee3f1.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a51c98db4.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a51c98db4.jpg');" /></div>			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3938029#comments</comments>
		<pubDate>Sat, 11 Oct 2008 13:10:35 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 중랑천 가을길 ]]> </title>
		<link>http://cjhnim.egloos.com/3938014</link>
		<guid>http://cjhnim.egloos.com/3938014</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a3c7a42be.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200810/11/67/b0001167_48f0a3c7a42be.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a3c941b14.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200810/11/67/b0001167_48f0a3c941b14.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a3cb10045.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200810/11/67/b0001167_48f0a3cb10045.jpg');" /></div><br>가을이다....			 ]]> 
		</description>
		<category>PHOTO</category>

		<comments>http://cjhnim.egloos.com/3938014#comments</comments>
		<pubDate>Sat, 11 Oct 2008 13:02:23 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ Nagle's Algorithm vs Delayed ACK ]]> </title>
		<link>http://cjhnim.egloos.com/3934879</link>
		<guid>http://cjhnim.egloos.com/3934879</guid>
		<description>
			<![CDATA[ 
  <p><span style="FONT-FAMILY: Sans-Serif">Nagle's Algorithm<br><br>TCP를 통해서 패킷을 전송할 때,<br>전송한 패킷에 대한 ACK가 올 때까지<br>기다린 후 그다음 패킷을 전송하는 매커니즘을 뜻합니다.<br>이런 방법을 사용함으로써<br>ACK가 수신하기 전까지 버퍼에 쌓인 패킷들을 한번에<br>보냄으로써 전체적인 패킷 개수를 줄여 traffic을 감소시키는 목적이라고 합니다.<br><br>하지만, ACK가 올 때까지 다음 패킷 전송이 대기하기 때문에<br>응답성이 떨어지는 단점을 초래합니다. 어플리케이션에 따라서 오히려<br>이 알고리즘을 적용하지 않는 것이 도움이 되기도 합니다. 그래서<br>소켓 API를 이용해서 이를 사용하지않도록 설정 가능합니다.<br><br></span><span style="FONT-FAMILY: Sans-Serif"><strong>BOOL option = TRUE ;<br>setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &amp;option, sizeof option) ;<br><br></strong><strike>TDI단에서도 마찬가지로 설정가능합니다. 간단히<br>Flag를&nbsp; TDI_SEND_NO_RESPONSE_EXPECTED로 설정하면됩니다.<br><br><strong>TdiBuildSend(&nbsp;... , TDI_SEND_NO_RESPONSE_EXPECTED , ...) ;</strong></strike><br><br>좀더 복잡한 방법으로는<br></span><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><span style="FONT-FAMILY: Sans-Serif"><strong>IOCTL_TCP_SET_INFORMATION_EX</strong>의 IRP를 생성 시켜<br></span><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><span style="FONT-FAMILY: Sans-Serif"><strong>TCP_REQUEST_SET_INFORMATION_EX</strong>구조체의&nbsp; </span><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><span style="FONT-FAMILY: Sans-Serif">toi_id필드를 <br><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><strong>TCP_SOCKET_NODELAY</strong> 로 설정하는 방법으로도 가능합니다.<p></p></span></span><p></p></span></span></span><p><br><br><span style="FONT-FAMILY: Sans-Serif">Delayed ACK<br><br>이것은 수신측입장에서 패킷을 받았을 때 이에 대하여 바로 ACK를 주는 것이 아니라<br>시간을 좀더 기다리다가 만약 패킷 전송할 게 생긴다면 이 때 ACK를 함께 실어 두는 방식입니다.<br>(약 200ms 정도 기다린다고합니다.) 이렇게 데이터와 함께 ACK를 실어서<br>마찬가지로 효율성을 증대하기 위함이지요...<br><br></span><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px/19px 굴림; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><span style="FONT-FAMILY: Sans-Serif"><span class="Apple-converted-space">&nbsp;</span>HKEY_LOCAL_MACHINE \SYSTEM \ CurrentControlSet\</span><span class="Apple-style-span" style="WORD-SPACING: 0px; FONT: 13px/19px 굴림; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><span style="FONT-FAMILY: Sans-Serif">\Services \Tcpip \Parameters \Interfaces \{Adapter-id}\<strong>TcpAckFrequency</strong> 를 1값으로 설정하면 Delayed ACK 또한 해제할 수 있습니다만<br></span></span></span><span style="FONT-FAMILY: Sans-Serif">전역적으로 설정되는 것이라서 실제 제품에 적용하기에는 무리가 있습니다.<br><br>즉 만약 위의 2가지 알고리즘이 모두 적용되어 있다면 최악의 경우에<br>패킷을 보내고 200ms 후에 ACK가 전송되는 경우가 생길 수 있습니다.<br>즉 송신측에서는 200ms 마다 데이터가 전송되는 것이지요~.....<br>이렇게된다면, 전체적인 성능이 확 떨어지게 될 것입니다.<br>따라서, 내가 만들고자하는 어플리케이션의 용도가 무엇인지 정확하게 판단하고<br>이를 사용할 것인지 아닌지를 결정해야 할것입니다.</span></p>			 ]]> 
		</description>
		<category>WORK</category>

		<comments>http://cjhnim.egloos.com/3934879#comments</comments>
		<pubDate>Thu, 09 Oct 2008 01:17:15 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 2008.9.20 ~ 21 춘천가는 자전거 ]]> </title>
		<link>http://cjhnim.egloos.com/3913658</link>
		<guid>http://cjhnim.egloos.com/3913658</guid>
		<description>
			<![CDATA[ 
  <div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200809/22/67/b0001167_48d7b0e5ccf0c.jpg" width="500" height="666.666666667" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200809/22/67/b0001167_48d7b0e5ccf0c.jpg');" /></div><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200809/22/67/b0001167_48d7b1484c388.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200809/22/67/b0001167_48d7b1484c388.jpg');" /></div><br>비가 내리니 운치있구나..			 ]]> 
		</description>
		<category>TRAVEL</category>

		<comments>http://cjhnim.egloos.com/3913658#comments</comments>
		<pubDate>Mon, 22 Sep 2008 14:51:52 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 2008.9.20 ~ 21 춘천가는 자전거 ]]> </title>
		<link>http://cjhnim.egloos.com/3912050</link>
		<guid>http://cjhnim.egloos.com/3912050</guid>
		<description>
			<![CDATA[ 
  <p>1박2일간 짧다하면 짧고 길다고하면 긴~ 하이킹 여행을 다녀왔습니다.<br>타이어 펑크 2회, 브레이크 고장 1회 등 잦은 사고가 있었던 여행이었지만<br>그래도 안전하게 돌아왔습니다.^^<br><br>좋은 후배들과 즐거운 시간을 함께할 수 있어서 더욱 좋았습니다.<br>그리고 춘천가는 동안 눈 앞에 펼쳐진 풍경들도 너무 좋았었고요.<br>그리고 자전거를 타고 빗속을 뚫고 가는 경험도 새로왔지요..^^<br><br>.... 아래는 자전거 여행 동안 찍은 풍경들인데<br>건진 풍경이 몇가지 안되네요..^^.....<br><br>아~ 이제 어디로 가볼까나!<br><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200809/21/67/b0001167_48d63caa0d59f.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200809/21/67/b0001167_48d63caa0d59f.jpg');" /></div><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds10.egloos.com/pds/200809/21/67/b0001167_48d63ca75d08d.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds10.egloos.com/pds/200809/21/67/b0001167_48d63ca75d08d.jpg');" /></div><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63cacc25f1.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63cacc25f1.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63cab6ea35.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63cab6ea35.jpg');" /></div><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200809/21/67/b0001167_48d63ca607594.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200809/21/67/b0001167_48d63ca607594.jpg');" /></div><br><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds11.egloos.com/pds/200809/21/67/b0001167_48d63ca8de0c4.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds11.egloos.com/pds/200809/21/67/b0001167_48d63ca8de0c4.jpg');" /></div><div style="text-align:center"><img class="image_mid" border="0" onmouseover="this.style.cursor='pointer'" alt="" src="http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63caf4a8fa.jpg" width="500" height="375" onclick="Control.Modal.openDialog(this, event, 'http://pds12.egloos.com/pds/200809/21/67/b0001167_48d63caf4a8fa.jpg');" /></div></p>			 ]]> 
		</description>
		<category>TRAVEL</category>

		<comments>http://cjhnim.egloos.com/3912050#comments</comments>
		<pubDate>Sun, 21 Sep 2008 12:26:11 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
	<item>
		<title><![CDATA[ 덤프분석하다 IRQL이 FF인 것을 경험해보셨다면..읽어보세요~ ]]> </title>
		<link>http://cjhnim.egloos.com/3909185</link>
		<guid>http://cjhnim.egloos.com/3909185</guid>
		<description>
			<![CDATA[ 
  <span style="COLOR: #000000">오늘 작업을 하다가<br>우연히 KeGetCurrentIrql 내부를 분석해보게 되었습니다.<br><br>KeGetCurrentIrql의 ASM 코드<br><br>1: kd&gt; u hal!kegetcurrentirql<br>hal!KeGetCurrentIrql:<br>806e6428 a18000feff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax,dword ptr ds:[FFFE0080h]<br>806e642d c1e804&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr&nbsp;&nbsp;&nbsp;&nbsp; eax,4<br>806e6430 0fb68018126f80&nbsp; movzx&nbsp;&nbsp; eax,byte ptr hal!HalpVectorToIRQL (806f1218)[eax]<br>806e6437 c3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ret<br><br>간단하게 보면 FFFE0080의 내용을 EAX에 넣고<br>HalpVertorToIRQL이라는 함수를 통하여 EAX에 대응하는<br>IRQL 값을 얻는 것이죠... <br><br>그래서 실제로 그런지 그냥 무심코 디버깅해보았습니다.<br><br>1: kd&gt; p<br>hello!DriverEntry+0x13:<br>bafbf4c3 ff1580f5fbba&nbsp;&nbsp;&nbsp; call&nbsp;&nbsp;&nbsp; dword ptr [hello!_imp__KeGetCurrentIrql (bafbf580)]<br><br>==&gt; KeGetCurrentIrql 안으로 진입합니다.<br>1: kd&gt; t<br>806e6428 a18000feff&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov&nbsp;&nbsp;&nbsp;&nbsp; eax,dword ptr ds:[FFFE0080h]<br><br>==&gt; FFFE0080의 값이 FF임을 확인하고요<br>1: kd&gt; dd fffe0080 l1<br>fffe0080&nbsp; 000000ff<br><br>==&gt; 한 스텝 실행합니다.<br>1: kd&gt; p<br>806e642d c1e804&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shr&nbsp;&nbsp;&nbsp;&nbsp; eax,4<br><br>==&gt; EAX값을 확인하였더니.. FF가 아닌 0 이 들어있습니다..<br>1: kd&gt; r eax<br>eax=00000000<br><br>음.. 왜그럴까요? 분명 우리가 처음 확인하였을땐 FF값이었는데<br>실제로 들어간 값은 0 입니다....-.-;;;<br>처음엔 이게 왜그런지 몰라서..한참 해맸습니다만,<br>결국.. FF 라는 값은 현재 디버거가 attach하였기 때문에 <br>그에 대응하는 IRQL로 변경이 된것입니다.<br><br>그리고 디버거가 detach되면, 원래 IRQL로 원복이 되고 그때의 값이 0 이 되는 것이죠...<br><br>사실 FFFE0080 이 값은 APIC의 TPR(Task Priority Register)를 가르킨다고합니다..<br>APIC는 주소 FFFE0000과 매핑이되어있고 APIC중에 한 레지스터인 TPR은 FFFE0080에<br>매핑되어 있는 것이죠...<br><br>이 TPR은 인터럽트가 발생할때 현재 인터럽트에 대한 우선순위 값을 가지고 있는 것인데요<br>이 값은 운영체제가 설정을 해준다고 합니다... <br>즉 IRQL을 구한닫는 것은 APIC의 TPR의 값을 가지고 와서<br>HalpVectorToIRQL 라는 함수를 통해 IRQL을 획득하는 것이지요..<br><br>실제로 디버거가 붙어있을 때 TPR값은 !apic명령으로도 확인가능합니다.<br><br>1: kd&gt; !apic<br>Apic @ fffe0000&nbsp; ID:1 (50014)&nbsp; LogDesc:02000000&nbsp; DestFmt:ffffffff&nbsp; <strong><span style="COLOR: #ff0000">TPR FF</span></strong><br>TimeCnt: 09e8c610clk&nbsp; SpurVec:1f&nbsp; FaultVec:e3&nbsp; error:0<br>Ipi Cmd: 000008e1&nbsp; Vec:E1&nbsp; FixedDel&nbsp; Lg:01000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edg&nbsp; high&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>Timer..: 000300fd&nbsp; Vec:FD&nbsp; FixedDel&nbsp;&nbsp;&nbsp; Dest=Self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edg&nbsp; high&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masked<br>Linti0.: 0001001f&nbsp; Vec:1F&nbsp; FixedDel&nbsp;&nbsp;&nbsp; Dest=Self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edg&nbsp; high&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; masked<br>Linti1.: 000004ff&nbsp; Vec:FF&nbsp; NMI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dest=Self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; edg&nbsp; high&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>TMR: <br>IRR: <br>ISR: <br><br>어째든.. 이번 경우엔<br>디버거가 attach되어있을때는 TPR값이 바뀌기 때문에 이와 같이<br>메모리(FFFE0080h)에서 확인한 값과 실제 레지스터(eax)가 다른 현상이 발생한 것이었습니다.<br><br>덤프를 받아보시면, 현재 IRQL이 FF라고 나와있는 경우를 종종 경험하셨을것입니다.<br>이걸 보시고 IRQL이 왜이리 높아졌지?.. 이런경우도있나?.. 그래서 죽었나?<br>이렇게 생각하신분들 계실것입니다.<br><br>사실 이것도 bugcheck가 발생하면서 윈도우즈가 APIC의 TPR을 FF로 바꾸었기 때문에<br>덤프에 그런 흔적이 남아있는 것으로 생각하면됩니다.<br>실제 IRQL은 얼마였는지는 알수가 없죠...^^...<br><br>좀더 자세한 내용은 APIC(Advanced Programmable Controller)의 TPR레지스터를<br>찾아보시면, 좀더 이해가 쉬울 것이라고 생각이 되네요...^^<br>저는 여기까지만 확인하고 더 깊숙히 공부하는 것은..남겨두었답니다...<br><br><br><br><br></span>			 ]]> 
		</description>
		<category>WORK</category>

		<comments>http://cjhnim.egloos.com/3909185#comments</comments>
		<pubDate>Fri, 19 Sep 2008 02:31:22 GMT</pubDate>
		<dc:creator>견우</dc:creator>
	</item>
</channel>
</rss>
