<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>kkamagui&#51032; &#51089;&#50629;&#49892;</title>
    <link>http://kkamagui.springnote.com/pages</link>
    <description>kkamagui&#51032; &#54532;&#47196;&#44536;&#47000;&#48141; &#51089;&#50629;&#49892;</description>
    <language>ko-KR</language>
    <item>
      <title>13 Git &#49324;&#50857;&#48277;</title>
      <description>&lt;h1&gt;13.Git &#49324;&#50857;&#48277;&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#46308;&#50612;&#44032;&#44592; &#51204;&#50640;...&lt;/h2&gt;
&lt;div class="section" style="line-height: 2em; padding: 0px 0px 0px 12px; background-color: rgb(249, 249, 216);"&gt;
&lt;ul style="line-height: 2em; margin: 0px; padding: 0px 0px 0px 24px;"&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;strong style="line-height: 2em;"&gt;&#51060; &#44544;&#51008;&amp;nbsp;kkamagui&#50640; &#51032;&#54644; &#51089;&#49457;&#46108; &#44544;&#51077;&#45768;&#45796;.&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#47560;&#51020;&#44751; &#51064;&#50857;&#54616;&#49884;&#44144;&#45208; &#49324;&#50857;&#54616;&#49492;&#46020; &#46121;&#45768;&#45796;. &#45800; &#52636;&#52376;(&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) ! important; text-decoration: underline; cursor: pointer ! important;"&gt;http://kkamagui.tistory.com&lt;/a&gt;,&amp;nbsp;&lt;a href="#" style="line-height: 2em; color: rgb(86, 137, 66) ! important; text-decoration: underline; cursor: pointer ! important;"&gt;http://kkamagui.springnote.com&lt;/a&gt;)&#45716; &#48157;&#54784; &#51452;&#49901;&#49884;&#50724;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#44592;&#53440; &#49324;&#54637;&#51008; mint64os&amp;nbsp;at gmail.com &#51060;&#45208;&lt;/strong&gt;&amp;nbsp;&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) ! important; text-decoration: underline; cursor: pointer ! important;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style="line-height: 2em;"&gt;&#51004;&#47196; &#48372;&#45236;&#51452;&#49884;&#47732; &#48152;&#50689;&#54616;&#44192;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#49345;&#49464;&#54620; &#45236;&#50857;&#51008; &#52293; "&lt;a href="http://kkamagui.tistory.com/746" title="http://kkamagui.tistory.com/746" class="external" style="line-height: 2em; color: rgb(86, 137, 66) ! important; text-decoration: underline; cursor: pointer ! important;"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/a&gt;"&#47484; &#52280;&#44256;&#54616;&#44592; &#48148;&#46989;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) ! important; text-decoration: underline; cursor: pointer ! important;"&gt;&lt;img class="attachment" title="&#53356;&#44592;&#48320;&#54872;_book1.jpg" src="/pages/404250/attachments/5167376" alt="&#53356;&#44592;&#48320;&#54872;_book1.jpg" style="line-height: 2em; border-width: 0px; border-style: none;" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;1.Git&#50640; user.name&#44284; user.email &#49444;&#51221;&lt;/h2&gt;
&lt;p&gt;&#49324;&#50857;&#51088;&#44032; kkamagui&#51060;&#44256; email&#51060; kkamagui@gmail.com&#51060;&#46972;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git config --global user.name "kkamagui"&lt;/li&gt;
&lt;li&gt;$&amp;gt;git config --global user.email "kkamagui@gmail.com"&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.Git&#50640; &#49444;&#51221;&#46108; global config &#44050;&#46308; &#54364;&#49884;&lt;/h2&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git config --global --list&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3.&#54364;&#49884;&#46104;&#45716; &#47700;&#49884;&#51648;&#47484; &#52972;&#47084;&#47196; &#48372;&#44592;&lt;/h2&gt;
&lt;p&gt;Git&#50640;&#49436; &#54364;&#49884;&#46104;&#45716; &#47700;&#49884;&#51648;&#45716; &#44592;&#48376;&#51201;&#51004;&#47196; &#45800;&#49353;&#51060;&#45796;. &#44536;&#47088;&#45936; &#51060;&#47484; &#52972;&#47084;&#47196; &#48372;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git config --global color.ui "auto"&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4.&#47928;&#51088;&#49483; &#49444;&#51221;&#54616;&#44592;&lt;/h2&gt;
&lt;p&gt;Git&#50640;&#49436; &#49324;&#50857;&#54616;&#45716; &#47928;&#51088;&#49483;&#51008; &#44592;&#48376;&#51201;&#51004;&#47196; UTF-8&#51060;&#45796;. &#47564;&#50557; UTF-8&#51060; &#50500;&#45772;&amp;nbsp;EUC-KR&#51012; &#49324;&#50857;&#54616;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#52376;&#47100; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git config --global i18n.commitEncoding cp949&lt;/li&gt;
&lt;li&gt;$&amp;gt;git config --global i18n.logOutputencoding cp949&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;5.&#45236;&#51109; &#46020;&#50880;&#47568; &#48372;&#44592;&lt;/h2&gt;
&lt;p&gt;Git&#50640;&#49436; &#45236;&#51109;&#46108; &#46020;&#50880;&#47568;&#51012; &#48372;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#52376;&#47100; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git help &amp;lt;command&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50696;&#47484; &#46308;&#50612; commit&#50640; &#45824;&#54620; &#46020;&#50880;&#47568;&#51012; &#48372;&#44256; &#49910;&#45796;&#47732; git help commit&#44284; &#44057;&#51060; &#51077;&#47141;&#54616;&#45716; &#49885;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;6.Git Project &#49373;&#49457;&#54616;&#44592;&lt;/h2&gt;
&lt;p&gt;testgit &#46356;&#47113;&#53664;&#47532;&#47484; &#47564;&#46308;&#50612;&#49436; Git&#51004;&#47196; &#48260;&#51204;&#44288;&#47532;&#47484; &#54616;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;mkdir testgit&lt;/li&gt;
&lt;li&gt;$&amp;gt;cd testgit&lt;/li&gt;
&lt;li&gt;$&amp;gt;git init&lt;/li&gt;
&lt;li&gt;Initialized empty Git repository in /home/kkamagui/project/testgit/.git/&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;7.&#51200;&#51109;&#49548;&#50640; &#54028;&#51068; &#52628;&#44032;&#54616;&#44592;&lt;/h2&gt;
&lt;p&gt;testgit&#50640; a.txt &#54028;&#51068;&#51012; &#52628;&#44032;&#54616;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git add a.txt&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;8.&#51200;&#51109;&#49548;&#51032; &#49345;&#53468; &#54869;&#51064;&#54616;&#44592;&lt;/h2&gt;
&lt;ol class="code"&gt;
&lt;li&gt;testgit &#46356;&#47113;&#53664;&#47532;&#51032; &#49345;&#53468;&#47484; &#50508;&#44256; &#49910;&#51004;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;.&lt;br /&gt;
$&amp;gt;git status&lt;/li&gt;
&lt;li&gt;kkamagui@ubuntu:~/project/testgit$ git status&lt;br /&gt;
# On branch master&lt;br /&gt;
#&lt;br /&gt;
# Initial commit&lt;br /&gt;
#&lt;br /&gt;
# Changes to be committed:&lt;br /&gt;
#&amp;nbsp;&amp;nbsp; (use "git rm --cached &amp;lt;file&amp;gt;..." to unstage)&lt;br /&gt;
#&lt;br /&gt;
#&amp;nbsp;&amp;nbsp;&amp;nbsp; new file:&amp;nbsp;&amp;nbsp; a.txt&lt;br /&gt;
#&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;9.&#48320;&#44221;&#49324;&#54637; &#47196;&#52972; &#51200;&#51109;&#49548;&#50640; &#51200;&#51109;&#54616;&#44592;&lt;/h2&gt;
&lt;p&gt;&#48320;&#44221;&#49324;&#54637;&#51012; &#47196;&#52972; &#51200;&#51109;&#49548;(Local Repository)&#50640; &#51200;&#51109;&#54616;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git commit -m "&#52572;&#52488; &#52628;&#44032;"&lt;br /&gt;
[master (root-commit) 237a76b] &#52572;&#52488; &#52628;&#44032;&lt;br /&gt;
&amp;nbsp;1 files changed, 3 insertions(+), 0 deletions(-)&lt;br /&gt;
&amp;nbsp;create mode 100644 a.txt&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;10.&#48320;&#44221; &#51060;&#47141; &#48372;&#44592;&lt;/h2&gt;
&lt;p&gt;&#48320;&#44221; &#51060;&#47141;(Commit Log)&#47484; &#48372;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git log&lt;/li&gt;
&lt;li&gt;commit 237a76b9f3ccd65df523d6434d5ea4fa14142079&lt;br /&gt;
Author: kkamagui &amp;lt;kkamagui@gmail.com&amp;gt;&lt;br /&gt;
Date:&amp;nbsp;&amp;nbsp; Wed Nov 30 10:57:13 2011 +0900&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#52572;&#52488; &#52628;&#44032;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#48320;&#44221; &#51060;&#47141;&#51060; &#47566;&#51012; &#44221;&#50864; &#48276;&#50948;&#47484; &#44060;&#49688;&#47484; &#51228;&#54620;&#54624;&#49688; &#51080;&#45716;&#45936;, -&#49707;&#51088;&#47484; &#51077;&#47141;&#54616;&#47732; &#46108;&#45796;. &#50696;&#47484; &#46308;&#50612; &#52572;&#44540; &#48320;&#44221; &#51060;&#47141; &#54616;&#45208;&#47564; &#48372;&#44256; &#49910;&#45796;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#51077;&#47141;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;$&amp;gt;git log -1&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Wed, 30 Nov 2011 11:13:20 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/9749500</link>
      <guid>http://kkamagui.springnote.com/pages/9749500</guid>
    </item>
    <item>
      <title>kkamagui&#51032; &#51089;&#50629;&#49892;</title>
      <description>&lt;h1&gt;KKAMAGUI&#51032; &#51089;&#50629;&#49892; &amp;gt;&#12609;&amp;lt;)/~&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;KKAMAGUI&#50752; &#44288;&#47144;&#46108; &#44060;&#48156;&#44288;&#47144; &#47928;&#49436;/&#51088;&#47308;&#44032; &#51080;&#45716; &#44275;~!!!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;h3&gt;&lt;strong style=""&gt;&#48660;&#47196;&#44536; &#49324;&#51060;&#53944;&#47484; &#54000;&#49828;&#53664;&#47532;&#47196; &#51060;&#46041;&#54664;&#49845;&#45768;&#45796;. ^^&lt;/strong&gt; &lt;a href="http://kkamagui.tistory.com/"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;, &lt;a href="http://www.mint64os.pe.kr"&gt;http://www.mint64os.pe.kr&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong style=""&gt;&#51060;&#51204;&#44620;&#51648; &#54252;&#49828;&#54021;&#51008;&amp;nbsp;&#44620;&#47560;&#44396;&lt;/strong&gt; &lt;a href="http://kkamagui.egloos.com/" title="&#51060;&#44544;&#47336;&#49828;" class="external"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&#51060;&#44544;&#47336;&#49828;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;&#48660;&#47196;&#44536;&#50640; &#51080;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;RSS &#51452;&#49548;&lt;/span&gt;&#45716; &#50500;&#47000;&#50752; &#44057;&#49845;&#45768;&#45796;.(&#53356;&#51005; &#52286;&#44592;&#44032; &#55192;&#46308;&#44400;&#50836; &#12640;_&#12640;).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/pages.rss" class="lnk3"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;http://kkamagui.springnote.com/pages.rss&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&#48169;&#47749;&#47197;&lt;/span&gt;&#51012; &#52628;&#44032;&#54616;&#50688;&#49845;&#45768;&#45796;.&amp;nbsp;&#44544;&#51012; &#45224;&#44592;&#49892; &#48516;&#51008; &#50500;&#47000;&#47484; &#53364;&#47533;&#54616;&#49464;&#50836;. ^&#12641;^&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/pages/389826" title="99 &#48169;&#47749;&#47197;" class="wiki"&gt;&lt;strong style=""&gt;99 &#48169;&#47749;&#47197;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;&amp;lt;== &#53364;&#47533;&#54616;&#49464;&#50836; ^^&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&#45236;&#50857; &#48757;&#48757;&#54620; &#49828;&#54532;&#47553;&#45432;&#53944; &#51452;&#49548; &#47784;&#51020;&#51077;&#45768;&#45796;. ^&#12641;^&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;a href="/pages/485765" title="91 &#49828;&#54532;&#47553;&#45432;&#53944; &#51452;&#49548; &#47784;&#51020;" class="wiki"&gt;91 &#49828;&#54532;&#47553;&#45432;&#53944; &#51452;&#49548; &#47784;&#51020;&lt;/a&gt;&amp;nbsp;&amp;lt;== &#53364;&#47533;&#54616;&#49464;&#50836; ^^&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 1, 3);"&gt;OS &#51228;&#51089;&#50640; &#44288;&#47144;&#46108; &#51088;&#47308;&lt;/span&gt;&#47484; &#52286;&#51004;&#49888;&#45796;&#47732; &#50500;&#47000;&#47484; &#53364;&#47533;&#54616;&#49464;&#50836; ^&#12641;^&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://kkamagui.tistory.com/746"&gt;&lt;img class="attachment" title="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" src="/pages/339488/attachments/5165014" alt="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(1, 0, 254);"&gt;&amp;nbsp; &amp;nbsp;&lt;a href="http://kkamagui.tistory.com/746" class="external" title="http://kkamagui.tistory.com/746"&gt;&amp;lt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&amp;gt;&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&#50976;&#50857;&#54620; &lt;span style="color: rgb(255, 1, 3);"&gt;&#50504;&#46300;&#47196;&#51060;&#46300; &#50528;&#54540;&#47532;&#52992;&#51060;&#49496;&lt;/span&gt;&#51012; &#52286;&#51004;&#49888;&#45796;&#47732; &#50500;&#47000;&#47484; &#53364;&#47533;&#54616;&#49464;&#50836; ^&#12641;^&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jsandroidapp.cafe24.com/"&gt;&lt;img title="jscompany.png" class="attachment" src="/pages/7265641/attachments/4643643" alt="jscompany.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;h2&gt;&#47785;&#47197;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/339551" title="00 KKAMAGUI &#49548;&#44060;" class="wiki"&gt;&lt;strong style=""&gt;00 KKAMAGUI &#49548;&#44060;&lt;/strong&gt;&lt;/a&gt; &lt;strong style=""&gt;: &#45208;&#50640; &#45824;&#54620; &#49548;&#44060;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/389813" title="00 &#54252;&#53944;&#54260;&#47532;&#50724;(Portfolio)" class="wiki"&gt;&lt;strong style=""&gt;00 &#54252;&#53944;&#54260;&#47532;&#50724;(Portfolio)&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#45208;&#51032; &#51089;&#54408;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/339535" title="01 OS &#54532;&#47112;&#51076;&#50892;&#53356;" class="wiki"&gt;&lt;/a&gt;&lt;a href="/pages/339535" title="01 OS &#48143; OS &#54532;&#47112;&#51076;&#50892;&#53356;" class="wiki"&gt;01 OS &#48143; OS &#54532;&#47112;&#51076;&#50892;&#53356;&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;&lt;strong style=""&gt;: KKAMAGUI OS Framework &#54532;&#47196;&#51229;&#53944;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/339826" title="02 NDS &#48143; ARM" class="wiki"&gt;&lt;strong style=""&gt;02 NDS &#48143; ARM&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: NDS &#54856;&#48652;&#47336; &#48143; &#52964;&#45328; &#44060;&#48156; &#54532;&#47196;&#51229;&#53944;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/340857" title="03 File System" class="wiki"&gt;&lt;strong style=""&gt;03 File System&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#44033;&#51333; &#54028;&#51068; &#49884;&#49828;&#53596; &#44060;&#48156; &#54532;&#47196;&#51229;&#53944;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/1056320" class="wiki" title="04 PSP &#48143; MIPS"&gt;04 PSP &#48143; MIPS&lt;/a&gt; : PSP &#54856;&#48652;&#47336; &#48143; &#52964;&#45328; &#44060;&#48156; &#54532;&#47196;&#51229;&#53944; MIPS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/search?q=05%20%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%28Android%29&amp;amp;parent_id=339488" title="05 &#50504;&#46300;&#47196;&#51060;&#46300;(Android)" class="wiki"&gt;05 &#50504;&#46300;&#47196;&#51060;&#46300;(Android)&lt;/a&gt;&amp;nbsp;: &#50504;&#46300;&#47196;&#51060;&#46300;(Android) &#44288;&#47144; &#54532;&#47196;&#51229;&#53944;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/1709214" class="wiki" title="07 &#47532;&#45573;&#49828; &#54532;&#47196;&#44536;&#47000;&#48141;"&gt;07 &#47532;&#45573;&#49828; &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/a&gt; : &#47532;&#45573;&#49828; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/368023" title="08 &#50952;&#46020;&#50864; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;&lt;strong style=""&gt;08 &#50952;&#46020;&#50864; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#50952;&#46020;&#50864; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/376814" title="09 &#54028;&#51060;&#50028;(Python) &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;09 &#54028;&#51060;&#50028;(Python) &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/a&gt;&amp;nbsp;:&amp;nbsp;Python&#51012; &#51060;&#50857;&#54620; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/609056" title="10 &#50937;(Web) &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;&lt;strong style=""&gt;10 &#50937;(Web) &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;:&amp;nbsp;HTML, Java&amp;nbsp;Script&amp;nbsp;&#46321;&#46321;&#51032;&amp;nbsp;&#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/search?q=11%20DB%28Database%29%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D&amp;amp;parent_id=339488" title="11 DB(Database) &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;&lt;strong style=""&gt;11 DB(Database) &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: DB&#47484; &#49373;&#49457;&#54616;&#44256; &#44288;&#47532;&#54616;&#45716; &#48169;&#48277;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/8186982" title="12 &#47336;&#48708;(Ruby) &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;12 &#47336;&#48708;(Ruby) &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/a&gt;&lt;/strong&gt; : &#47336;&#48708;(Ruby)&#47484; &#51060;&#50857;&#54620; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/2333812" class="wiki" title="11 &#49436;&#54217;"&gt;11 &#49436;&#54217;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/9749500" class="wiki" title="Git &#49324;&#50857;&#48277;"&gt;13 Git &#49324;&#50857;&#48277;&lt;/a&gt;&lt;/strong&gt; : Git &#49324;&#50857;&#48277;&#50640; &#45824;&#54620; &#45236;&#50857;&#46308;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/339835" title="50 Code Complete" class="wiki"&gt;&lt;strong style=""&gt;50 Code Complete&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#45908; &#45208;&#51008; &#53076;&#46300;&#47484; &#50416;&#44592;&#50948;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/340861" title="20 &#54532;&#47196;&#44536;&#47000;&#48141; &#54017;" class="wiki"&gt;&lt;strong style=""&gt;20 &#54532;&#47196;&#44536;&#47000;&#48141; &#54017;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#44033;&#51333; &#54532;&#47196;&#44536;&#47000;&#48141; &#50616;&#50612;&#50640; &#45824;&#54620; &#54017;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/391430" title="21 &#51088;&#51089; &#50976;&#54008; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;" class="wiki"&gt;21 &#51088;&#51089; &#50976;&#54008; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;&lt;/a&gt;&amp;nbsp;: &#45236;&#44032; &#51649;&#51217; &#51089;&#49457;&#54620; &#54532;&#47196;&#44536;&#47016; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/395875" title="22 &#44316;&#52270;&#51008; &#53812; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;" class="wiki"&gt;22 &#44316;&#52270;&#51008; &#53812; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;&lt;/a&gt;&amp;nbsp;: &#49324;&#50857;&#54616;&#44592;&#50640; &#54200;&#47532;&#54616;&#44144;&#45208; &#44592;&#48156;&#54620; &#53812; &#48143; &#46972;&#51060;&#48652;&#47084;&#47532;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/2374036" title="23 &#50952;&#46020;&#50864; &#49324;&#50857; &#54017;" class="wiki"&gt;23 &#50952;&#46020;&#50864; &#49324;&#50857; &#54017;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/339848" title="30 &#54644;&#53433;/&#48372;&#50504;" class="wiki"&gt;&lt;strong style=""&gt;30 &#54644;&#53433;/&#48372;&#50504;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;strong style=""&gt;: &#44033;&#51333; &#48372;&#50504; &#54532;&#47196;&#44536;&#47016; &#54644;&#53433; &#48143; &#48372;&#50504;&#50640; &#44288;&#54620; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/390977" title="80 &#49828;&#54532;&#47553;&#45432;&#53944;, &#48660;&#47196;&#44536; &#49324;&#50857; &#54017;" class="wiki"&gt;80 &#49828;&#54532;&#47553;&#45432;&#53944;, &#48660;&#47196;&#44536; &#49324;&#50857; &#54017;&lt;/a&gt;&amp;nbsp;: &#49828;&#54532;&#47553; &#45432;&#53944; &#48143; &#48660;&#47196;&#44536; &#49324;&#50857;&#50640; &#45824;&#54620; &#44033;&#51333; &#54017;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/404250" title="99 &#44592;&#53440;" class="wiki"&gt;99 &#44592;&#53440;&lt;/a&gt;&amp;nbsp;: &#44592;&#53440; &#45236;&#50857;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/662422" title="100 TODO" class="wiki"&gt;100 TODO&lt;/a&gt; : &#54644;&#50556;&#54624; &#51068;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;h2&gt;&#54532;&#47196;&#44536;&#47000;&#48141; &#50808;&lt;a href="/pages/568666" title="97 &#51088;&#49464;&#44368;&#51221;" class="wiki"&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/457250" title="98 &#50868;&#46041;" class="wiki"&gt;98 &#50868;&#46041;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="/pages/568666" title="97 &#51088;&#49464;&#44368;&#51221;" class="wiki"&gt;97 &#51088;&#49464;&#44368;&#51221;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/pages/603698" title="&#53580;&#49828;&#53944; &#53076;&#46300;" class="wiki"&gt;&#53580;&#49828;&#53944; &#53076;&#46300;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Wed, 30 Nov 2011 10:45:20 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/339488</link>
      <guid>http://kkamagui.springnote.com/pages/339488</guid>
    </item>
    <item>
      <title>16 VI &#44288;&#47144;</title>
      <description>&lt;h1&gt;1.&#50864;&#48516;&#53804;&#50640;&#49436; VI&#50640; Taglist &#49444;&#52824; &#48169;&#48277;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://vim.sourceforge.net/scripts/script.php?script_id=273"&gt;http://vim.sourceforge.net/scripts/script.php?script_id=273&lt;/a&gt; &#50640;&#49436; Taglist&#47484; &#45796;&#50868;&#47196;&#46300;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&#45796;&#50868;&#47196;&#46300;&#54644;&#49436; &#50517;&#52629;&#51012; &#54396; &#44163;&#51012; etc/vim &#46356;&#47113;&#53552;&#47532;&#50640; &#44536;&#45824;&#47196; &#48373;&#49324;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&#51060;&#46412; doc&#50752;&amp;nbsp; plugin &#46356;&#47113;&#53552;&#47532; &#44536;&#45824;&#47196; &#50734;&#44608;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;vi&#47484; &#49892;&#54665;&#54644;&#49436; Tlist&#47484; &#49892;&#54665;&#54616;&#47732; &#51340;&#52769;&#50640; Taglist&#44032; &#49373;&#44608;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.Keymapping &#48148;&#44984;&#45716; &#48169;&#48277;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&#52285;&#44036;&#51032; &#51060;&#46041;&#51012; F3&#53412;&#47196; &#51060;&#46041;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;map &amp;lt;F3&amp;gt; &amp;lt;c-w&amp;gt; &amp;lt;c-w&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Taglist &#54364;&#49884;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;map &amp;lt;F4&amp;gt; :Tlist &amp;lt;cr&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;3.Ruby syntax &#44288;&#47144; &#54540;&#47084;&#44536;&#51064; &#49444;&#52824; &#48169;&#48277;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/vim-ruby/vim-ruby"&gt;https://github.com/vim-ruby/vim-ruby&lt;/a&gt; &#50640;&#49436; &#54028;&#51068;&#51012; &#45796;&#50868;&#47196;&#46300; &#48155;&#51008; &#46244; bin &#46356;&#47113;&#53552;&#47532;&#50640; &#51080;&#45716; rb &#54028;&#51068;&#51012; &#49892;&#54665;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;4.&#54620;&#44544; &#51064;&#53076;&#46377; &#51088;&#46041;&#51004;&#47196; &#54644;&#51452;&#45716; &#48169;&#48277;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&#54872;&#44221; &#49444;&#51221; &#54028;&#51068;&#51012; &#50676;&#50612;&#49436;&amp;nbsp;set fileencodings=utf-8,euc-kr &#47196; &#51077;&#47141;&#54644;&#49436; &#51200;&#51109;&#54644;&#46160;&#47732; &#51088;&#46041;&#51004;&#47196; &#54032;&#45800;&#54644;&#49436; &#50676;&#50612;&#51468;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;5.&#54256;&#53944; &#49444;&#51221; &#48169;&#48277;&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;set guifont=MS_Mincho:h12:cANSI&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;6.&#45236; VI &#49444;&#51221;&lt;/h1&gt;
&lt;p&gt;colorscheme darkblue&lt;br /&gt;
set number&lt;br /&gt;
set fileencodings=utf-8,euc-kr&lt;br /&gt;
set ts=4&lt;br /&gt;
set sts=4&lt;br /&gt;
set sw=4&lt;/p&gt;
&lt;p&gt;set guifont=dejavu_sans_mono:h11:cANSI&lt;/p&gt;
&lt;p&gt;noh&lt;/p&gt;
&lt;p&gt;set nobackup&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sourceforge.net/projects/dejavu/files/dejavu/2.33/dejavu-fonts-ttf-2.33.tar.bz2/download"&gt;http://sourceforge.net/projects/dejavu/files/dejavu/2.33/dejavu-fonts-ttf-2.33.tar.bz2/download&lt;/a&gt; &amp;lt;&amp;lt; &#54256;&#53944; &#51080;&#45716; &#44275;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;7.&#47928;&#51088;&#50676; &#52824;&#54872; &#48169;&#48277;&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://gypark.pe.kr/wiki/Vi%EB%A1%9C%EB%AC%B8%EC%9E%90%EC%97%B4%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0"&gt;http://gypark.pe.kr/wiki/Vi%EB%A1%9C%EB%AC%B8%EC%9E%90%EC%97%B4%EC%B9%98%ED%99%98%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/p&gt;
&lt;pre class="code"&gt;
:(&#49884;&#51089;&#51460;),(&#45149;&#51460;)s/&#52286;&#51012;&#54056;&#53556;/&#48148;&#44992;&#49828;&#53944;&#47553;/&#50741;&#49496;
&lt;/pre&gt;
&lt;pre class="code"&gt;
:5,10s/a/b/     - 5&#48264;&#51704; &#51460;&#48512;&#53552; 10&#48264;&#51704; &#51460;&#44620;&#51648; &#44033; &#51460;&#51032; &#52395;&#48264;&#51704; "a" &#47484; "b" &#47196; &#48148;&#44988;&#45796;.
:.,.+10s/a/b/g  - &#54788;&#51116; &#51460;&#48512;&#53552; (&#54788;&#51116; &#54665;&#48264;&#54840;+10)&#48264;&#51704; &#51460;&#44620;&#51648; &#47784;&#46304; "a" &#47484; "b" &#47196; &#48148;&#44988;&#45796;.
:1,$s/a/b/c     - &#52395;&#48264;&#51704; &#51460;&#48512;&#53552; &#47560;&#51648;&#47561; &#51460;&#44620;&#51648; (&#51593; &#47928;&#49436; &#51204;&#52404;) &#44033; &#51460;&#51032; "a" &#47484; "b" &#47196; &#48148;&#44984;&#46104;, &#49324;&#50857;&#51088;&#50640;&#44172; &#54869;&#51064;&#51012; &#48155;&#45716;&#45796;.
:%s/a/b/gi      - &#50669;&#49884; &#47928;&#49436; &#51204;&#52404;&#50640;&#49436; "a" &#50752; "A" &#47484; "b" &#47196; &#48148;&#44988;&#45796;.
:%s/Hello/Good Morning/g - &#45817;&#50672;&#55176;... &#46160; &#44544;&#51088; &#51060;&#49345;&#51032; &#47928;&#51088;&#50676;&#46020; &#44160;&#49353; &#48143; &#52824;&#54872;&#51060; &#44032;&#45733;&#54616;&#45796;.
&lt;/pre&gt;
</description>
      <pubDate>Mon, 07 Nov 2011 01:36:18 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/9029996</link>
      <guid>http://kkamagui.springnote.com/pages/9029996</guid>
    </item>
    <item>
      <title>12 &#47336;&#48708;(Ruby) &#54532;&#47196;&#44536;&#47000;&#48141;</title>
      <description>&lt;p&gt;&lt;a href="http://benelog.springnote.com/pages/84624/attachments/30264"&gt;&lt;cite&gt;http://benelog.springnote.com/pages/84624/attachments/30264&lt;/cite&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://caar.egloos.com/398176"&gt;http://caar.egloos.com/398176&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://shampu.clus.org/tc/Shampu/363"&gt;http://shampu.clus.org/tc/Shampu/363&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ruby.about.com/od/tk/a/Tk.htm"&gt;http://ruby.about.com/od/tk/a/Tk.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;@ruby &#52293;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.ruby-doc.org/docs/ProgrammingRuby/"&gt;http://www.ruby-doc.org/docs/ProgrammingRuby/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;*.&#54868;&#47732; &#52636;&#47141;&lt;/h1&gt;
&lt;p&gt;1.&#47700;&#49884;&#51648; &#52636;&#47141;&lt;/p&gt;
&lt;p&gt;puts "Hello World"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2.&#47700;&#49884;&#51648; &#50672;&#44208;&lt;/p&gt;
&lt;p&gt;puts "Hello" + "World"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3.&#47700;&#49884;&#51648;&#50640; &#48320;&#49688; &#52636;&#47141;&lt;/p&gt;
&lt;p&gt;message = "Hello World"&lt;/p&gt;
&lt;p&gt;puts "my Message is #{message}"&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;*.Array &#45796;&#47336;&#44592;&lt;/h1&gt;
&lt;p&gt;1.&#48712; Array &#47564;&#46308;&#44592;&lt;br /&gt;
empty1 = []&lt;br /&gt;
empty2 = Array.new&lt;br /&gt;
&lt;br /&gt;
2.&#47928;&#51088;&#50676;&#51012; &#49789;&#44172; Array&#47196; &#48148;&#44984;&#44592;&lt;br /&gt;
a = %w{ ant bee cat dob elk }&lt;br /&gt;
=&amp;gt; ["ant", "bee", "cat", "dob", "elk"]&lt;br /&gt;
a[0] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;"ant"&lt;br /&gt;
a[3] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;"dog"&lt;br /&gt;
&lt;br /&gt;
3.Hash &#50416;&#44592;&lt;br /&gt;
instSection = {&lt;br /&gt;
&amp;nbsp; 'cello'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'string',&lt;br /&gt;
&amp;nbsp; 'clarinet'&amp;nbsp; =&amp;gt; 'woodwind',&lt;br /&gt;
&amp;nbsp; 'drum'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'percussion',&lt;br /&gt;
&amp;nbsp; 'oboe'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'woodwind',&lt;br /&gt;
&amp;nbsp; 'trumpet'&amp;nbsp;&amp;nbsp; =&amp;gt; 'brass',&lt;br /&gt;
&amp;nbsp; 'violin'&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;gt; 'string'&lt;br /&gt;
}&lt;br /&gt;
instSection['oboe'] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;"woodwind"&lt;br /&gt;
instSection['cello'] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;"string"&lt;br /&gt;
instSection['bassoon'] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;nil&lt;br /&gt;
&lt;br /&gt;
histogram = Hash.new(0)&lt;br /&gt;
histogram['key1'] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;0&lt;br /&gt;
histogram['key1'] = histogram['key1'] + 1&lt;br /&gt;
histogram['key1'] &amp;nbsp;&amp;nbsp; &amp;nbsp;&#187; &amp;nbsp;&amp;nbsp; &amp;nbsp;1&lt;br /&gt;
&lt;br /&gt;
4.&#48276;&#50948; &#50504;&#50640; &#45936;&#51060;&#53552;&#47484; &#47784;&#46160; Array&#47196; &#47564;&#46308;&#44592;&lt;br /&gt;
(0..10).to_a&lt;br /&gt;
=&amp;gt;[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;5.3x3 2&#52264;&#50896; Array &#47564;&#46308;&#44592;&lt;/p&gt;
&lt;p&gt;doublearray = []&lt;br /&gt;
doublearray[0] = (0..2).to_a&lt;br /&gt;
doublearray[1] = (3..5).to_a&lt;br /&gt;
doublearray[2] = (6..8).to_a&lt;br /&gt;
doublearray&lt;br /&gt;
=&amp;gt; [[0, 1, 2], [3, 4, 5], [6, 7, 8]]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;*.&#51228;&#50612;&#47928;&lt;/h1&gt;
&lt;pre&gt;
1.if &#47928; &#49324;&#50857;&#48277;
&lt;/pre&gt;
&lt;pre&gt;
if count &amp;gt; 10
  puts "Try again"
elsif tries == 3
  puts "You lose"
else
  puts "Enter a number"
end
&lt;/pre&gt;
&lt;pre&gt;
if radiation &amp;gt; 3000
  puts "Danger, Will Robinson"
end
&lt;/pre&gt;
&lt;pre&gt;
&#50948;&#45716; &#50500;&#47000;&#52376;&#47100;&#46020; &#49324;&#50857; &#44032;&#45733;
&lt;/pre&gt;
&lt;pre&gt;
puts "Danger, Will Robinson" if radiation &amp;gt; 3000
&lt;/pre&gt;
&lt;pre&gt;
 
&lt;/pre&gt;
&lt;pre&gt;
while square &amp;lt; 1000
   square = square*square
end
&lt;/pre&gt;
&lt;pre&gt;
&#50948;&#45716; &#50500;&#47000;&#52376;&#47100; &#49324;&#50857; &#44032;&#45733;
&lt;/pre&gt;
&lt;pre&gt;
square = square*square  while square &amp;lt; 1000
&lt;/pre&gt;
&lt;h1&gt;1.Case&#47928;&lt;/h1&gt;
&lt;p&gt;irb(main):023:0&amp;gt; a = 2&lt;br /&gt;
=&amp;gt; 2&lt;br /&gt;
irb(main):024:0&amp;gt; case a&lt;br /&gt;
irb(main):025:1&amp;gt; when 1; puts 1&lt;br /&gt;
irb(main):026:1&amp;gt; when 2; puts 2&lt;br /&gt;
irb(main):027:1&amp;gt; end&lt;br /&gt;
2&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
caes&#47928;&#51012; &#49324;&#50857;&#54624; &#46412; &#44845; case&#50640; &#45336;&#44200;&#51452;&#45716; &#48320;&#49688;&#44032; &#50630;&#50612;&#46020; &#46121;&#45768;&#45796;. &#44536;&#47111;&#44172;&#54616;&#47732; &#52264;&#47168;&#47196; when &#47928;&#51060; &#49892;&#54665;&#46104;&#48064;&#47196; &#44032;&#51109; &#52376;&#51020; &#52280;&#51064; &#47928;&#51109;&#51060; &#49892;&#54665;&#46104;&#44256; &#48736;&#51648;&#44172; &#46121;&#45768;&#45796;. &#50696;&#47484;&#46308;&#47732;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):028:0&amp;gt; a = 2&lt;br /&gt;
=&amp;gt; 2&lt;br /&gt;
irb(main):029:0&amp;gt; case&lt;br /&gt;
irb(main):030:1* when a == 1; puts 1&lt;br /&gt;
irb(main):031:1&amp;gt; when a == 2; puts 2&lt;br /&gt;
irb(main):032:1&amp;gt; when a == 3; puts 3&lt;br /&gt;
irb(main):033:1&amp;gt; end&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;2.Loop&lt;/h1&gt;
&lt;p&gt;irb(main):003:0&amp;gt; for i in list&lt;br /&gt;
irb(main):004:1&amp;gt; puts i if i % 5 == 0&lt;br /&gt;
irb(main):005:1&amp;gt; end&lt;br /&gt;
5&lt;br /&gt;
10&lt;br /&gt;
=&amp;gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]&lt;br /&gt;
irb(main):006:0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
range&#47196;&#46020; &#44032;&#45733;&#54633;&#45768;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):006:0&amp;gt; for i in (1..10)&lt;br /&gt;
irb(main):007:1&amp;gt; puts i if i % 5 == 0&lt;br /&gt;
irb(main):008:1&amp;gt; end&lt;br /&gt;
5&lt;br /&gt;
10&lt;br /&gt;
=&amp;gt; 1..10&lt;br /&gt;
irb(main):009:0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#50668;&#44592;&#49436; (1..10)&#51060; 1&#48512;&#53552; 10&#44620;&#51648;&#51032; range&#51424;. range&#45716; &#49789;&#44172; list&#47196; &#48148;&#44992; &#49688; &#51080;&#49845;&#45768;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):009:0&amp;gt; (1..10).to_a&lt;br /&gt;
=&amp;gt; [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]&lt;br /&gt;
irb(main):010:0&amp;gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;3.&#44032;&#48320; &#51064;&#51088;&lt;/h1&gt;
&lt;p&gt;&#51060;&#50808;&#50640;&#46020;, &#47588;&#44060;&#48320;&#49688;&#50640; &#44592;&#48376; &#44050;&#51012; &#51456;&#45796;&#45912;&#44032; &#46608;&#45716; &#51076;&#51032; &#44060;&#49688;&#51032; &#51064;&#51088;&#47484; &#48155;&#45716; &#45796;&#45912;&#44032; &#54616;&#45716; &#44163;&#46020; &#44032;&#45733;&#54633;&#45768;&#45796;. &#51076;&#51032; &#44060;&#49688;&#51032; &#51064;&#51088;&#47484; &#48155;&#45716; &#48512;&#48516;&#51012; &#48372;&#51424;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.ibm.com/developerworks/kr/library/x-rubytextproc/index.html"&gt;http://www.ibm.com/developerworks/kr/library/x-rubytextproc/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
irb(main):029:0&amp;gt; def g(*args)&lt;br /&gt;
irb(main):030:1&amp;gt; a1, a2 = args[0], args[1]&lt;br /&gt;
irb(main):031:1&amp;gt; puts a1&lt;br /&gt;
irb(main):032:1&amp;gt; puts a2&lt;br /&gt;
irb(main):033:1&amp;gt; end&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):034:0&amp;gt; g(1,2)&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):035:0&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*args&#47196; &#50416;&#47732; &#51064;&#51088;&#47484; &#47532;&#49828;&#53944;&#47196; &#48155;&#44172; &#46121;&#45768;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#54620;&#54200; &#47336;&#48708;&#45716; position&#50640; &#51032;&#54644; &#51064;&#51088;&#47484; &#44396;&#48516;&#54633;&#45768;&#45796;. &#54632;&#49688;&#50640; &#51456; &#52395;&#48264;&#51704; &#51064;&#51088;&#45716; &#54632;&#49688;&#51032; &#52395;&#48264;&#51704; &#47588;&#44060;&#48320;&#49688;&#50640; &#46308;&#50612;&#44032;&#44256;, &#46160;&#48264;&#51704; &#51064;&#51088;&#45716; &#54632;&#49688;&#51032; &#46160;&#48264;&#51704; &#51064;&#51088;&#50640; &#46308;&#50612;&#44032;&#51424;. &#44536;&#47084;&#45208; &#54644;&#49905;&#51012; &#49324;&#50857;&#54644; named parameter&#47484; &#44396;&#54788;&#54624; &#49688; &#51080;&#49845;&#45768;&#45796;. &#48169;&#48277;&#51008;, &#54632;&#49688;&#51032; &#47560;&#51648;&#47561; &#51064;&#51088;&#44032; &#54644;&#49884;&#51068;&#46412;&#45716; { } &#47484; &#49324;&#50857;&#54644; &#47749;&#49884;&#51201;&#51004;&#47196; &#54644;&#45817; &#51064;&#51088;&#44032; &#54644;&#49884;&#51076;&#51012; &#51648;&#51221;&#54616;&#51648; &#50506;&#50500;&#46020; &#46108;&#45796;&#45716; &#51216;&#51012; &#51060;&#50857;&#54616;&#45716; &#44163;&#51077;&#45768;&#45796;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):006:0&amp;gt; def f(opt, vars)&lt;br /&gt;
irb(main):007:1&amp;gt; a1, a2 = vars[:a1], vars[:a2]&lt;br /&gt;
irb(main):008:1&amp;gt; puts "opt = #{opt}\ta1 = #{a1}\ta2 = #{a2}"&lt;br /&gt;
irb(main):009:1&amp;gt; end&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):010:0&amp;gt; f(1, :a1=&amp;gt; 1, :a2 =&amp;gt; 2)&lt;br /&gt;
opt = 1 a1 = 1 a2 = 2&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):011:0&amp;gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;4.&#51221;&#44508;&#54364;&#54788;&#49885;&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://www.rubyist.net/%7Eslagell/ruby/regexp.html"&gt;&lt;/a&gt;&lt;a href="http://www.rubyist.net/%7Eslagell/ruby/regexp.html"&gt;http://www.rubyist.net/~slagell/ruby/regexp.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;You can also match one of a group of characters within a pattern. Some common examples are character classes such as ``&lt;code&gt;\s&lt;/code&gt;'', which matches a whitespace character (space, tab, newline, and so on), ``&lt;code&gt;\d&lt;/code&gt;'', which matches any digit, and ``&lt;code&gt;\w&lt;/code&gt;'', which matches any character that may appear in a typical word. The single character ``.'' (a period) matches any character.&lt;/p&gt;
&lt;pre&gt;
/\d\d:\d\d:\d\d/     # a time such as 12:34:56
/Perl.*Python/       # Perl, zero or more other chars, then Python
/Perl\s+Python/      # Perl, one or more spaces, then Python
/Ruby (Perl|Python)/ # Ruby, a space, and either Perl or Python
&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&#51221;&#44508; &#54364;&#54788;&#49885;&#51012; &#51060;&#50857;&#54620; &#47928;&#51088;&#50676; &#47588;&#52845; &#50668;&#48512; &#48708;&#44368;&#49884; =~ &#49324;&#50857; &#44032;&#45733;&lt;/p&gt;
&lt;pre&gt;
if line =~ /Perl|Python/
  puts "Scripting language mentioned: #{line}"
end
&lt;/pre&gt;
&lt;pre&gt;
line.sub(/Perl/, 'Ruby')    # replace first 'Perl' with 'Ruby'
line.gsub(/Python/, 'Ruby') # replace every 'Python' with 'Ruby'
&lt;/pre&gt;
&lt;h1&gt;*.Code Block &#49324;&#50857;&#48277;&lt;/h1&gt;
&lt;pre&gt;
def callBlock
  yield
  yield
end

callBlock { puts "In the block" }
&lt;/pre&gt;
&lt;pre&gt;
&lt;em&gt;produces:&lt;/em&gt;
In the block
In the block
&lt;/pre&gt;
&lt;pre&gt;
5.times {  print "*" }
3.upto(6) {|i|  print i }
('a'..'e').each {|char| print char }
&lt;em&gt;produces:&lt;/em&gt;
*****3456abcde
&lt;/pre&gt;
&lt;h1&gt;*.&#54868;&#47732; &#51077;&#52636;&#47141;&lt;/h1&gt;
&lt;pre&gt;
printf "Number: %5.2f, String: %s", 1.23, "hello"
&lt;/pre&gt;
&lt;pre&gt;
Number:  1.23, String: hello
&lt;/pre&gt;
&lt;pre&gt;
 
&lt;/pre&gt;
&lt;pre&gt;
line = gets
print line
&lt;/pre&gt;
&lt;pre&gt;
while gets           # assigns line to $_
  if /Ruby/          # matches against $_
    print            # prints $_
  end
end
&lt;/pre&gt;
&lt;p&gt;&#53412;&#48372;&#46300;&#47196; &#51077;&#47141;&#51012; &#47588; &#46972;&#51064;&#47560;&#45796; &#48155;&#50500;&#49436; &#51077;&#47141; &#44050;&#51060; Ruby&#51068; &#46412; &#54868;&#47732;&#50640; &#52636;&#47141;&#54616;&#45716; &#50696;&#51228;&lt;/p&gt;
&lt;pre&gt;
ARGF.each { |line|  print line  if line =~ /Ruby/ }
&lt;/pre&gt;
&lt;h1&gt;5.if&#47928;&lt;/h1&gt;
&lt;p&gt;if count &amp;gt; 10&lt;br /&gt;
puts "Try again"&lt;br /&gt;
elsif tries == 3&lt;br /&gt;
puts "You lose"&lt;br /&gt;
else&lt;br /&gt;
puts "Enter a number"&lt;br /&gt;
end&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2&gt;0.&#46160; &#44060; &#51060;&#49345;&#51032; &#47532;&#53556;&#44050; &#51204;&#45804;&#54616;&#44592; &#48143; &#48155;&#44592;&lt;/h2&gt;
&lt;p&gt;def function&lt;/p&gt;
&lt;p style="margin-left: 2em;"&gt;return [0, 1]&lt;/p&gt;
&lt;p&gt;end&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;a,b = function()&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h1&gt;*.class &#52376;&#47532;&lt;/h1&gt;
&lt;pre&gt;
class Song
  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration
  end
end
&lt;/pre&gt;
&lt;table class="codebox" width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;aSong = Song.new("Bicylops", "Fleck", 260)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.inspect&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"#&amp;lt;Song:0x401b4924 @duration=260, @artist=\"Fleck\", @name=\"Bicylops\"&amp;gt;"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;inspect&#45716; Object&#51032; &#47784;&#46304; &#48320;&#49688;&#50752; ID&#47484; &#48152;&#54872;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table class="codebox" width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;class Song&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def to_s&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;"Song: #{@name}--#{@artist} (#{@duration})"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;aSong = Song.new("Bicylops", "Fleck", 260)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.to_s&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"Song: Bicylops--Fleck (260)"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;to_s Method&#47484; &#51116;&#51221;&#51032;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&#49345;&#49549;~!!!&lt;/p&gt;
&lt;pre&gt;
class KaraokeSong &amp;lt; Song
  def initialize(name, artist, duration, lyrics)
    super(name, artist, duration)
    @lyrics = lyrics
  end
end
&lt;/pre&gt;
&lt;pre&gt;
&#49345;&#50948; &#54632;&#49688; &#54840;&#52636;
&lt;/pre&gt;
&lt;table class="codebox" width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;class KaraokeSong &amp;lt; Song&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;# Format ourselves as a string by appending&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;# our lyrics to our parent's #to_s value.&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def to_s&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;super + " [#{@lyrics}]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;aSong = KaraokeSong.new("My Way", "Sinatra", 225, "And now, the...")&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.to_s&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"Song: My Way--Sinatra (225) [And now, the...]"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&#48320;&#49688;&#50752; &#44057;&#51008; &#51060;&#47492;&#51032; &#54632;&#49688;&#47484; &#51221;&#51032;&#54616;&#50668; &#48320;&#49688;&#50640; &#51217;&#44540;&#54624; &#49688; &#51080;&#46020;&#47197; &#54616;&#45716; &#48169;&#48277;&lt;/p&gt;
&lt;table class="codebox" width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;class Song&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def name&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;@name&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def artist&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;@artist&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def duration&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;@duration&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;aSong = Song.new("Bicylops", "Fleck", 260)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.artist&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"Fleck"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.name&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"Bicylops"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;aSong.duration&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&#187;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;260&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&#48320;&#49688; &#49549;&#49457; &#44288;&#47532; &#48169;&#48277;&lt;/p&gt;
&lt;pre&gt;
class Song
&lt;/pre&gt;
&lt;pre&gt;
&lt;code&gt;  attr_reader :name, :artist, :duration&lt;/code&gt;
  attr_writer :duration
&lt;/pre&gt;
&lt;pre&gt;
attr_accessor :something
end
&lt;/pre&gt;
&lt;p&gt;class Method&#50752; Variable&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;
class Song
  @@plays = 0
  def initialize(name, artist, duration)
    @name     = name
    @artist   = artist
    @duration = duration
    @plays    = 0
  end
  def play
    @plays += 1
    @@plays += 1
    "This  song: #@plays plays. Total #@@plays plays."
  end
end
&lt;/pre&gt;
&lt;pre&gt;
class Example

  def instMeth              # instance method
  end

  def Example.classMeth     # class method
  end

end
&lt;/pre&gt;
&lt;table class="codebox" width="500"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;class SongList&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;MaxTime = 5*60 # 5 minutes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;def SongList.isTooLong(aSong)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;return aSong.duration &amp;gt; MaxTime&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="3"&gt;&lt;code&gt;end&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;class &#51217;&#44540; &#51228;&#54620;&#51088;&lt;/p&gt;
&lt;pre&gt;
class MyClass

      def method1    # default is 'public'
        #...
      end

  protected          # subsequent methods will be 'protected'

      def method2    # will be 'protected'
        #...
      end

  private            # subsequent methods will be 'private'

      def method3    # will be 'private'
        #...
      end

  public             # subsequent methods will be 'public'

      def method4    # and this will be 'public'
        #...
      end
end
&lt;/pre&gt;
&lt;pre&gt;
 
&lt;/pre&gt;
&lt;pre&gt;
class MyClass
&lt;/pre&gt;
&lt;p&gt;def method1 end # ... and so on public :method1, :method4 protected :method2 private :method3 end&lt;/p&gt;
&lt;pre&gt;
 
&lt;/pre&gt;
</description>
      <pubDate>Wed, 26 Oct 2011 01:38:05 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/8186982</link>
      <guid>http://kkamagui.springnote.com/pages/8186982</guid>
    </item>
    <item>
      <title>20 &#54532;&#47196;&#44536;&#47000;&#48141; &#54017;</title>
      <description>&lt;h1&gt;&#49548;&#44060;&lt;/h1&gt;
&lt;p&gt;&amp;nbsp;&#44033;&#51333; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#54017;&#51012; &#47784;&#50500;&#45459;&#51008; &#54168;&#51060;&#51648;&#45796;.&lt;/p&gt;
&lt;ul style="margin-left: 1em;"&gt;
&lt;li&gt;&lt;a href="/pages/347952" title="00 &#50952;&#46020;&#50864; &#54532;&#47196;&#44536;&#47000;&#48141; &#54017;" class="wiki"&gt;&lt;strong&gt;00 &#50952;&#46020;&#50864; &#54532;&#47196;&#44536;&#47000;&#48141; &#54017;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/347953" title="01 &#50937; &#54532;&#47196;&#44536;&#47000;&#48141;" class="wiki"&gt;&lt;strong&gt;01 &#50937; &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/359124" title="02 &#44036;&#45800;&#54620; Make &#49324;&#50857;&#48277;" class="wiki"&gt;&lt;strong&gt;02 &#44036;&#45800;&#54620; Make &#49324;&#50857;&#48277;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/407391" title="03 &#49828;&#54532;&#47553; &#45432;&#53944;&#47484; &#54876;&#50857;&#54620; &#51648;&#49885; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;(Knowledgebase) &#44396;&#52629;" class="wiki"&gt;&lt;strong&gt;03 &#49828;&#54532;&#47553; &#45432;&#53944;&#47484; &#54876;&#50857;&#54620; &#51648;&#49885; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;(Knowledgebase) &#44396;&#52629;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/search?q=04%20%EC%9C%88%EB%8F%84%EC%9A%B0%20%EC%BD%98%EC%86%94%28console%29%20%EC%9E%85%EC%B6%9C%EB%A0%A5%20%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%EC%85%98%28Input%2FOutput%20Redirection%29&amp;amp;parent_id=340861" title="04 &#50952;&#46020;&#50864; &#53080;&#49556;(console) &#51077;&#52636;&#47141; &#47532;&#45796;&#51060;&#47113;&#49496;(Input/Output Redirection)" class="wiki"&gt;&lt;strong&gt;04 &#50952;&#46020;&#50864; &#53080;&#49556;(console) &#51077;&#52636;&#47141; &#47532;&#45796;&#51060;&#47113;&#49496;(Input/Output Redirection)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/search?q=05%20VC%206.0%20%EC%9C%BC%EB%A1%9C%20%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C%28UNICODE%29%20%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%20%EB%A7%8C%EB%93%A4%EA%B8%B0&amp;amp;parent_id=340861" title="05 VC 6.0 &#51004;&#47196; &#50976;&#45768;&#53076;&#46300;(UNICODE) &#54532;&#47196;&#51229;&#53944; &#47564;&#46308;&#44592;" class="wiki"&gt;&lt;strong&gt;05 VC 6.0 &#51004;&#47196; &#50976;&#45768;&#53076;&#46300;(UNICODE) &#54532;&#47196;&#51229;&#53944; &#47564;&#46308;&#44592;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/446531" title="06 &#51060;&#53364;&#47549;&#49828;(Eclipse) CDT &#49444;&#52824;" class="wiki"&gt;&lt;strong&gt;06 &#51060;&#53364;&#47549;&#49828;(Eclipse) CDT &#49444;&#52824;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/432649" title="07 &#51060;&#53364;&#47549;&#49828;(Eclipse) &#45800;&#52629;&#53412; &#48143; &#54872;&#44221;&#49444;&#51221;" class="wiki"&gt;&lt;strong&gt;07 &#51060;&#53364;&#47549;&#49828;(Eclipse) &#45800;&#52629;&#53412; &#48143; &#54872;&#44221;&#49444;&#51221;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/search?q=08%20BSD%20%EC%86%8C%EC%BC%93%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%28Socket%20Programming%29%20%EC%98%88%EC%A0%9C&amp;amp;parent_id=340861" title="08 BSD &#49548;&#53011; &#54532;&#47196;&#44536;&#47000;&#48141;(Socket Programming) &#50696;&#51228;" class="wiki"&gt;&lt;strong&gt;08 BSD &#49548;&#53011; &#54532;&#47196;&#44536;&#47000;&#48141;(Socket Programming) &#50696;&#51228;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/585605" title="09 &#49436;&#48652;&#48260;&#51204;(Subversion) &#50952;&#46020;&#50864; &#49436;&#48260; &#49444;&#52824;" class="wiki"&gt;&lt;strong&gt;09 &#49436;&#48652;&#48260;&#51204;(Subversion) &#50952;&#46020;&#50864; &#49436;&#48260; &#49444;&#52824;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/643202" title="10 C &#50616;&#50612; &#44256;&#44553; &#47588;&#53356;&#47196; &#44592;&#48277;" class="wiki"&gt;&lt;strong&gt;10 C &#50616;&#50612; &#44256;&#44553; &#47588;&#53356;&#47196; &#44592;&#48277;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/648931" title="11 &#44316;&#52270;&#51008; &#44592;&#49696; &#47928;&#49436; &#47784;&#51020;" class="wiki"&gt;11 &#44316;&#52270;&#51008; &#44592;&#49696; &#47928;&#49436; &#47784;&#51020;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/search?q=12%20%EB%AC%B8%EC%9E%90%EC%85%8B%28Charactor%20Set%29%20%EC%9E%90%EB%8F%99%20%ED%83%90%EC%A7%80&amp;amp;parent_id=340861" title="12 &#47928;&#51088;&#49483;(Charactor Set) &#51088;&#46041; &#53456;&#51648;" class="wiki"&gt;&lt;/a&gt;&lt;a href="/pages/774266" class="wiki" title="12 &#47928;&#51088;&#49483;(Character Set) &#51088;&#46041; &#53456;&#51648;"&gt;12 &#47928;&#51088;&#49483;(Character Set) &#51088;&#46041; &#53456;&#51648;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/879272" title="13 C/C++&#47196; &#54540;&#47084;&#44536;&#51064; &#54532;&#47112;&#51076;&#50892;&#53356; &#47564;&#46308;&#44592;" class="wiki"&gt;13 C/C++&#47196; &#54540;&#47084;&#44536;&#51064; &#54532;&#47112;&#51076;&#50892;&#53356; &#47564;&#46308;&#44592;&lt;/a&gt;&lt;/strong&gt;&lt;strong&gt;&lt;a href="/pages/873740" title="13 Building Your Own Plugin Framework" class="wiki"&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/1111588" title="14 &#49789;&#44172;&#48372;&#45716; C&#50616;&#50612; &#54252;&#51064;&#53552;(Pointer)" class="wiki"&gt;14 &#49789;&#44172;&#48372;&#45716; C&#50616;&#50612; &#54252;&#51064;&#53552;(Pointer)&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/7504379" title="15 &#51060;&#53364;&#47549;&#49828;(Eclipse) &#52972;&#47084; &#53580;&#47560;(Color Theme) &#49444;&#52824;" class="wiki"&gt;15 &#51060;&#53364;&#47549;&#49828;(Eclipse) &#52972;&#47084; &#53580;&#47560;(Color Theme) &#49444;&#52824;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="/pages/9029996" title="16 VI &#44288;&#47144;" class="wiki"&gt;16 VI &#44288;&#47144;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style="margin-left: 1em;"&gt;
&lt;li&gt;&lt;a href="/pages/351680" title="90 &#45936;&#51060;&#53552;&#48288;&#51060;&#49828; &#51060;&#47200;" class="wiki"&gt;&lt;strong&gt;90 &#45936;&#51060;&#53552;&#48288;&#51060;&#49828; &#51060;&#47200;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/392897" title="99 &#50952;&#46020;&#50864; &#49324;&#50857; &#54017;" class="wiki"&gt;&lt;strong&gt;99 &#50952;&#46020;&#50864; &#49324;&#50857; &#54017;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Sun, 23 Oct 2011 13:19:21 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/340861</link>
      <guid>http://kkamagui.springnote.com/pages/340861</guid>
    </item>
    <item>
      <title>00 &#54252;&#53944;&#54260;&#47532;&#50724;(Portfolio)</title>
      <description>&lt;h1&gt;00 &#54252;&#53944;&#54260;&#47532;&#50724;(Protfolio)&lt;/h1&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#49688;&#49345;&#44221;&#47141;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(254, 0, 0);"&gt;&#47560;&#51060;&#53356;&#47196; &#49548;&#54532;&#53944; &#51060;&#47700;&#51652;&#52981; 2007&lt;/span&gt; &#54620;&#44397; &#45824;&#54924; &#44552;&#49345; &#49688;&#49345;(&#44368;&#50977;&#48512; &#51109;&#44288;&#49345;)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;Active Sound Maker&lt;/strong&gt;&#47196; &#52636;&#51204;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="http://kkamagui.tistory.com/263" class="external" title="http://kkamagui.tistory.com/263"&gt;http://kkamagui.tistory.com/263&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#44221;&#48513;&#45824;&#54617;&#44368;&amp;nbsp;&lt;span style="color: rgb(254, 0, 0);"&gt;Capston Design&amp;nbsp;2007&lt;/span&gt; &#45824;&#49345; &#49688;&#49345;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;Upgrade Active Sound Maker&lt;/strong&gt;&#47196; &#52636;&#51204;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="http://kkamagui.tistory.com/263" class="external" title="http://kkamagui.tistory.com/263"&gt;http://kkamagui.tistory.com/263&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#44221;&#48513;&#45824;&#54617;&#44368; &lt;span style="color: rgb(254, 0, 0);"&gt;2007 &#48373;&#54788;&#48176; &#54532;&#47196;&#44536;&#47000;&#48141; &#44221;&#51652;&#45824;&#54924;&lt;/span&gt; &#44552;&#49345; &#49688;&#49345;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#44053;&#49324; &#48143; &#44592;&#44256;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;2007/09/15&amp;nbsp;&#51204;&#44397; &#47716;&#48260;&#49901; &#49324;&#45236; &#44368;&#50977; &#44053;&#49324;&amp;nbsp;- &lt;span style="color: rgb(255, 0, 0);"&gt;OS Framework&lt;span style="font-family: &#44404;&#47548;;"&gt;&#47484; &#53685;&#54644; &#49789;&#44172; &#51217;&#44540;&#54616;&#45716;&lt;/span&gt; Kernel &#51228;&#51089;&lt;/span&gt; - &lt;span style="font-family: &#44404;&#47548;;"&gt;&lt;a href="/pages/339535" title="01 OS &#54532;&#47112;&#51076;&#50892;&#53356;" class="wiki"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;01 OS &#54532;&#47112;&#51076;&#50892;&#53356;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&#52280;&#51312;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;2008/01 ~ 2008/04 "&lt;span style="color: rgb(255, 0, 0);"&gt;&#47560;&#51060;&#53356;&#47196; &#49548;&#54532;&#53944;&#50920;&#50612;&lt;/span&gt;"&#51648; &#50672;&#51116; - &lt;span style="color: rgb(255, 0, 0);"&gt;&#54532;&#47112;&#51076;&#50892;&#53356;&#47196; &#45796;&#49884;&#48372;&#45716; OS &#44060;&#48156;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;2008~2010&amp;nbsp;&lt;span class="Apple-style-span" style="color: rgb(254, 0, 0);"&gt;MINT64 OS(Multicore Intelligent 64bit OS)&lt;/span&gt; &#44060;&#48156; &#48143; &#51088;&#47308; &#51221;&#47532; &#51473;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS" title="http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS" class="external"&gt;http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2011&#45380; 6&#50900; 24&#51068;&amp;nbsp;"&lt;span class="Apple-style-span" style="line-height: 2em;"&gt;&lt;span class="Apple-style-span" style="line-height: 2em; color: rgb(255, 1, 3);"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/span&gt;&lt;/span&gt;" &#52636;&#44036;&lt;/strong&gt;&lt;/p&gt;
&lt;div style="margin-left: 2em; line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 32px;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img class="attachment" title="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" src="/pages/339488/attachments/5165014" alt="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial; border-color: initial; border-color: initial;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="margin-left: 2em; line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 32px;"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Operating&amp;nbsp;System Development&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;KKAMAGUI OS&lt;/strong&gt; :&amp;nbsp;&#45796;&#50577;&#54620; &#44592;&#45733;&#51012; &#44054;&#52632; 32Bit &#48276;&#50857; OS. &#54788;&#51116; OS &#54532;&#47112;&#51076;&#50892;&#53356; &#49548;&#49828;&#51032; &#44592;&#48152;&#51060; &#46120;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kkamagui.egloos.com/3071201"&gt;&lt;strong style=""&gt;http://kkamagui.egloos.com/3071201&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/339535" title="01 OS &#54532;&#47112;&#51076;&#50892;&#53356;" class="wiki"&gt;&lt;strong style=""&gt;01 OS &#54532;&#47112;&#51076;&#50892;&#53356;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;KKAMAGUI OS Framework&lt;/strong&gt;&amp;nbsp;: CPU &#48143; Hardware&#50640; &#53945;&#54868;&#46108; &#48512;&#48516;&#51012; Framework&#50640;&#49436; &#52376;&#47532;&#54644;&#51452;&#50612; OS &#44396;&#54788; &#49884; &#52488;&#44592; &#51089;&#50629;&#51032; &#47196;&#46300;&#47484; &#51460;&#51076;. OS &#44060;&#48156;&#51012; &#48372;&#45796; &#52628;&#49345;&#54868;&#46108; &#54872;&#44221;&#50640;&#49436;&amp;nbsp;&#44032;&#45733;&#54616;&#46020;&#47197; &#44592;&#48152; &#54872;&#44221;&#51012; &#51228;&#44277;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/339535" title="01 OS &#54532;&#47112;&#51076;&#50892;&#53356;" class="wiki"&gt;&lt;strong style=""&gt;01 OS &#54532;&#47112;&#51076;&#50892;&#53356;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;ARM Simple OS&lt;/strong&gt; :&amp;nbsp;&#53468;&#49828;&#53356; &#49373;&#49457; &#48143; &#44036;&#45800;&#54620; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#44592;&#45733; &#44396;&#54788;. &#47680;&#54000; &#53468;&#49828;&#53433; &#51221;&#46020;&#47564; &#44396;&#54788;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/432888" title="04 NDS &#52964;&#45328;(Kernel) &#47564;&#46308;&#44592;" class="wiki"&gt;&lt;strong style=""&gt;04 NDS &#52964;&#45328;(Kernel) &#47564;&#46308;&#44592;&lt;/strong&gt;&lt;/a&gt; : ARM9 &#48143; ARM7 &#46272;&#50620;&#53076;&#50612;&#47484; &#49324;&#50857;&#54616;&#45716; &#52964;&#45328;. NDS&#51032; &#51452;&#48320; &#51109;&#52824; &#51473; WIFI &#47784;&#46280;&#51012; &#51228;&#50808;&#54616;&#44256; &#47784;&#46160; &#49324;&#50857;&#44032;&#45733;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Embedded&amp;nbsp;System &#50857; Simple GUI Library&lt;/strong&gt; :&amp;nbsp;MFC&amp;nbsp;&#44592;&#48152;&#51032; Simple GUI Library. NDS&#50640;&#49436; &#49324;&#50857;&#54624; &#50857;&#46020;&#47196; &#47564;&#46316;. &#51089;&#51008; &#53076;&#46300;&#51648;&#47564; &#45208;&#47492;&#45824;&#47196; &#44053;&#47141;&#54620; &#44592;&#45733; &#51228;&#44277;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/417428" title="02 NDS &#50952;&#46020;&#50864; &#49884;&#49828;&#53596;(Windows System)" class="wiki"&gt;&lt;strong style=""&gt;02 NDS &#50952;&#46020;&#50864; &#49884;&#49828;&#53596;(Windows System)&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;: NDS ARM9 &#50857; GUI Library&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Window System Programming&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#48372;&#50504; &#54532;&#47196;&#44536;&#47016; &#48516;&#49437; &#48143; Bypass&lt;/strong&gt;&amp;nbsp;:&amp;nbsp;&amp;nbsp;&#50668;&#47084;&#51333;&#47448;&#51032; &#48372;&#50504; &#54532;&#47196;&#44536;&#47016;&#51012; &#48516;&#49437;&#54616;&#44256; &#54980;&#53433;&#46108; &#48512;&#48516;&#51012; Bypass&#54616;&#50668; &#50896;&#54616;&#45716; &#44592;&#45733; &#48373;&#50896;&#54616;&#45716; &#44592;&#45733;. &#48516;&#49437;&#50857; &#53812; &#51088;&#52404; &#51228;&#51089;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#51088;&#47308;&#51032; &#53945;&#49457;&#49345; &#48708;&#44277;&#44060;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;USB&amp;nbsp;Function &#46300;&#46972;&#51060;&#48260; &#51228;&#51089;&lt;/strong&gt; :&amp;nbsp;&amp;nbsp;&#49324;&#51060;&#54532;&#47112;&#49828;&#49324;&#51032; fx2lp &#48372;&#46300;&#50752; &#53685;&#49888;&#54616;&#45716; &#46300;&#46972;&#51060;&#48260; &#51228;&#51089;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;TDI&amp;nbsp;&#54596;&#53552; &#46300;&#46972;&#51060;&#48260;&lt;/strong&gt; : TDI &#46300;&#46972;&#51060;&#48260;&#47484;&amp;nbsp;&#54980;&#53433;&#54616;&#50668;&amp;nbsp;&#50976;&#51200; &#47112;&#48296; &#54532;&#47196;&#44536;&#47016;&#50640;&#49436; &#49569;&#49688;&#49888;&#54616;&#45716;&amp;nbsp;&#54056;&#53431; &#47784;&#45768;&#53552;&#47553; &#48143; &#54056;&#53431; &#49373;&#49457; &#44592;&#45733;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/569916" title="03 Network Monitor" class="wiki"&gt;&lt;strong style=""&gt;03 Network Monitor&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Keyboard/Mouse &#54596;&#53552; &#46300;&#46972;&#51060;&#48260;&lt;/strong&gt;&amp;nbsp;:&amp;nbsp;&#53412;&#48372;&#46300; &#48143; &#47560;&#50864;&#49828;&#51032; &#45936;&#51060;&#53552;&#47484; &#47784;&#45768;&#53552;&#47553; &#48143; &#45936;&#51060;&#53552; &#49373;&#49457;&#54616;&#45716; &#44592;&#45733;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#51088;&#47308;&#51032; &#53945;&#49457;&#49345; &#48708;&#44277;&#44060;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Keyboard/Mouse &#44032;&#49345; HID(Virtual HID)&#46300;&#46972;&#51060;&#48260;&lt;/strong&gt; : HID&#47484; &#44032;&#49345;&#51004;&#47196; &#49373;&#49457;&#54616;&#50668; &#53412;&#48372;&#46300;/&#47560;&#50864;&#49828; &#45936;&#51060;&#53552;&#47484; &#49373;&#49457;&#54616;&#45716; &#44592;&#45733;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#51088;&#47308;&#51032; &#53945;&#49457;&#49345; &#48708;&#44277;&#44060;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;SDT&amp;nbsp;&#54980;&#53433;&#51012; &#51060;&#50857;&#54620; &#49884;&#49828;&#53596; &#47784;&#45768;&#53552;&#47553; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; :&amp;nbsp;SDT&#47484; &#54980;&#53433;&#54616;&#50668; &#53945;&#51221; &#54028;&#51068; &#51217;&#44540; &#48143; &#54532;&#47196;&#49464;&#49828; &#49373;&#49457; &#47784;&#45768;&#53552;&#47553;. &#54028;&#51068; &#48143; &#54260;&#45908; &#49704;&#44608; &#44592;&#45733; &#48143; &#49325;&#51228; &#44552;&#51648; &#44592;&#45733; &#51228;&#44277;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/569963" title="04 System Monitor" class="wiki"&gt;&lt;strong style=""&gt;04 System Monitor&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#54028;&#51068; &#49884;&#49828;&#53596; &#54252;&#47607; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; :&amp;nbsp;&#51060;&#46041;&#49885; &#46356;&#49828;&#53356;&#47484; &#46356;&#49828;&#53356; &#53945;&#49457;&#50640; &#47582;&#44172; &#44033; &#50741;&#49496;&#46308;&#51012; &#51228;&#50612;&#54616;&#50668; &#52572;&#51201;&#51032; &#49345;&#53468;&#47196; &#54252;&#47607;&#54644;&#51452;&#45716; &#54532;&#47196;&#44536;&#47016;. FAT &#54028;&#51068; &#49884;&#49828;&#53596;&#51032; &#47784;&#46304;&amp;nbsp;&#50741;&#49496; &#49324;&#50857; &#44032;&#45733;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/340857" title="03 File System" class="wiki"&gt;&lt;strong style=""&gt;03 File System&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;PE File &#50516;&#54840;&#54868;&lt;/strong&gt; :&amp;nbsp;&#50908;&#51060;&#45208; &#44592;&#53440; &#48148;&#51060;&#47084;&#49828;&#47196; &#51064;&#54644; &#49892;&#54665;&#54028;&#51068;&#51060; &#44048;&#50684;&#46104;&#50612; &#49892;&#54665;&#46104;&#45716; &#44163;&#51012; &#47561;&#44256;, &#49892;&#54665; &#54028;&#51068;&#50640; &#45936;&#51060;&#53552;&#47484; &#49704;&#44592;&#44592; &#50948;&#54620; &#44592;&#45733; &#51228;&#44277;. &#49892;&#54665;&#54028;&#51068; &#54056;&#53433; &#53812;&#44284; &#44057;&#51008; &#50669;&#54624;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/407001" title="01 PE &#54028;&#51068; &#48516;&#49437;" class="wiki"&gt;&lt;strong style=""&gt;01 PE &#54028;&#51068; &#48516;&#49437;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;ETC Board Programming&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;NDSL &#54856; &#48652;&#47336; &#44060;&#48156;&lt;/strong&gt;&amp;nbsp;:&amp;nbsp;DevKitPro&#47484; &#51060;&#50857;&#54644;&#49436; &#51649;&#51217; &#47564;&#46304;&amp;nbsp;&#54856;&#48652;&#47336; &#54532;&#47196;&#44536;&#47016;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/416259" title="00 KKAMAGUI NOTEPAD" class="wiki"&gt;&lt;strong style=""&gt;00 KKAMAGUI NOTEPAD&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/432888" title="04 NDS &#52964;&#45328;(Kernel) &#47564;&#46308;&#44592;" class="wiki"&gt;&lt;strong style=""&gt;04 NDS &#52964;&#45328;(Kernel) &#47564;&#46308;&#44592;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/566470" title="08 KKAMAGUI NDS Shell" class="wiki"&gt;&lt;strong style=""&gt;08 KKAMAGUI NDS Shell&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/428659" title="03 NDS &#54856;&#48652;&#47336;(Homebrew) - Advanced KKAMAGUI Notepad" class="wiki"&gt;&lt;strong style=""&gt;03 NDS &#54856;&#48652;&#47336;(Homebrew) - Advanced KKAMAGUI Notepad&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="/pages/575344" title="09 NDS &#54856;&#48652;&#47336;(Homebrew) - KKAMAGUI Defence Tower" class="wiki"&gt;&lt;strong style=""&gt;09 NDS &#54856;&#48652;&#47336;(Homebrew) - KKAMAGUI Defence Tower&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;TI DSP c7000, c5000&amp;nbsp;&#49884;&#47532;&#51592;&lt;/strong&gt; : MP3 Player &#54252;&#54021; &#48143; &#44592;&#53440; &#50976;&#54008;&#47532;&#54000; &#51228;&#51089;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kkamagui.egloos.com/category/ARM%2FDSP%2FNDS%2FUSB"&gt;&lt;strong style=""&gt;http://kkamagui.egloos.com/category/ARM%2FDSP%2FNDS%2FUSB&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;USB &#54156;&#50920;&#50612;&lt;/strong&gt; :&amp;nbsp;&#49324;&#51060;&#54532;&#47112;&#49828;&#49324;&#51032;&amp;nbsp;fx2lp&#47484; &#49324;&#50857;&#54616;&#45716;&amp;nbsp;&#44036;&#45800;&#54620; &#54156;&#50920;&#50612; &#51228;&#51089;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;Window Programming&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#51204;&#54868; &#51228;&#50612; &#49436;&#48260; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; :&amp;nbsp;PBX(&#49324;&#49444; &#44368;&#54872;&#44592;)&#50752; &#50672;&#46041;&#54616;&#50668; &#51204;&#54868;&#47484; &#51228;&#50612;&#54616;&#44256; &#51060;&#50640; &#45824;&#54620; &#51221;&#48372;&#47484; DB&#50640; &#52376;&#47532;&#54644;&#51452;&#45716; &#54532;&#47196;&#44536;&#47016;. 2006&#45380;&#44620;&#51648; &#49436;&#50872;&#51012; &#51228;&#50808;&#54620; &#44144;&#51032; &#51204;&#44397;(&#51228;&#51452;&#46020; &#54252;&#54632;)&#50640;&#49436; &#49324;&#50857;&#46120;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#47680;&#54000;&#45936;&#49828;&#53356;&#53681; &#54532;&#47196;&#44536;&#47016;&amp;nbsp;&lt;/strong&gt;:&amp;nbsp;&#44032;&#49345;&#54868;&#47732;&#51012; 9&#44060; &#49373;&#49457;&#54616;&#50668; &#51089;&#50629; &#54872;&#44221;&#51012; &#45331;&#54784;&#51452;&#45716; &#50669;&#54624; &#48143; '&#54637;&#49345; &#50948;' &#44592;&#45733;&#51012; &#51228;&#44277;&#54616;&#50668; &#53945;&#51221; &#52285;&#51012; &#54637;&#49345; &#50948;&#50640; &#50948;&#52824;&#49884;&#53412;&#45716; &#44592;&#45733; &#51228;&#44277;. &#51089;&#50629; &#54200;&#47532;&#47484; &#50948;&#54644; &#51089;&#49457;&#54620; &#54532;&#47196;&#44536;&#47016;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/391434" title="01 Virtual Desktop " class="wiki"&gt;&lt;strong style=""&gt;01 Virtual Desktop&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#51068;&#51221;&#44288;&#47532; &#54532;&#47196;&#44536;&#47016;&amp;nbsp;&lt;/strong&gt;: &#44592;&#51316;&#51032; &#51068;&#51221;&#44288;&#47532; &#54532;&#47196;&#44536;&#47016;&#51060; &#51068;&#51221;&#50640; &#45824;&#54620; &#44288;&#47532;&#44032; &#51473;&#49900;&#51064;&#45936;, &#50668;&#44592;&#50640; &#54028;&#51068; &#44288;&#47532; &#44592;&#45733;&#51012; &#52628;&#44032;&#54616;&#50668; &#54028;&#51068;&#46020; &#44057;&#51060; &#44288;&#47532;&#54624; &#49688; &#51080;&#46020;&#47197; &#54632;. FTP &#49436;&#48260;&#50752; &#50672;&#44228;&#54616;&#50668; &#54028;&#51068; &#50629;&#47196;&#46300;/&#45796;&#50868;&#47196;&#46300; &#48143; &#51068;&#51221; &#50629;&#47196;&#46300;/&#45796;&#50868;&#47196;&#46300; &#44592;&#45733; &#51228;&#44277;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/391432" title="00 KKAMALENDAR(KKAMAGUI Calendar)" class="wiki"&gt;&lt;strong style=""&gt;00 KKAMALENDAR(KKAMAGUI Calendar)&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;MIDI &#48516;&#49437; &#48143; &#50672;&#51452;&amp;nbsp;&#54532;&#47196;&#44536;&#47016;&lt;/strong&gt;:&amp;nbsp;MIDI &#54028;&#51068;&#51012; &#48516;&#49437;&#54616;&#50668; &#53596;&#54252; &#48143; &#53440;&#51060;&#48141;&#51012; &#44228;&#49328;&#54616;&#44256; &#51060;&#44163;&#51012; &#50672;&#51452;&#54644; &#51452;&#45716; &#54532;&#47196;&#44536;&#47016;. Raw MIDI &#54632;&#49688; &#49324;&#50857;&#54664;&#51004;&#47728;&amp;nbsp;&#47560;&#51060;&#53356;&#47196;&#49548;&#54532;&#53944; &#51060;&#47700;&#51652;&#52981; 2007(Microsoft ImagineCup 2007)&#50640;&#49436; &#44552;&#49345; &#49688;&#49345;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://kkamagui.tistory.com/281"&gt;&lt;strong style=""&gt;http://kkamagui.tistory.com/281&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kkamagui.tistory.com/263"&gt;&lt;strong style=""&gt;http://kkamagui.tistory.com/263&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong style=""&gt;&#45800;&#52629; &#53412;&#47484; &#51060;&#50857;&#54644;&#49436; &#54532;&#47196;&#44536;&#47016;&#51012; &#49892;&#54665;&#54616;&#45716; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; : &#54596;&#50836;&#50640; &#51032;&#54644; &#47564;&#46308;&#50632;&#51020;. &#47564;&#46308;&#44256; &#45208;&#45768; &#45208;&#47492;&#45824;&#47196; &#54200;&#54632;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/546563" title="02 Key Launcher" class="wiki"&gt;&lt;strong style=""&gt;02 Key Launcher&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#44592;&#53440; &#50728;&#44054; &#50952;&#46020;&#50864; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; : &#47700;&#49888;&#51256;&#47484; &#54252;&#54632;&#54620; &#50948;&#50640;&#49436; &#50616;&#44553;&#54616;&#51648; &#50506;&#51008; &#46321;&#46321;&#51032; &#54532;&#47196;&#44536;&#47016;&#46308;...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Sun, 25 Sep 2011 02:41:48 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/389813</link>
      <guid>http://kkamagui.springnote.com/pages/389813</guid>
    </item>
    <item>
      <title>00 KKAMAGUI &#49548;&#44060;</title>
      <description>&lt;h2&gt;&#51060;&#49324;&#54620; &#49548;&#44048;&lt;/h2&gt;
&lt;p&gt;&#50504;&#45397;&#54616;&#49464;&#50836; &#44620;&#47560;&#44396;&#51077;&#45768;&#45796;. ^&#12641;^&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51648;&#51064;&#46308;&#51032;&amp;nbsp;&#48660;&#47196;&#44536;&#47484; &#46168;&#47084;&#48372;&#45796;&#44032; &#50668;&#44592;&#44620;&#51648; &#50724;&#44172; &#46104;&#50632;&#45348;&#50836;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50715;&#45216; &#54924;&#49324;&#50640;&#49436;&amp;nbsp;&#50948;&#53412;&#47484; &#51060;&#50857;&#54644;&#49436;&amp;nbsp;&#51648;&#49885;&#44288;&#47532;&#49884;&#49828;&#53596;&#51012; &#44396;&#52629;&#54664;&#50632;&#45716;&#45936;, &#44536;&#44144;&#46993; &#45712;&#45196;&#51060; &#48708;&#49847; @0@.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50500;&#51452; &#47564;&#51313;&#49828;&#47101;&#49845;&#45768;&#45796;. &#51060;&#51228;&#45716; &#51060;&#51901;&#51004;&#47196; &#50734;&#44200;&#50732;&#44620;&amp;nbsp;&#54616;&#45716; &#51600;&#44144;&#50868;&amp;nbsp;&#44256;&#48124;&#51060;...&amp;nbsp;&#12619;&#12619; &amp;nbsp;^&#12641;^)/~~&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;ps) &#50500;&#51649; &#44596;&#44544; &#50416;&#44592;&#45208;&amp;nbsp;&#46104;&#46028;&#47532;&#44592; &#44592;&#45733;&#51008; &#50557;&#44036; &#47928;&#51228;&#44032; &#51080;&#45716; &#46319;... &#12641;_&#12641;a... &#51060;&#47088;.. &#12619;&#12619;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;KKAMAGUI&amp;nbsp; &#49548;&#44060;&lt;/h2&gt;
&lt;p&gt;&#50612;&#47160;&#51012; &#46412;&#48512;&#53552; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#44288;&#49900;&#51060; &#47566;&#50520;&#45912; &#52384;&#50630;&#45912; &#44844;&#47560;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#45208;&#51060;&#44032;&amp;nbsp;&#46308;&#50612;&#46020; &#52384;&#51060;&amp;nbsp;&#50630;&#44592;&#45716; &#47560;&#52268;&#44032;&#51648;&#51648;&#47564; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#50676;&#51221;&#51008; &#45208;&#45216;&#51060; &#52964;&#51256;&#49436; &#51060;&#51228; &#48324;&#47196; &#50504;&#54644;&#48376;&#44172; &#50630;&#45716; &#44163; &#44057;&#49845;&#45768;&#45796;. &#12622;&#12622;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51453;&#51088;&#49332;&#51088; OS&#46020; &#47564;&#46308;&#50612;&#48372;&#44256; &#50952;&#46020;&#50864; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141;&#46020; &#54644;&#48372;&#44256;, &#44033;&#51333; &#45348;&#53944;&#50892;&#53356; &#50612;&#54540;&#47532;&#52992;&#51060;&#49496;&#46020; &#47564;&#46308;&#50612;&#48372;&#44256;... &#44536;&#47084;&#45796;&#44032; &#51339;&#51008; &#49324;&#46988;&#46308;... &#51339;&#51008; &#49828;&#49849;&#45784;&#46020; &#47564;&#45208;&#44256; &#12622;&#12622;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51648;&#44552;&#52376;&#47100;&#47564; &#49332; &#49688; &#51080;&#45796;&#47732; &#50620;&#47560;&#45208; &#54665;&#48373;&#54624;&#44620;&#50836;?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51328;&#45908; &#49884;&#44036;&#51060; &#51648;&#45208;&#49436; &#54924;&#49324;&#50640; &#51077;&#49324;&#54616;&#44256; &#51221;&#49888;&#50630;&#51060; &#48148;&#49240;&#47732; &#50668;&#47084;&#44032;&#51648;&#44032; &#49548;&#55128;&#54644; &#51648;&#44192;&#51648;&#47564;... &#44536;&#47000;&#46020; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#50676;&#51221;&#47564;&#53372;&#51008;&amp;nbsp;&#51075;&#51648; &#50506;&#44256; &#49332;&#50500;&#44040;&#44161;&#45768;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&lt;strong style=""&gt;Written By KKAMAGUI&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: right;"&gt;&lt;strong style=""&gt;mint64os@gmail.com&lt;/strong&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img class="attachment" title="b0033111.jpg" src="/pages/339551/attachments/139989" height="187" alt="b0033111.jpg" width="250" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&#45796;&#46308; &#54868;&#51060;&#54021;&#51077;&#45768;&#45796;. @0@)/~&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;&#45208;&#51032; &#54665;&#51201;...&lt;/h1&gt;
&lt;h2&gt;&#48337;&#50669; &#53945;&#47168; &#54980;(2006 ~ &#54788;&#51116;)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&#50952;&#46020;&#50864; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141; &#49884;&#51089;.&amp;nbsp;2006&#45380;&amp;nbsp;&#54980;&#48152; &#52376;&#51020;&#51004;&#47196; &#46356;&#48148;&#51060;&#49828; &#46300;&#46972;&#51060;&#48260; &#54028;&#51068;&#51012; &#51089;&#49457;&#54644; &#48376; &#44163;&#51060; &#49884;&#52488;&#50688;&#51020;&lt;/li&gt;
&lt;li&gt;&#50952;&#46020;&#50864;&#46020;&amp;nbsp;&#46356;&#48148;&#51060;&#49828; &#46300;&#46972;&#51060;&#48260;&#47484; &#51060;&#50857;&#54616;&#47732; &#47803;&#54616;&#45716; &#44172; &#50630;&#51020;&#51012; &#50508;&#44172;&#46120;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;SDT &#54981;&#51012; &#51060;&#50857;&#54620; &#49884;&#49828;&#53596; &#44048;&#49884; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;TDI &#54981;&#51012; &#51060;&#50857;&#54620; &#45348;&#53944;&#50892;&#53356; &#47784;&#45768;&#53552;&#47553; &#48143; &#54056;&#53431; &#49569;&#49888; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#53412;&#48372;&#46300;/&#47560;&#50864;&#49828; &#54596;&#53552; &#46300;&#46972;&#51060;&#48260;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;PE &#54028;&#51068;&#51012; &#48372;&#54840;&#54616;&#44592;&#50948;&#54620; PE &#54028;&#51068; &#50516;&#54840;&#54868; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#48372;&#50504; &#54532;&#47196;&#44536;&#47016; &#48516;&#49437; &#48143;&amp;nbsp;Bypass &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#50976;&#54008;&#47532;&#54000; &#54532;&#47196;&#44536;&#47016; &#51089;&#49457;( &#53664;&#49692;&#51060;, &#51068;&#51221;&#44288;&#47532; &#54532;&#47196;&#44536;&#47016;, &#45800;&#52629;&#53412; &#54532;&#47196;&#44536;&#47016; )&lt;/strong&gt;.&amp;nbsp;&lt;strong style=""&gt;&lt;a href="/pages/389813" class="wiki" title="00 &#54252;&#53944;&#54260;&#47532;&#50724;(Portfolio) "&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;00 &#54252;&#53944;&#54260;&#47532;&#50724;(Portfolio)&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&#52280;&#44256;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;FAT &#54028;&#51068; &#49884;&#49828;&#53596;&amp;nbsp;&#54252;&#47607; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&#44033;&#51333; &lt;strong style=""&gt;&#54028;&#51060;&#50028; &#54532;&#47196;&#44536;&#47016;&lt;/strong&gt; &#51089;&#49457;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&#44036;&#45800;&#54620; &#50976;&#54008;&#47532;&#54000; &#54532;&#47196;&#44536;&#47016;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;NDSL &#50857; &#54856;&#48652;&#47336;&lt;/strong&gt; &#51089;&#49457;.&amp;nbsp;&#44536;&#47548;&#54032; &#44057;&#51008; &#44036;&#45800;&#54620; &#47700;&#47784; &#54532;&#47196;&#44536;&#47016;. &lt;strong style=""&gt;&lt;a href="/pages/339826" class="wiki" title="02 NDS &#48143; ARM"&gt;02 NDS &#48143; ARM&lt;/a&gt;&lt;/strong&gt; &#52280;&#44256;&lt;/li&gt;
&lt;li&gt;"&lt;strong style=""&gt;&#47560;&#51060;&#53356;&#47196; &#49548;&#54532;&#53944;&#50920;&#50612;&lt;/strong&gt;"&#51648;&#50640; &lt;strong style=""&gt;2008&#45380;&amp;nbsp;1&#50900;&#48512;&#53552; 4&#50900;&lt;/strong&gt;&#44620;&#51648;&amp;nbsp;"&lt;span style="color: rgb(254, 0, 0);"&gt;&lt;strong style=""&gt;&#54532;&#47112;&#51076;&#50892;&#53356;&#47196; &#45796;&#49884;&#48372;&#45716; OS &#44060;&#48156;&lt;/strong&gt;&lt;/span&gt;" &#44592;&#49324; &#50672;&#51116;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&#50620;&#47560;&#51204;(2008&#45380; 4&#50900;)&#50640; &#44396;&#47588;&#54620; PSP &#55152;&#46181;&#51060;&#47484; &#44032;&#51648;&#44256; &#54856;&#48652;&#47336; &#44060;&#48156; &#51456;&#48708;&#51473;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#54788;&#51116;(2008&#45380; 1&#50900;~) &#47784;&#49324;&#50640; &#44540;&#47924;&#51473;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span style="color: rgb(254, 0, 0);"&gt;&lt;strong style=""&gt;MINT64 OS(Multicore Intelligent 64bit OS) &#44060;&#48156; &#48143; &#51088;&#47308; &#51221;&#47532; &#51473;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS" title="http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS" class="external"&gt;http://kkamagui.tistory.com/category/OS%20Kernel/MINT64%20OS&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;a href="http://kkamagui.tistory.com/558"&gt;http://kkamagui.tistory.com/558&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2011&#45380; 6&#50900; 24&#51068;&amp;nbsp;"&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 1, 3);"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/span&gt;&lt;/strong&gt;" &#52636;&#44036;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: &#44404;&#47548;, Gulim, &#46027;&#50880;, Dotum, Arial, sans-serif; font-size: 12px; line-height: 24px; color: rgb(0, 0, 0); font-weight: normal;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img class="attachment" title="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" src="/pages/339488/attachments/5165014" alt="&#53356;&#44592;&#48320;&#54872;_&#53356;&#44592;&#48320;&#54872;_836_1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial; border-color: initial;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(34, 61, 103); font-family: 'malgun gothic', dotum, gulim, sans-serif; font-size: 2em; background-image: ; background-color: initial; background-position: 0px 100%;"&gt;&lt;span style="font-family: &#44404;&#47548;, Gulim, &#46027;&#50880;, Dotum, Arial, sans-serif; font-size: 12px; line-height: 24px; color: rgb(0, 0, 0); font-weight: normal;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: &#44404;&#47548;, Gulim, &#46027;&#50880;, Dotum, Arial, sans-serif; font-size: 12px; line-height: 24px; color: rgb(0, 0, 0); font-weight: normal;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(34, 61, 103); font-family: 'malgun gothic', dotum, gulim, sans-serif; font-size: 2em; background-image: ; background-color: initial; background-position: 0px 100%;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: rgb(34, 61, 103); font-family: 'malgun gothic', dotum, gulim, sans-serif; font-size: 2em; background-image: ; background-color: initial; background-position: 0px 100%;"&gt;&#48337;&#53945; &#49884;&#51208;(2002 ~ 2006 &#52488;)&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&#51204;&#44397; &#49548;&#48169;&#48376;&#48512;&#51032; &#51204;&#54868; &#52376;&#47532; &#49436;&#48260; &#54532;&#47196;&#44536;&#47016; &#51228;&#51089;. 2005&#45380; &#47568;&#44620;&#51648; &#49436;&#50872; &#49548;&#48169;&#48376;&#48512; &#48764;&#44256; &#44144;&#51032; &#47784;&#46304; &#51648;&#50669;&#51060; &#45236;&#44032; &#47564;&#46304; &#51204;&#54868; &#52376;&#47532; &#54532;&#47196;&#44536;&#47016;&#51004;&#47196; &#50629;&#47924; &#49688;&#54665;.(&#49345;&#45817;&#55176; &#48512;&#45812;.. &#12641;_&#12641;;;;;)&lt;/li&gt;
&lt;li&gt;&#44368;&#54872;&#44592; &#51228;&#50612; &#54532;&#47196;&#53664;&#53084;&#51064;&amp;nbsp;CSTA II &#54532;&#47196;&#53664;&#53084; &#54617;&#49845;.&amp;nbsp;CSTA II &#54532;&#47196;&#53664;&#53084; &#51204;&#47928; &#50629;&#52404;&#44032; &#48260;&#44536;&#47484; &#49549;&#52636;&#49884;&#53020;&#49436; &#45208;&#46020; &#47784;&#47476;&#44172; &#54616;&#44172;&#46124;&#51020;( &#12641;_&#12641;;;;; &#50780; &#51088;&#44984; &#51453;&#45716;&#44144;&#50556;... &#12640;_&#12640;)&lt;/li&gt;
&lt;li&gt;&#44536;&amp;nbsp;&#50808; &#47924;&#49440; &#51109;&#48708; &#48143; &#48169;&#49569;&amp;nbsp;&#51109;&#48708;&amp;nbsp;&#51228;&#50612; &#54532;&#47196;&#44536;&#47016; &#51228;&#51089;. &#49436;&#48260; &#54532;&#47196;&#44536;&#47016;&#51032; &#50669;&#54624;&lt;/li&gt;
&lt;li&gt;&#49548;&#48169;&#50629;&#47924; &#53945;&#49457;&#49345; &#47924;&#55092;&#50688;&#44592; &#46412;&#47928;&#50640;&amp;nbsp;&#49436;&#48260; &#54532;&#47196;&#44536;&#47016;&#46020; &#51453;&#51004;&#47732; &#50504;&#46124;&#51020;. &#51060;&#46412; &#44204;&#44256;&#54620; &#54532;&#47196;&#44536;&#47016;&#51012; &#51676;&#45716;&amp;nbsp;&#44048;&#51012; &#47566;&#51060; &#46308;&#50688;&#51020;.&lt;/li&gt;
&lt;li&gt;TCP/IP &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54644;&#49436;&#45716;&amp;nbsp;&#50808;&#50872;&#47564;&#53372; &#54632;&lt;/li&gt;
&lt;li&gt;&#53945;&#47168; &#44592;&#44036; &#46041;&#50504; &#44284;&#46020;&#54620; &#54532;&#47196;&#44536;&#47000;&#48141;(?)&#51004;&#47196; &#51064;&#54644; &#49884;&#49828;&#53596; &#51204;&#48152;&#50640; &#45824;&#54620; &#51060;&#54644;&#44032; &#45458;&#50500;&#51256;&#49436; OS &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#46020;&#51204;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"KKAMA OS"&lt;/span&gt;&lt;/strong&gt; &#46972;&#44256; &#51060;&#47492;&#48537;&#51060;&#44256; &#44536;&#54980; 2&#45380; &#46041;&#50504; OS &#54532;&#47196;&#44536;&#47016; &#51228;&#51089;.&amp;nbsp;&#50640;&#46300;&#50892;&#46300; &#54805;&#51032; &#49548;&#44060;&#47484; &#48155;&#50500;&#49436; kkamagui.osx86.org &#46020;&#47700;&#51064;&#51012; &#49324;&#50857;&#54616;&#44172; &#46120;.&lt;/li&gt;
&lt;li&gt;OS &#54532;&#47196;&#44536;&#47000;&#48141;&#51012;&amp;nbsp;&#54616;&#47732;&#49436; &#49884;&#49828;&#53596; &#54532;&#47196;&#44536;&#47000;&#48141;&#50640; &#45824;&#54620; &#44048;&#51012; &#51105;&#51020;&lt;/li&gt;
&lt;li&gt;KKAMAGUI OS&#50640; &#45824;&#54620; &#45236;&#50857;&#51008;&amp;nbsp;&lt;a href="http://kkamagui.egloos.com/3071201"&gt;http://kkamagui.egloos.com/3071201&lt;/a&gt;&amp;nbsp;&#44536;&#47548; &#48143;&amp;nbsp;&lt;a href="/pages/339535" class="wiki" title="01 OS &#54532;&#47112;&#51076;&#50892;&#53356;"&gt;01 OS &#54532;&#47112;&#51076;&#50892;&#53356;&lt;/a&gt;&amp;nbsp;&#45236;&#50857; &#52280;&#51312;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#48337;&#53945; &#49884;&#51208; &#51060;&#51204;(&amp;nbsp;~2002)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&#50728; &#44054;&amp;nbsp;&#51105;&#45796;&#54620; &#54532;&#47196;&#44536;&#47000;&#48141;&lt;/li&gt;
&lt;li&gt;DOS&amp;nbsp;&amp;nbsp;&#49884;&#51208; BIOS Interrupt&#47484; &#51060;&#50857;&#54616;&#50668; 320 * 200 &#47784;&#46300;&#47196; &#48148;&#45012;&#45459;&#44256; PCX &#54028;&#51068;&#51012; &#54868;&#47732;&#50640; &#49100;&#47532;&#45716; &#49341;&#51656;&lt;/li&gt;
&lt;li&gt;640 * 480 &#47784;&#46300; &#44172;&#51076;&#50857; &#46972;&#51060;&#48652;&#47084;&#47532; &#47564;&#46304;&#45813;&#49884;&#44256; &#52293;(Include)&#50640; &#51080;&#45716; &#53076;&#46300; &#45796; &#49552;&#51004;&#47196; &#52824;&#44256; &#44256;&#52824;&#44256; &#45212;&#47532;&#46020; &#50500;&#45768;&#50632;&#51020;&lt;/li&gt;
&lt;li&gt;&#45824;&#54617;&#44368;&#50640; &#51077;&#54617;&#54616;&#50668;&amp;nbsp;&#53080;&#49556; &#54868;&#47732;&#50857;&amp;nbsp;&#46972;&#51064; &#50640;&#46356;&#53552; &#44060;&#48156;(&#51060;&#46412;&#44620;&#51648; &#47564;&#46304; &#44163; &#51473;&#50640; &#44032;&#51109;&amp;nbsp;&#50756;&#49457;&#46020;&#44032; &#45458;&#50520;&#51020;)&lt;/li&gt;
&lt;li&gt;&#52712;&#48120;&#49340;&#50500;&amp;nbsp;&#47564;&#46308;&#45912;&amp;nbsp;MUD(Multi&amp;nbsp;User&amp;nbsp;Dungeon &#51060;&#50632;&#45912;&#44032;...)... &#50668;&#53948; &#53080;&#49556;&#50857; &#44172;&#51076; &#51089;&#49457;.&amp;nbsp;Linux&#51032; TCP/IP &#49436;&#48260;/&#53364;&#46972;&#51060;&#50616;&#53944;&#47196; &#46041;&#51089;(&#51060;&#46412; &#51060; &#53360; &#54532;&#47196;&#44536;&#47016;&#51012; &#54844;&#51088; &#51676;&#47732;&#49436; &#45236;&#44032; &#49548;&#51656;&#51080;&#45716; &#44152; &#50508;&#50520;&#45796;.. &#12619;&#12619;)&lt;/li&gt;
&lt;li&gt;MUD&#47484;&amp;nbsp;Windows API &#44277;&#48512;&#54616;&#47732;&#49436; MFC&#47196; &#52968;&#48260;&#54021;. &#51060;&#46412;&#45716; GUI &#54868;&#47732;&#51004;&#47196; &#44396;&#49457;&#46104;&#50632;&#51020;. &#44060;&#48156;&#54616;&#45796;&#44032;&amp;nbsp;&#46608; &#54616;&#45716;&#44172; &#44480;&#52270;&#50500;&#49436; &#44536;&#47564;&#46176;&lt;/li&gt;
&lt;li&gt;MFC&#47484; &#48176;&#50864;&#47732;&#49436; &#44057;&#51008; &#44284;&#50640; &#48124;&#51333;&#51060; &#54805;&#50640;&#44172; &#51088;&#44537;&#48155;&#50500; &#47700;&#49888;&#51256; &#54532;&#47196;&#44536;&#47016; &#44060;&#48156;.&#48516;&#50640; &#45336;&#52824;&#45716; &#44284;&#46020;&#54620; &#54532;&#47196;&#44536;&#47000;&#48141;&#51004;&#47196; &#48260;&#44536;&#44032; &#45336;&#52840;. &#12636;_&#12636; &#46356;&#48260;&#44613;&#51060; &#49789;&#51648; &#50506;&#45796;&#45716; &#44163;&#51012; &#44648;&#45804;&#50520;&#51020;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Sun, 25 Sep 2011 02:41:23 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/339551</link>
      <guid>http://kkamagui.springnote.com/pages/339551</guid>
    </item>
    <item>
      <title>03 &#48708;&#46356;&#50724; &#47784;&#46300; &#51228;&#50612;(Video Mode Control)</title>
      <description>&lt;h1&gt;03 &#48708;&#46356;&#50724; &#47784;&#46300; &#51228;&#50612;(Video Mode Control)&lt;/h1&gt;
&lt;p&gt;&lt;strong style=""&gt;&#50896;&#47928; :&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;a href="/pages/410834"&gt;&lt;strong style=""&gt;http://kkamagui.springnote.com/pages/410834&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#46308;&#50612;&#44032;&#44592; &#51204;&#50640;...&lt;/h2&gt;
&lt;div class="section" style="line-height: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; background-color: rgb(249, 249, 216);"&gt;
&lt;ul style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 24px;"&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span class="Apple-style-span" style="line-height: 2em; font-weight: normal;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span class="Apple-style-span" style="line-height: 2em; font-weight: normal;"&gt;&lt;strong style="line-height: 2em;"&gt;&#51060; &#44544;&#51008;&amp;nbsp;kkamagui&#50640; &#51032;&#54644; &#51089;&#49457;&#46108; &#44544;&#51077;&#45768;&#45796;.&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#47560;&#51020;&#44751; &#51064;&#50857;&#54616;&#49884;&#44144;&#45208; &#49324;&#50857;&#54616;&#49492;&#46020; &#46121;&#45768;&#45796;. &#45800; &#52636;&#52376;(&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.tistory.com&lt;/a&gt;,&amp;nbsp;&lt;a href="/pages/#" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.springnote.com&lt;/a&gt;)&#45716; &#48157;&#54784; &#51452;&#49901;&#49884;&#50724;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#44592;&#53440; &#49324;&#54637;&#51008; mint64os&amp;nbsp;at gmail.com &#51060;&#45208;&lt;/strong&gt;&amp;nbsp;&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span style="line-height: 2em; color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style="line-height: 2em;"&gt;&#51004;&#47196; &#48372;&#45236;&#51452;&#49884;&#47732; &#48152;&#50689;&#54616;&#44192;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;OS &#51228;&#51089;&#50640; &#45824;&#54620;&amp;nbsp;&#49345;&#49464;&#54620; &#45236;&#50857;&#51008; &#52293; "&lt;a href="http://kkamagui.tistory.com/746" class="external" title="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/a&gt;"&#47484; &#52280;&#44256;&#54616;&#44592; &#48148;&#46989;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img title="&#53356;&#44592;&#48320;&#54872;_book1.jpg" class="attachment" src="/pages/404250/attachments/5167376" alt="&#53356;&#44592;&#48320;&#54872;_book1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial; border-color: initial; border-color: initial;" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;0.&#49884;&#51089;&#54616;&#47732;&#49436;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;NDS&#45716; &#44172;&#51076;&#44592;&#47196; &#51228;&#51089;&#46104;&#50612;&#51080;&#44592; &#46412;&#47928;&#50640; &#45796;&#50577;&#54620; &#48708;&#46356;&#50724; &#47784;&#46300;&#44032; &#51316;&#51116;&#54620;&#45796;. &#54856; &#48652;&#47336;&#47484; &#44060;&#48156;&#54616;&#44592;&#50948;&#54644;&#49436;&#45716; &#51088;&#49888;&#51060; &#50896;&#54616;&#45716; &#47784;&#46300;&#47196; &#49444;&#51221;&#54644;&#50556; &#54616;&#45716;&#45936;, &#50612;&#46500; &#49692;&#49436;&#47196; &#54644;&#50556; &#54616;&#45716;&#51648; &#50508;&#50500;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51068;&#45800; &#44536;&#47000;&#54589;&#51012; &#54868;&#47732;&#50640; &#54364;&#49884;&#54616;&#44592; &#50948;&#54644;&#49436;&#45716; LCD&#47484; &#53020;&#50556; &#54620;&#45796;. LCD&#47484; &#53412;&#45716; &#48512;&#48516;&#51008; &#54028;&#50892; &#52968;&#53944;&#47204;(Power Control) &#48512;&#48516;&#50640;&#49436; &#54616;&#45716; &#44163;&#51060;&#48064;&#47196; &lt;a href="/pages/search?q=04%20%ED%8C%8C%EC%9B%8C%20%EC%BB%A8%ED%8A%B8%EB%A1%A4(Power%20Control)&amp;amp;amp;parent_id=410834" title="04 &#54028;&#50892; &#52968;&#53944;&#47204;(Power Control)" class="wiki"&gt;&lt;strong style=""&gt;04 &#54028;&#50892; &#52968;&#53944;&#47204;(Power Control)&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&#47928;&#49436;&#47484; &#52280;&#51312;&#54616;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47000;&#54589;&#51901;&amp;nbsp;&#54028;&#50892;&#47484; &#49444;&#51221;&#54664;&#51004;&#47732; &#51060;&#51228;&amp;nbsp;&#48708;&#46356;&#50724; &#47784;&#46300;&#47484; &#49444;&#51221;&#54644;&#50556; &#54620;&#45796;. &lt;a href="http://nocash.emubase.de/gbatek.htm#dsvideo"&gt;http://nocash.emubase.de/gbatek.htm#dsvideo&lt;/a&gt;&amp;nbsp;&#47484; &#48372;&#47732; &#49345;&#49464;&#54616;&#44172; &#45208;&#50752;&#51080;&#51004;&#45768; &#52280;&#44256;&#54616;&#44256; &#47751;&#44032;&#51648; &#48512;&#48516;&#47564; &#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#52280;&#44256;&#47196; &#54028;&#50892;&amp;nbsp;&#52968;&#53944;&#47204;&#50640;&#49436; &#45208;&#50772;&#51648;&#47564;&amp;nbsp;LCD Swap&#51060; &#46104;&#51648; &#50506;&#51008; &#49345;&#53468;&#46972;&#47732; &#54616;&#45800; LCD&#44032;&amp;nbsp;Engine A&#44032; &#46104;&#44256; &#49345;&#45800; LCD&#44032; Engine&amp;nbsp;B&#44032; &#46108;&#45796;. Engine B&#45716;&amp;nbsp;A&#48372;&#45796; &#50557;&#44036; &#47784;&#51088;&#46976;&#45936;, GBA&amp;nbsp;&#44172;&#51076;&#51012; &#45347;&#51004;&#47732;&amp;nbsp;&#49345;&#45800;&#51004;&#47196; &#54364;&#49884;&#46104;&#45716;&#44152; &#48400;&#49436;&amp;nbsp;GBA &#44172;&#51076;&#51012; &#46028;&#47532;&#44592;&#50948;&#54620;&amp;nbsp;&#50644;&#51652;&#51032; &#50669;&#54624;&#46020; &#54616;&#44256; &#51080;&#45716; &#44163; &#44057;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;2D Engines&lt;br /&gt;
Includes two 2D Engines, called A and B. Both engines are accessed by the ARM9 processor&lt;/strong&gt;, each using different memory and register addresses:&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Region______Engine A______________Engine B___________
  &lt;strong style=""&gt;I/O Ports   4000000h              4001000h&lt;/strong&gt;
  &lt;strong style=""&gt;Palette     5000000h (1K)         5000400h (1K)&lt;/strong&gt;
  &lt;strong style=""&gt;BG VRAM     6000000h (max 512K)   6200000h (max 128K)&lt;/strong&gt;
  &lt;strong style=""&gt;OBJ VRAM    6400000h (max 256K)   6600000h (max 128K)&lt;/strong&gt;
  &lt;strong style=""&gt;OAM         7000000h (1K)         7000400h (1K)&lt;/strong&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong style=""&gt;Engine A additionally supports 3D and large-screen 256-color Bitmaps&lt;/strong&gt;, &lt;strong style=""&gt;plus main-memory-display and vram-display modes, plus capture unit.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;Engine A&#50640;&#45716; B&#50640;&#45716; &#50630;&#45716; 3D&#50752;&amp;nbsp;&#53360; &#48708;&#53944;&#47605;&#51012; &#52376;&#47532;&#54624; &#49688; &#51080;&#45716; &#47784;&#46300;, Main Memory&#47484; &#44536;&#45824;&#47196; Display&#54644;&#51452;&#45716; &#47784;&#46300;(&#54532;&#47112;&#51076; &#48260;&#54140; &#47784;&#46300;), &#44536;&#47532;&#44256; &#48708;&#46356;&#50724; &#54868;&#47732;&#51012; &#44536;&#45824;&#47196; &#52897;&#52432;&#54644;&#49436; &#45796;&#49884; &#47700;&#47784;&#47532;&#47196; &#51200;&#51109;&#54644;&#51452;&#45716; &#52897;&#52432;&#47784;&#46300; &#46321;&#46321;&#51060; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;&amp;nbsp;Engine A&#50752; Engine B&#51032;&amp;nbsp;VRAM &#52572;&#45824;&#53356;&#44592;&#45716;&amp;nbsp;&#44033;&#44033;&amp;nbsp;512Kbyte &#48143; 128Kbyte&#46972;&#45716; &#44163;&#51012; &#50508;&#50500;&#46160;&#51088;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;BG VRAM &#51452;&#49548;&#50752; OBJ VRAM, OAM &#51452;&#49548;&#45716; &#44256;&#51221;&#46104;&#50612; &#51080;&#51004;&#45208; &#49892;&#51228; VRAM &#51452;&#49548;&#50640; &#50668;&#47084;&#44032;&#51648; VRAM&#46308;(VRAM_A, VRAMB, VRAM_C&#46321;&#46321;)&#51012; &#47605;&#54609;&#54616;&#50668; &#49324;&#50857;&#54616;&#45716; &#48169;&#49885;&#51060;&#47728; Video &#47784;&#46300;&#50640; &#46384;&#46972;&#49436; &#51201;&#45817;&#54620; &#53356;&#44592;&#51032; VRAM&#51012; &#47605;&#54609;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; &#51104;&#44624;&amp;nbsp;OAM&#51060;&#46972;&#45716; &#49373;&#49548;&#54620; &#50857;&#50612;&#44032; &#45208;&#50724;&#45716;&#45936;, &#49828;&#54532;&#46972;&#51060;&#53944; &#44288;&#47144; &#51221;&#48372;&#47484; &#51200;&#51109;&#54616;&#45716; &#47700;&#47784;&#47532;&#51060;&#45796;.&amp;nbsp;&#44172;&#51076; &#51228;&#51089;&#50640; &#45824;&#54644;&#49436;&#45716; &#53360; &#48708;&#51473;&#51012; &#46160;&#51648; &#50506;&#51012; &#44163;&#51060;&#48064;&#47196; &#44536;&#45285; &#50508;&#44256; &#45336;&#50612;&#44032;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;OAM - Object Attribute Memory&lt;br /&gt;&lt;/strong&gt;This memory area contains Attributes which specify position, size, color depth, etc. appearance for each of the 128 OBJs. Additionally, it contains 32 OBJ Rotation/Scaling Parameter groups. OAM is located at 07000000-070003FF (sized 1 KByte).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#54364;&#50640;&#49436; &#48372;&#47732; &#50508; &#49688; &#51080;&#46319;&#51060; &#47700;&#51064; &#47700;&#47784;&#47532;&#44032; 4Mbyte &#48150;&#50640; &#50504;&#46104;&#45716; &#44163;&#51012; &#49373;&#44033;&#54644; &#48380;&#46412; &#44900; &#47566;&#51008; &#48708;&#46356;&#50724; &#47700;&#47784;&#47532;&#47484; &#44032;&#51648;&#44256; &#51080;&#45716; &#44163;&#51012; &#50508; &#49688; &#51080;&#45796;. &#46244;&#50640; &#48708;&#46356;&#50724; &#47700;&#47784;&#47532;&#47484; &#50612;&#45712; LCD&#50640;&#45796; &#47605;&#54609;&#54624;&#51648;&#47484; &#44208;&#51221;&#54616;&#45716; &#48512;&#48516;&#51060; &#51080;&#45716;&#45936;, &#47605;&#54609;&#54616;&#44256; &#45224;&#51008; &#50689;&#50669;&#51008; &#45936;&#51060;&#53552; &#50689;&#50669;&#51004;&#47196;&#46020; &#54876;&#50857; &#44032;&#45733;&#54624; &#44163; &#44057;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#48708;&#46356;&#50724; &#47784;&#46300;&#47484; &#49444;&#51221;&#54616;&#45716; &#44284;&#51221;&#51012; &#44036;&#45800;&#55176; &#50836;&#50557;&#54616;&#47732; &#50500;&#47000;&#50752;&amp;nbsp;&#44057;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img title="NDS_&#48708;&#46356;&#50724;_&#52968;&#53944;&#47204;.PNG" class="attachment" src="/pages/410834/attachments/172597" alt="NDS_&#48708;&#46356;&#50724;_&#52968;&#53944;&#47204;.PNG" /&gt;&lt;/p&gt;
&lt;ol style="MARGIN-LEFT: 1em;"&gt;
&lt;li&gt;Display Control Register&#47484; &#49444;&#51221;&#54616;&#50668; &#48708;&#46356;&#50724; &#47784;&#46300;&#47484; &#49444;&#51221;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;VRAMxCNT&amp;nbsp;&#47112;&#51648;&#49828;&#53552;&#47484; &#51060;&#50857;&#54616;&#50668; Video RAM&#51012; MAIN BG Address-Engine A(&lt;strong style=""&gt;6000000h&lt;/strong&gt;), SUB BG Address-Engine B(&lt;strong style=""&gt;6200000h&lt;/strong&gt;)&#48512;&#53552; &#51201;&#45817;&#55176; &#47605;&#54609;&#54644; &#51456;&#45796;.&lt;/li&gt;
&lt;li&gt;BG&amp;nbsp;&#47784;&#46300; &#49324;&#50857;&#49884;&amp;nbsp;BGxCNT &#47112;&#51648;&#49828;&#53552;&#47484; &#49324;&#50857;&#54616;&#50668; Background&#51032; &#49549;&#49457;&#51012; &#49444;&#51221;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#48708;&#46356;&#50724; &#47700;&#47784;&#47532;&#50640; &#50420;&#45796;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#45716; NDS&#51032;&amp;nbsp;Video Memory&#50752;&amp;nbsp;Controller&#51032; &#44288;&#44228;&#47484;&amp;nbsp;&#44536;&#47536;&#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;table width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a id="dsvideodisplaysystemblockdiagram" &gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;DS Video Display System Block Diagram&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
&lt;strong style=""&gt;            _____________               __________
  VRAM A --&amp;gt;| 2D Graphics |--------OBJ-&amp;gt;|          |
  VRAM B --&amp;gt;| Engine A    |--------BG3-&amp;gt;| Layering |
  VRAM C --&amp;gt;|             |--------BG2-&amp;gt;| and      |
  VRAM D --&amp;gt;|             |--------BG1-&amp;gt;| Special  |
  VRAM E --&amp;gt;|             |   ___       | Effects  |
  VRAM F --&amp;gt;|             |-&amp;gt;|SEL|      |          |          ______
  VRAM G --&amp;gt;| - - - - - - |  |BG0|-BG0-&amp;gt;|          |----+---&amp;gt;|      |
            | 3D Graphics |-&amp;gt;|___|      |__________|    |    |Select|
            | Engine      |                             |    |Video |
            |_____________|--------3D----------------+  |    |Input |
             _______      _______              ___   |  |    |      |
            |       |    |       |&amp;lt;-----------|SEL|&amp;lt;-+  |    |and   |--&amp;gt;
            |       |    |       |    _____   |A  |     |    |      |
  VRAM A &amp;lt;--|Select |    |Select |   |     |&amp;lt;-|___|&amp;lt;----+    |Master|
  VRAM B &amp;lt;--|Capture|&amp;lt;---|Capture|&amp;lt;--|Blend|   ___           |Bright|
  VRAM C &amp;lt;--|Dest.  |    |Source |   |_____|&amp;lt;-|SEL|&amp;lt;----+    |A     |
  VRAM D &amp;lt;--|       |    |       |            |B  |     |    |      |
            |_______|    |_______|&amp;lt;-----------|___|&amp;lt;-+  |    |      |
             _______                                 |  |    |      |
  VRAM A --&amp;gt;|Select |                                |  |    |      |
  VRAM B --&amp;gt;|Display|--------------------------------+------&amp;gt;|      |
  VRAM C --&amp;gt;|VRAM   |                                   |    |      |
  VRAM D --&amp;gt;|_______|   _____________                   |    |      |
                       |Main Memory  |                  |    |      |
  Main   ------DMA----&amp;gt;|Display FIFO |------------------+---&amp;gt;|______|
  Memory               |_____________|
             _____________               __________           ______
  VRAM C --&amp;gt;| 2D Graphics |--------OBJ-&amp;gt;| Layering |         |      |
  VRAM D --&amp;gt;| Engine B    |--------BG3-&amp;gt;| and      |         |Master|
  VRAM H --&amp;gt;|             |--------BG2-&amp;gt;| Special  |--------&amp;gt;|Bright|--&amp;gt;
  VRAM I --&amp;gt;|             |--------BG1-&amp;gt;| Effects  |         |B     |
            |_____________|--------BG0-&amp;gt;|__________|         |______|&lt;/strong&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#44033; &#54028;&#53944;&#50640; &#45824;&#54644;&#49436; &#51088;&#49464;&#55176; &#50508;&#50500;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;1. Display Control&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&#51228;&#51068; &#52376;&#51020; Display Control &#47112;&#51648;&#49828;&#53552;&#47484; &#49444;&#51221;&#54616;&#50668; &#54364;&#49884;&#46112; &#47784;&#46300;&#47484; &#49444;&#51221;&#54644;&#50556; &#54620;&#45796;. &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiodisplaycontrol"&gt;http://nocash.emubase.de/gbatek.htm#lcdiodisplaycontrol&lt;/a&gt;&#47484; &#48372;&#47732; &#50500;&#47000;&#50752; &#44057;&#51060; &#45208;&#50752;&#51080;&#45796;(GBA&#51032; LCD Control &#49444;&#51221;&#51060;&#45796;. &#51068;&#45800; &#48708;&#53944;&#51032; &#44592;&#45733;&#51008; NDS&#50752; &#44144;&#51032; &#46041;&#51068;&#54616;&#45768;&#44620; &#47676;&#51200; &#48372;&#51088;).&lt;/p&gt;
&lt;h3&gt;1.1&amp;nbsp;GBA Display&amp;nbsp;Control Register&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000000h - DISPCNT - LCD Control (Read/Write)&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;0-2   BG Mode                (0-5=Video Mode 0-5, 6-7=Prohibited)&lt;/span&gt;&lt;/strong&gt;
  3     Reserved for BIOS      (CGB Mode - cannot be changed after startup)
  &lt;strong style=""&gt;4     Display Frame Select   (0-1=Frame 0-1) (for BG Modes 4,5 only)&lt;/strong&gt;
  5     H-Blank Interval Free  (1=Allow access to OAM during H-Blank)
  6     OBJ Character VRAM Mapping (0=Two dimensional, 1=One dimensional)
  7     Forced Blank           (1=Allow access to VRAM,Palette,OAM)
  8     Screen Display BG0  (0=Off, 1=On)
  9     Screen Display BG1  (0=Off, 1=On)
  10    Screen Display BG2  (0=Off, 1=On)
  11    Screen Display BG3  (0=Off, 1=On)
  12    Screen Display OBJ  (0=Off, 1=On)
  13    Window 0 Display Flag   (0=Off, 1=On)
  14    Window 1 Display Flag   (0=Off, 1=On)
  15    OBJ Window Display Flag (0=Off, 1=On)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;strong style=""&gt;The table summarizes the facilities of the separate &lt;span style="COLOR: #0000ff;"&gt;BG modes&lt;/span&gt; (video modes).&lt;br /&gt;&lt;/strong&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Mode  Rot/Scal Layers Size               Tiles Colors       Features
  0     No       0123   256x256..512x515   1024  16/16..256/1 SFMABP
  1     Mixed    012-   (BG0,BG1 as above Mode 0, BG2 as below Mode 2)
  &lt;strong style=""&gt;2     Yes      --23   128x128..1024x1024 256   256/1        S-MABP&lt;/strong&gt;
  &lt;strong style=""&gt;3     Yes      --2-   240x160            1     32768        --MABP&lt;/strong&gt;
  4     Yes      --2-   240x160            2     256/1        --MABP
  5     Yes      --2-   160x128            2     32768        --MABP
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Features: &lt;strong style=""&gt;S)&lt;/strong&gt;crolling, &lt;strong style=""&gt;F&lt;/strong&gt;)lip, &lt;strong style=""&gt;M&lt;/strong&gt;)osaic, &lt;strong style=""&gt;A&lt;/strong&gt;)lphaBlending, &lt;strong style=""&gt;B&lt;/strong&gt;)rightness, &lt;strong style=""&gt;P&lt;/strong&gt;)riority.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;BG Modes 0-2bit&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;BG Modes 0-2 are Tile/Map-based&lt;/strong&gt;. &lt;strong style=""&gt;BG Modes 3-5 are Bitmap-based&lt;/strong&gt;, in these modes 1 or 2 Frames (ie. bitmaps, or 'full screen tiles') exists, if two frames exist, either one can be displayed, and the other one can be redrawn in background.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;Blanking Bits 5, 7Bit&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;Setting Forced Blank (Bit 7) causes the video controller to display white lines&lt;/strong&gt;, and all VRAM, Palette RAM, and OAM may be accessed.&lt;br /&gt;
"When the internal HV synchronous counter cancels a forced blank during a display period, the display begins from the beginning, following the display of two vertical lines." What ?&lt;br /&gt;
&lt;strong style=""&gt;Setting H-Blank Interval Free (Bit 5) allows to access OAM during H-Blank time - using this feature reduces the number of sprites that can be displayed per line.&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;Screen Display&amp;nbsp;BG Bits 8~12Bit, Window Display Bits 13~14Bit, Object Window Display Bit 15Bit&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;By default, &lt;strong style=""&gt;BG0-3 and OBJ Display Flags (Bit 8-12) are used to enable/disable BGs and OBJ&lt;/strong&gt;. &lt;strong style=""&gt;When enabling Window 0 and/or 1 (Bit 13-14), color special effects may be used, and BG0-3 and OBJ are controlled by the window(s).&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;Frame Selection 4bit&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;In BG Modes 4 and 5 (Bitmap modes), either one of the two bitmaps/frames may be displayed (Bit 4)&lt;/strong&gt;, allowing the user to update the other (invisible) frame in background. &lt;strong style=""&gt;In BG Mode 3, only one frame exists&lt;/strong&gt;.&lt;br /&gt;
&lt;strong style=""&gt;In BG Modes 0-2 (Tile/Map based modes), a similar effect may be gained by altering the base address(es) of BG Map and/or BG Character data.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000002h - Undocumented - Green Swap (R/W)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;Normally, red green blue intensities for a group of two pixels is output as BGRbgr (uppercase for left pixel at even xloc, lowercase for right pixel at odd xloc). When the Green Swap bit is set, each pixel group is output as BgRbGr (ie. green intensity of each two pixels exchanged).&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="MARGIN-LEFT: 1em;"&gt;
  Bit   Expl.
  0     Green Swap  (0=Normal, 1=Swap)
  1-15  Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;This feature appears to be applied to the final picture (ie. after mixing the separate BG and OBJ layers). Eventually intended for other display types (with other pin-outs). With normal GBA hardware it is just producing an interesting dirt effect.&lt;br /&gt;
&lt;strong style=""&gt;The NDS DISPCNT registers are 32bit (4000000h..4000003h), so Green Swap doesn't exist in NDS mode, however, the NDS does support Green Swap in GBA mode.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;1.2 NDS Display Control Register&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#48376;&#44201;&#51201;&#51004;&#47196; NDS&#50640; &#45824;&#54644;&#49436; &#50508;&#50500;&#48372;&#51088;. GBA&#50752; &#48708;&#44368;&#54644;&#49436; &#44057;&#51008; &#51060;&#47492;&#51032; &#48708;&#53944;&#45716; &#44144;&#51032; &#44057;&#51008; &#51068;&#51012; &#54616;&#48064;&#47196; GBA&#51032; &#51221;&#48372;&#50752; &#44057;&#51060; &#48708;&#44368;&#54644;&#49436; &#48372;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;DS DISPCNT&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit  Engine Expl.
  &lt;strong style=""&gt;0-2   A+B   BG Mode
&lt;/strong&gt;  &lt;strong style=""&gt;3     A     BG0 2D/3D Selection (instead CGB Mode) (0=2D, 1=3D)&lt;/strong&gt;
  4     A+B   Tile OBJ Mapping        (0=2D; max 32KB, 1=1D; max 32KB..256KB)
  5     A+B   Bitmap OBJ 2D-Dimension (0=128x512 dots, 1=256x256 dots)
  6     A+B   Bitmap OBJ Mapping      (0=2D; max 128KB, 1=1D; max 128KB..256KB)
  7     Forced Blank           (1=Allow access to VRAM,Palette,OAM)
  8     Screen Display BG0  (0=Off, 1=On)
  9     Screen Display BG1  (0=Off, 1=On)
  10    Screen Display BG2  (0=Off, 1=On)
  11    Screen Display BG3  (0=Off, 1=On)
  12    Screen Display OBJ  (0=Off, 1=On)
  13    Window 0 Display Flag   (0=Off, 1=On)
  14    Window 1 Display Flag   (0=Off, 1=On)
  15    OBJ Window Display Flag (0=Off, 1=On)
  &lt;strong style=""&gt;16-17 A+B   Display Mode (Engine A: 0..3, Engine B: 0..1, GBA: Green Swap)&lt;/strong&gt;
  &lt;strong style=""&gt;18-19 A     VRAM block (0..3=VRAM A..D) (For Capture &amp;amp; above Display Mode=2)&lt;/strong&gt;
  20-21 A+B   Tile OBJ 1D-Boundary   (see Bit4)
  22    A     Bitmap OBJ 1D-Boundary (see Bit5-6)
  23    A+B   OBJ Processing during H-Blank (was located in Bit5 on GBA)
  &lt;strong style=""&gt;24-26 A     Character Base (in 64K steps) (merged with 16K step in BGxCNT)&lt;/strong&gt;
  &lt;strong style=""&gt;27-29 A     Screen Base (in 64K steps) (merged with 2K step in BGxCNT)&lt;/strong&gt;
  30    A+B   BG Extended Palettes   (0=Disable, 1=Enable)
  31    A+B   OBJ Extended Palettes  (0=Disable, 1=Enable)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;BG Mode&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;Engine A BG Mode (DISPCNT LSBs) (0-6, 7=Reserved), Engine B&#46020; 5&#48264;&#44620;&#51648;&#45716; &#44057;&#51020;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="MARGIN-LEFT: 1em;"&gt;
  Mode  BG0      BG1      BG2      BG3
  0     Text/3D  Text     Text     Text
  1     Text/3D  Text     Text     Affine
  2     Text/3D  Text     Affine   Affine
  &lt;strong style=""&gt;3     Text/3D  Text     Text     Extended&lt;/strong&gt;
  &lt;strong style=""&gt;4     Text/3D  Text     Affine   Extended&lt;/strong&gt;
  5     Text/3D  Text     Extended Extended
  6     3D       -        &lt;strong style=""&gt;Large&lt;/strong&gt;    -
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Extended &#47784;&#46300;&#45716; Backgound &#49549;&#49457;&#44284; &#54632;&#44760; &#45796;&#49884; &#49464;&#48512; &#47784;&#46300;&#47196; &#45208;&#45572;&#50612; &#51652;&#45796;. &#51593; &#50948;&#51032; GBA &#47784;&#46300;&#50752;&#45716; &#45796;&#47476;&#45796;.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;Of which, &lt;strong style=""&gt;the "Extended" modes are sub-selected by&lt;/strong&gt; &lt;strong style=""&gt;BGxCNT&lt;/strong&gt; bits:&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;(BGxCNT.Bit7&#51008;&amp;nbsp;Colors/Palettes&amp;nbsp;Bit&#51060;&#44256; , Bit2&#45716;&amp;nbsp;Character Base Block&#51032; &#52395;&#48264;&#51704; bit&#51060;&#45796;)&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="MARGIN-LEFT: 1em;"&gt;
  BGxCNT.Bit7 BGxCNT.Bit2 Extended Affine Mode Selection
  0           CharBaseLsb rot/scal with 16bit bgmap entries (Text+Affine mixup)
  &lt;span style="COLOR: #0000ff;"&gt;&lt;strong style=""&gt;1           0           rot/scal 256 color bitmap&lt;/strong&gt;&lt;/span&gt;
  &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;1           1           rot/scal direct color bitmap&lt;/span&gt;&lt;/strong&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #ff0000;"&gt;direct color bitmap &#47784;&#46300;&#47484; &#49324;&#50857;&#54616;&#47732;&amp;nbsp;R/G/B &#44033;&#44033;&#51060; 5bit&#51060;&#44256; Alpha&#44032; 1bit&#51064; Color Mode&#47484; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;. &#46244;&#50640;&#49436; &#51060; &#47784;&#46300;&#47484; &#51060;&#50857;&#54616;&#50668; &#54532;&#47112;&#51076; &#48260;&#54140; &#47784;&#46300;&#50752; &#48708;&#49847;&#54616;&#44172; &#49444;&#51221;&#54624; &#44163;&#51060;&#45796;.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;Engine B: Same as above, except that: Mode 6 is reserved (no Large screen bitmap), and BG0 is always Text (no 3D support).&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;Affine&lt;/strong&gt; = formerly Rot/Scal mode (with 8bit BG Map entries)&lt;br /&gt;
&lt;strong style=""&gt;Large Screen Bitmap&lt;/strong&gt; = rot/scal 256 color bitmap (using all 512K of 2D VRAM)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Display Mode (DISPCNT.16-17):&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
&lt;strong style=""&gt;0  Display off (screen becomes white)&lt;/strong&gt;
  &lt;strong style=""&gt;1  Graphics Display (normal BG and OBJ layers)&lt;/strong&gt;
  2  Engine A only: &lt;strong style=""&gt;VRAM Display&lt;/strong&gt; (Bitmap from block selected in DISPCNT.18-19)
  3  Engine A only: &lt;strong style=""&gt;Main Memory Display&lt;/strong&gt; (&lt;strong style=""&gt;Bitmap DMA transfer from Main RAM&lt;/strong&gt;)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong style=""&gt;Mode 2-3 display a raw direct color bitmap (15bit RGB values, the upper bit in each halfword is unused), without any further BG,OBJ,3D layers, these modes are &lt;span style="COLOR: #0000ff;"&gt;completely bypassing the 2D/3D engines as well as any 2D effects&lt;/span&gt;&lt;/strong&gt;, however the &lt;strong style=""&gt;Master Brightness effect can be applied to these modes&lt;/strong&gt;. Mode 2 is particulary useful to display captured 2D/3D images (in that case it can indirectly use the 2D/3D engine).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;BGxCNT&lt;/span&gt;&lt;br /&gt;
character base extended from bit2-3 to bit2-5 (bit4-5 formerly unused)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;character base is used only in tile/map modes (not bitmap modes)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;screen base is used in tile/map modes&lt;/strong&gt;, &lt;strong style=""&gt;screen base used in bitmap modes as BGxCNT.bits*16K&lt;/strong&gt;, without DISPCNT.bits*64K&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
engine A screen base: BGxCNT.bits*2K + DISPCNT.bits*64K
  engine B screen base: BGxCNT.bits*2K + 0
  engine A char base: BGxCNT.bits*16K + DISPCNT.bits*64K
  engine B char base: BGxCNT.bits*16K + 0
&lt;/pre&gt;
&lt;pre&gt;
&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;engine A bitmap screen base: BGxCNT.bit*16K + 0&lt;/span&gt;&lt;/strong&gt;
&lt;/pre&gt;
&lt;pre&gt;
&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;  engine B bitmap screen base: BGxCNT.bit*16K + 0 &lt;/span&gt;&lt;/strong&gt;
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&#50948;&#50752; &#44057;&#51060;&amp;nbsp;Bitmap &#47784;&#46300;&#51068; &#44221;&#50864;&amp;nbsp;Offset&#51008; 16K&#44032; &#44273;&#54644;&#51652;&#45796;.&amp;nbsp;&#51060;&#44163;&#51012; &#51096; &#44592;&#50613;&#54644; &#46160;&#47732; Double Buffering&#51012; &#54624; &#46412; &#51096; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;screen base however NOT used at all for Large screen bitmap mode&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
bgcnt sc.size  text     rotscal    bitmap   large bmp
  0              256x256  128x128    128x128  512x1024
  1              512x256  256x256    256x256  1024x512
  2              256x512  512x512    512x256  -
  3              512x512  1024x1024  512x512  -
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong style=""&gt;bitmaps that require more than 128K VRAM are supported on engine A only.&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
For BGxCNT.Bit7 and BGxCNT.Bit2 in Extended Affine modes, see above BG Mode description (extended affine doesn't include 16-color modes, so color depth bit can be used for mode selection. Also, &lt;strong style=""&gt;bitmap modes do not use charbase, so charbase.0 can be used for mode selection as well&lt;/strong&gt;).&lt;br /&gt;
&lt;br /&gt;
for BG0, BG1 only: bit13 selects extended palette slot&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
(BG0: 0=Slot0, 1=Slot2, BG1: 0=Slot1, 1=Slot3)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Direct Color Bitmap BG, and Direct Color Bitmap OBJ&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;BG/OBJ Supports 32K colors (15bit RGB value) - so far same as GBAs BG.&lt;br /&gt;
&lt;strong style=""&gt;However, the upper bit (Bit15) is used as Alpha flag&lt;/strong&gt;. &lt;strong style=""&gt;That is, Alpha=0=Transparent, Alpha=1=Normal (ie. on the NDS, Direct Color values 0..7FFFh are NOT displayed)&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; BGxCNT &#47112;&#51648;&#49828;&#53552;&#50640; &#45824;&#54620; &#49444;&#51221;&#51060; &#51104;&#44624; &#45208;&#50772;&#45716;&#45936;, Background(BG) &#47784;&#46300;&#47484; &#49324;&#50857;&#54616;&#47732; &#54644;&#45817; BG&#50640; &#45824;&#54620; &#49444;&#51221;&#51012; &#54644;&#51480;&#50556; &#54620;&#45796;. &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &#45796;&#51020; &#49465;&#49496;&#50640;&#49436; &#50508;&#50500;&#48372;&#51088;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#45716;&amp;nbsp;Charactor(Bitmap)/Screen &#47784;&#46300;&#50640; &#46384;&#47480;&amp;nbsp;Offset &#48324; &#51452;&#49548; &#44277;&#44036;&#51012;&amp;nbsp;&#45208;&#53440;&#45240; &#44163;&#51060;&#45796;.&amp;nbsp;&lt;a href="http://www.dev-scene.com/NDS/Tutorials_Day_3"&gt;http://www.dev-scene.com/NDS/Tutorials_Day_3&lt;/a&gt;&#47484; &#48372;&#47732; &#51096; &#45208;&#50752;&#51080;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img title="&#47700;&#47784;&#47532;_&#51452;&#49548;.PNG" class="attachment" src="/pages/410834/attachments/172650" alt="&#47700;&#47784;&#47532;_&#51452;&#49548;.PNG" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;1.3&amp;nbsp;BG Mode Detail&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; &#48372;&#47732; BG&amp;nbsp;&#47784;&#46300;&#50640; &#46384;&#46972;&#49436;&amp;nbsp;BG 0~3&#51032; &#50857;&#46020;&#44032; &#45804;&#46972;&#51276;&#45796;.&amp;nbsp;&#51060;&#51228; &#51328;&#45908; &#51088;&#49464;&#54616;&#44172; &#50508;&#50500;&#48372;&#51088;. &#51060; &#48512;&#48516;&#50640; &#45824;&#54620; &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdvramoverview"&gt;http://nocash.emubase.de/gbatek.htm#lcdvramoverview&lt;/a&gt;&#50640;&#49436; &#52286;&#51012; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;strong style=""&gt;BG Mode 0,1,2 (Tile/Map based Modes)&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
06000000-0600FFFF  64 KBytes shared for BG Map and Tiles
  06010000-06017FFF  32 KBytes OBJ Tiles
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The shared 64K area can be split into BG Map area(s), and BG Tiles area(s), the respective addresses for Map and Tile areas are set up by BG0CNT-BG3CNT registers. The Map address may be specified in units of 2K (steps of 800h), the Tile address in units of 16K (steps of 4000h).&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;BG Mode&#51032; 0~2&amp;nbsp;&#47784;&#46300;&#45716; &#50948;&#50752; &#44057;&#51060; &#50689;&#50669;&#51060; &#51221;&#54644;&#51652;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;&lt;strong style=""&gt;BG Mode 0,1 (Tile/Map based Text mode)&lt;br /&gt;&lt;/strong&gt;The tiles may have 4bit or 8bit color depth, minimum map size is 32x32 tiles, maximum is 64x64 tiles, up to 1024 tiles can be used per map.&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Item        Depth     Required Memory
  One Tile    4bit      20h bytes
  One Tile    8bit      40h bytes
  1024 Tiles  4bit      8000h (32K)
  1024 Tiles  8bit      10000h (64K) - excluding some bytes for BG map
  BG Map      32x32     800h (2K)
  BG Map      64x64     2000h (8K)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;strong style=""&gt;BG Mode 1,2 (Tile/Map based Rotation/Scaling mode)&lt;br /&gt;&lt;/strong&gt;The tiles may have 8bit color depth only, minimum map size is 16x16 tiles, maximum is 128x128 tiles, up to 256 tiles can be used per map.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;BG Mode 3 (Bitmap based Mode for still images)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
&lt;strong style=""&gt;06000000-06013FFF  80 KBytes Frame 0 buffer (only 75K actually used)&lt;/strong&gt;
  06014000-06017FFF  16 KBytes OBJ Tiles
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;BG Mode 4,5 (Bitmap based Modes)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
&lt;strong style=""&gt;06000000-06009FFF  40 KBytes Frame 0 buffer (only 37.5K used in Mode 4)&lt;/strong&gt;
  &lt;strong style=""&gt;0600A000-06013FFF  40 KBytes Frame 1 buffer (only 37.5K used in Mode 4)&lt;/strong&gt;
  06014000-06017FFF  16 KBytes OBJ Tiles
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Note&lt;br /&gt;
Additionally to the above VRAM, the GBA also contains 1 KByte Palette RAM (at 05000000h) and 1 KByte OAM (at 07000000h) which are both used by the display controller as well.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &#50948;&#50640;&#49436; 3,4,5&#50752; &#44057;&#51008; &#44221;&#50864;&#45716; &#50864;&#47532;&#44032; &#55124;&#55176; &#49324;&#50857;&#54616;&#45716; &#54532;&#47112;&#51076; &#48260;&#54140;&#47784;&#46300;&#50752; &#48708;&#49847;&#54616;&#44172; &#46041;&#51089;&#54616;&#44172; &#47564;&#46308; &#49688; &#51080;&#45796;. &#45800; Direct Color &#47784;&#46300;&#47484; &#49324;&#50857;&#54644;&#50556; &#54616;&#45716;&#45936;, Direct Color &#47784;&#46300;&#51068; &#44221;&#50864; R/G/B &#44033;&#44033; 5bit&#50752; Alpha 1bit&#47196; &#51060;&#47336;&#50612;&#51648;&#45716; &#52264;&#51060; &#48150;&#50640; &#50630;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &#44033; BG &#47784;&#46300;&#50640; &#46384;&#46972;&#49436; &#50948;&#50752; &#44057;&#51060; &#49324;&#50857;&#46108;&#45796;. &#51328; &#45908; &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;LCD VRAM Character Data&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;Each character (tile) consists of &lt;strong style=""&gt;8x8 dots (64 dots in total)&lt;/strong&gt;. The color depth may be either &lt;strong style=""&gt;4bit&lt;/strong&gt; or &lt;strong style=""&gt;8bit&lt;/strong&gt; (see BG0CNT-BG3CNT).&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;4bit depth (16 colors, 16 palettes)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;Each tile occupies &lt;strong style=""&gt;32 bytes of memory(&#50780;? 8*8*4bit&#45768;&#44620;)&lt;/strong&gt;, the first 4 bytes for the topmost row of the tile, and so on. Each byte representing two dots, the &lt;strong style=""&gt;lower 4 bits define the color for the left dot&lt;/strong&gt;, the &lt;strong style=""&gt;upper 4 bits the color for the right dot&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;8bit depth (256 colors, 1 palette)&lt;br /&gt;&lt;/strong&gt;Each tile occupies &lt;strong style=""&gt;64 bytes of memory(&#50780;? 8*8*8bit&#45768;&#44620;)&lt;/strong&gt;, the first 8 bytes for the topmost row of the tile, and so on. &lt;strong style=""&gt;Each byte selects the palette entry for each dot&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;table width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;LCD VRAM BG Screen Data Format (BG Map)&lt;/span&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;The display background consists of &lt;strong style=""&gt;8x8 dot&lt;/strong&gt; tiles, the arrangement of these tiles is specified by the &lt;strong style=""&gt;BG Screen Data (BG Map)&lt;/strong&gt;. The separate entries in this map are as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;Text BG Screen (2 bytes per entry)&lt;br /&gt;&lt;/strong&gt;Specifies the tile number and attributes. Note that BG tile numbers are always specified in steps of 1 (unlike OBJ tile numbers which are using steps of two in 256 color/1 palette mode).&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre style="MARGIN-LEFT: 1em;"&gt;
  Bit   Expl.
  0-9   Tile Number     (0-1023) (a bit less in 256 color mode, because
                           there'd be otherwise no room for the bg map)
  10    Horizontal Flip (0=Normal, 1=Mirrored)
  11    Vertical Flip   (0=Normal, 1=Mirrored)
  12-15 Palette Number  (0-15)    (Not used in 256 color/1 palette mode)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;strong style=""&gt;A Text BG Map always consists of 32x32 entries (256x256 pixels)&lt;/strong&gt;, &lt;strong style=""&gt;400h entries = 800h bytes&lt;/strong&gt;. However, depending on the BG Size, one, two, or four of these Maps may be used together, allowing to create backgrounds of 256x256, 512x256, 256x512, or 512x512 pixels, if so, &lt;strong style=""&gt;the first map (SC0) is located at base+0, the next map (SC1) at base+800h&lt;/strong&gt;, and so on.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;Rotation/Scaling BG Screen (1 byte per entry)&lt;br /&gt;&lt;/strong&gt;In this mode, only 256 tiles can be used. There are no x/y-flip attributes, &lt;strong style=""&gt;the color depth is always 256 colors/1 palette&lt;/strong&gt;.&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   Tile Number     (0-255)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The dimensions of Rotation/Scaling BG Maps depend on the BG size. &lt;strong style=""&gt;For size 0-3 that are: 16x16 tiles (128x128 pixels), 32x32 tiles (256x256 pixels), 64x64 tiles (512x512 pixels), or 128x128 tiles (1024x1024 pixels)&lt;/strong&gt;.&lt;br /&gt;
The size and VRAM base address of the separate BG maps for BG0-3 are set up by BG0CNT-BG3CNT registers.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;table width="100%"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;LCD VRAM Bitmap BG Modes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
In BG Modes 3-5 the background is defined in form of a bitmap (unlike as for Tile/Map based BG modes). Bitmaps are implemented as BG2, with Rotation/Scaling support. As bitmap modes are occupying 80KBytes of BG memory, only 16KBytes of VRAM can be used for OBJ tiles.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;BG Mode 3 - 240x160 pixels, 32768 colors&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;Two bytes are associated to each pixel, directly defining one of the &lt;strong style=""&gt;32768 colors&lt;/strong&gt; (without using palette data, and thus not supporting a 'transparent' BG color).&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-4   Red Intensity   (0-31)
  5-9   Green Intensity (0-31)
  10-14 Blue Intensity  (0-31)
  15    Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The first 480 bytes define the topmost line, the next 480 the next line, and so on. The background occupies 75 KBytes (06000000-06012BFF), most of the 80 Kbytes BG area, not allowing to redraw an invisible second frame in background, so this mode is mostly recommended for still images only.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;BG Mode 4 - 240x160 pixels, 256 colors (out of 32768 colors)&lt;br /&gt;&lt;/strong&gt;One byte is associated to each pixel, selecting one of the 256 palette entries. Color 0 (backdrop) is transparent, and OBJs may be displayed behind the bitmap.&lt;br /&gt;
The first 240 bytes define the topmost line, the next 240 the next line, and so on. &lt;strong style=""&gt;The background occupies 37.5 KBytes, allowing two frames to be used (06000000-060095FF for Frame 0, and 0600A000-060135FF for Frame 1).&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=""&gt;BG Mode 5 - 160x128 pixels, 32768 colors&lt;/strong&gt;&lt;br /&gt;
Colors are defined as for Mode 3 (see above), but horizontal and vertical size are cut down to 160x128 pixels only - smaller than the physical dimensions of the LCD screen.&lt;br /&gt;
The background occupies exactly 40 KBytes, so that BG VRAM may be split into two frames (06000000-06009FFF for Frame 0, and 0600A000-06013FFF for Frame 1).&lt;br /&gt;
&lt;br /&gt;
In BG modes 4,5, one &lt;strong style=""&gt;&lt;span style="COLOR: #ff0000;"&gt;Frame may be displayed (selected by DISPCNT Bit 4)&lt;/span&gt;&lt;/strong&gt;, the other Frame is invisible and may be redrawn in background.&lt;/blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;&amp;nbsp; Frame&#51060; 1&#44060; &#51060;&#49345;&#51068; &#44221;&#50864;&#45716; Display Control Register&#51032; Bit4&#50640; &#44050;&#51012; &#49444;&#51221;&#54632;&#51004;&#47196;&#50024; &#54788;&#51116; &#54364;&#49884;&#46104;&#45716; &#48512;&#48516;&#51012; &#48148;&#44992; &#49688; &#51080;&#45796;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;1.4 Object&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;Object&#50640; &#45824;&#54620; &#51088;&#49464;&#54620;&amp;nbsp;&#45236;&#50857;&#51008;&amp;nbsp;&lt;a href="http://nocash.emubase.de/gbatek.htm#lcdobjoverview"&gt;http://nocash.emubase.de/gbatek.htm#lcdobjoverview&lt;/a&gt;&#47484; &#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.&amp;nbsp;VRAM Control&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;Display &#47784;&#46300;&#47484; &#49440;&#53469;&#54664;&#51004;&#45768; &#51060;&#51228; &#51201;&#45817;&#54620; &#53356;&#44592;&#50640; &#47582;&#45716; VRAM&#51012; &#44033; &#51452;&#49548;&#47196; &#47605;&#54609;&#51012; &#49884;&#53020;&#50556; &#54620;&#45796;. VRAM &#51228;&#50612;&#50640; &#45824;&#54620; &#45236;&#50857;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram"&gt;http://nocash.emubase.de/gbatek.htm#dsmemorycontrolvram&lt;/a&gt;&#50640;&#49436; &#49332;&#54196;&#48380; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000240h - NDS7 - VRAMSTAT - 8bit - VRAM Bank Status (R)&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
0     VRAM C enabled and allocated to NDS7  (0=No, 1=Yes)
  1     VRAM D enabled and allocated to NDS7  (0=No, 1=Yes)
  2-7   Not used (always zero)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The register indicates if VRAM C/D are allocated to NDS7 (as Work RAM), ie. if VRAMCNT_C/D are enabled (Bit7=1), with MST=2 (Bit0-2). However, it does not reflect the OFS value.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &#50948; &#47112;&#51648;&#49828;&#53552;&#45716; VRAM C&#50752; D&#44032; ARM7&#50640;&#49436; WRAM&#51032; &#50857;&#46020;&#47196; &#49324;&#50857;&#44032;&#45733;&#54620;&#44032;&#47484; &#45208;&#53440;&#45236;&#45716; &#47112;&#51648;&#49828;&#53552;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;2.1 VRAM&#51032; &#51333;&#47448; &#48143; &#52968;&#53944;&#47204; &#47784;&#46300;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp; &#49892;&#51228;&#47196; VRAM Control &#47112;&#51648;&#49828;&#53552;&#45716; 8bit&#47196; &#46104;&#50612;&#51080;&#51004;&#47728; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000240h - VRAMCNT_A - 8bit - VRAM-A (128K) Bank Control (W)&lt;br /&gt;
4000241h - VRAMCNT_B - 8bit - VRAM-B (128K) Bank Control (W)&lt;/strong&gt;&lt;br /&gt;
4000242h - VRAMCNT_C - 8bit - VRAM-C (128K) Bank Control (W)&lt;br /&gt;
4000243h - VRAMCNT_D - 8bit - VRAM-D (128K) Bank Control (W)&lt;br /&gt;
4000244h - VRAMCNT_E - 8bit - VRAM-E (64K) Bank Control (W)&lt;br /&gt;
4000245h - VRAMCNT_F - 8bit - VRAM-F (16K) Bank Control (W)&lt;br /&gt;
4000246h - VRAMCNT_G - 8bit - VRAM-G (16K) Bank Control (W)&lt;br /&gt;
4000248h - VRAMCNT_H - 8bit - VRAM-H (32K) Bank Control (W)&lt;br /&gt;
4000249h - VRAMCNT_I - 8bit - VRAM-I (16K) Bank Control (W)&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
0-2   VRAM MST              ;Bit2 not used by VRAM-A,B,H,I
  3-4   VRAM Offset (0-3)     ;Offset not used by VRAM-E,H,I
  5-6   Not used
  7     VRAM Enable (0=Disable, 1=Enable)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
There is a total of &lt;strong style=""&gt;656KB of VRAM in Blocks A-I&lt;/strong&gt;.
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Notes&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;In Plain-CPU modes :&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em;"&gt;&lt;strong style=""&gt;VRAM can be accessed only by the CPU (and by the Capture Unit, and by VRAM Display mode).&lt;/strong&gt; &lt;strong style=""&gt;In "Plain &amp;lt;ARM7&amp;gt;-CPU Access" mode, the VRAM blocks are allocated as Work RAM to the NDS7 CPU.&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;In BG/OBJ VRAM modes :&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em;"&gt;&lt;strong style=""&gt;VRAM can be accessed by the CPU at specified addresses, and by the display controller&lt;/strong&gt;.&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;In Extended Palette and Texture Image/Palette modes :&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em;"&gt;&lt;strong style=""&gt;VRAM is not mapped to CPU address space, and can be accessed only by the display controller&lt;/strong&gt; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;(so, to initialize or change the memory, it should be temporarily switched to Plain-CPU mode).&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;All VRAM (and Palette, and OAM) can be written to only in 16bit and 32bit units (STRH, STR opcodes), 8bit writes are ignored (by STRB opcode). The only exception is "Plain &amp;lt;ARM7&amp;gt;-CPU Access" mode: The ARM7 CPU can use STRB to write to VRAM (the reason for this special feature is that, in GBA mode, two 128K VRAM blocks are used to emulate the GBA's 256K Work RAM).&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;2.2&amp;nbsp;&#49464;&#48512; &#47784;&#46300;&#48324; VRAM &#49444;&#51221;&lt;/h3&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;strong style=""&gt;Plain ARM9-CPU Access (so-called LCDC mode)&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp; ARM9&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6800000h-681FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6820000h-683FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6840000h-685FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6860000h-687FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64K&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6880000h-688FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6890000h-6893FFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6894000h-6897FFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32K&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6898000h-689FFFFh&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 68A0000h-68A3FFFh&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;ARM9 2D Graphics Engine A, BG-VRAM (max 512K)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; A,B,C,D 128K&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..3&amp;nbsp; 6000000h+(20000h*OFS)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64K&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6000000h&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F,G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..3&amp;nbsp; 6000000h+(4000h*OFS.0)+(10000h*OFS.1)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;ARM9 2D Graphics Engine A, OBJ-VRAM (max 256K)&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; A,B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..1&amp;nbsp; 6400000h+(20000h*OFS.0)&amp;nbsp; ;(OFS.1 must be zero)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64K&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6400000h&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F,G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..3&amp;nbsp; 6400000h+(4000h*OFS.0)+(10000h*OFS.1)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;2D Graphics Engine A, BG Extended Palette&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64K&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slot 0-3&amp;nbsp; ;only lower 32K used&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F,G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..1&amp;nbsp; Slot 0-1 (OFS=0), Slot 2-3 (OFS=1)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;2D Graphics Engine A, OBJ Extended Palette&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F,G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slot 0&amp;nbsp; ;16K each (only lower 8K used)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;Texture/Rear-plane Image&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; A,B,C,D 128K&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..3&amp;nbsp; Slot OFS(0-3)&amp;nbsp;&amp;nbsp; ;(Slot2-3: Texture, or Rear-plane)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;Texture Palette&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64K&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slots 0-3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;OFS=don't care&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; F,G&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..3&amp;nbsp; Slot (OFS.0*1)+(OFS.1*4)&amp;nbsp; ;ie. Slot 0, 1, 4, or 5&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;ARM9, 2D Graphics Engine B, BG-VRAM (max 128K)&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6200000h&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32K&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6200000h&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6208000h&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;ARM9, 2D Graphics Engine B, OBJ-VRAM (max 128K)&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6600000h&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6600000h&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;2D Graphics Engine B, BG Extended Palette&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; H&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32K&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slot 0-3&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;2D Graphics Engine B, OBJ Extended Palette&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; I&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16K&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Slot 0&amp;nbsp; ;(only lower 8K used)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&amp;lt;ARM7&amp;gt;, Plain &amp;lt;ARM7&amp;gt;-CPU Access&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VRAM&amp;nbsp;&amp;nbsp;&amp;nbsp; SIZE&amp;nbsp; MST&amp;nbsp; OFS&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; C,D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128K&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp; 0..1&amp;nbsp; 6000000h+(20000h*OFS.0)&amp;nbsp; ;OFS.1 must be zero&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; &#48372;&#47732; Engine A&#44032; &#54869;&#49892;&#55176; B&#48372;&#45796;&#45716; VRAM&amp;nbsp;&#49440;&#53469;&#44428;&#51060; &#45331;&#45796;&#45716; &#44163;&#51012; &#50508; &#49688; &#51080;&#45796;. &#44536;&#47532;&#44256; Engine A&#51032; &#44221;&#50864;&#45716; &#52572;&#45824; 512Kbyte&#44620;&#51648; &#47605;&#54609; &#44032;&#45733;&#54616;&#47728; Engine B&#51032; &#44221;&#50864; &#52572;&#45824; 128Kbyte&#44620;&#51648; &#47605;&#54609;&#51060; &#44032;&#45733;&#54616;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#47111;&#44172; &#47605;&#54609;&#51060; &#45149;&#45208;&#44256; &#45208;&#47732; Background Control Register&#47484; &#53685;&#54644;&#49436; &#54644;&#45817; Background&#50640; &#45824;&#54620; &#49444;&#51221;&#51012; &#54644;&#51480;&#50556; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3.&amp;nbsp;Background Control&lt;/h2&gt;
&lt;h3&gt;3.1 Background Control Register&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;Display Control Register&#47484; &#53685;&#54644;&#49436; &#50896;&#54616;&#45716;&amp;nbsp;Display&amp;nbsp;&#47784;&#46300;&#47484; &#49444;&#51221;&#54664;&#51004;&#47732; &#44536;&#50640; &#46384;&#47480; &#48512;&#49688;&#51201;&#51064; &#52376;&#47532;&#47484; &#54644;&#51480;&#50556; &#54620;&#45796;.&amp;nbsp;Background&amp;nbsp;&#47784;&#46300;(BG)&#47484; &#51060;&#50857;&#54624; &#44221;&#50864; &#54644;&#45817; BG&#47484; &#50612;&#46523;&#44172;&amp;nbsp;&#49324;&#50857;&#54624; &#44163;&#51064;&#51648;&#50640; &#45824;&#54620; &#52376;&#47532;&#47484; &#54644;&#50556; &#54616;&#45716;&#45936;&amp;nbsp;&#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol"&gt;http://nocash.emubase.de/gbatek.htm#lcdiobgcontrol&lt;/a&gt;&amp;nbsp;&#47484; &#52280;&#44256;&#54616;&#44256;&amp;nbsp;&#47751;&#44032;&#51648;&#47564; &#48372;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000008h - BG0CNT - BG0 Control (R/W)&lt;br /&gt;
400000Ah - BG1CNT - BG1 Control (R/W)&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=""&gt;400000Ch - BG2CNT - BG2 Control (R/W)&lt;br /&gt;
400000Eh - BG3CNT - BG3 Control (R/W)&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  &lt;strong style=""&gt;0-1   BG Priority           (0-3, 0=Highest)&lt;/strong&gt;
  &lt;strong style=""&gt;2-3   Character Base Block  (0-3, in units of 16 KBytes) (=BG Tile Data)&lt;/strong&gt;
  4-5   Not used (must be zero)
  6     Mosaic                (0=Disable, 1=Enable)
  &lt;strong style=""&gt;7     Colors/Palettes       (0=16/16, 1=256/1)&lt;/strong&gt;
  &lt;strong style=""&gt;8-12  Screen Base Block     (0-31, in units of 2 KBytes) (=BG Map Data)&lt;/strong&gt;
  &lt;strong style=""&gt;13    Display Area Overflow (0=Transparent, 1=Wraparound; BG2CNT/BG3CNT only)&lt;/strong&gt;
  &lt;strong style=""&gt;14-15 Screen Size (0-3)&lt;/strong&gt;
&lt;/pre&gt;
&lt;p&gt;In case that some or all BGs are set to same priority then &lt;strong style=""&gt;BG0 is having the highest, and BG3 the lowest priority&lt;/strong&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; Display Control&#50640;&#49436; &#48372;&#50520;&#45912; Character Base Block&#50640; &#45824;&#54620; &#50689;&#50669;&#44284; Screen Base Block&#50640; &#45824;&#54620; &#50689;&#50669;&#44050;&#51012; &#48380; &#49688; &#51080;&#45796;. &#44536;&#47532;&#44256; &#53945;&#51060;&#54620; &#44163;&#51060; Display Area&#47484; &#45336;&#50612;&#44040;&#46412; &#44536;&#44163;&#51012; &#50612;&#46523;&#44172; &#52376;&#47532;&#54624; &#44163;&#51064;&#51648;&#50640; &#45824;&#54620; &#49444;&#51221;&#46020; &#45208;&#50752;&#51080;&#45796;. Transparent&#45716; &#50500;&#47924; &#44163;&#46020; &#50504;&#54616;&#45716; &#44163; &#44057;&#44256; Warparound&#45716; &#45336;&#50612;&#49440; &#48512;&#48516;&#51012; &#45796;&#49884; 0 Base&#47196; &#54616;&#50668;&#49436; &#45934;&#50612;&#50416;&#45716;&#44163; &#44057;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;Internal Screen Size (dots) and size of BG Map (bytes):&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Value  Text Mode      Rotation/Scaling Mode
  0      256x256 (2K)   128x128   (256 bytes)
  1      512x256 (4K)   256x256   (1K)
  2      256x512 (4K)   512x512   (4K)
  3      512x512 (8K)   1024x1024 (16K)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;In 'Text Modes', the screen size is organized as follows:&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;The screen consists of one or more &lt;strong style=""&gt;256x256 pixel (32x32 tiles)&lt;/strong&gt; areas. When Size=0: only 1 area (SC0), when Size=1 or Size=2: two areas (SC0,SC1 either horizontally or vertically arranged next to each other), when Size=3: four areas (SC0,SC1 in upper row, SC2,SC3 in lower row). Whereas SC0 is defined by the normal BG Map base address (Bit 8-12 of BG#CNT), SC1 uses same address +2K, SC2 address +4K, SC3 address +6K. &lt;strong style=""&gt;When the screen is scrolled it'll always wraparound&lt;/strong&gt;.&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;In 'Rotation/Scaling Modes', the screen size is organized as follows:&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;only one area (SC0) of variable size 128x128..1024x1024 pixels (16x16..128x128 tiles) exists (SC0).&lt;/strong&gt; When the screen is &lt;strong style=""&gt;rotated/scaled (or scrolled?) so that the LCD viewport reaches outside of the background/screen area, then BG may be either displayed as transparent or wraparound (Bit 13 of BG#CNT).&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.2 Background Scrolling&amp;nbsp;Register&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; Background Mode&#50640; &#45824;&#54644;&#49436; &#49444;&#51221;&#54664;&#51004;&#47732;&amp;nbsp;Scrolling&#50640; &#45824;&#54620; &#52376;&#47532;&#47484; &#54644;&#50556;&#54620;&#45796;.&amp;nbsp;Scrolling&#51008; &#53360; Bitmap&#51012; &#44536;&#47140;&#45459;&#44256; &#54644;&#45817;&amp;nbsp;Bitmap&#45236;&#50640;&#49436;&amp;nbsp;&#51068;&#48512;&#48516;&#51012; &#54868;&#47732;&#50640; &#54364;&#49884;&#54624;&#46412;&amp;nbsp;&#50976;&#50857;&#54616;&#44172; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;. Scrolling&#50640; &#45824;&#54620; &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling"&gt;http://nocash.emubase.de/gbatek.htm#lcdiobgscrolling&lt;/a&gt;&#47484; &#48372;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000010h - BG0HOFS - BG0 X-Offset (W)&lt;br /&gt;
4000012h - BG0VOFS - BG0 Y-Offset (W)&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-8   Offset (0-511)
  9-15  Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Specifies the coordinate of the upperleft first visible dot of BG0 background layer, ie. used to scroll the BG0 area.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;4000014h - BG1HOFS - BG1 X-Offset (W)&lt;br /&gt;
4000016h - BG1VOFS - BG1 Y-Offset (W)&lt;br /&gt;&lt;/strong&gt;Same as above BG0HOFS and BG0VOFS for BG1 respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;4000018h - BG2HOFS - BG2 X-Offset (W)&lt;br /&gt;
400001Ah - BG2VOFS - BG2 Y-Offset (W)&lt;br /&gt;&lt;/strong&gt;Same as above BG0HOFS and BG0VOFS for BG2 respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;400001Ch - BG3HOFS - BG3 X-Offset (W)&lt;br /&gt;
400001Eh - BG3VOFS - BG3 Y-Offset (W)&lt;br /&gt;&lt;/strong&gt;Same as above BG0HOFS and BG0VOFS for BG3 respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;strong style=""&gt;The above BG scrolling registers are exclusively used in Text modes, ie. for all layers in BG Mode 0, and for the first two layers in BG mode .&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=""&gt;In other BG modes (Rotation/Scaling and Bitmap modes) above registers are ignored. Instead, &lt;span style="COLOR: #0000ff;"&gt;the screen may be scrolled by modifying the BG Rotation/Scaling Reference Point registers.&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &#50948;&#51032; &#47112;&#51648;&#49828;&#53552; &#49444;&#47749;&#51012; &#48372;&#47732; BG Layer&#50640;&#49436; &#54364;&#49884;&#46112; &#50948;&#52824;&#47484; &#52237;&#45716; &#44163;&#51076;&#51012; &#50508; &#49688; &#51080;&#45796;. &#54616;&#51648;&#47564; &#51221;&#49345;&#51201;&#51004;&#47196; &#49324;&#50857;&#54616;&#44592; &#50948;&#54644;&#49436;&#45716; Text Mode &#51068;&#46412;&#47564; &#44032;&#45733;&#54616;&#45796;&#44256; &#46104;&#50612;&#51080;&#45796;. &#45796;&#47480; &#47784;&#46300;&#50640;&#49436;&#45716; Rotation/Scaling&#51012; &#49324;&#50857;&#54616;&#46972;&#45716; &#44163;&#51064;&#45936;, &#45208;&#51473;&#50640; &#54869;&#49892;&#55176; &#53580;&#49828;&#53944; &#54644;&#48400;&#50556;&#44192;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.3 Background&amp;nbsp;Rotation/Scaling&amp;nbsp;Register&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;Text &#47784;&#46300;&#44032; &#50500;&#45772; &#44221;&#50864;&amp;nbsp;&#49828;&#53356;&#47204;&#48143; &#54868;&#47732;&#50640; &#49324;&#50857;&#46112; &#49688;&amp;nbsp;&#51080;&#45796;. &#51088;&#49464;&#54620; &#45236;&#50857;&#51008;&amp;nbsp;&lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling"&gt;http://nocash.emubase.de/gbatek.htm#lcdiobgrotationscaling&lt;/a&gt;&#51012; &#49332;&#54196;&#48372;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000028h - BG2X_L - BG2 Reference Point X-Coordinate, lower 16 bit (W)&lt;br /&gt;
400002Ah - BG2X_H - BG2 Reference Point X-Coordinate, upper 12 bit (W)&lt;/strong&gt;&lt;br /&gt;
&lt;strong style=""&gt;400002Ch - BG2Y_L - BG2 Reference Point Y-Coordinate, lower 16 bit (W)&lt;br /&gt;
400002Eh - BG2Y_H - BG2 Reference Point Y-Coordinate, upper 12 bit (W)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;These registers are replacing the BG scrolling registers which are used for Text mode, &lt;strong style=""&gt;ie. the X/Y coordinates specify the source position from inside of the BG Map/Bitmap of the pixel to be displayed at upper left of the GBA display&lt;/strong&gt;. &lt;strong style=""&gt;The normal BG scrolling registers are ignored in Rotation/Scaling and Bitmap modes.&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   Fractional portion (8 bits)
  8-26  Integer portion    (19 bits)
  27    Sign               (1 bit)
  28-31 Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Because values are shifted left by eight, fractional portions may be specified in steps of 1/256 pixels (this would be relevant only if the screen is actually rotated or scaled). Normal signed 32bit values may be written to above registers (the most significant bits will be ignored and the value will be cut-down to 28bits, but this is no actual problem because signed values have set all MSBs to the same value).&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong style=""&gt;Internal Reference Point Registers&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;The above reference points are automatically copied to internal registers during each vblank&lt;/strong&gt;, specifying the origin for the first scanline. The internal registers are then incremented by dmx and dmy after each scanline.&lt;br /&gt;
Caution: Writing to a reference point register by software outside of the Vblank period does immediately copy the new value to the corresponding internal register, that means: in the current frame, the new value specifies the origin of the &amp;lt;current&amp;gt; scanline (instead of the topmost scanline).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;4000020h - BG2PA - BG2 Rotation/Scaling Parameter A (alias dx) (W)&lt;br /&gt;
4000022h - BG2PB - BG2 Rotation/Scaling Parameter B (alias dmx) (W)&lt;br /&gt;
4000024h - BG2PC - BG2 Rotation/Scaling Parameter C (alias dy) (W)&lt;br /&gt;
4000026h - BG2PD - BG2 Rotation/Scaling Parameter D (alias dmy) (W)&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   Fractional portion (8 bits)
  8-14  Integer portion    (7 bits)
  15    Sign               (1 bit)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;400003Xh - BG3X_L/H, BG3Y_L/H, BG3PA-D - BG3 Rotation/Scaling Parameters&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Same as above BG2 Reference Point, and Rotation/Scaling Parameters, for BG3 respectively.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; dx, dmx, dy, dmy&#50640; &#45824;&#54620; &#45236;&#50857;&#51008; &#50500;&#47000;&#50640; &#45208;&#50728;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong style=""&gt;dx (PA) and dy (PC)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;When transforming a horizontal line, dx and dy specify the resulting gradient and magnification for that line&lt;/strong&gt;. For example:&lt;br /&gt;
Horizontal line, length=100, dx=1, and dy=1. The resulting line would be drawn at 45 degrees, f(y)=1/1*x. Note that this would involve that line is magnified, the new length is SQR(100^2+100^2)=141.42. Yup, exactly - that's the old a^2 + b^2 = c^2 formula.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;dmx (PB) and dmy (PD)&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;&lt;strong style=""&gt;These values define the resulting gradient and magnification for transformation of vertical lines&lt;/strong&gt;. However, when rotating a square area (which is surrounded by horizontal and vertical lines), then the desired result should be usually a rotated &amp;lt;square&amp;gt; area (ie. not a parallelogram, for example).&lt;br /&gt;
Thus, dmx and dmy must be defined in direct relationship to dx and dy, taking the example above, we'd have to set dmx=-1, and dmy=1, f(x)=-1/1*y.&lt;/p&gt;
&lt;p&gt;&lt;strong style=""&gt;Area Overflow&lt;/strong&gt;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 1em;"&gt;In result of rotation/scaling it may often happen that areas outside of the actual BG area become moved into the LCD viewport. Depending of the Area Overflow bit (BG2CNT and BG3CNT, Bit 13) these areas may be either displayed (by wrapping the BG area), or may be displayed transparent.&lt;br /&gt;
&lt;strong style=""&gt;This works only in BG modes 1 and 2. The area overflow is ignored in Bitmap modes (BG modes 3-5), the outside of the Bitmaps is always transparent.&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
--- more details and confusing or helpful formulas ---&lt;br /&gt;
&lt;br /&gt;
The following parameters are required for Rotation/Scaling&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Rotation Center X and Y Coordinates (x0,y0)
  Rotation Angle                      (alpha)
  Magnification X and Y Values        (xMag,yMag)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The display is rotated by 'alpha' degrees around the center.&lt;br /&gt;
The displayed picture is magnified by 'xMag' along x-Axis (Y=y0) and 'yMag' along y-Axis (X=x0).&lt;br /&gt;
&lt;br /&gt;
Calculating Rotation/Scaling Parameters A-D&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
A = Cos (alpha) / xMag    ;distance moved in direction x, same line
  B = Sin (alpha) / xMag    ;distance moved in direction x, next line
  C = Sin (alpha) / yMag    ;distance moved in direction y, same line
  D = Cos (alpha) / yMag    ;distance moved in direction y, next line
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Calculating the position of a rotated/scaled dot&lt;br /&gt;
Using the following expressions,&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
x0,y0    Rotation Center
  x1,y1    Old Position of a pixel (before rotation/scaling)
  x2,y2    New position of above pixel (after rotation scaling)
  A,B,C,D  BG2PA-BG2PD Parameters (as calculated above)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
the following formula can be used to calculate x2,y2:&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
x2 = A(x1-x0) + B(y1-y0) + x0
  y2 = C(x1-x0) + D(y1-y0) + y0
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp; &#44900;&#45208; &#48373;&#51105;&#54620; &#44277;&#49885;&#51060; &#51080;&#45716;&#45936;, &#50669;&#49884;&#45208; &#44172;&#51076;&#51012; &#47564;&#46308;&#51652; &#50506;&#51012; &#44163;&#51060;&#48064;&#47196; &#44036;&#45800;&#55176; &#48372;&#44256; &#45336;&#50612;&#44032;&#51088;. &#46244;&#50640; &#50948;&#50640;&#49436; &#45208;&#50728; &#44163;&#46308;&#51012; &#51333;&#54633;&#54616;&#50668; &#54532;&#47112;&#51076; &#48260;&#54140; &#47784;&#46300;&#50752; &#48708;&#49847;&#54616;&#44172; &#47564;&#46300;&#45716; &#48512;&#48516;&#51012; &#48380;&#53584;&#45936; &#44536;&#44163;&#51012; &#52280;&#44256;&#51088;&#54616;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4. Window&amp;nbsp;Register&lt;/h2&gt;
&lt;p&gt;&amp;nbsp; Window&#45716; &#49828;&#53356;&#47536;&#51012; &#45348;&#44060;&#51032; &#50689;&#50669;&#51004;&#47196; &#45208;&#45580;&#46412; &#49324;&#50857;&#46108;&#45796;&#45716;&#45936;, &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &#54644;&#48372;&#51648; &#50506;&#50500;&#49436; &#51096; &#47784;&#47476;&#44192;&#45796;. &#45208;&#51473;&#50640; &#53580;&#49828;&#53944; &#54980;&#50640; &#45347;&#46020;&#47197; &#54616;&#51088;. &#51068;&#45800; Window&#50640; &#45824;&#54620; &#49444;&#47749;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature"&gt;http://nocash.emubase.de/gbatek.htm#lcdiowindowfeature&lt;/a&gt;&#50640; &#45208;&#50752;&#51080;&#51004;&#45768; &#52280;&#44256;&#54616;&#51088;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;The Window Feature may be used to split the screen into four regions. The BG0-3,OBJ layers and Color Special Effects can be separately enabled or disabled in each of these regions.&lt;br /&gt;
&lt;br /&gt;
The DISPCNT Register&lt;br /&gt;
DISPCNT Bits 13-15 are used to enable Window 0, Window 1, and/or OBJ Window regions, if any of these regions is enabled then the "Outside of Windows" region is automatically enabled, too.&lt;br /&gt;
DISPCNT Bits 8-12 are kept used as master enable bits for the BG0-3,OBJ layers, a layer is displayed only if both DISPCNT and WININ/OUT enable bits are set.&lt;br /&gt;
&lt;br /&gt;
4000040h - WIN0H - Window 0 Horizontal Dimensions (W)&lt;br /&gt;
4000042h - WIN1H - Window 1 Horizontal Dimensions (W)&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   X2, Rightmost coordinate of window, plus 1
  8-15  X1, Leftmost coordinate of window
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Garbage values of X2&amp;gt;240 or X1&amp;gt;X2 are interpreted as X2=240.&lt;br /&gt;
&lt;br /&gt;
4000044h - WIN0V - Window 0 Vertical Dimensions (W)&lt;br /&gt;
4000046h - WIN1V - Window 1 Vertical Dimensions (W)&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   Y2, Bottom-most coordinate of window, plus 1
  8-15  Y1, Top-most coordinate of window
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Garbage values of Y2&amp;gt;160 or Y1&amp;gt;Y2 are interpreted as Y2=160.&lt;br /&gt;
&lt;br /&gt;
4000048h - WININ - Control of Inside of Window(s) (R/W)&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-3   Window 0 BG0-BG3 Enable Bits     (0=No Display, 1=Display)
  4     Window 0 OBJ Enable Bit          (0=No Display, 1=Display)
  5     Window 0 Color Special Effect    (0=Disable, 1=Enable)
  6-7   Not used
  8-11  Window 1 BG0-BG3 Enable Bits     (0=No Display, 1=Display)
  12    Window 1 OBJ Enable Bit          (0=No Display, 1=Display)
  13    Window 1 Color Special Effect    (0=Disable, 1=Enable)
  14-15 Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
400004Ah - WINOUT - Control of Outside of Windows &amp;amp; Inside of OBJ Window (R/W)&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-3   Outside BG0-BG3 Enable Bits      (0=No Display, 1=Display)
  4     Outside OBJ Enable Bit           (0=No Display, 1=Display)
  5     Outside Color Special Effect     (0=Disable, 1=Enable)
  6-7   Not used
  8-11  OBJ Window BG0-BG3 Enable Bits   (0=No Display, 1=Display)
  12    OBJ Window OBJ Enable Bit        (0=No Display, 1=Display)
  13    OBJ Window Color Special Effect  (0=Disable, 1=Enable)
  14-15 Not used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
The OBJ Window&lt;br /&gt;
The dimension of the OBJ Window is specified by OBJs which are having the "OBJ Mode" attribute being set to "OBJ Window". Any non-transparent dots of any such OBJs are marked as OBJ Window area. The OBJ itself is not displayed.&lt;br /&gt;
The color, palette, and display priority of these OBJs are ignored. Both DISPCNT Bits 12 and 15 must be set when defining OBJ Window region(s).&lt;br /&gt;
&lt;br /&gt;
Window Priority&lt;br /&gt;
In case that more than one window is enabled, and that these windows do overlap, Window 0 is having highest priority, Window 1 medium, and Obj Window lowest priority. Outside of Window is having zero priority, it is used for all dots which are not inside of any window region.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;5.&amp;nbsp;&#49324;&#50857; &#50696;&#51228;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47196;&#44536;&#47000;&#48141;&#54616;&#44592; &#44032;&#51109; &#44036;&#45800;&#54620; &#47784;&#46300;&#51064; &#54532;&#47112;&#51076; &#48260;&#54140; &#47784;&#46300;&#47196;&amp;nbsp;&#48708;&#46356;&#50724; &#47784;&#46300;&#47484; &#49444;&#51221;&#54644; &#48372;&#51088;. &#51068;&#45800; Engine A&#50752; Engine B&#50640; &#47784;&#46160; &#49444;&#51221; &#44032;&#45733;&#54620; &#54532;&#47112;&#51076; &#48260;&#54140;&#47784;&#46300;&#45716; 256 * 192 pixel 32768 color(15bit)&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47100;&amp;nbsp;&#49444;&#51221;&#54616;&#45716; &#49692;&#49436;&#47484; &#45796;&#49884; &#49373;&#44033;&#54644; &#48372;&#47732; &lt;strong style=""&gt;Display &#47784;&#46300;&#47484; &#49440;&#53469;&#54616;&#44256;, VRAM&#51012; &#47605;&#54609;&#54620; &#45796;&#51020;, Background &#49549;&#49457;&#51012; &#49444;&#51221;&lt;/strong&gt;&#54644; &#51452;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#45716; &#44036;&#45800;&#55176;&amp;nbsp;&#54532;&#47112;&#51076; &#48260;&#54140; &#47784;&#46300;&#47196;&amp;nbsp;&#49444;&#51221;&#54616;&#45716; &#53076;&#46300;&#51060;&#45796;.&amp;nbsp;&lt;strong style=""&gt;&#48708;&#46356;&#50724; &#47784;&#46300;&amp;nbsp;5&lt;/strong&gt;&#47484; &#49324;&#50857;&#54616;&#50668;&amp;nbsp;BG2&#50752; BG3&#51012;&amp;nbsp;Extended Afine &#47784;&#46300;&#47196; &#49444;&#51221;&#54616;&#44256; Background&#51032; &#53356;&#44592;&#47484; &lt;strong style=""&gt;&#54868;&#47732; &#51204;&#52404; &#53356;&#44592;(256 * 192 pixel)&#48372;&#45796; &#53356;&#44172; &#49444;&#51221;&lt;/strong&gt;&#54616;&#50668; &#51204;&#52404;&#47484; &#52964;&#48260; &#44032;&#45733;&#54616;&#46020;&#47197; &#49444;&#51221;&#54620;&#45796;. &#44536;&#47532;&#44256; Background &#47784;&#46300;&#45716; Direct Color &#47784;&#46300;&#47484; &#49324;&#50857;&#54616;&#50668; &#54532;&#47112;&#51076; &#48260;&#54140;&#47784;&#46300;&#50752; &#48708;&#49847;&#54616;&#44172; &#49324;&#50857;&#54616;&#44256; BG3&#51032; &#49884;&#51089;&#51012; Offset 0&#50640;&#49436; &#49884;&#51089;&#54616;&#46020;&#47197; &#54616;&#50668; VRAM&#51032; &#52395;&#48264;&#51704; &#49884;&#51089;&#48512;&#53552; &#54868;&#47732;&#50640; &#54364;&#49884;&#46104;&#46020;&#47197; &#54664;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Main LCD &#48143; SUB LCD&#47484; &#47784;&#46160; 16bit 256 * 196 &#47196; &#49444;&#51221;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frame Buffer&#50752; &#44057;&#51060; &#50424; &#49688; &#51080;&#46020;&#47197; &#49688;&#51221;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void InitVideoMode()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // set the mode for 2 text layers and two extended background layers&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; videoSetMode( &lt;strong style=""&gt;MODE_5_2D&lt;/strong&gt; | &lt;strong style=""&gt;DISPLAY_BG3_ACTIVE&lt;/strong&gt; );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; videoSetModeSub( &lt;strong style=""&gt;MODE_5_2D&lt;/strong&gt; | &lt;strong style=""&gt;DISPLAY_BG3_ACTIVE&lt;/strong&gt; );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Video Memory&#47484; &#49444;&#51221;&#54620;&#45796;. MAIN &#44057;&#51008; &#44221;&#50864;&#45716; 2&#44060;&#51032; VRAM&#51060; &#47605;&#54609;&#46104;&#50612;&#51080;&#51004;&#48064;&#47196;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#45908;&#48660; &#48260;&#54140;&#51032; &#49324;&#50857;&#46020; &#44032;&#45733;&#54616;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; vramSetMainBanks( &lt;strong style=""&gt;VRAM_A_MAIN_BG_0x06000000, VRAM_B_MAIN_BG_0x06020000,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VRAM_C_SUB_BG&lt;/strong&gt;, VRAM_D_LCD);&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Background&#50640; &#45824;&#54620; &#49444;&#51221;&#51012; &#54620;&#45796;. BG_BMP_BASE&#47484; &#51312;&#51208;&#54616;&#47732; &#49828;&#53356;&#47204; &#48143;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#45908;&#48660; &#48260;&#54140;&#47484; &#44396;&#54788;&#54624; &#49688; &#51080;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_CR = &lt;strong style=""&gt;BG_BMP16_256x256 | BG_BMP_BASE( 0 );&lt;/strong&gt;// | BG_PRIORITY( 3 );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;// scale&#51012; 1, rotation&#51012; 0&#51004;&#47196; &#49444;&#51221;&#54616;&#50668; frame buffer&#50752; &#44057;&#44172; &#47564;&#46316;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_XDX = 1 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_XDY = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_YDX = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_YDY = 1 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;// Translation(Reference Point X/Y-Coordinate)&#51012; 0&#51004;&#47196; &#49444;&#51221;&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_CX = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BG3_CY = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;// x&#52629; &#48143; y&#52629;&#51004;&#47196; 100 pixel &#51060;&#46041;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //BG3_CX = 100 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; //BG3_CY = 100 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_CR = &lt;strong style=""&gt;BG_BMP16_256x256 | BG_BMP_BASE( 0 );&lt;/strong&gt;// | BG_PRIORITY( 3 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_XDX = 1 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_XDY = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_YDX = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_YDY = 1 &amp;lt;&amp;lt; 8;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_CX = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; SUB_BG3_CY = 0;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Display&#50640;&#49436; VBlank interrupt&#47484; &#48156;&#49373;&#49884;&#53412;&#46020;&#47197; &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_DISPSTAT |= DISP_VBLANK_IRQ;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#44033; &#54632;&#49688; &#48143; &#47700;&#53356;&#47196;&#46308;&#51008; ndslib &#54260;&#45908;&#50640; source &#48143; include&amp;nbsp;&#54260;&#45908;&#50640; &#51080;&#45716; video.h/c &#54028;&#51068;&#50640; &#51080;&#45796;. &#47588;&#53356;&#47196;&#45716; &#52392;&#48512;&#54028;&#51068;&#51012; &#52280;&#44256;&#54616;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#47560;&#51648;&#47561;&#50640; &#51080;&#45716; &#48521;&#51008; &#49353; &#48512;&#48516;&#51008;&amp;nbsp;Display&amp;nbsp;Status &#47112;&#51648;&#49828;&#53552;&#50640;&amp;nbsp;VBLANK&amp;nbsp;&#51064;&#53552;&#47101;&#53944;&#47484; &#48156;&#49373;&#54616;&#46020;&#47197; &#49444;&#51221;&#54616;&#45716; &#48512;&#48516;&#51060;&#45796;. &#51060;&#47111;&#44172; &#54616;&#47732;&amp;nbsp;&#51452;&#44592;&#51201;&#51004;&#47196; &#54868;&#47732;&#51012; &#45796;&#49884; &#44536;&#47532;&#45716; &#53440;&#51060;&#48141;&#50640; &#51064;&#53552;&#47101;&#53944;&#44032; &#48156;&#49373;&#54616;&#50668; &#51089;&#50629;&#51012; &#52376;&#47532;&#54624; &#49688;&#44032;&amp;nbsp;&#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51064;&#53552;&#47101;&#53944;&#50640; &#45824;&#54620; &#51088;&#49464;&#54620; &#45236;&#50857;&#51008;&amp;nbsp;&lt;a href="/pages/422069" title="04 &#51064;&#53552;&#47101;&#53944; &#51228;&#50612;(Interrupt Control)" class="wiki"&gt;&lt;strong style=""&gt;04 &#51064;&#53552;&#47101;&#53944; &#51228;&#50612;(Interrupt Control)&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&#47928;&#49436;&#47484; &#52280;&#51312;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;5.1 &#54868;&#47732; &#49828;&#53356;&#47204;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#47564;&#50557; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;&#54868;&#47732;&#51012; &#49828;&#53356;&#47204;&lt;/span&gt;&lt;/strong&gt;&#54616;&#44256; &#49910;&#45796;&#47732; &#50612;&#46523;&#44172; &#54616;&#47732; &#46112;&#44620;?&amp;nbsp;BG3&#47484; &#49324;&#50857;&#54620;&#45796;&#47732;&amp;nbsp;&lt;strong style=""&gt;BG3_CY&lt;/strong&gt; &#48143; &lt;strong style=""&gt;CX&lt;/strong&gt;&#50640; &#44050;&#51012; &#45347;&#50612;&#51452;&#47732; &#46108;&#45796;.&amp;nbsp;&lt;strong style=""&gt;BG3_CY/CX&lt;/strong&gt;&#45716;&amp;nbsp;&#54616;&#50948;&amp;nbsp;8bit&#45716; &#49548;&#49688;&#51216;&#51012; &#45208;&#53440;&#45236;&#44256; &#49345;&#50948;&amp;nbsp;7Bit&#45716; &#51221;&#49688;&#48512;&#47484; &#45208;&#53440;&#45236;&#48064;&#47196;&amp;nbsp;&lt;strong style=""&gt;8 &#47564;&#53372; &#51340;&#52769;&#51004;&#47196;&amp;nbsp;Shift &#54616;&#47732; &#46108;&#45796;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;5.2 &#45908;&#48660; &#48260;&#54140;&#47553;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#47564;&#50557; &#45908;&#48660; &#48260;&#54140;&#47484; &#49324;&#50857;&#54620;&#45796;&#47732;&amp;nbsp;BG3_CX/CY&#47484; &#49324;&#50857;&#54644;&#46020; &#46104;&#51648;&#47564; &lt;strong style=""&gt;BG_BMP_BASE()&lt;/strong&gt;&amp;nbsp;&#47588;&#53356;&#47196;&#47484; &#51060;&#50857;&#54616;&#50668;&#49436; Base Offset&#51012; &#48320;&#44221;&#54616;&#45716; &#48169;&#48277;&#46020; &#49324;&#50857;&#54624; &#49688; &#51080;&#45796;. 256 * 192 pixel * 2Byte&#47484; &#54616;&#47732; &#54620; &#54868;&#47732;&#50640; &#52509; &#45936;&#51060;&#53552;&#44032;&amp;nbsp;96Kbyte&#44032; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Bitmap &#47784;&#46300;&#51068;&#46412; Base&#51032; &#44050;&#50640; 16Kbyte&#47484; &#44273;&#54616;&#44172; &#46104;&#48064;&#47196; &lt;strong style=""&gt;BG_BMP_BASE( 6 )&lt;/strong&gt;&#44284; &#44057;&#51060; &#49324;&#50857;&#54616;&#44172; &#46104;&#47732; &#54532;&#47112;&#51076; &#44036;&#50640; &#44217;&#52824;&#51648; &#50506;&#44172; &#49324;&#50857;&#54624; &#49688; &#51080;&#50612;&#49436; &#45908;&#48660; &#48260;&#54140;&#47553;&#51060; &#44032;&#45733;&#54616;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;5.3&amp;nbsp;&#51064;&#53552;&#47101;&#53944;(Interrupt)&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;LCD &#54868;&#47732;&#51012; Display &#54624;&#46412; &#54620; &#46972;&#51064; &#46608;&#45716; &#51204;&#52404; &#54868;&#47732;&#51012; &#44536;&#47160;&#51012; &#46412;, &#53945;&#51221;&#54620; &#49888;&#54840;&#47484; &#48156;&#49373;&#54616;&#44172; &#54624; &#49688; &#51080;&#45796;. &#54620; &#46972;&#51064;&#51012; &#44536;&#47160;&#51012; &#46412; H Blank&#44032; &#48156;&#49373;&#54616;&#47728;, &#51204;&#52404; &#54868;&#47732;&#51012; &#45796; &#44536;&#47160;&#51012; &#46412;&#44032;&amp;nbsp;V Blank&#44032; &#48156;&#49373;&#54620;&#45796;. Display &#51064;&#53552;&#47101;&#53944;&#50640; &#45824;&#54620; &#51088;&#49464;&#54620; &#45236;&#50857;&#51008; &lt;a href="http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus"&gt;&lt;strong style=""&gt;http://nocash.emubase.de/gbatek.htm#lcdiointerruptsandstatus&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&#50640;&#49436; &#48380; &#49688; &#51080;&#51004;&#47728; NDS &#51064;&#53552;&#47101;&#53944;&#50640; &#45824;&#54620; &#45236;&#50857;&#51008; &lt;a href="/pages/422069" title="04 &#51064;&#53552;&#47101;&#53944; &#51228;&#50612;(Interrupt Control)" class="wiki"&gt;&lt;strong style=""&gt;04 &#51064;&#53552;&#47101;&#53944; &#51228;&#50612;(Interrupt Control)&lt;/strong&gt;&lt;/a&gt;&#50640;&#49436; &#52286;&#51012; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;strong style=""&gt;4000004h - DISPSTAT - General LCD Status (Read/Write)&lt;br /&gt;&lt;/strong&gt;Display status and Interrupt control. The H-Blank conditions are generated once per scanline, including for the 'hidden' scanlines during V-Blank.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0     V-Blank flag   (Read only) (1=VBlank)
  1     H-Blank flag   (Read only) (1=HBlank)
  2     V-Counter flag (Read only) (1=Match)
  &lt;strong style=""&gt;3     V-Blank IRQ Enable         (1=Enable)&lt;/strong&gt;
  &lt;strong style=""&gt;4     H-Blank IRQ Enable         (1=Enable)&lt;/strong&gt;
  5     V-Counter IRQ Enable       (1=Enable)
  6-7   Not used
  8-15  V-Count Setting            (0-227)
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
The &lt;strong style=""&gt;V-Count-Setting value is much the same as LYC of older gameboys, when its value is identical to the content of the VCOUNT register&lt;/strong&gt; then the &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;V-&lt;/span&gt;&lt;span style="COLOR: #0000ff;"&gt;Counter flag is set (Bit 2), and (if enabled in Bit 5) an interrupt is requested&lt;/span&gt;&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
4000006h - VCOUNT - Vertical Counter (Read only)&lt;br /&gt;
Indicates the currently drawn scanline, values in range from 160-227 indicate 'hidden' scanlines within VBlank area.&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;
Bit   Expl.
  0-7   Current scanline (0-227)
  8-15  Not Used
&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
Note: This is much the same than the 'LY' register of older gameboys.&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1&gt;6. &#52392;&#48512;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/410834/attachments/172651" title="video.h" class="attachment"&gt;&lt;strong style=""&gt;video.h&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/410834/attachments/172652" title="video.c" class="attachment"&gt;&lt;strong style=""&gt;video.c&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/410834/attachments/172653" title="&#48708;&#46356;&#50724;_&#47784;&#46300;_&#51228;&#50612;.ppt" class="attachment"&gt;&#48708;&#46356;&#50724;_&#47784;&#46300;_&#51228;&#50612;.ppt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Tue, 13 Sep 2011 14:14:28 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/410834</link>
      <guid>http://kkamagui.springnote.com/pages/410834</guid>
    </item>
    <item>
      <title>Part15. Tutorial3-&#46041;&#44592;&#54868;(Synchronization) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;</title>
      <description>&lt;h1&gt;Part15. Tutorial3-&#46041;&#44592;&#54868;(Synchronization) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;&lt;/h1&gt;
&lt;p&gt;&lt;strong style=""&gt;&#50896;&#47928; :&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;a href="/pages/368015"&gt;&lt;strong style=""&gt;http://kkamagui.springnote.com/pages/368015&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#46308;&#50612;&#44032;&#44592; &#51204;&#50640;...&lt;/h2&gt;
&lt;div class="section" style="line-height: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; background-color: rgb(249, 249, 216);"&gt;
&lt;ul style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 24px;"&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#51060; &#44544;&#51008;&amp;nbsp;kkamagui&#50640; &#51032;&#54644; &#51089;&#49457;&#46108; &#44544;&#51077;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#47560;&#51020;&#44751; &#51064;&#50857;&#54616;&#49884;&#44144;&#45208; &#49324;&#50857;&#54616;&#49492;&#46020; &#46121;&#45768;&#45796;. &#45800; &#52636;&#52376;(&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.tistory.com&lt;/a&gt;,&amp;nbsp;&lt;a href="/pages/#" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.springnote.com&lt;/a&gt;)&#45716; &#48157;&#54784; &#51452;&#49901;&#49884;&#50724;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#44592;&#53440; &#49324;&#54637;&#51008; mint64os&amp;nbsp;at gmail.com &#51060;&#45208;&lt;/strong&gt;&amp;nbsp;&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span style="line-height: 2em; color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style="line-height: 2em;"&gt;&#51004;&#47196; &#48372;&#45236;&#51452;&#49884;&#47732; &#48152;&#50689;&#54616;&#44192;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#49345;&#49464;&#54620; &#45236;&#50857;&#51008; &#52293; "&lt;a href="http://kkamagui.tistory.com/746" class="external" title="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/a&gt;"&#47484; &#52280;&#44256;&#54616;&#44592; &#48148;&#46989;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;a href="http://www.yes24.com/24/goods/5271779?scode=032&amp;amp;OzSrank=3" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;/a&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img title="&#53356;&#44592;&#48320;&#54872;_book1.jpg" class="attachment" src="/pages/404250/attachments/5167376" alt="&#53356;&#44592;&#48320;&#54872;_book1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial;" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2&gt;0.&#49884;&#51089;&#54616;&#47732;&#49436;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#50526;&#49436; &#47680;&#54000;&amp;nbsp;&#53468;&#49828;&#53433; &#44592;&#45733;&#51012; &#52628;&#44032;&#54616;&#47732;&#49436; &#46041;&#44592;&#54868;&#44032; &#50620;&#47560;&#45208; &#51473;&#50836;&#54620;&#51648; &#45712;&#44808;&#51012; &#44163;&#51060;&#45796;. &#51096;&amp;nbsp;&#47784;&#47476;&#44192;&#45796;&#47732; &#52964;&#45328; &#53356;&#47000;&#49772; &#54868;&#47732;&#51012; &#54620;&#48264; &#45908; &#48372;&#44256; &#50724;&#51088;.&amp;nbsp;&#45800;&#49692;&#55176; 3&#44060;&#51032; &#53468;&#49828;&#53356;&#47564; &#49892;&#54665;&#46104;&#45716; &#49828;&#52992;&#51460;&#47084;&#47484; &#44396;&#54788;&#54616;&#45716;&#45936;&#46020; &#46041;&#44592;&#54868; &#47928;&#51228;&#44032; &#48156;&#49373;&#54616;&#45768;, &#50952;&#46020;&#50864;&#50752; &#44057;&#51060; &#49688;&#48177;&#44060;&#51032;&amp;nbsp;&#53468;&#49828;&#53356;&#44032; &#46041;&#51089;&#54616;&#45716;&amp;nbsp;OS&#50640;&#49436; &#46041;&#44592;&#54868;&#45716;&amp;nbsp;PC&#51032; CPU &#47564;&#53372;&#51060;&#45208; &#51473;&#50836;&#54620; &#47928;&#51228;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#54952;&#50984;&#51201;&#51064; &#46041;&#44592;&#54868;&#47484; &#50948;&#54644; &#47751;&#44032;&#51648; &#46041;&#44592;&#54868; &#50724;&#48652;&#51229;&#53944;&#47484; &#49444;&#44228;&#54616;&#44256; &#44396;&#54788;&#54644;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;1.&#46041;&#44592;&#54868;&amp;nbsp;&#44061;&#52404;(Synchronization Object)&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#48264;&#50640;&amp;nbsp;&#44396;&#54788;&#54644;&#48380; &#46041;&#44592;&#54868; &#44061;&#52404;&#45716; &#49464;&#47672;&#54252;&#50612;(Semaphore)&#50752; &#48036;&#53581;&#49828;(Mutex)&#51060;&#45796;. &#49324;&#49892; &#48036;&#53581;&#49828;&#45716; &#52852;&#50868;&#53944;&#44032; 1&#51064; &#48148;&#51060;&#45320;&#47532; &#49464;&#47672;&#54252;&#50612;&#50752;&amp;nbsp;&#44592;&#45733;&#51060; &#48708;&#49847;&#54616;&#44592;&amp;nbsp;&#46412;&#47928;&#50640; &#49464;&#47672;&#54252;&#50612;&#47484; &#44396;&#54788;&#54616;&#44256; &#44536;&#44163;&#51012; &#51060;&#50857;&#54644;&#49436; &#48036;&#53581;&#49828;&#47484; &#44396;&#54788;&#54616;&#46020;&#47197; &#54616;&#51088;.&amp;nbsp;&#48036;&#53581;&#49828;&#45716; &#49548;&#50976;&#51032; &#44060;&#45392;&#51060; &#54252;&#54632;&#46104;&#50612;&#51080;&#50612;&amp;nbsp;&#48148;&#51060;&#45320;&#47532; &#49464;&#47560;&#54252;&#50612;&#50752;&#45716; &#52264;&#51060;&#44032; &#51080;&#51648;&#47564;&amp;nbsp; &#49464;&#48512;&#51201;&#51064; &#45236;&#50857;&#51008; &#45336;&#50612;&#44032;&#46020;&#47197; &#54616;&#51088;(&#44417;&#44552;&#54620; &#49324;&#46988;&#51008; &#44396;&#44544;&#47553;&#51012; @0@)/~)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50952;&#46020;&#50864; &#54532;&#47196;&#44536;&#47000;&#48141;&#51012; &#50612;&#45712;&#51221;&#46020; &#54644;&#48376; &#49324;&#46988;, &#54841;&#51008; &#49828;&#47112;&#46300; &#54532;&#47196;&#44536;&#47000;&#48141;&#51012; &#50612;&#45712;&#51221;&#46020; &#54644;&#48376; &#49324;&#46988;&#51060;&#46972;&#47732; &#49464;&#47672;&#54252;&#50612;&#50752; &#48036;&#53581;&#49828;&#50640; &#45824;&#54644;&#49436; &#51060;&#48120; &#50508;&#44256; &#51080;&#51012; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47000;&#46020; &#54841;&#50668;&#45208; &#47784;&#47476;&#45716; &#49324;&#46988;&#46308;&#51060; &#51080;&#51012;&#44620;&#48400; &#44036;&#45800;&#55176;&amp;nbsp;&#50857;&#46020;&#47484;&amp;nbsp;&#49444;&#47749;&#54616;&#44192;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50668;&#47084; &#53468;&#49828;&#53356;&#50640;&#49436; &#54616;&#45208;&#51032; &#44277;&#50976;&#46108; &#51088;&#50896;(&#44544;&#47196;&#48268; &#48320;&#49688; or IO &#51109;&#52824; &#46321;&#46321;)&#50640; &#51217;&#44540;&#54616;&#44172;&#46104;&#47732; &#49436;&#47196; &#44221;&#51137;&#51012; &#54616;&#44172;&amp;nbsp;&#46108;&#45796;. &#51060; &#44277;&#50976;&#46108; &#51088;&#50896;&#51012; &#49692;&#52264;&#51201;&#51004;&#47196; &#49324;&#50857;&#54616;&#44256; &#48152;&#45225;&#54616;&#44172; &#46104;&#47732; &#51088;&#50896;&#50640; &#46041;&#49884;&#50640; &#51217;&#44540;&#54664;&#51012; &#46412; &#48156;&#49373;&#54616;&#45716; &#47928;&#51228;&#47484; &#54644;&#44208;&#54624; &#49688; &#51080;&#44256;, &#53468;&#49828;&#53356; &#44036;&#51032; "&lt;strong style=""&gt;&#49692;&#52264;&#51201;&#51064; &#49324;&#50857;&lt;/strong&gt;"&#51012;&amp;nbsp;&#52968;&#53944;&#47204; &#54616;&#44592;&#50948;&#54644; &#49464;&#47672;&#54252;&#50612;&#45208; &#48036;&#53469;&#49828;&#47484; &#49324;&#50857;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50526;&#49436; Tutorial&#50640;&#49436; &#47680;&#54000;&#53468;&#49828;&#53356;&#51032; &#44592;&#45733;&#51012; &#44396;&#54788;&#54624; &#46412; &#49828;&#52992;&#51460;&#47084;&#51032; &#50696;&#47484; &#48372;&#47732; &#51096; &#50508; &#49688; &#51080;&#45796;.&amp;nbsp;&#44544;&#47196;&#48268; &#44396;&#51312;&#52404;&#51064;&amp;nbsp;gs_stScheduler&#44032; &#53468;&#49828;&#53356; &#44036;&#50640; &#44277;&#50976;&#46108; &#51088;&#50896;&#51060;&#50632;&#44256; &#47924;&#52264;&#48324;&#54616;&#44172;&amp;nbsp;&#51217;&#44540;&#54624;&#46412; &#52964;&#45328; &#53356;&#47000;&#49772;&#44032; &#48156;&#49373;&#54664;&#45796;. &#51060;&#44163;&#51012; kLock()&#44284; kUnlock() &#47700;&#49548;&#46300;&#47484; &#49324;&#50857;&#54616;&#50668; &#53468;&#49828;&#53356; &#44036;&#51032; &#51217;&#44540;&#51012; &#52968;&#53944;&#47204;&#54616;&#50688;&#44256; &#49828;&#52992;&#51460;&#47084;&#44032; &#51221;&#49345;&#51201;&#51004;&#47196; &#46041;&#51089;&#54624; &#49688; &#51080;&#50632;&#45796;. &#51096; &#44592;&#50613;&#51060; &#50504;&#45208;&#45716; &#49324;&#46988;&#51008; &lt;a href="/pages/355562" class="wiki" title="Part14. Tutorial2-&#47680;&#54000; &#53468;&#49828;&#53433;(Multi Tasking) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;"&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Part14. Tutorial2-&#47680;&#54000; &#53468;&#49828;&#53433;(Multi Tasking) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&#47484; &#45796;&#49884; &#48372;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.&#49464;&#47672;&#54252;&#50612;(Semaphore) &#49444;&#44228;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#45716;&amp;nbsp;&#53356;&#44172; &#52852;&#50868;&#54021; &#49464;&#47672;&#54252;&#50612;(Counting Semaphore)&#50752; &#48148;&#51060;&#45320;&#47532; &#49464;&#47672;&#54252;&#50612;(Binary Semaphore)&#47196; &#45208;&#45656;&#50612;&#51652;&#45796;. &#46160; &#49464;&#47672;&#54252;&#50612;&#51032; &#52264;&#51060;&#51216;&#51008; &#51088;&#50896;&#50640; &#51652;&#51077;&#54624; &#49688; &#51080;&#45716; &#53468;&#49828;&#53356;&#51032; &#49688;&#44032; &#45800; &#54620;&#44060;&#47564; &#44032;&#45733;&#54620;&#44032;, &#50500;&#45768;&#47732; n&#44060;&#44032; &#44032;&#45733;&#54620;&#44032; &#52264;&#51060;&#48150;&#50640; &#50630;&#45796;. &#49464;&#47672;&#54252;&#50612;&#51032; &#49324;&#50857;&#48277;&#51008; &#46041;&#44592;&#54868;&#44032; &#54596;&#50836;&#54620; &#50689;&#50669;&#50640; &#51652;&#51077;&#54624; &#46412; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;On()&lt;/span&gt;&lt;/strong&gt;&#51012; &#54616;&#44256; &#51089;&#50629;&#51012; &#50756;&#47308;&#54616;&#47732; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Off()&lt;/span&gt;&lt;/strong&gt;&#47484; &#54840;&#52636;&#54616;&#45716; &#48169;&#49885;&#51004;&#47196; &#49324;&#50857;&#54616;&#47728; On&#44284; Off &#49324;&#51060;&#51032; &#53076;&#46300;&#45716; &#49464;&#47672;&#54252;&#50612;&#51032; &#51333;&#47448;&#50640;&#46384;&#46972; &#54616;&#45208;&#51032; &#53468;&#49828;&#53356;&#47564; &#49892;&#54665;&#44032;&#45733;&#54616;&#44144;&#45208; n&#44060;&#51032; &#53468;&#49828;&#53356;&#47564; &#49892;&#54665;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#47484; &#44611;&#48156;&#44284; &#48169;&#51004;&#47196;&#51012; &#49373;&#44033;&#54616;&#47732;&amp;nbsp;&#51060;&#54644;&#54616;&#44592;&#44032; &#51339;&#45796;.&amp;nbsp;&#50612;&#46500; &#48169;&#50640; &#46308;&#50612;&#44032;&#45716;&#45936;, &#48169;&#50640; &#46308;&#50612;&#44032;&#47732; &#51077;&#44396;&#50640; &#44611;&#48156;&#51012; &#54616;&#45208; &#50732;&#47532;&#44256; &#48169;&#50640;&#49436; &#45208;&#50724;&#47732; &#44611;&#48156;&#51012; &#54616;&#45208; &#45236;&#47536;&#45796;. &#47564;&#50557;&amp;nbsp;&#45236;&#44032; &#46308;&#50612;&#44040; &#52264;&#47168;&#51064;&#45936; &#44611;&#48156;&#51060; &#51204;&#48512; &#50732;&#47140;&#51256; &#51080;&#51004;&#47732;&amp;nbsp;&#45572;&#44400;&#44032; &#45208;&#50752;&#49436; &#44611;&#48156;&#51012; &#45236;&#47540; &#46412;&#44620;&#51648; &#44592;&#45796;&#47160;&#45796;&#44032; &#46308;&#50612;&#44032;&#45716; &#48169;&#49885;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#52852;&#50868;&#54021; &#49464;&#47672;&#54252;&#50612;&#47484; &#44396;&#54788;&#54616;&#44592; &#50948;&#54644;&#49436;&#45716;&amp;nbsp;&#51652;&#51077;&amp;nbsp;&#44032;&#45733;&#54620;&amp;nbsp;&#53468;&#49828;&#53356;&#51032; &#52572;&#45824; &#44060;&#49688;, &#54788;&#51116; &#51652;&#51077;&#54620; &#53468;&#49828;&#53356;&#51032; &#49688;&#47484; &#54252;&#54632;&#54616;&#45716; &#49464;&#47672;&#54252;&#50612; &#51088;&#47308;&#44396;&#51312;&#44032; &#54596;&#50836;&#54616;&#45796;. &#51060;&#47484; &#50500;&#47000;&#50752; &#44057;&#51060;&amp;nbsp;&#49440;&#50616;&#54616;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// Semaphore &#44396;&#51312;&#52404;&lt;br /&gt;
typedef struct semaphoreStruct&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #0000ff;"&gt;&lt;strong style=""&gt;BOOL bLock;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int iMaxTask;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int iCurTask;&lt;br /&gt;
} SEMAPHORE, * PSEMAPHORE;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#51473;&#50836;&#54616;&#44172; &#48380; &#48512;&#48516;&#51008; bLock &#48512;&#48516;&#51064;&#45936;,&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#51032; &#48320;&#49688;&#46308; &#46608;&#54620; &#44277;&#50976;&#46104;&#45716; &#51088;&#50896;&#51060;&#48064;&#47196;&amp;nbsp;&#51060; &#51088;&#50896;&#51012; &#49688;&#51221;&#54624; &#49688;&amp;nbsp;&#51080;&#45716;&#44032;&amp;nbsp;&#54032;&#45800;&#54616;&#45716; &#54540;&#47000;&#44536;&#44032; &#54596;&#50836;&#54616;&#45796;.&amp;nbsp;&#51060; &#54540;&#47000;&#44536;&#44032; &#50630;&#51004;&#47732; &#50612;&#46523;&#44172; &#46112;&#44620;?&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#51032; &#48320;&#49688;&#47484; &#49444;&#51221;&#54616;&#44256; &#48708;&#44368;&#54616;&#45716; &#48512;&#48516; &#50669;&#49884; &#50668;&#47084; &#53468;&#49828;&#53356;&#44032; &#51217;&#44540;&#54624; &#44163;&#51060;&#48064;&#47196;&amp;nbsp;&#50669;&#49884; &#50633;&#47581;&#51060; &#46112; &#44163;&#51060;&#45796;(&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;&#52964;&#45328; &#53356;&#47000;&#49772;&lt;/span&gt;&lt;/strong&gt;&#47484; &#51082;&#51648;&#47568;&#44592;&#47484; &#48148;&#46976;&#45796;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3.&#44396;&#54788;&lt;/h2&gt;
&lt;h3&gt;3.1 &#49464;&#47672;&#54252;&#50612;(Semaphore) &#44396;&#54788;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50640;&#49436; &#49464;&#47672;&#54252;&#50612;&#50640; &#45824;&#54644; &#44036;&#47029;&#55176; &#49444;&#44228;&#54664;&#51004;&#48064;&#47196; &#51060;&#51228;&amp;nbsp;&#53076;&#46300;&#47484; &#51089;&#49457;&#54644; &#48372;&#51088;.&amp;nbsp;iMaxTask &#48320;&#49688;&#45716; &#52572;&#45824;&#47196;&amp;nbsp;&#51652;&#51077; &#44032;&#45733;&#54620; &#53468;&#49828;&#53356;&#51032; &#49688;&#47196; &#49324;&#50857;&#54616;&#44256;&amp;nbsp;iCurTask&#45716; &#54788;&#51116;&#44620;&#51648; &#51652;&#51077;&#54620; &#53468;&#49828;&#53356;&#51032;&amp;nbsp;&#49688;&#47196; &#49324;&#50857;&#54620;&#45796;&#47732;,&amp;nbsp;&#52488;&#44592;&#54868;/On/Off &#53076;&#46300;&#45716; &#50500;&#47000;&#50752; &#44057;&#51060;&amp;nbsp;&#50424; &#49688;&amp;nbsp;&#51080;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Semaphore&#47484; &#52488;&#44592;&#54868; &#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void InitSemaphore( SEMAPHORE* pstSema, int iMaxTask )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kMemSet( pstSema, 0, sizeof( SEMAPHORE ) );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstSema-&amp;gt;iMaxTask = iMaxTask;&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Semaphore&#47484; &#51216;&#50976;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
BOOL OnSemaphore( SEMAPHORE* pstSema )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#50640; &#51217;&#44540;&#54616;&#44592;&#50948;&#54644; &#51217;&#44540;&#51060; &#44032;&#45733;&#54620;&#51648;&#47484; &#54869;&#51064;&#54616;&#44256; &#51217;&#44540; &#44032;&#45733;&#54616;&#47732;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#51217;&#44540; &#44552;&#51648;&#47484; &#49444;&#51221;&#54620; &#54980; &#48320;&#49688;&#47484; &#48376;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kLock( &amp;amp;( pstSema-&amp;gt;bLock )&lt;/span&gt;&lt;/strong&gt; ) == FALSE )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;SwitchTask();&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( pstSema-&amp;gt;iCurTask + 1 &amp;lt;= pstSema-&amp;gt;iMaxTask )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kUnlock( &amp;amp;( pstSema-&amp;gt;bLock ) );&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SwitchTask();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstSema-&amp;gt;iCurTask++;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49464;&#48260;&#54252;&#50612; &#48320;&#49688;&#50640; &#45824;&#54620; &#51217;&#44540; &#44552;&#51648;&#47484; &#54644;&#51228;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kUnlock( &amp;amp;( pstSema-&amp;gt;bLock ) );&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return TRUE;&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Semaphore&#47484; &#54644;&#51228;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
BOOL OffSemaphore( SEMAPHORE* pstSema )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#50640; &#51217;&#44540;&#54616;&#44592;&#50948;&#54644; &#51217;&#44540;&#51060; &#44032;&#45733;&#54620;&#51648;&#47484; &#54869;&#51064;&#54616;&#44256; &#51217;&#44540; &#44032;&#45733;&#54616;&#47732;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#51217;&#44540; &#44552;&#51648;&#47484; &#49444;&#51221;&#54620; &#54980; &#48320;&#49688;&#47484; &#48376;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kLock( &amp;amp;( pstSema-&amp;gt;bLock )&lt;/span&gt;&lt;/strong&gt; ) == FALSE )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;SwitchTask();&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( pstSema-&amp;gt;iCurTask &amp;gt; 0 )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kUnlock( &amp;amp;( pstSema-&amp;gt;bLock ) );&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SwitchTask();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstSema-&amp;gt;iCurTask--;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49464;&#48260;&#54252;&#50612; &#48320;&#49688;&#50640; &#45824;&#54620; &#51217;&#44540; &#44552;&#51648;&#47484; &#54644;&#51228;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;kUnlock( &amp;amp;( pstSema-&amp;gt;bLock ) );&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return TRUE;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp; &#52488;&#44592;&#54868;&#54616;&#45716; &#54632;&#49688;&#45716; &#49789;&#44172; &#51060;&#54644;&#44032;&#46112;&#53580;&#45768; &#45336;&#50612;&#44032;&#44256; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;OnSemaphore()&lt;/span&gt;&lt;/strong&gt;&#50752; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;OffSemaphore()&lt;/span&gt;&lt;/strong&gt; &#54632;&#49688;&#47484; &#48372;&#51088;. &#45231;&#51060; &#51061;&#51008; &#54632;&#49688;&#44032; &#48372;&#51060;&#51648; &#50506;&#45716;&#44032;? &lt;strong style=""&gt;kLock()&lt;/strong&gt;&#44284; &lt;strong style=""&gt;kUnlock()&lt;/strong&gt;&amp;nbsp;&#54632;&#49688;&#44032; &#50668;&#47084;&#48264; &#45208;&#50724;&#45716;&#45936;,&amp;nbsp;&#51060; &#54632;&#49688;&#45716; Atomic&#54616;&#44172; &#46041;&#51089;&#54616;&#45716; &#54632;&#49688;&#47196;&amp;nbsp;&#50500;&#47000;&#50752; &#44057;&#51008; &#50669;&#54624;&#51012; &#54620;&#45796;.&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul class="noindent"&gt;
&lt;li&gt;BOOL &lt;strong style=""&gt;kLock&lt;/strong&gt;( BYTE* pbFlag )&amp;nbsp;:&amp;nbsp;Atomic Operation&#51004;&#47196;&amp;nbsp;pbFlag&#51032; &#44050;&#51060; 0&#51060;&#47732; 1&#47196; &#49444;&#51221;&#54616;&#44256;&amp;nbsp;1&#51012; &#47532;&#53556;&#54616;&#44256;, 1&#51060;&#47732; 0&#51012; &#47532;&#53556;&lt;/li&gt;
&lt;li&gt;BOOL &lt;strong style=""&gt;kUnlock&lt;/strong&gt;( BYTE* pbFlag ) : Atomic Operation&#51004;&#47196; pbFlag&#51032; &#44050;&#51060; 1&#51060;&#47732; 0&#51004;&#47196; &#49444;&#51221;&#54616;&#44256; 1&#51012; &#47532;&#53556;&#54616;&#44256;, 0&#51060;&#47732; 0&#51012; &#47532;&#53556;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#54632;&#49688; &#49444;&#47749;&#44284;&amp;nbsp;&#49464;&#47672;&#54252;&#50612; &#53076;&#46300;&#47484; &#44057;&#51060; &#48372;&#47732;&amp;nbsp;&#51204;&#52404;&#51201;&#51064; &#55120;&#47492;&#51012; &#51060;&#54644;&#54616;&#45716;&#45936; &#47928;&#51228;&#44032; &#50630;&#51012; &#44163;&#51060;&#45796;. &#50948;&#51032; &#53076;&#46300;&#47484; &#49692;&#49436;&#45824;&#47196; &#45208;&#50676;&#54616;&#47732; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ol&gt;
&lt;li&gt;kLock()&#51012; &#54840;&#52636;&#54616;&#50668; &#45236;&#44032; &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#47484; &#49688;&#51221;&#54624; &#49688;&amp;nbsp;&#51080;&#45716;&#51648; &#54869;&#51064;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;TRUE&#44032; &#47532;&#53556;&#46104;&#47732; &amp;nbsp;&#45796;&#47480; &#53468;&#49828;&#53356;&#44032; &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#47484;&amp;nbsp;&#49688;&#51221;&#54616;&#44256;&amp;nbsp;&#51080;&#51648; &#50506;&#51004;&#48064;&#47196; &#49464;&#47672;&#54252;&#50612; &#44050;&#51012; &#48320;&#44221;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#48320;&#44221;&#51060; &#45149;&#45208;&#47732;&amp;nbsp;kUnlock()&#51012; &#54840;&#52636;&#54616;&#50668; &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#47484; &#49688;&#51221;&#54624; &#49688; &#51080;&#51020;&#51012; &#49444;&#51221;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;FALSE&#44032; &#47532;&#53556;&#46104;&#47732; &#45796;&#47480; &#53468;&#49828;&#53356;&#44032; &#49464;&#47672;&#54252;&#50612; &#48320;&#49688;&#47484; &#49688;&#51221;&#54616;&#44256; &#51080;&#51004;&#48064;&#47196;&amp;nbsp;TRUE&#44032; &#47532;&#53556;&#46112; &#46412;&#44620;&#51648; &#45824;&#44592;&#54620;&#45796;.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50668;&#44592;&#49436; &#51104;&#44624;...&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#47484; &#44396;&#54788;&#54616;&#45716;&#45936; &#44845; &#54596;&#50836;&#54620; &#44163;&#51060; Atomic Operation&#51060;&#46972;&#45716; &#44163;&#51012; &#50508;&#50520;&#45796;. &#44536;&#47084;&#47732; &#50612;&#46523;&#44172; Atomic Operation&#51012; &#44396;&#54788;&#54624; &#49688; &#51080;&#51012;&#44620;?&amp;nbsp;Atomic&#54632;&#51012; &#48372;&#51109;&#54616;&#44592;&#50948;&#54644;&#49436; &#54596;&#50836;&#54620; &#44163;&#51008; &#47924;&#50631;&#51068;&#44620;?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#44163;&#51008;&amp;nbsp;&#47749;&#47161;&#51012; &#49688;&#54665;&#54624; &#46412;&amp;nbsp;&#46020;&#51473;&#50640; &#51064;&#53552;&#47101;&#53944;&#46104;&#51648; &#50506;&#44256;&amp;nbsp;&#52376;&#47532;&#47484;&amp;nbsp;&#45149;&#45236;&#45716; &#44163;&#51060;&#45796;.&amp;nbsp;&#50500;&#47000;&#50752; &#44057;&#51060; &#51064;&#53552;&#47101;&#53552;&#47484; Disable &#54632;&#51004;&#47196;&#50024; &#44036;&#45800;&#55176; Atomic Operation&#51012; &#44396;&#54788;&#54624; &#49688; &#51080;&#45796;(Single CPU&#46972;&#44256; &#44032;&#51221;&#54620;&#45796;).&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;; &amp;nbsp;BYTE *pbFlag : &#50715;&#45216;&#48260;&#51204;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#51064;&#53552;&#47101;&#53552;&#47484; Disable &#49884;&#53412;&#44256;, &#54540;&#47000;&#44536;&#47484; &#44160;&#49324;&#54616;&#50668;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 0 &#51060;&#47732; 1&#47196; &#51613;&#44032;&#49884;&#53412;&#44256; 1&#51012; &#47532;&#53556;&#54616;&#44256;,&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 1 &#51060;&#47732; 0&#51012; &#47532;&#53556;&#54620;&#45796;.&lt;br /&gt;
_kLockOld:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;pushfd&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;; &#54540;&#47000;&#44536;&#51032; &#54252;&#51064;&#53552;&#47484; &#50619;&#45716;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx, dword [ss:ebp + 8]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#51064;&#53552;&#47101;&#53552; Disable&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;cli&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;al, byte [ds:ebx]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cmp&amp;nbsp;&amp;nbsp;al, 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#51068;&#45800; FALSE&#47484; &#49483;&#54021;&#54644; &#45459;&#44256;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 0x00000000&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jne&amp;nbsp;&amp;nbsp;kLockExit&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;byte [ds:ebx], 0x01&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 0x01&lt;/li&gt;
&lt;li&gt;&amp;nbsp;kLockExit:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;popfd&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;retn&lt;/li&gt;
&lt;li&gt;; &amp;nbsp;BYTE *pbFlag : &#50715;&#45216; &#48260;&#51204;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#51064;&#53552;&#47101;&#53552;&#47484; Disable &#49884;&#53412;&#44256; &#54540;&#47000;&#44536;&#47484; &#44160;&#49324;&#54616;&#50668;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 1 &#51060;&#47732; 0&#47196; &#44048;&#49548;&#49884;&#53412;&#44256; 1&#51012; &#47532;&#53556;&#54616;&#44256;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 0 &#51060;&#47732; 0&#51012; &#47532;&#53556;&#54620;&#45796;.&lt;br /&gt;
_kUnlockOld:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;pushfd&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;; &#54540;&#47000;&#44536;&#51032; &#54252;&#51064;&#53552;&#47484; &#50619;&#45716;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebx, dword [ss:ebp + 8]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#51064;&#53552;&#47101;&#53552; Disable&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;cli&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;al, byte [ds:ebx]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cmp&amp;nbsp;&amp;nbsp;al, 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#51068;&#45800; FALSE&#47484; &#49483;&#54021;&#54644; &#45459;&#44256;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;xor&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eax, eax&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jne&amp;nbsp;&amp;nbsp;kUnLockExit&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;byte [ds:ebx], 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 0x01&lt;/li&gt;
&lt;li&gt;&amp;nbsp;kUnLockExit:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;popfd&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;pop&amp;nbsp;&amp;nbsp;ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;retn&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp; &#51452;&#49437;&#50640; &#54364;&#49884;&#46108;&#45824;&#47196;&amp;nbsp;&#45908; &#51060;&#49345; &#49324;&#50857;&#46104;&#51648; &#50506;&#45716;&#45796;(&#54532;&#47112;&#51076;&#50892;&#53356; &#52376;&#51020; &#47540;&#47532;&#51592;&#49884; &#48260;&#51204;). &#50948;&#50640;&#49436; &#48372;&#46319; &#51064;&#53552;&#47101;&#53944;&#47484; &#48520;&#44032;&#47196; &#49444;&#51221;&#54616;&#44256; &#45796;&#49884; &#51064;&#53552;&#47101;&#53552; &#44288;&#47144; &#54540;&#47000;&#44536;(EFLAG) &#47112;&#51648;&#49828;&#53552;&#47484; &#48373;&#50896;&#54616;&#45716; &#48169;&#49885;&#51004;&#47196; Atomic&#51012; &#48372;&#51109;&#54664;&#45796;. &#54616;&#51648;&#47564; &#51060; &#48169;&#48277;&#51032; &#47928;&#51228;&#51216;&#51008; &#45320;&#47924; &#51088;&#51452; &#51064;&#53552;&#47101;&#53944;&#47484; &#48520;&#44032;&#47196; &#49444;&#51221;&#54616;&#44592; &#46412;&#47928;&#50640; &#51064;&#53552;&#47101;&#53944; &#52376;&#47532;&#44032; &#51648;&#50672;&#46112; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Intel&amp;nbsp;Architecture Manual&#51032; Volume 2 Instruction Set&#51012; &#48372;&#47732;&amp;nbsp;Atomic&#54620; &#52376;&#47532;&#47484; &#50948;&#54620; &#47749;&#47161;&#50612;&#46308;&#51060; &#45208;&#50752;&#51080;&#45796;. &lt;span style="COLOR: #0000ff;"&gt;&lt;strong style=""&gt;lock&lt;/strong&gt;&lt;/span&gt; &#47749;&#47161;&#44284; &lt;span style="COLOR: #0000ff;"&gt;&lt;strong style=""&gt;xchg&lt;/strong&gt;, &lt;strong style=""&gt;cmpxchg&lt;/strong&gt;&lt;/span&gt; &#47749;&#47161;&#51060; &#44536;&#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #ff0000;"&gt;cmpxchg mem, reg&lt;/span&gt;&lt;/strong&gt; &#47749;&#47161;&#50612;&#51032;&amp;nbsp;&#50669;&#54624;&#51008; &#50500;&#47000;&#50752; &#44057;&#45796;(&#51088;&#49464;&#54620; &#49444;&#47749;&#51008; Intel Architecture Volume 2, Instruction Set &#47928;&#49436;&#47484; &#52280;&#44256;&#54616;&#46020;&#47197; &#54616;&#51088;).&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;mem&lt;/span&gt;&lt;/strong&gt;&#44284; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;al&lt;/span&gt;&lt;/strong&gt; &#47112;&#51648;&#49828;&#53552;&#51032; &#44050;&#51060;&amp;nbsp;&#44057;&#51020; : &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;reg&lt;/span&gt;&lt;/strong&gt;&#51032;&amp;nbsp;&#44050;&#51012; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;mem&lt;/span&gt;&lt;/strong&gt;&#50640; &#48373;&#49324;&#47484; &#54616;&#44256;&amp;nbsp;ZF &#54540;&#47000;&#44536;&#47484; 1&#47196;&amp;nbsp;&#49444;&#51221;&lt;/li&gt;
&lt;li&gt;&lt;span style="COLOR: #0000ff;"&gt;&lt;strong style=""&gt;mem&lt;/strong&gt;&lt;/span&gt;&#44284; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;al&lt;/span&gt;&lt;/strong&gt; &#47112;&#51648;&#49828;&#53552;&#51032; &#44050;&#51060;&amp;nbsp;&#45796;&#47492; :&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;reg&lt;/span&gt;&lt;/strong&gt;&#50640; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;mem&lt;/span&gt;&lt;/strong&gt;&#51032; &#44050;&#51012; &#48373;&#49324;&#54616;&#44256;&amp;nbsp;ZF &#54540;&#47000;&#44536;&#47484; 0&#47196; &#49444;&#51221;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#45716;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;lock,&amp;nbsp;cmpchg&lt;/span&gt;&lt;/strong&gt;&#47484; &#51060;&#50857;&#54644;&#49436; &#49688;&#51221;&#54620; &#53076;&#46300;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;; &amp;nbsp;BYTE *pbFlag :&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 0 &#51060;&#47732; 1&#47196; &#51613;&#44032;&#49884;&#53412;&#44256; 1&#51012; &#47532;&#53556;&#54616;&#44256;,&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 1 &#51060;&#47732; 0&#51012; &#47532;&#53556;&#54620;&#45796;.&lt;br /&gt;
_kLock:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ebp, esp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;ebx&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;al, 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;ah, 1&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;ebx, dword [ss:ebp + 8 ]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#47700;&#47784;&#47532;&#51032; &#44050;&#51060; al&#44284; &#44057;&#51004;&#47732; ah&#47484; &#47700;&#47784;&#47532;&#50640; &#45347;&#44256; zf&#47484; 1&#47196; &#49483;&#54021;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;lock&amp;nbsp;cmpxchg&lt;/span&gt;&lt;/strong&gt; byte [ds:ebx], ah&lt;br /&gt;
&amp;nbsp;&amp;nbsp;je&amp;nbsp;&amp;nbsp;LOCKSUCCESS&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jmp&amp;nbsp;&amp;nbsp;LOCKEND&lt;/li&gt;
&lt;li&gt;LOCKSUCCESS:&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jmp&amp;nbsp;&amp;nbsp;LOCKEND&lt;/li&gt;
&lt;li&gt;LOCKEND:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop&amp;nbsp;ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;retn&lt;/li&gt;
&lt;li&gt;; &amp;nbsp;BYTE *pbFlag : &#50715;&#45216; &#48260;&#51204;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#51064;&#53552;&#47101;&#53552;&#47484; Disable &#49884;&#53412;&#44256; &#54540;&#47000;&#44536;&#47484; &#44160;&#49324;&#54616;&#50668;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 1 &#51060;&#47732; 0&#47196; &#44048;&#49548;&#49884;&#53412;&#44256; 1&#51012; &#47532;&#53556;&#54616;&#44256;&lt;br /&gt;
;&amp;nbsp;&amp;nbsp;&#54540;&#47000;&#44536;&#51032; &#44050;&#51060; 0 &#51060;&#47732; 0&#51012; &#47532;&#53556;&#54620;&#45796;.&lt;br /&gt;
_kUnlock:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov ebp, esp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;push&amp;nbsp;ebx&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;al, 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;ah, 0&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;ebx, dword [ss:ebp + 8 ]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;; &#47700;&#47784;&#47532;&#51032; &#44050;&#51060; al&#44284; &#44057;&#51004;&#47732; ah&#47484; &#47700;&#47784;&#47532;&#50640; &#45347;&#44256; zf&#47484; 1&#47196; &#49483;&#54021;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;lock&amp;nbsp;cmpxchg&lt;/span&gt;&lt;/strong&gt; byte [ds:ebx], ah&lt;br /&gt;
&amp;nbsp;&amp;nbsp;je&amp;nbsp;&amp;nbsp;UNLOCKSUCCESS&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 0&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jmp&amp;nbsp;&amp;nbsp;UNLOCKEND&lt;/li&gt;
&lt;li&gt;UNLOCKSUCCESS:&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;mov&amp;nbsp;&amp;nbsp;eax, 1&lt;br /&gt;
&amp;nbsp;&amp;nbsp;jmp&amp;nbsp;&amp;nbsp;UNLOCKEND&lt;/li&gt;
&lt;li&gt;UNLOCKEND:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop&amp;nbsp;ebx&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pop ebp&lt;br /&gt;
&amp;nbsp;&amp;nbsp;retn&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.2&amp;nbsp;KShell.c/h &#49688;&#51221;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#51088; &#44536;&#47100; &#51060;&#51228;&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#47484; &#49324;&#50857;&#54644;&#48372;&#51088;.&amp;nbsp;kShell.c &#54028;&#51068;&#51012; &#50500;&#47000;&#50752; &#44057;&#51060; &#49688;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;SEMAPHORE gs_stSema;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;= &#49464;&#47672;&#54252;&#50612; &#44396;&#51312;&#52404; &#51221;&#51032;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; KShell &#51032; Main&lt;br /&gt;
*/&lt;br /&gt;
void Shell()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; InitScheduler();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;InitSemaphore( &amp;amp;gs_stSema, 1 );&lt;/span&gt;&amp;nbsp;&amp;nbsp; &amp;lt;= &#49464;&#47672;&#54252;&#50612; &#52488;&#44592;&#54868;, &#54616;&#45208;&#51032; &#53468;&#49828;&#53356;&#47564; &#49892;&#54665;&#44032;&#45733;&#54616;&#46020;&#47197; &#49444;&#51221;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49352;&#47196;&#50868; &#53468;&#49828;&#53356; &#46321;&#47197;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; AddTask( EdgeDraw );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; EnableScheduler( TRUE );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ShellLoop();&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 );&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#44544;&#47196;&#48268; &#48320;&#49688;&#50640;&#49436; &#44050;&#51012; &#51069;&#50612;&#49436; &#47928;&#51088;&#47484; &#52237;&#50612;&#51452;&#45716; &#54632;&#49688;&lt;br /&gt;
*/&lt;br /&gt;
&lt;span style="COLOR: #0000ff;"&gt;int gs_iX = 0;&lt;br /&gt;
int gs_iY = 0;&lt;br /&gt;&lt;/span&gt;void Print( BYTE bCh )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printchxy( gs_iX, gs_iY, bCh );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#50557;&#44036;&#51032; Delay&#47484; &#50948;&#54644; &#49324;&#50857;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kIdle();&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printchxy( gs_iX, gs_iY, ' ' );&lt;br /&gt;
}&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#53580;&#46160;&#47532;&#47484; &#44536;&#47140;&#51452;&#45716; &#53468;&#49828;&#53356;&lt;br /&gt;
*/&lt;br /&gt;
void EdgeDraw( void )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int j;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE bCh;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char vcBuffer[ 8 ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int iTID;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; j = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; bCh = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; iTID = GetCurrentTID();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcBuffer, iTID );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( k = 0 ; k &amp;lt; 50000 ; k++ )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxy( 0, 23 - iTID, "=EdgeDraw Task Work=" );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 20, 23 - iTID, vcBuffer, 8 );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#53080;&#49556; &#53580;&#46160;&#47532;&#47484; &#46028;&#47732;&#49436; .&#51012; &#52237;&#45716;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( i = 30 ; i &amp;lt; 79 ; i++ )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;// Semaphore &#45824;&#44592;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #0000ff;"&gt;OnSemaphore( &amp;amp;gs_stSema );&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #0000ff;"&gt;gs_iX = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gs_iY = 23 - iTID;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Print( bCh );&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bCh++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #0000ff;"&gt;OffSemaphore( &amp;amp;gs_stSema );&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SwitchTask();&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp; &#50948;&#50640; &#54028;&#46976;&#49353; &#48512;&#48516;&#51012; &#48372;&#47732; Print() &#54632;&#49688;&#44032; &#49352;&#47196; &#51221;&#51032;&#46104;&#50632;&#45716;&#45936;, &#44544;&#47196;&#48268; &#48320;&#49688; gs_iX, gs_iY&#50640;&#49436; &#44050;&#51012; &#51069;&#50612; &#54868;&#47732;&#50640; &#54620; &#47928;&#51088;&#47484; &#52636;&#47141;&#54664;&#45796;&#44032; &#51068;&#51221;&#49884;&#44036; &#46244;&#50640; &#45796;&#49884; &#44277;&#48177;&#51004;&#47196; &#51648;&#50864;&#45716; &#50669;&#54624;&#51012; &#54616;&#45716; &#54632;&#49688;&#51060;&#45796;.&amp;nbsp;EdgeDraw()&#50640;&#49436; &#49688;&#51221;&#46108; &#48512;&#48516;&#51008; OnSemaphore()/OffSemaphore() &#54632;&#49688;&#47484; &#49324;&#50857;&#54616;&#44256; &#44536; &#50504;&#50640; &#44544;&#47196;&#48268; &#48320;&#49688; X,Y&#50640; &#44050;&#51012; &#49444;&#51221;&#54620; &#54980;&amp;nbsp;Print() &#54632;&#49688;&#47484; &#54840;&#52636;&#54620; &#48512;&#48516;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44033; &#53468;&#49828;&#53356;&#44032; &#44277;&#50976; &#51088;&#50896;&#51064;&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;gs_iX&lt;/span&gt;&lt;/strong&gt; &#48143; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;gs_iY&lt;/span&gt;&lt;span style="COLOR: #000000;"&gt;&#50640; &#51217;&#44540;&#54616;&#50668; &#44050;&#51012; &#49444;&#51221;&#54616;&#44256; Print() &#54632;&#49688;&#47484; &#54840;&#52636;&#54616;&#50668; &#45796;&#49884; &#44277;&#50976;&#51088;&#50896;&#51032; &#44050;&#51012; &#49324;&#50857;&#54616;&#45716; &#44396;&#51312;&#51060;&#45796;.&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&#51060;&#44163;&#51012; &#48716;&#46300;&#54616;&#50668; &#51060;&#48120;&#51648;&#47484; &#47564;&#46304; &#45796;&#51020; Virtual Box&#50640;&#49436;&amp;nbsp;&#49892;&#54665;&#54620; &#49345;&#53468;&#50640;&#49436; starttask &#47749;&#47161;&#51012; 3&#48264;&#51221;&#46020; &#51077;&#47141;&#54616;&#50668; &#54868;&#47732;&#51012; &#51648;&#53020;&#48372;&#51088;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;img class="attachment" title="&#47680;&#54000;&#49464;&#47672;&#54252;&#50612;&#49324;&#50857;.PNG" src="/pages/368015/attachments/155311" alt="&#47680;&#54000;&#49464;&#47672;&#54252;&#50612;&#49324;&#50857;.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;Start Task With Semaphore&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &#50948;&#50752; &#44057;&#51008; &#54868;&#47732;&#51060; &#54364;&#49884;&#46112; &#44163;&#51060;&#45796;. starttask&#47484; 3&#48264; &#49324;&#50857;&#54616;&#50668; &#52509; 4&#44060;&#51032; task&#47484; &#49373;&#49457;&#54616;&#50688;&#44256; &#44033;&#44033;&#51032; &#53468;&#49828;&#53356;&#45716; &#47928;&#51088;&#47484; &#48372;&#50668;&#51452;&#44256; &#51648;&#50892;&#51276;&#45796;&#44032; &#45796;&#49884; &#45796;&#47480; &#47928;&#51088;&#47484; &#48372;&#50668;&#51452;&#45716; &#50500;&#51452; &#44628;&#45140;&#54620; &#54868;&#47732;&#51012; &#48372;&#50668;&#51456;&#45796;. &#49464;&#47672;&#54252;&#50612;&#44032; &#46041;&#49884;&#50640; &#49688;&#54665;&#46112; &#49688; &#51080;&#45716; &#53468;&#49828;&#53356;&#51032; &#49688;&#47484; 1&#44060;&#47196; &#54616;&#50668; &#49373;&#49457;&#46104;&#50632;&#44592;&#46412;&#47928;&#50640; &#44544;&#47196;&#48268; &#48320;&#49688;&#50640; &#44050;&#51012; &#49444;&#51221;&#54616;&#44256; &#54868;&#47732;&#50640; &#44050;&#51012; &#52636;&#47141;&#54616;&#44592;&#44620;&#51648; &#45796;&#47480; &#53468;&#49828;&#53356;&#44032; &#45180;&#50612;&#46308;&#51648; &#47803;&#54616;&#50668; &#51060;&#47084;&#54620; &#44208;&#44284;&#44032; &#45208;&#50728; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#54616;&#51648;&#47564; &amp;nbsp;OnSemaphore()&#50752; OffSemaphore() &#54632;&#49688;&#47484; &#51452;&#49437;&#52376;&#47532;&#54616;&#44256; &#45796;&#49884; &#49892;&#54665;&#54644;&#48372;&#51088;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="&#47680;&#54000;&#49464;&#47672;&#54252;&#50612;&#49324;&#50857;&#50504;&#54632;.PNG" src="/pages/368015/attachments/155312" alt="&#47680;&#54000;&#49464;&#47672;&#54252;&#50612;&#49324;&#50857;&#50504;&#54632;.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;Start&amp;nbsp;Task&amp;nbsp;Without&amp;nbsp;Semaphore&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51208;&#45824; &#51068;&#48512;&#47084;&amp;nbsp;&#54633;&#49457;&#54620; &#54868;&#47732;&#51060; &#50500;&#45784;&#51012; &#48120;&#47532; &#50508;&#47140;&#46164;&#45796;.&amp;nbsp;&#44544;&#47196;&#48268; &#48320;&#49688;&#50640; &#44050;&#51012;&amp;nbsp;&#49444;&#51221;&#54616;&#44256;&amp;nbsp;Print() &#54632;&#49688;&#47484; &#54840;&#52636;&#54616;&#45716; &#44284;&#51221;&#50640;&#49436; &#51473;&#44036; &#51473;&#44036;&#50640; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845;&#51060; &#46104;&#50612; &#45796;&#47480; &#53468;&#49828;&#53356;&#44032; &#45180;&#50612;&#46304; &#44208;&#44284;&#51060;&#45796;. &#51221;&#49345;&#51201;&#51004;&#47196; &#47928;&#51088;&#44032; &#52636;&#47141;&#46104;&#51648;&amp;nbsp;&#50506;&#44256; &#46608;&#54620; &#51228;&#45824;&#47196;&amp;nbsp;&#51648;&#50892;&#51648;&#51648;&#46020; &#50506;&#45716;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50696;&#51228;&#47196; &#46308;&#44592;&#50640;&#45716; &#50557;&#44036; &#48512;&#51313;&#54620; &#47732;&#51060;&amp;nbsp;&#51080;&#51648;&#47564; &#51060;&#44163;&#51004;&#47196; &#49464;&#47672;&#54252;&#50612;&#51032; &#50669;&#54624;&#51060;&#45208; &#44396;&#54788;&#50640;&amp;nbsp;&#45824;&#54644;&#49436;&amp;nbsp;&#50612;&#45712;&#51221;&#46020; &#44048;&#51012; &#51105;&#50520;&#51004;&#47532;&#46972; &#49373;&#44033;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4.&#48036;&#53581;&#49828;(Mutex)&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#48036;&#53581;&#49828;&#45716;&amp;nbsp;&#48148;&#51060;&#45320;&#47532; &#49464;&#47672;&#54252;&#50612;&#50752; &#48708;&#49847;&#54616;&#45796;. &#45796;&#47564; &#45796;&#47480;&#51216;&#51008; &#48036;&#53581;&#49828;&#45716; &#49548;&#50976;&#51032; &#44060;&#45392;&#51060; &#51080;&#50612;&#49436;&amp;nbsp;On &#49884;&#50640; &#53468;&#49828;&#53356;&amp;nbsp;ID&#47484; &#51200;&#51109;&#54644; &#46160;&#44256; Off &#49884;&#50640; &#53468;&#49828;&#53356; ID&#47484; &#48708;&#44368;&#54644;&#49436; On&#51012; &#49688;&#54665;&#54620;&amp;nbsp;&#53468;&#49828;&#53356;&#47564; &#52376;&#47532;&#44032; &#44032;&#45733;&#54616;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47100;&amp;nbsp;&#50612;&#46500; &#48169;&#49885;&#51004;&#47196;&amp;nbsp;&#48036;&#53581;&#49828;&#47484; &#44396;&#54788;&#54624; &#49688; &#51080;&#51012;&#44620;?&amp;nbsp; &#50500;&#47000;&#50752; &#44057;&#51060; &#44396;&#54788;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OnMutex() :&amp;nbsp;&#50948;&#50640;&#49436; &#48372;&#50520;&#45912; &#49464;&#47672;&#54252;&#50612; &#44396;&#51312;&#52404;&#50640; TID &#54596;&#46300;&#47484; &#52628;&#44032;&#54616;&#44256; OnMutex() &#54632;&#49688;&#47484; &#47564;&#46304;&#46244; &#48148;&#51060;&#45320;&#47532; &#49464;&#47672;&#54252;&#50612;&#50752; &#46041;&#51068;&#54616;&#44172;&amp;nbsp;&#44396;&#54788;&#54620;&#45796;. &#44536;&#47532;&#44256;&amp;nbsp;&#47560;&#51648;&#47561;&#50640; TID&#47484; &#48372;&#44288;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&amp;nbsp;OffMutex() :&amp;nbsp;&#44032;&#51109; &amp;nbsp;&#47676;&#51200; TID&#47484; &#48708;&#44368;&#54616;&#50668; OnMutex()&#47484; &#49892;&#54665;&#54620; &#53468;&#49828;&#53356;&#51064;&#51648; &#48708;&#44368;&#54620;&#46244; &#48148;&#51060;&#45320;&#47532; &#49464;&#47672;&#54252;&#50612;&#51032; Off &#54632;&#49688;&#50752; &#46041;&#51068;&#54616;&#44172; &#44396;&#54788;&#54620;&#45796;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#53356;&#44172; &#50612;&#47157;&#51648; &#50506;&#51008; &#48512;&#48516;&#51060;&#48064;&#47196;&amp;nbsp;&#44033;&#51088; &#44396;&#54788;&#54644; &#48372;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;5.&#47560;&#52824;&#47728;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#46041;&#44592;&#54868; &#44061;&#52404;&#46020; &#49373;&#49457;&#46104;&#50632;&#51004;&#45768;&amp;nbsp;&#47680;&#54000; &#53468;&#49828;&#53433; &#54532;&#47196;&#44536;&#47000;&#48141;&#51012; &#47560;&#51020;&#44751; &#54624; &#49688; &#51080;&#45796;(&#51221;&#47568;?? &#12641;,.&#12641;;;;).&amp;nbsp;&#48512;&#45812;&#50630;&#51060; &#53468;&#49828;&#53356;&#47484; &#47564;&#46308;&#44256; &#46028;&#47140;&#48372;&#51088;. @0@)/~&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;6.&#52392;&#48512;&lt;/h2&gt;
&lt;h3&gt;6.1 &#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#51060;&#51204;&amp;nbsp;&lt;/h3&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/368015/attachments/155320" class="attachment" title="Asm.asm"&gt;&lt;strong style=""&gt;Asm.asm&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;:&amp;nbsp;&#49688;&#51221;&#46108;&amp;nbsp;kLock(),&amp;nbsp;kUnlock() &#54632;&#49688; &#54252;&#54632;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/368015/attachments/155321" class="attachment" title="Custom.zip"&gt;&lt;strong style=""&gt;Custom.zip&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;:&amp;nbsp;kShell,&amp;nbsp;Syncrhonize &#54028;&#51068; &#54252;&#54632;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/368015/attachments/155322" class="attachment" title="makefile"&gt;&lt;strong style=""&gt;makefile&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: Makefile&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;6.2 &#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#51060;&#54980;&lt;/h3&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/368015/attachments/191497" class="attachment" title="Custom_1_0_3.zip"&gt;&lt;strong style=""&gt;Custom_1_0_3.zip&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Tue, 13 Sep 2011 14:14:08 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/368015</link>
      <guid>http://kkamagui.springnote.com/pages/368015</guid>
    </item>
    <item>
      <title>Part16. Tutorial4-&#47700;&#47784;&#47532; &#46041;&#51201;&#54624;&#45817;(malloc, free) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;</title>
      <description>&lt;h1&gt;Part16. Tutorial4-&#47700;&#47784;&#47532; &#46041;&#51201;&#54624;&#45817;(malloc, free) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;&lt;/h1&gt;
&lt;p&gt;&lt;strong style=""&gt;&#50896;&#47928; :&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;a href="/pages/391653"&gt;&lt;strong style=""&gt;http://kkamagui.springnote.com/pages/391653&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#46308;&#50612;&#44032;&#44592; &#51204;&#50640;...&lt;/h2&gt;
&lt;div class="section" style="line-height: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; background-color: rgb(249, 249, 216);"&gt;
&lt;ul style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 24px;"&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;strong style="line-height: 2em;"&gt;&#51060; &#44544;&#51008;&amp;nbsp;kkamagui&#50640; &#51032;&#54644; &#51089;&#49457;&#46108; &#44544;&#51077;&#45768;&#45796;.&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;strong style="line-height: 2em;"&gt;&#47560;&#51020;&#44751; &#51064;&#50857;&#54616;&#49884;&#44144;&#45208; &#49324;&#50857;&#54616;&#49492;&#46020; &#46121;&#45768;&#45796;. &#45800; &#52636;&#52376;(&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.tistory.com&lt;/a&gt;,&amp;nbsp;&lt;a href="/pages/#" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.springnote.com&lt;/a&gt;)&#45716; &#48157;&#54784; &#51452;&#49901;&#49884;&#50724;.&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;strong style="line-height: 2em;"&gt;&#44592;&#53440; &#49324;&#54637;&#51008; mint64os&amp;nbsp;at gmail.com &#51060;&#45208;&lt;/strong&gt;&amp;nbsp;&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span style="line-height: 2em; color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style="line-height: 2em;"&gt;&#51004;&#47196; &#48372;&#45236;&#51452;&#49884;&#47732; &#48152;&#50689;&#54616;&#44192;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;strong style="line-height: 2em;"&gt;&#49345;&#49464;&#54620; &#45236;&#50857;&#51008; &#52293; "&lt;a href="http://kkamagui.tistory.com/746" class="external" title="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/a&gt;"&#47484; &#52280;&#44256;&#54616;&#44592; &#48148;&#46989;&#45768;&#45796;.&lt;/strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;a href="http://www.yes24.com/24/goods/5271779?scode=032&amp;amp;OzSrank=3" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;/a&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img title="&#53356;&#44592;&#48320;&#54872;_book1.jpg" class="attachment" src="/pages/404250/attachments/5167376" alt="&#53356;&#44592;&#48320;&#54872;_book1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial;" /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;0.&#49884;&#51089;&#54616;&#47732;&#49436;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#48264;&#50640;&#45716;&amp;nbsp;&#54532;&#47196;&#44536;&#47000;&#48141;&#50640;&#49436; &#48736;&#51256;&#49436;&#45716; &#50504;&#46112; &#48512;&#48516;,&amp;nbsp;&#47700;&#47784;&#47532; &#46041;&#51201; &#54624;&#45817;(malloc, free)&#51012; &#54620;&#48264; &#44396;&#54788;&#54644; &#48372;&#51088;. &#51060;&#48120; &#46041;&#44592;&#54868; &#50724;&#48652;&#51229;&#53944;&#50640;&amp;nbsp;&#45824;&#54620; &#44396;&#54788;&#51060; &#45149;&#45228;&#44592; &#46412;&#47928;&#50640;&amp;nbsp;&#47680;&#54000; &#53468;&#49828;&#53433; &#54872;&#44221;&#50640;&#49436;&#46020; &#51096; &#46041;&#51089;&#54616;&#45716; &#46041;&#51201; &#54624;&#45817; &#47784;&#46280;&#51012; &#51089;&#49457;&#54624; &#49688; &#51080;&#45796;. &#50724;&#45720;&#51008; &#44036;&#45800;&#55176; &#46041;&#51201;&#54624;&#45817;&#50640; &#45824;&#54644;&#49436;&#47564; &#44396;&#54788;&#54616;&#44256; &#46041;&#44592;&#54868;&#45716; &#45796;&#51020;&#50640; &#46384;&#47196; &#44396;&#54788;&#54644;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;1.&#47700;&#47784;&#47532; &#44277;&#44036; &#54624;&#45817;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#46041;&#51201;&#54624;&#45817;&#51012; &#44396;&#54788;&#54616;&#44592; &#50948;&#54644;&#49436;&#45716; &#46041;&#51201; &#54624;&#45817;&#51012; &#50948;&#54620; &#44277;&#44036;&#51012; &#47560;&#47144;&#54644;&#50556; &#54616;&#45716;&#45936;, &#51060;&#51204;&#50640; &#48420;&#45912;&amp;nbsp;OS &#54532;&#47112;&#51076;&#50892;&#53356;&#51032; &#47700;&#47784;&#47532; &#47112;&#51060;&#50500;&#50883;&#51012; &#45796;&#49884;&amp;nbsp;&#48372;&#51088;(&#45320;&#47924; &#47566;&#51060;&#48400;&#49436; &#50808;&#50864;&#45716; &#49324;&#46988;&#46020; &#51080;&#51012; &#44163;&#51060;&#45796; &#12622;&#12622;).&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="&#47700;&#47784;&#47532;_&#47112;&#51060;&#50500;&#50883;.PNG" src="/pages/391653/attachments/163426" alt="&#47700;&#47784;&#47532;_&#47112;&#51060;&#50500;&#50883;.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#54532;&#47112;&#51076;&#50892;&#53356; &#47700;&#47784;&#47532; &#47112;&#51060;&#50500;&#50883;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#52964;&#45328; &#49828;&#53469;&#51032; &#45149;&#51060;&amp;nbsp;0x400000&#50640; &#50948;&#52824;&#54616;&#48064;&#47196; 4Mbyte &#51060;&#49345;&#51032; &#50689;&#50669;&#51008; &#48708;&#50612;&#51080;&#45796;.&amp;nbsp;&#51060; &#44277;&#44036;&#51012; &#46041;&#51201; &#54624;&#45817;&#51032; &#44277;&#44036;&#51004;&#47196; &#49324;&#50857;&#54616;&#51088;.&amp;nbsp;&#44536;&#47100;&amp;nbsp;&#49884;&#51089; &#51452;&#49548;&#45716; 4M&#47196; &#51221;&#54644;&#51276;&#44256;&amp;nbsp;&#51060;&#51228; &#50689;&#50669;&#51032; &#45149;&#51012; &#51221;&#54644;&#50556;&#54616;&#45716;&#45936;,&amp;nbsp;&#45149; &#51452;&#49548;&#47484; 8M &#51221;&#46020;&#47196; &#54616;&#47732; &#44316;&#52270;&#51012; &#46319; &#54616;&#45796;. &#51089;&#51008; &#52964;&#45328;&#51060;&#44592; &#46412;&#47928;&#50640; &#47700;&#47784;&#47532; &#49324;&#50857;&#51060; &#44536;&#47111;&#44172; &#47566;&#51648; &#50506;&#51012; &#44163;&#51060;&#44256;, &#54841;&#50668; &#47700;&#47784;&#47532;&#47484; &#47566;&#51060; &#50420;&#45796;&#47732; &#45149; &#51452;&#49548;&#47484; &#45908; &#45720;&#47532;&#47732; &#46104;&#48064;&#47196; &#44145;&#51221;&#54616;&#51648; &#47568;&#51088;. &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;&#45800; Virtual Box&#51032; &#47700;&#47784;&#47532;&#46020; &#44144;&#44592;&#50640; &#47582;&#52628;&#50612; &#48320;&#44221;&#54644;&#51480;&#50556; &#54616;&#45716;&#45936;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&#51648;&#44552;&#51008; 8Mbyte &#51060;&#49345;&#51004;&#47196; &#49444;&#51221;&#54616;&#47732; &#52649;&#48516;&#54616;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.&#47700;&#47784;&#47532; &#54624;&#45817; &#51221;&#52293;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#51088; &#51060;&#51228;&#45716; &#50612;&#46500; &#50508;&#44256;&#47532;&#51608;&#51004;&#47196; &#47700;&#47784;&#47532;&#47484; &#54624;&#45817;&#54624;&#44620;?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49373;&#44033;&#54624; &#49688; &#51080;&#45716; &#51228;&#51068; &#44036;&#45800;&#54620; &#48169;&#48277;&#51008; &#47924;&#51312;&#44148; &#44256;&#51221;&#53356;&#44592;&#51032; &#48660;&#47085;&#51012; &#54624;&#45817;&#54616;&#45716; &#44163;&#51060;&#45796;. &#51593; &#54532;&#47196;&#44536;&#47016;&#51008; &#53356;&#44592;&#47484; &#50836;&#52397;&#54624; &#49688; &#50630;&#44256;,&amp;nbsp;&#47700;&#47784;&#47532; &#54624;&#45817;&#51012; &#50836;&#52397;&#54616;&#47732; &#53945;&#51221; &#53356;&#44592;&#51032; &#48660;&#47085;&#51012; &#54624;&#45817; &#48155;&#44592; &#46412;&#47928;&#50640;&amp;nbsp;"&#50508;&#50500;&#49436;"&amp;nbsp;&#49324;&#50857;&#54644;&#50556; &#54620;&#45796;.&amp;nbsp;&#48660;&#47085;&#51032; &#53356;&#44592;&#47484; &#44288;&#47532;&#54624; &#54596;&#50836;&#44032; &#51204;&#54784; &#50630;&#44592;&#46412;&#47928;&#50640; &#50500;&#51452; &#44036;&#45800;&#54616;&#45796;. &#52380;&#51648; &#50424;&#47784; &#50630;&#51012; &#44163; &#44057;&#51008; &#48169;&#48277;&#51060;&#51648;&#47564;... &#49892;&#51228;&#47196; &#51060;&#50752; &#48708;&#49847;&#54616;&#44172; &#54624;&#45817; &#48155;&#50500;&#49436; "&#51096;" &#46041;&#51089;&#54616;&#45716; &#50612;&#54540;&#47532;&#52992;&#51060;&#49496;&#51060; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#45824;&#50857;&#47049; &#45936;&#51060;&#53552;&#47484; &#52376;&#47532;&#54616;&#45716; &#45936;&#51060;&#53552;&#48288;&#51060;&#49828;&#50752; &#44057;&#51008; &#54532;&#47196;&#44536;&#47016;&#51032; &#44221;&#50864;, &#50868;&#50689;&#52404;&#51228;&#47196;&#48512;&#53552; &#53360; &#48660;&#47085;&#51012; &#54624;&#45817;&#48155;&#44256; &#45208;&#47492; &#52572;&#51201;&#54868;&#46108; &#50508;&#44256;&#47532;&#51608;&#51004;&#47196; &#45208;&#45572;&#50612; &#49324;&#50857;&#54620;&#45796;.&amp;nbsp;&#50612;&#54540;&#47532;&#52992;&#51060;&#49496;&#47564; &#46609;&#46609;&#54616;&#45796;&#47732; &#50620;&#47560;&#46304;&#51648; &#44032;&#45733;&#54616;&#45796;&#45716; &#51060;&#50556;&#44592;&#45796;. &#45800;&#51216;&#51008; &#50612;&#54540;&#47532;&#52992;&#51060;&#49496; &#44060;&#48156;&#51088;&#47484; &#54841;&#49324; &#49884;&#53420; &#49688;&#46020; &#51080;&#45796;&#45716;... &#12641;_&#12641;;;;( &#50836;&#51608; &#47700;&#47784;&#47532; &#44288;&#47532;&#47484; &#47803;&#54616;&#45716; &#50612;&#49444;&#54536; &#44060;&#48156;&#51088;&#44032; &#50612;&#46356; &#54620;&#46168;&#51060;&#50612;&#50556;... &#12641;_&#12641;;;;;; )&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#46160;&#48264;&#51704; &#48169;&#48277;&#51008;&amp;nbsp;&#48660;&#47085; &#50689;&#50669;&#51012;&amp;nbsp;&#44160;&#49353;&#54644;&#49436;&amp;nbsp;&#54624;&#45817;&#54616;&#45716; &#48169;&#48277;&#51060;&#45796;. &#51228;&#51068; &#46385;&#47582;&#45716; &#53356;&#44592;&#47484; &#54624;&#45817;&#54644; &#51456;&#45796;&#45912;&#51648;, &#50500;&#45768;&#47732;&amp;nbsp;&#52395;&#48264;&#51704; &#47564;&#45212; &#44032;&#45733;&#54620; &#44277;&#44036;&#51012; &#54624;&#45817;&#54644; &#51456;&#45796;&#45912;&#51648; &#54616;&#45716; &#50508;&#44256;&#47532;&#51608;&#51004;&#47196; &#54624;&#45817; &#44032;&#45733;&#54620; &#50689;&#50669;&#51012; &#52286;&#50500;&#49436; &#54624;&#45817;&#54644; &#51452;&#45716;&#45936;, Best fit&#51060;&#45768; Worst fit &#51060;&#45768; &#54616;&#45716; &#48169;&#48277;&#46308;&#47196; &#45328;&#47532; &#50508;&#47140;&#51256;&#51080;&#45796;. &#51060;&amp;nbsp;&#48169;&#48277;&#51012; &#49324;&#50857;&#54616;&#47732; &#44032;&#48320; &#53356;&#44592;&#51032; &#48660;&#47085;&#46308;&#51012;&amp;nbsp;&#54624;&#45817;&#54616;&#44256; &#54644;&#51228;&#54624;&#46412; &#48156;&#49373;&#54616;&#45716; &#45800;&#54200;&#54868;(Fragmentation)&#51012; &#54588;&#54616;&#44592;&#44032; &#50612;&#47157;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49464;&#48264;&#51704; &#48169;&#48277;&#51008;&amp;nbsp;&#51328; &#45908; &#49828;&#47560;&#53944;(Smart)&#54620; &#48169;&#48277;&#51064;&#45936;, &#51061;&#55176; &#48260;&#46356; &#48660;&#47085;(Buddy Block) &#50508;&#44256;&#47532;&#51608;&#51004;&#47196; &#50508;&#47140;&#51652; &#48169;&#48277;&#51060;&#45796;(Linux&#50640;&#49436; &#52292;&#53469;&#54616;&#44256; &#51080;&#45796;). &#51060;&#47492; &#44536;&#45824;&#47196; &#52828;&#54620; &#52828;&#44396;&#45180;&#47532; &#50612;&#46523;&#44172; &#51200;&#46523;&#44172; &#52376;&#47532;&#54616;&#45716; &#50508;&#44256;&#47532;&#51608;&#51064;&#45936;, &#50500;&#47000;&#50640;&#49436; &#51088;&#49464;&#55176; &#50508;&#50500;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3.&#48260;&#46356;&amp;nbsp;&#48660;&#47085; &#50508;&#44256;&#47532;&#51608;(Buddy Block Algorithm)&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#48260;&#46356; &#48660;&#47085; &#50508;&#44256;&#47532;&#51608;&#51008; &#53356;&#44172;&amp;nbsp;&#50500;&#47000;&#50752;&amp;nbsp;&#44057;&#51008; &#45800;&#44228;&#47196; &#49688;&#54665;&#46108;&#45796;(&#50696;&#47484; &#46304;&#44163;&#51060;&#45796;. &#49707;&#51088;&#50640; &#45320;&#47924; &#50672;&#50672;&#54616;&#51648; &#47568;&#51088;).&lt;/p&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#52488;&#44592;&#54868;&amp;nbsp;(Initialize)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&#47700;&#47784;&#47532; &#50689;&#50669;&#51012; &#51201;&#45817;&#54620; &#53356;&#44592;&#47196;&amp;nbsp;&#45208;&#45576;&#45796;(4Kbyte&#46972;&#44256;&amp;nbsp;&#44032;&#51221;&#54616;&#51088;)&amp;nbsp;. &#45208;&#45572;&#44256; &#45208;&#45768; n&#44060; &#49373;&#44220;&#45796;.&lt;/li&gt;
&lt;li&gt;&#50672;&#49549;&#46108; 4Kbyte &#48660;&#47085;&#46308; 2&#44060;&#47484; &#54633;&#54616;&#47732; &#54616;&#45208;&#51032; 8Kbyte &#48660;&#47085;&#51012; &#47564;&#46308; &#49688; &#51080;&#45796;.&amp;nbsp;&#51060;&#44163;&#51012; &#51204;&#52404; &#50689;&#50669;&#50640; &#48152;&#48373;&#54616;&#45768;&amp;nbsp;(n/2)&#44060;&#44032; &#49373;&#44220;&#45796;.&lt;/li&gt;
&lt;li&gt;&#50672;&#49549;&#46108; 8kbyte&#51032; &#48660;&#47085;&#46308;&#51012; 2&#44060; &#54633;&#54616;&#47732; &#54616;&#45208;&#51032; 16Kbyte&#51032; &#48660;&#47085;&#51012; &#47564;&#46308; &#49688; &#51080;&#45796;. &#51060;&#44163;&#51012; &#51204;&#52404; &#50689;&#50669;&#50640; &#48152;&#48373;&#54616;&#45768; (n/4)&#44060;&#44032; &#49373;&#44220;&#45796;.&lt;/li&gt;
&lt;li&gt;&#44228;&#49549; &#48152;&#48373;&#54616;&#45796; &#48372;&#45768;&amp;nbsp;1&#44060;&#51032;&amp;nbsp;XKbyte&#51032; &#48660;&#47085;&#51060; &#49373;&#44220;&#45796;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&amp;nbsp;&#47700;&#47784;&#47532; &#54624;&#45817; (malloc)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;4Kbyte &#53356;&#44592;&#51032; &#47700;&#47784;&#47532; &#54624;&#45817; &#50836;&#52397;&#51060; &#46308;&#50612;&#50772;&#45796;.&lt;/li&gt;
&lt;li&gt;4Kbyte &#53356;&#44592;&#50689;&#50669; &#51473;&#50640; &#48712; &#50689;&#50669;&#51060; &#51080;&#45716;&#51648; &#54869;&#51064;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#48712; &#50689;&#50669;&#51060; &#51080;&#51004;&#47732; &#54624;&#45817;&#54644;&#51456;&#45796;.&lt;/li&gt;
&lt;li&gt;&#47564;&#50557; &#50630;&#51004;&#47732; &#50948;&#51032;&amp;nbsp;8Kbyte &#48660;&#47085;&#51012; &#52286;&#45716;&#45796;.&lt;/li&gt;
&lt;li&gt;8Kbyte &#51473;&#50640;&amp;nbsp;&#48712; &#48660;&#47085;&#51060; &#51080;&#51004;&#47732;&amp;nbsp;&#44536; &#48660;&#47085;&#51012; 4Kbyte&#51032; 2&#44060;&#47196; &#45208;&#45572;&#44256; &#44536;&#51473; &#54616;&#45208;&#47484;&amp;nbsp;&#54532;&#47196;&#44536;&#47016;&#50640; &#45336;&#44200;&#51452;&#44256;&amp;nbsp;&#45208;&#47672;&#51648; &#54616;&#45208;&#45716;&amp;nbsp;4Kbyte &#48660;&#47085;&#50640; &#45804;&#50500;&#46164;&#45796;.&lt;/li&gt;
&lt;li&gt;&#47564;&#50557; 8Kbyte &#50689;&#50669;&#50640; &#50630;&#51004;&#47732;&amp;nbsp;16Kbyte&#47484; &#48372;&#44256; &#54616;&#45208; &#54624;&#45817;&#54644;&#49436;&amp;nbsp;4Kbyte&#47484;&amp;nbsp;&#54532;&#47196;&#44536;&#47016;&#50640;&amp;nbsp;&#45336;&#44200;&#51452;&#44256; &#45208;&#47672;&#51648; 4Kbyte&#50752; 8Kbyte&#47484; &#48660;&#47085;&#50640; &#45804;&#50500;&#46164;&#45796;.&lt;/li&gt;
&lt;li&gt;&#54624;&#45817; &#44032;&#45733;&#54624;&#46412;&#44620;&#51648; &#51060;&#47484; &#48152;&#48373;&#54644;&#49436; &#47560;&#51648;&#47561; 1&#44060; &#45224;&#51008; XKbyte &#48660;&#47085;&#46020; &#54624;&#45817; &#48520;&#44032;&#45733;&#54616;&#47732;&amp;nbsp;&#49892;&#54056;&#54620;&#45796;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#47700;&#47784;&#47532;&amp;nbsp;&#48152;&#45225; (free)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;4Kbyte &#53356;&#44592;&#51032; &#47700;&#47784;&#47532; &#48152;&#45225; &#50836;&#52397;&#51060; &#46308;&#50612;&#50772;&#45796;.&lt;/li&gt;
&lt;li&gt;4Kbyte&amp;nbsp;&#54644;&#45817; &#50689;&#50669;&#50640;&amp;nbsp;&#48660;&#47085;&#51012; &#48152;&#45225;&#54616;&#44256; &#50526;&#46244; &#48660;&#47085;&#51032; &#49345;&#53468;&#44032; Free&#51064;&#44032; &#54869;&#51064;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#47564;&#50557; Free&#46972;&#47732; 4Kbyte +&amp;nbsp;4Kbyte &#48660;&#47085;&#51012; &#54616;&#45208;&#47196; &#54633;&#52432;&#49436; &#49345;&#50948; 8Kbyte &#48660;&#47085;&#51004;&#47196;&amp;nbsp;&#48152;&#45225;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;8Kbyte &#48660;&#47085;&#50640; &#48152;&#45225;&#54620; &#45796;&#51020; &#50526;&#46244; &#48660;&#47085;&#51032; &#49345;&#53468;&#44032; Free&#51064;&#44032; &#54869;&#51064;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#47564;&#50557; Free&#46972;&#47732;&amp;nbsp;8Kbyte&amp;nbsp;+&amp;nbsp;8Kbyte &#48660;&#47085;&#51012; &#54616;&#45208;&#47196;&amp;nbsp;&#54633;&#52432;&#49436; &#49345;&#50948;&amp;nbsp;16Kbyte &#48660;&#47085;&#51004;&#47196; &#48152;&#45225;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;&#50948; &#44284;&#51221;&#51012;&amp;nbsp;&#54633;&#52824;&#45716; &#44163;&#51060; &#44032;&#45733;&#54624; &#46412;&#44620;&#51648; &#48152;&#48373;&#54620;&#45796;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#50752; &#44057;&#51008; &#50508;&#44256;&#47532;&#51608;&#51012;&amp;nbsp;&#44228;&#49549;&#54616;&#50668; &#48152;&#48373;&#54616;&#48064;&#47196; &#44032;&#48320; &#44600;&#51060;&#51032; &#48660;&#47085;&#51060; &#54624;&#45817;&#44284; &#54644;&#51228;&#47484; &#48152;&#48373;&#54664;&#51012; &#46412; &#48156;&#49373;&#54616;&#45716;&amp;nbsp;&#45800;&#54200;&#54868;(Fragmentation)&#54788;&#49345;&#51012; &#50612;&#45712;&#51221;&#46020; &#48169;&#51648;&#54624; &#49688; &#51080;&#45796;. &#49892;&#51228;&#47196; &#51060; &#48169;&#48277;&#51060;&amp;nbsp;Linux &#52964;&#45328;&#50640;&#49436; 2.4 &#48260;&#51204; &lt;strong style=""&gt;&#51060;&#51204;&lt;/strong&gt; &#45824; &#44620;&#51648; &#49324;&#50857;&#46108; &#48169;&#48277;&#51060;&#45796;.&amp;nbsp;&#44536; &#46244;&#47196;&#45716; &#49836;&#47017;(Slab) &#48169;&#49885;&#44284;&amp;nbsp;&#54844;&#54633;&#54644;&#49436; &#49324;&#50857;&#54620;&#45796;&#45912;&#45936;... &#48516;&#49437;&#51012; &#50676;&#49900;&#55176;&#54616;&#51648; &#50506;&#50500;&#49436; &#51096;... &#12622;&#12622;...(&#51339;&#51008; &#51088;&#47308; &#51080;&#51004;&#47732; &#48169;&#47749;&#47197;&#51060;&#45208; &#45927;&#44544;&#47196;.. &#12622;&#12622;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#47568;&#47196; &#49444;&#47749;&#54616;&#44592; &#48373;&#51105;&#54620;&#45936;, &#50948;&#51032; &#44544;&#51012;&amp;nbsp;&#44536;&#47548;&#51004;&#47196;&#48372;&#47732;&amp;nbsp;&#51060;&#54644;&#54616;&#44592; &#49789;&#45796;.&amp;nbsp;&#49884;&#49828;&#53596; &#51204;&#52404; &#47700;&#47784;&#47532;&#44032; 12Kbyte &#51221;&#46020;&#51060;&#44256; &#52572;&#52488;/&#52572;&#45824; &#54624;&#45817; &#53356;&#44592;&#44032; 1Kbye&#50640;&#49436; 4Kbyte&#44620;&#51648;&#46972;&#47732; &#52488;&#44592; &#47700;&#47784;&#47532; &#48660;&#47085;&#51008; &#50500;&#47000;&#50752; &#44057;&#51008; &#44396;&#49457;&#51004;&#47196; &#46104;&#50612;&#51080;&#51012; &#44163;&#51060;&#45796;(&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;&#54028;&#46976;&#49353;&#51004;&#47196; &#52404;&#50892;&#51652; &#48660;&#47085;&#51008; Free &#49345;&#53468;&#51032; &#48660;&#47085;&#51060;&#45796;&lt;/span&gt;&lt;/strong&gt;).&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;img class="attachment" title="Buddy1.PNG" src="/pages/391653/attachments/165318" alt="Buddy1.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#48260;&#46356; &#48660;&#47085; &#52488;&#44592;&#54868;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060; &#49345;&#53468;&#50640;&#49436; 1KB &#48660;&#47085;&#51012;&amp;nbsp;2&#44060; &#54624;&#45817;&#48155;&#51004;&#47732;&amp;nbsp;1Kbyte&#50640; &#48660;&#47085;&#51060; &#50630;&#44256; 2Kbyte&#50640;&#46020; &#48660;&#47085;&#51060; &#50630;&#44592;&#46412;&#47928;&#50640; 4Kbyte&#51676;&#47532; &#48660;&#47085; &#54616;&#45208;&#47484; &#51900;&#44060; 2Kbyte 2&#44060;&#47196; &#45208;&#45572;&#44172; &#46108;&#45796;. &#44536; &#51473;&#50640; &#54620; &#48660;&#47085;&#51012; &#45796;&#49884; 1Kbyte 2&#44060;&#47196; &#45208;&#45572;&#44172; &#46104;&#44256; &#44033;&#44033;&#51012; &#54624;&#45817;&#54644; &#51452;&#44172; &#46108;&#45796;. &#51060;&#46412; &#54624;&#45817;&#48155;&#51008; &#44033;&#44033;&#51032; &#48660;&#47085;&#51012; A&#50752; B&#46972;&#44256; &#54616;&#51088;. &#51060;&#44163;&#51012; &#44536;&#47548;&#51004;&#47196; &#54364;&#54788;&#54616;&#47732; &#50500;&#47000;&#50752; &#44057;&#45796;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;(&#48521;&#51008;&#49353; &#48660;&#47085;&#51008; Alloc &#49345;&#53468;&#51032; &#48660;&#47085;&#51060;&#45796;)&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="Buddy2.PNG" src="/pages/391653/attachments/165319" alt="Buddy2.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;1Kbyte &#53356;&#44592;&#51032; &#48660;&#47085; 2&#44060; &#54624;&#45817;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#51204;&#52404; &#49884;&#49828;&#53596;&#50640;&#45716;&amp;nbsp;4Kbyte 2&#44060;&#50752; 2Kbyte 1&#44060;&#44032; &#45224;&#51008; &#49345;&#53468;&#51060;&#45796;.&amp;nbsp;&#45796;&#49884; 1Kbyte &#54616;&#45208; &#54624;&#45817; &#48155;&#51004;&#47732; 1Kbyte &#48660;&#47085;&#50640;&#45716; &#50668;&#50976;&#48516;&#51060; &#50630;&#51004;&#48064;&#47196; 2Kbyte &#48660;&#47085;&#51012; 1Kbyte 2&#44060;&#51032; &#48660;&#47085;&#51004;&#47196; &#45208;&#45572;&#44256; &#44536;&#51473; &#54616;&#45208;&#47484; &#54624;&#45817;&#54616;&#44172; &#46108;&#45796;. &#51060;&#46412; &#54624;&#45817;&#48155;&#51008; &#48660;&#47085;&#51012; C&#46972;&#44256; &#54616;&#51088;. &#51060;&#44163;&#51012; &#44536;&#47548;&#51004;&#47196; &#54364;&#54788;&#54616;&#47732; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="Buddy3.PNG" src="/pages/391653/attachments/165320" alt="Buddy3.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;1Kbyte &#48660;&#47085; 1&#44060; &#52628;&#44032; &#54624;&#45817;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50612;&#45712;&#45927; &#49884;&#44036;&#51060; &#55128;&#47084;&amp;nbsp;&#54624;&#45817;&#54620; &#48660;&#47085;&#51032; &#49324;&#50857;&#51060; &#45149;&#45208;&#49436;&amp;nbsp;&#48660;&#47085;&amp;nbsp;C&#47484; &#48152;&#45225;&#54664;&#45796;. C&#48660;&#47085;&#51012; &#48152;&#45225;&#54616;&#44256; &#45208;&#47732; &#48148;&#47196; &#50694;&#51032; &#48660;&#47085;&#51060; Free &#49345;&#53468;&#51032; &#48660;&#47085;&#51060;&#48064;&#47196; &#51060; &#46160; &#48660;&#47085;&#51012; &#54633;&#54616;&#50668; &#49345;&#50948; 2Kbyte &#48660;&#47085;&#51012; &#47564;&#46308; &#49688; &#51080;&#45796;. &#51060;&#44163;&#51012; &#44536;&#47548;&#51004;&#47196; &#54364;&#54788;&#54616;&#47732; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="Buddy4.PNG" src="/pages/391653/attachments/165321" alt="Buddy4.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;1Kbyte &#48660;&#47085; 1&#44060; &#48152;&#45225;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#49884;&#49828;&#53596;&#50640;&#45716; 2Kbyte&amp;nbsp;1&#44060;&#51032; &#48660;&#47085;&#44284; 4Kbyte 2&#44060;&#51032; &#48660;&#47085;&#51060; Free &#49345;&#53468;&#47196; &#51316;&#51116;&#54620;&#45796;.&amp;nbsp;&#46412;&#47560;&#52840; &#54624;&#45817;&#46104;&#50632;&#45912;&amp;nbsp;A&#50752; B &#48660;&#47085;&#51060; &#48152;&#45225;&#46104;&#50632;&#45796;. &#44536;&#47084;&#47732;&amp;nbsp;&#44033;&#44033; &#48152;&#45225;&#54620; &#54980;&amp;nbsp;&#49436;&#47196;&#51032; &#48660;&#47085;&#51012; &#54633;&#54616;&#47732; &#54616;&#45208;&#51032; 2Kbyte &#48660;&#47085;&#51012;&amp;nbsp;&#49373;&#49457;&#54624; &#49688; &#51080;&#51004;&#48064;&#47196; &#54633;&#52432; 2Kbyte &#48660;&#47085; &#54616;&#45208;&#47484; &#44396;&#49457;&#54620;&#45796;. &#51060;&#46412; &#45796;&#49884; &#50864;&#52769;&#51012; &#48372;&#47732;&amp;nbsp;2Kbyte &#48660;&#47085;&#51060; &#51064;&#51217;&#54616;&#50668; &#51316;&#51116;&#54616;&#48064;&#47196; &#45796;&#49884; &#51060; &#46168;&#51012; &#54633;&#54616;&#50668; &#49345;&#50948;&#51032;&amp;nbsp;4Kbyte &#48660;&#47085;&#51012; &#47564;&#46308; &#49688; &#51080;&#45796;.&amp;nbsp;&#51060; &#49688;&#54665;&#51060; &#45149;&#45208;&#47732; &#45796;&#49884; &#52488;&#44592;&#49345;&#53468;&#50752; &#44057;&#51008;&amp;nbsp;4Kbyte &#48660;&#47085; 3&#44060;&#44032; &#51316;&#51116;&#54616;&#44172; &#46108;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;img class="attachment" title="Buddy5.PNG" src="/pages/391653/attachments/165322" alt="Buddy5.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;1Kbyte &#48660;&#47085; &#48152;&#45225;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;img class="attachment" title="Buddy6.PNG" src="/pages/391653/attachments/165323" alt="Buddy6.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;1Kbyte&amp;nbsp;&#48660;&#47085; &#48152;&#45225;-&#48660;&#47085; &#53685;&#54633;&amp;gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="Buddy1(1).PNG" src="/pages/391653/attachments/165324" alt="Buddy1(1).PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#48660;&#47085; &#53685;&#54633; &#50756;&#47308;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &#47784;&#46304; &#51089;&#50629;&#51060; &#45149;&#45208;&#44256; &#48660;&#47085;&#51060; &#52488;&#44592;&#49345;&#53468;&#47196; &#48373;&#50896;&#46104;&#50632;&#45796;. &#51060;&#44163;&#51004;&#47196; &#47700;&#47784;&#47532; &#54624;&#45817;&#44284; &#54644;&#51228;&#44032; &#45149;&#45228;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4.&#44396;&#54788;&lt;/h2&gt;
&lt;h3&gt;4.1 00Kernel/Custom/Memory.h/c&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#48260;&#46356; &#48660;&#47085; &#50508;&#44256;&#47532;&#51608;&#51008; &#54624;&#45817; &#44032;&#45733;&#54620; &#47700;&#47784;&#47532;&#51032; &#52572;&#49548; &#53356;&#44592;&#50752; &#52572;&#45824; &#53356;&#44592;&#47484; &#51221;&#51032;&#54644;&#50556;&#54620;&#45796;.&amp;nbsp;&#50864;&#47532;&#45716; &#47700;&#47784;&#47532; &#54624;&#45817;&#51032; &#52572;&#45824;&#53356;&#44592;&#47484; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;4Mbyte&lt;/span&gt;&lt;/strong&gt;(&#48712; &#50689;&#50669;&#51032; &#52572;&#45824;&#44277;&#44036;)&#47196; &#54616;&#44256; &#52572;&#49548; &#53356;&#44592;&#45716; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;512Byte&lt;/span&gt;&lt;/strong&gt;&#47196; &#54616;&#51088;. &#44536;&#47100; &#52572;&#45824; &#53356;&#44592;&#50752; &#52572;&#49548; &#53356;&#44592; &#49324;&#51060;&#44032; &#52509; 13&#45800;&#44228;&#47196; &#45208;&#45572;&#50612;&#51648;&#44172; &#46108;&#45796;.&amp;nbsp;&#44536;&#47100; &#47700;&#47784;&#47532; &#44277;&#44036;&#51012; &#45208;&#53440;&#45236;&#44592;&#50948;&#54620;&amp;nbsp;14&#44060;&#51032; &#50689;&#50669;&#44288;&#47532;&#44032; &#54596;&#50836;&#54616;&#45796;&#45716; &#44208;&#47200;&#51060; &#45208;&#50724;&#45716;&#45936;,&amp;nbsp;&#48708;&#53944; &#47560;&#49828;&#53944;(Bitmask)&#47484; &#51060;&#50857;&#54644;&#49436; &#44288;&#47532;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#48260;&#46356; &#48660;&#47085;&#51012; &#44396;&#54788;&#54616;&#45716; &#48169;&#48277;&#51008; &#47751;&#44032;&#51648;&#44032; &#51080;&#45716;&#45936;,&amp;nbsp;&#54620;&#44032;&#51648;&#45716; &#47553;&#53356;&#46300; &#47532;&#49828;&#53944;(Linked List)&#47484; &#51060;&#50857;&#54616;&#45716; &#48169;&#48277;&#51060;&#44256;, &#44536; &#45796;&#51020; &#48169;&#48277;&#51008;&amp;nbsp;&#48708;&#53944; &#47560;&#49828;&#53356;(Bitmask)&#47484; &#51060;&#50857;&#54616;&#45716; &#48169;&#48277;&#51060;&#45796;. &#47532;&#49828;&#53944;&#47484; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060; &#51328;&#45908; &#49772;&#50872; &#49688; &#51080;&#51004;&#45208; &#54952;&#50984;&#47732;&#50640;&#49436;&#45716; &#48708;&#53944;&#47560;&#49828;&#53356;&#47484; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060; &#51339;&#45796;.&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; &#49548;&#49828; &#53076;&#46300;&#45716; &#48708;&#53944;&#47560;&#49828;&#53356;&#47484; &#49324;&#50857;&#54616;&#50668; &#44396;&#54788;&#46104;&#50632;&#45796;(&#47532;&#49828;&#53944;&#47484; &#49324;&#50857;&#54616;&#45716; &#48169;&#48277;&#51008; &#50715;&#45216;&#50640; &#54620;&#48264; &#54644;&#48420;&#45796;&#45716; &#51648;&#44537;&#55176; &#44060;&#51064;&#51201;&#51064; &#51060;&#50976;.... &#12641;_&#12641;;;;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#48708;&#53944; &#47560;&#49828;&#53356;&#47484; &#51060;&#50857;&#54616;&#44592;&#47196; &#54664;&#51004;&#45768;, &#48708;&#53944;&#47560;&#49828;&#53356;&#51032; &#52509; &#53356;&#44592;&#47484; &#50508;&#50500;&#50556; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;4Mbyte &#50689;&#50669;&#51012; 512byte &#48660;&#47085;&#51004;&#47196; &#45208;&#45572;&#47732; &#52509; 8192&#44060;&#44032; &#45208;&#50728;&#45796;.&amp;nbsp;&#54620; &#48148;&#51060;&#53944;&#44032; 8bit&#51060;&#48064;&#47196; 8&#47196; &#45208;&#45572;&#47732; 1024Byte &#51593; 1Kbyte&#44032; &#54596;&#50836;&#54616;&#45796;. &#44536;&#47111;&#45796;&#47732; 1024byte &#48660;&#47085;&#51008; &#50620;&#47560; &#53356;&#44592;&#51032; &#48708;&#53944;&#47560;&#49828;&#53356;&#44032; &#54596;&#50836;&#54624;&#44620;? &#48660;&#47085; &#53356;&#44592;&#44032; 512Byte&#51032; 2&#48176;&#51060;&#48064;&#47196; 512Byte&#44032; &#54596;&#50836;&#54616;&#45796;.&amp;nbsp;2048byte(2Kbyte)&#51032; &#48660;&#47085;&#51008;? 256Byte &#53356;&#44592;&#51032; &#48708;&#53944;&#47560;&#49828;&#53356;&#44032; &#54596;&#50836;&#54616;&#45796;.&amp;nbsp;&#51060;&#47484; &#48152;&#48373;&#54616;&#47732; &#44033; &#47700;&#47784;&#47532; &#48660;&#47085;&#45817; &#54596;&#50836;&#54620; &#48148;&#51060;&#53944; &#49688;&#47484; &#44396;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#44228;&#49328;&#48169;&#48277;&#51012; &#53685;&#54644; &#52509;&amp;nbsp;&#54596;&#50836;&#54620; &#45800;&#44228;&#50752;&amp;nbsp;&#44033; &#45800;&#44228;&#50640; &#54596;&#50836;&#54620; &#48708;&#53944; &#47560;&#49828;&#53356; &#48176;&#50676;&#51032; &#53356;&#44592;&#47484; &#44228;&#49328;&#54616;&#44256;, &#48660;&#47085; &#54644;&#51228;&#49884;&#50640; &#49324;&#50857;&#54624;&amp;nbsp;&#54624;&#45817;&#46108; &#53356;&#44592;&#44050;&#51012; &#51200;&#51109;&#54616;&#44592;&#50948;&#54620;&amp;nbsp;&#48176;&#50676;&#51012; &#52628;&#44032;&#54616;&#50668; &#46041;&#51201; &#54624;&#45817; &#44396;&#51312;&#52404;&#47484; &#47564;&#46308;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#46041;&#51201; &#54624;&#45817;&#51012; &#51221;&#48372;&#47484; &#51200;&#51109;&#54624; &#44396;&#51312;&#52404;&lt;br /&gt;
// &#52572;&#45824; &#48708;&#53944;&#47560;&#49828;&#53356;&#51032; &#53356;&#44592;&#51064; MEMORY_MAX_BITMASKCOUNT&#44060;&#51032; &#53356;&#44592;&#47196;&lt;br /&gt;
// MEMORY_MAX_BITMASKLISTCOUNT&#44060; &#47564;&#46304;&#45796;.&lt;br /&gt;
// &#47700;&#47784;&#47532; &#50857;&#47049;&#51012; &#51460;&#51060;&#44256; &#49910;&#51004;&#47732; &#50500;&#47000;&#47484; &#53916;&#45789;&#54616;&#47732; &#46108;&#45796;.&lt;br /&gt;
&lt;strong style=""&gt;typedef struct memoryStruct&lt;br /&gt;
{&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;vdwSizeArray&lt;/span&gt;&lt;/strong&gt;[ MEMORY_ALLOC_MAX_SIZE / MEMORY_ALLOC_MIN_SIZE ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;vvbBitMask&lt;/span&gt;&lt;/strong&gt;[ MEMORY_MAX_BITMASKLISTCOUNT ][ MEMORY_MAX_BITMASKCOUNT ];&lt;br /&gt;
&lt;strong style=""&gt;} MEMORY, * PMEMORY;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44396;&#51312;&#52404;&#47484; &#47564;&#46304; &#45796;&#51020; &#54632;&#49688;&#44032; &#47751;&#44032;&#51648; &#54596;&#50836;&#54616;&#45796;.&lt;/p&gt;
&lt;ul style="MARGIN-LEFT: 1em;"&gt;
&lt;li&gt;&#48260;&#46356; &#48660;&#47085; &#50508;&#44256;&#47532;&#51608;&#51060;&amp;nbsp;&#51221;&#54644;&#51652; &#48660;&#47085;&#51032; &#53356;&#44592;&#47564;&#53372;&amp;nbsp;Align&#54616;&#50668;&amp;nbsp;&#54624;&#45817;&#54616;&#48064;&#47196;&amp;nbsp;&#47700;&#47784;&#47532; &#54624;&#45817; &#50836;&#52397;&#49884;&#50640; &#51201;&#45817;&#54620; &#53356;&#44592;&#51032;&amp;nbsp;&#48660;&#47085;&#51012; &#52286;&#45716; &#54632;&#49688;&lt;/li&gt;
&lt;li&gt;&#48708;&#53944; &#47560;&#49828;&#53356;&#47484; &#51312;&#51089;&#54616;&#45716; &#54632;&#49688;&lt;/li&gt;
&lt;li&gt;&#48260;&#46356; &#48660;&#47085; &#50508;&#44256;&#47532;&#51608;&#51004;&#47196; &#48660;&#47085;&#51012; &#54624;&#45817;&#54616;&#44256; &#54644;&#51228;&#54616;&#45716; &#54632;&#49688;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50508;&#44256;&#47532;&#51608;&#51060; &#45208;&#47492; &#48373;&#51105;&#54620; &#44288;&#44228;&#47196; &#54632;&#49688; &#50896;&#54805;&#47564;&amp;nbsp;&#52628;&#52636;&#54664;&#45796;. &#44396;&#54788;&#50640; &#45824;&#54620; &#49892;&#51228; &#53076;&#46300;&#45716; &#52392;&#48512;&#50640;&#49436; &#48155;&#51012; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;void &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;InitMemory&lt;/span&gt;&lt;/strong&gt;( void );&lt;br /&gt;
void* &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;AllocMemory&lt;/span&gt;&lt;/strong&gt;( int iSize );&lt;br /&gt;
BOOL &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;FreeMemory&lt;/span&gt;&lt;/strong&gt;( void* pvAddress );&lt;/li&gt;
&lt;li&gt;int &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;AllocBuddy&lt;/span&gt;&lt;/strong&gt;( int iAlignSize );&lt;br /&gt;
BOOL &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;FreeBuddy&lt;/span&gt;&lt;/strong&gt;( int iListIndex, int iMaskOffset );&lt;br /&gt;
int &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;GetAlignSize&lt;/span&gt;&lt;/strong&gt;( int iSize );&lt;br /&gt;
int &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;GetListIndexOfMatchSize&lt;/span&gt;&lt;/strong&gt;( int iSize );&lt;br /&gt;
BOOL &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;IsValidListIndex&lt;/span&gt;&lt;/strong&gt;( int iIndex );&lt;br /&gt;
BYTE* &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;GetMaskArray&lt;/span&gt;&lt;/strong&gt;( int iListIndex );&lt;br /&gt;
int &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;FindFreeOffsetInMask&lt;/span&gt;&lt;/strong&gt;( int iListIndex );&lt;br /&gt;
BOOL &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;SetFlagInMask&lt;/span&gt;&lt;/strong&gt;( int iListIndex, int iOffset, BYTE bFlag );&lt;br /&gt;
BYTE &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;GetFlagInMask&lt;/span&gt;&lt;/strong&gt;( int iListIndex, int iOffset, BYTE* bFlag );&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;4.2 00Kernel/Custom/KShell.h/c&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#51228; &#49892;&#51228;&#47196; &#53580;&#49828;&#53944;&#47484; &#54644;&#48380; &#52264;&#47168;&#45796;.&amp;nbsp;KShell.c &#54028;&#51068;&#51012; &#50676;&#50612;&#49436; Shell() &#54632;&#49688;&#50640; Memory &#52488;&#44592;&#54868; &#54632;&#49688;&#47484; &#52628;&#44032;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; KShell &#51032; Main&lt;br /&gt;
*/&lt;br /&gt;
void Shell()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; InitScheduler();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;InitMemory();&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitSemaphore( &amp;amp;gs_stSema, 1 );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49352;&#47196;&#50868; &#53468;&#49828;&#53356; &#46321;&#47197;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; AddTask( EdgeDraw );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; EnableScheduler( TRUE );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ShellLoop();&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 );&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47532;&#44256; &#53580;&#49828;&#53944;&#47484; &#50948;&#54644;&amp;nbsp;ProcessCommand() &#54632;&#49688;&#50640; malloc &#47749;&#47161;&#44284; free &#47749;&#47161;&#51012; &#52628;&#44032;&#54620;&#45796;. malloc &#47749;&#47161;&#51008; &lt;strong style=""&gt;malloc 0x20&lt;/strong&gt; &#44284;&amp;nbsp;&amp;nbsp;&#44057;&#51060; &#49324;&#50857;&#46104;&#47728; &#53945;&#51221; &#53356;&#44592;&#51032; &#48660;&#47085;&#51012; &#54624;&#45817; &#48155;&#51012; &#46412; &#49324;&#50857;&#54620;&#45796;. &lt;strong style=""&gt;free&lt;/strong&gt; &#47749;&#47161;&#51008; malloc &#47749;&#47161;&#51004;&#47196; &#54624;&#45817;&#48155;&#51008; &#47700;&#47784;&#47532;&#47484; &#44536;&#45824;&#47196; &#54644;&#51228;&#54616;&#45716; &#50669;&#54624;&#51012; &#54620;&#45796;(&#44592;&#45733;&#51012; &#52628;&#44032;&#54624;&#49688;&#47197; &#53076;&#46300;&#44032; &#51216;&#51216; &#44600;&#50612;&#51648;&#45716;.. &#12641;_&#12641;;;;). &#44536;&#47532;&#44256; &#47560;&#51648;&#47561;&#51004;&#47196; &#46041;&#51201;&#54624;&#45817; &#48708;&#53944; &#47560;&#49828;&#53356;&#50640; &#45824;&#54620; &#51221;&#48372;&#47484; &#54364;&#49884;&#54616;&#45716; &lt;strong style=""&gt;DumpMemory()&lt;/strong&gt; &#54632;&#49688;&#47484; &#52628;&#44032;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#50644;&#53552;&#44032; &#52432;&#51276;&#51004;&#47732; &#48260;&#54140;&#51032; &#45236;&#50857;&#51004;&#47196; &#47749;&#47161;&#50612;&#47484; &#52376;&#47532;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void ProcessCommand( int* piX, int* piY, char* vcCommandBuffer,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int* piBufferIndex)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char vcDwordBuffer[ 8 ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; static DWORD vdwValue[ 10 ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; static int iCount = 0;&lt;/li&gt;
&lt;li style="TEXT-ALIGN: center;"&gt;...... &#49373;&#47029; ......&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/strong&gt; // &#47700;&#47784;&#47532;&#47484; &#54624;&#45817;&#48155;&#45716;&#45796;. malloc 00000000&#51032; &#54805;&#53468;&#50668;&#50556; &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if( ( *piBufferIndex &amp;gt; 7 ) &amp;amp;&amp;amp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( kMemCmp( vcCommandBuffer, "malloc", 6 ) == 0 ) )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#46972;&#51064;&#51012; &#48320;&#44221;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewLine( piX, piY );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vcCommandBuffer[ *piBufferIndex ] = '\0';&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54624;&#45817;&#54624; &#53356;&#44592; 16&#51652;&#49688;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdwValue[ iCount ] = kAToD( vcCommandBuffer + 7 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcDwordBuffer, vdwValue[ iCount ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxy( 0, *piY, "size" );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 10, *piY, vcDwordBuffer, 8 );&lt;/li&gt;
&lt;li&gt;&lt;span style="COLOR: #0000ff;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000;"&gt;// &#54624;&#45817;&#46108; &#51452;&#49548;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vdwValue[ iCount ] = ( DWORD ) AllocMemory( vdwValue[ iCount ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcDwordBuffer, vdwValue[ iCount ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxy( 20, *piY, "Address" );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 30, *piY, vcDwordBuffer, 8 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iCount++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#47700;&#47784;&#47532;&#47484; &#54644;&#51228;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if( ( *piBufferIndex == 4 ) &amp;amp;&amp;amp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( kMemCmp( vcCommandBuffer, "free", 4 ) == 0 ) )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#46972;&#51064;&#51012; &#48320;&#44221;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewLine( piX, piY );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( iCount &amp;gt; 0 )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iCount--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcDwordBuffer, vdwValue[ iCount ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxy( 0, *piY, "Address" );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 15, *piY, vcDwordBuffer, 8 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FreeMemory( ( void* ) vdwValue[ iCount ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bitmask&#47484; &#45924;&#54532;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else if( ( *piBufferIndex == 7 ) &amp;amp;&amp;amp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( kMemCmp( vcCommandBuffer, "dumpmem", 7 ) == 0 ) )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DumpMemory( piX, piY );&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;}&lt;/li&gt;
&lt;li style="TEXT-ALIGN: center;"&gt;......&amp;nbsp;&#49373;&#47029; ......&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Memory&#51032; &#49345;&#53468;&#47484; Dump&#54644;&#49436; &#54364;&#49884;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void DumpMemory( int* piX, int* piY )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int j;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE* pbMask;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char vcDwordBuffer[ 8 ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int iFindCount;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#48660;&#47085;&#51473;&#50640; Free &#54620; &#44163;&#51012; Dump &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for( j = 0 ; j &amp;lt; MEMORY_MAX_BITMASKLISTCOUNT ; j++ )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewLine( piX, piY );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcDwordBuffer, MEMORY_ALLOC_MIN_SIZE &amp;lt;&amp;lt; j );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pbMask = gs_stMemory.vvbBitMask[ j ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 0, *piY, vcDwordBuffer, 8 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iFindCount = 0;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( i = 0 ; i &amp;lt; MEMORY_MAX_BITMASKCOUNT * 8 ; i++ )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( pbMask[ i / 8 ] &amp;amp; ( 0x01 &amp;lt;&amp;lt; ( i % 8 ) ) )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kDToA( vcDwordBuffer, i );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printxyn( 10 + iFindCount * 10, *piY, vcDwordBuffer, 8 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kGetCh();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NewLine( piX, piY );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;4.3 00Kernel/makefile &#49688;&#51221;&lt;/h3&gt;
&lt;h4&gt;4.3.1&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#51060;&#51204; &#48260;&#51204;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;makefile&#51008; &#44628;&#45140;&#55176; &#51221;&#47532;&#46108; &#48260;&#51204;&#51012; &#44592;&#51456;&#51004;&#47196; &#49444;&#47749;&#54620;&#45796;. &#49352;&#47196;&#50868; &#48260;&#51204;&#51012; &#48155;&#51648; &#50506;&#50520;&#51004;&#47732; &lt;a href="/pages/355610" class="wiki" title="21 OS &#54532;&#47112;&#51076;&#50892;&#53356; &#49548;&#49828; &#47540;&#47532;&#51592;"&gt;&lt;strong style=""&gt;21 OS &#54532;&#47112;&#51076;&#50892;&#53356; &#49548;&#49828; &#47540;&#47532;&#51592;&lt;/strong&gt;&lt;/a&gt;&#50640; &#44032;&#47732; &#49352;&#47196;&#50868; makefile&#51012; &#48155;&#51012; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49352;&#47196;&#50868;&amp;nbsp;makefile&#50640;&amp;nbsp;OBJ &#48512;&#48516;&#51012; &#50500;&#47000;&#50752; &#44057;&#51060; &#49688;&#51221;&#54620;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;#Object &#54028;&#51068; &#51060;&#47492; &#45796; &#51201;&#44592;&lt;br /&gt;
#&#50500;&#47000;&#51032; &#49692;&#49436;&#45824;&#47196; &#47553;&#53356;&#46108;&#45796;. &#49352;&#47196;&#50868; &#54028;&#51068;&#51060; &#49373;&#44592;&#47732; &#46244;&#50640; &#45796; &#52628;&#44032;&#54616;&#51088;&lt;br /&gt;
OBJ = Asm.o Kernel.o Isr.o Descriptor.o Interrupt.o Keyboard.o StdLib.o Task.o \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FrameWork.o KShell.o Scheduler.o Synchronize.o &lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Memory.o&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;4.3.2 &#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#51060;&#54980; &#48260;&#51204;&lt;/h4&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#54980;&#45716;&amp;nbsp;makefile&#50640; &#45796; &#53685;&#54633;&#46104;&#50612;&#51080;&#45796;.&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Custom&lt;/span&gt;&lt;/strong&gt; &#54260;&#45908;&#50640;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="COLOR: #0000ff;"&gt;Memory.h/c&lt;/span&gt;&lt;/strong&gt; &#54028;&#51068;&#51012;&amp;nbsp;&#45347;&#44256; make&#47484; &#51077;&#47141;&#54616;&#45716; &#44163;&#51004;&#47196; &#45149;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;5.Build &#48143; &#49892;&#54665;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032;&amp;nbsp;&#47784;&#46304; &#44284;&#51221;&#51060; &#45149;&#45212;&amp;nbsp;&#54980;&amp;nbsp;&lt;strong style=""&gt;makekernel.bat&lt;/strong&gt;&amp;nbsp;&#50752; &lt;strong style=""&gt;makeimg.bat&lt;/strong&gt; &#46608;&#45716; &lt;strong style=""&gt;make&lt;/strong&gt;&#47484;&amp;nbsp;&#49892;&#54665;&#54616;&#47732; &#52964;&#45328;&#51060; build&#46104;&#44256; Virtual Box&#47196; &#44208;&#44284;&#47484; &#54869;&#51064;&#54624; &#49688; &#51080;&#45796;. &#50500;&#47000;&#45716; &#49892;&#54665; &#54980; &lt;strong style=""&gt;dumpmem&lt;/strong&gt; &#47749;&#47161;&#51012; &#53685;&#54644; &#48708;&#53944; &#47560;&#49828;&#53356;&#51032; &#45236;&#50857;&#51012; &#54869;&#51064;&#54620; &#54868;&#47732;&#51060;&#45796;. &#47592; &#47560;&#51648;&#47561;&#50640; &lt;strong style=""&gt;0x400000&lt;/strong&gt; &#53356;&#44592;&#51032; &#48660;&#47085;&#51060; &lt;strong style=""&gt;0x00000000&lt;/strong&gt; &#51064;&#45937;&#49828;&#50640; &#51316;&#51116;&#54620;&#45796;. &#51060;&#44163;&#51004;&#47196; &#48372;&#50500; 4Mbyte &#53356;&#44592;&#51032; &#48660;&#47085;&#51060; &#51221;&#49345;&#51201;&#51004;&#47196; &#54624;&#45817;&#46104;&#50612; &#51080;&#51020;&#51012; &#50508; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="memory1.PNG" src="/pages/391653/attachments/165327" alt="memory1.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#52488;&#44592;&#51032; &#47700;&#47784;&#47532; &#48708;&#53944;&#47560;&#49828;&#53356;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#45716;&amp;nbsp;&lt;strong style=""&gt;0x20&lt;/strong&gt; &#53356;&#44592;&#51032; &#47700;&#47784;&#47532;&#47484; &#54624;&#45817; &#48155;&#51008; &#54980;&#50640; &#45796;&#49884; &#47700;&#47784;&#47532; &#49345;&#53468;&#47484; &#48376; &#44163;&#51060;&#45796;(&#45796; &#54364;&#49884;&#46104;&#51648;&#45716; &#50506;&#50520;&#51648;&#47564; &lt;strong style=""&gt;0x200&lt;/strong&gt; &#53356;&#44592;&#51032; &#48660;&#47085;&#48512;&#53552; &#49345;&#50948; &lt;strong style=""&gt;0x200000&lt;/strong&gt; &#53356;&#44592;&#51032; &#48660;&#47085;&#44620;&#51648; &#47784;&#46160; &#54616;&#45208;&#50473; &#54624;&#45817;&#46104;&#50632;&#51020;&#51012; &#50508; &#49688; &#51080;&#45796;).&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;img class="attachment" title="memory2.PNG" src="/pages/391653/attachments/165329" alt="memory2.PNG" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;0x20 &#53356;&#44592;&#51032; &#47700;&#47784;&#47532;&#48660;&#47085; &#54624;&#45817; &#54980;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#54616;&#45208;&#47484; &#54624;&#45817;&#48155;&#51008; &#54980;&#50640; &#45796;&#49884;&amp;nbsp;&#48152;&#45225;&#54616;&#50668; &#47700;&#47784;&#47532; &#49345;&#53468;&#47484; &#45924;&#54532;&#54620; &#44163;&#51060;&#45796;.&amp;nbsp;&#50508;&#44256;&#47532;&#51608;&#51060; &#51221;&#49345;&#51201;&#51004;&#47196; &#46041;&#51089;&#54616;&#50668; &#45796;&#49884;&amp;nbsp;&lt;strong style=""&gt;0x400000&lt;/strong&gt; &#53356;&#44592;&#51032;&amp;nbsp;&#48660;&#47085;&#51060; &#49373;&#49457;&#46104;&#50632;&#51020;&#51012; &#50508; &#49688; &#51080;&#45796;. &#51060;&#47484; &#48152;&#48373;&#54644;&#49436; &#53580;&#49828;&#53944;&#54616;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;img class="attachment" title="memory1.PNG" src="/pages/391653/attachments/165327" height="494" alt="memory1.PNG" width="730" /&gt;&lt;/p&gt;
&lt;p style="TEXT-ALIGN: center;"&gt;&lt;strong style=""&gt;&amp;lt;0x20 &#47700;&#47784;&#47532; &#48660;&#47085; &#54644;&#51228; &#54980;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;6.&#47560;&#52824;&#47732;&#49436;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#46041;&#51201; &#47700;&#47784;&#47532; &#54624;&#45817;&#50640; &#45824;&#54644; &#44396;&#54788;&#54616;&#47732;&#49436; &#47680;&#54000;&amp;nbsp;&#53468;&#49828;&#53433; &#49884;&#50640; &#48156;&#49373;&#54624; &#49688; &#51080;&#45716;&amp;nbsp;&#47928;&#51228;&#50640; &#45824;&#54620; &#44256;&#47140;&#45716; &#51228;&#50808;&#54616;&#50688;&#45796;.&amp;nbsp;&#46041;&#51201; &#54624;&#45817;&#50640; &#45824;&#54620; &#45236;&#50857;&#47564;&#51004;&#47196;&#46020; &#52649;&#48516;&#55176; &#48373;&#51105;&#54616;&#44592; &#46412;&#47928;&#50640;,&amp;nbsp;&#46041;&#44592;&#54868; &#48512;&#48516;&#50640; &#45824;&#54644;&#49436;&#45716; &#45796;&#51020;&#50640; &#45796;&#47344; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50724;&#45720; &#51060;&#54980;&#47196;&amp;nbsp;&#52964;&#45328; &#53076;&#46300;&#50640;&#49436; &#47560;&#51020;&#44751; malloc&#44284; free&#47484; &#49324;&#50857;&#54624; &#49688; &#51080;&#44172; &#46104;&#50632;&#45796;. &#48708;&#47197; &#48660;&#47085; &#45800;&#50948;&#44032; &#52964;&#49436; &#54952;&#50984;&#49457;&#50640; &#47928;&#51228;&#44032; &#51328; &#51080;&#51648;&#47564; &#54532;&#47196;&#44536;&#47016;&#51012; &#51452;&#51032;&#54644;&#49436; &#51089;&#49457;&#54620;&#45796;&#47732; &#52649;&#48516;&#55176; &#44048;&#45817;&#54624; &#49688; &#51080;&#45716; &#48512;&#48516;&#51060;&#46972; &#49373;&#44033;&#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#47700;&#47784;&#47532; &#44277;&#44036;&#51032; &#45229;&#48708;&#44032; &#47560;&#51020;&#50640; &#44152;&#47536;&#45796;&#47732; &#46041;&#51201; &#54624;&#45817; &#50508;&#44256;&#47532;&#51608;&#51012; &#49688;&#51221;&#54616;&#47732; &#46108;&#45796;. &#48260;&#46356; &#48660;&#47085;&#51032; &#53356;&#44592;&#47484; 512Byte &#51060;&#54616;&#47196; &#45230;&#52628;&#45716; &#44163;&#51008; &#48708;&#53944;&#47560;&#49828;&#53356;&#51032; &#53356;&#44592;&#44032; &#52964;&#51648;&#48064;&#47196; &#51339;&#51008; &#48169;&#48277;&#51060; &#50500;&#45768;&#45796;. &#44316;&#52270;&#51008; &#48169;&#48277;&#51008;&amp;nbsp;&#50500;&#51452; &#51089;&#51008; &#47700;&#47784;&#47532; &#48660;&#47085; &#44057;&#51008; &#44221;&#50864;,&amp;nbsp;4Kbyte &#53356;&#44592;&#47484; &#48260;&#46356; &#48660;&#47085;&#51004;&#47196; &#54624;&#45817; &#48155;&#51008; &#54980; &#45236;&#48512;&#51201;&#51004;&#47196; &#45796;&#49884; &#48708;&#53944; &#47560;&#49828;&#53356;&#47484; &#49324;&#50857;&#54616;&#50668;&amp;nbsp;&#45208;&#45572;&#50612; &#49324;&#50857;&#54616;&#45716; &#44163;&#51060;&#45796;. &#44396;&#54788;&#51008; &#44033;&#51088; &#54644;&#48372;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#45796;&#51020; &#48264;&#50640;&#45716; &#47680;&#54000; &#53468;&#49828;&#53356; &#54872;&#44221;&#50640;&#49436; &#49324;&#50857;&#54624; &#49688; &#51080;&#46020;&#47197;&amp;nbsp;&#49464;&#47672;&#54252;&#50612;&#47484; &#49324;&#50857;&#54616;&#50668; &#46041;&#44592;&#54868;&#47484; &#54644;&#48372;&#46020;&#47197;&amp;nbsp;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;7.&#52392;&#48512;&lt;/h2&gt;
&lt;h3&gt;7.1 &#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#51204;&lt;/h3&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/391653/attachments/165330" class="attachment" title="Custom.zip"&gt;&lt;strong style=""&gt;Custom.zip&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: Custom &#54260;&#45908;&#51032; &#54028;&#51068;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/391653/attachments/165331" class="attachment" title="makefile"&gt;&lt;strong style=""&gt;makefile&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: makefile&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;7.2 &#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204;&amp;nbsp;&#51060;&#54980;&lt;/h3&gt;
&lt;div class="section" style="background-color: #F9F9D8;"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/391653/attachments/192383" class="attachment" title="Custom_1_0_3.zip"&gt;&lt;strong style=""&gt;Custom_1_0_3.zip&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Tue, 13 Sep 2011 14:13:57 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/391653</link>
      <guid>http://kkamagui.springnote.com/pages/391653</guid>
    </item>
    <item>
      <title>Part14. Tutorial2-&#47680;&#54000; &#53468;&#49828;&#53433;(Multi Tasking) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;</title>
      <description>&lt;h1&gt;Part14. Tutorial2-&#47680;&#54000; &#53468;&#49828;&#53433;(Multitasking) &#44592;&#45733;&#51012; &#52628;&#44032;&#54644; &#48372;&#51088;&lt;/h1&gt;
&lt;p&gt;&lt;strong style=""&gt;&#50896;&#47928; : &amp;nbsp;&lt;/strong&gt;&lt;a href="/pages/353530"&gt;&lt;strong style=""&gt;http://kkamagui.springnote.com/pages/353530&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&#46308;&#50612;&#44032;&#44592; &#51204;&#50640;...&lt;/h2&gt;
&lt;div class="section" style="line-height: 2em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 12px; background-color: rgb(249, 249, 216);"&gt;
&lt;ul style="line-height: 2em; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 24px;"&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style=""&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;strong style="line-height: 2em;"&gt;&#51060; &#44544;&#51008;&amp;nbsp;kkamagui&#50640; &#51032;&#54644; &#51089;&#49457;&#46108; &#44544;&#51077;&#45768;&#45796;.&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#47560;&#51020;&#44751; &#51064;&#50857;&#54616;&#49884;&#44144;&#45208; &#49324;&#50857;&#54616;&#49492;&#46020; &#46121;&#45768;&#45796;. &#45800; &#52636;&#52376;(&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.tistory.com&lt;/a&gt;,&amp;nbsp;&lt;a href="/pages/#" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;http://kkamagui.springnote.com&lt;/a&gt;)&#45716; &#48157;&#54784; &#51452;&#49901;&#49884;&#50724;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#44592;&#53440; &#49324;&#54637;&#51008; mint64os&amp;nbsp;at gmail.com &#51060;&#45208;&lt;/strong&gt;&amp;nbsp;&lt;a href="http://kkamagui.tistory.com/" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;strong style="line-height: 2em;"&gt;&lt;span style="line-height: 2em; color: rgb(128, 0, 128);"&gt;http://kkamagui.tistory.com&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style="line-height: 2em;"&gt;&#51004;&#47196; &#48372;&#45236;&#51452;&#49884;&#47732; &#48152;&#50689;&#54616;&#44192;&#49845;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;strong style="line-height: 2em;"&gt;&#49345;&#49464;&#54620; &#45236;&#50857;&#51008; &#52293; "&lt;a href="http://kkamagui.tistory.com/746" class="external" title="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;64&#48708;&#53944; &#47680;&#54000;&#53076;&#50612; OS &#50896;&#47532;&#50752; &#44396;&#51312;&lt;/a&gt;"&#47484; &#52280;&#44256;&#54616;&#44592; &#48148;&#46989;&#45768;&#45796;.&lt;/strong&gt;&lt;/li&gt;
&lt;li style="line-height: 2em;"&gt;&lt;a href="http://www.yes24.com/24/goods/5271779?scode=032&amp;amp;OzSrank=3" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;/a&gt;&lt;a href="http://kkamagui.tistory.com/746" style="line-height: 2em; color: rgb(86, 137, 66) !important; text-decoration: underline; cursor: pointer !important;"&gt;&lt;img title="&#53356;&#44592;&#48320;&#54872;_book1.jpg" class="attachment" src="/pages/404250/attachments/5167376" alt="&#53356;&#44592;&#48320;&#54872;_book1.jpg" style="line-height: 2em; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-color: initial;" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2&gt;0.&#49884;&#51089;&#54616;&#47732;&#49436;...&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356;&#50640;&#49436;&amp;nbsp;&#53468;&#49828;&#53356; &#49828;&#50948;&#52845;(Task Switching)&#51012; &#44396;&#54788;&#54616;&#45716; &#48169;&#48277;&#50640; &#45824;&#54620; &#45236;&#50857;&#51008;&amp;nbsp;&lt;a href="/pages/340788" class="wiki" title="&#52280;&#44256;. Multi Tasking &#44396;&#54788; &#48169;&#48277;"&gt;&lt;strong style=""&gt;&#52280;&#44256;. Multi Tasking &#44396;&#54788; &#48169;&#48277;&lt;/strong&gt;&lt;/a&gt;&#50640; &#49444;&#47749;&#54644; &#45459;&#50520;&#51004;&#45768; &#52280;&#44256;&#54616;&#46020;&#47197; &#54616;&#44256;, &#50668;&#44592;&#49436;&#45716; &#44036;&#45800;&#54620; &#49828;&#52992;&#51460;&#47084;&#47484; &#44396;&#54788;&#54616;&#45716; &#44163;&#51012; &#47785;&#54364;&#47196; &#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;1.&#53468;&#49828;&#53356; &#49828;&#50948;&#52845;(Task&amp;nbsp;Switching) &#44288;&#47144; &#54632;&#49688;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;strong style=""&gt;00Kernel/Custom/KShell.c&lt;/strong&gt; &#54028;&#51068;&#51012; &#50676;&#50612;&#48372;&#47732; &#44592;&#48376;&#51201;&#51064; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#53076;&#46300;&#44032; &#54252;&#54632;&#46104;&#50612;&#51080;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// Task&#47484; &#51200;&#51109;&#54620;&#45796;.&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;TASK vstTask[ 2 ];&lt;/span&gt;&lt;/strong&gt;char g_vcPrompt[8] = "[FRAME] ";&lt;br /&gt;
int g_iCurrentTask;&lt;br /&gt;
BOOL g_bScheduleStart = FALSE;&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Timer Callback&#50640;&#49436; &#49688;&#54665;&#46104;&#45716; Scheduling &#54632;&#49688;&lt;br /&gt;
*/&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void Scheduler( void )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if( g_bScheduleStart == FALSE )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; g_iCurrentTask = abs( 1 - g_iCurrentTask );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kSwitchTask( &amp;amp;( vstTask[ abs( 1- g_iCurrentTask ) ] ),&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp;( vstTask[ g_iCurrentTask ] ) );&lt;br /&gt;
}&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; KShell &#51032; Main&lt;br /&gt;
*/&lt;br /&gt;
void Shell()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong style=""&gt;// Task &#49444;&#51221;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong style=""&gt;kSetupTask( &amp;amp;( vstTask[ 0 ] ), ShellLoop, NULL );&lt;/strong&gt;&lt;/span&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;kSetupTask( &amp;amp;( vstTask[ 1 ] ), EdgeDraw, NULL );&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_iCurrentTask = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; g_bScheduleStart = TRUE;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShellLoop();&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#54028;&#46976;&#49353; &#48512;&#48516;&#51060; &#49828;&#50948;&#52845;&#50640; &#44288;&#47144;&#46108; &#48512;&#48516;&#51060;&#45796;. &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Shell()&lt;/span&gt;&lt;/strong&gt; &#54632;&#49688;&#50752; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Scheduler()&lt;/span&gt;&lt;/strong&gt; &#54632;&#49688;&#47484; &#48372;&#47732; 2&#44060;&#51032; &#53468;&#49828;&#53356;&#47484; &#49444;&#51221;&#54616;&#44256;&amp;nbsp;&#46160; &#53468;&#49828;&#53356;&#47484; &#48264;&#44040;&#50500;&#44032;&#47732;&#49436; &#54840;&#52636;&#54616;&#45716; &#44163;&#51012; &#50508;&amp;nbsp;&#49688;&amp;nbsp;&#51080;&#45796;.&amp;nbsp;&#50668;&#44592;&#49436; &#45576;&#50668;&#44200; &#48400;&#50556; &#54616;&#45716; &#54632;&#49688; 2&#44060;&#45716; &lt;strong style=""&gt;kSetupTask()&lt;/strong&gt;&#50752; &lt;strong style=""&gt;kSwitchTask()&lt;/strong&gt; &#51060;&#45796;(&lt;a href="/pages/348969" class="wiki" title="&#52280;&#44256;. &#54532;&#47112;&#51076;&#50892;&#53356; &#51452;&#50836; &#54632;&#49688;&#46308;"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&#52280;&#44256;. &#54532;&#47112;&#51076;&#50892;&#53356; &#51452;&#50836; &#54632;&#49688;&#46308;&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&#45236;&#50857; &#52280;&#44256;).&amp;nbsp;&lt;/p&gt;
&lt;ul style="margin-left: 1em;"&gt;
&lt;li&gt;kSetupTask()&amp;nbsp;: &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#50752;&amp;nbsp;&#53468;&#49828;&#53356;&#51032; &#50644;&#53944;&#47532; &#54252;&#51064;&#53944;, &#44536;&#47532;&#44256;&amp;nbsp;&#53468;&#49828;&#53356; &#51333;&#47308; &#49884; &#54840;&#52636;&#46112;&amp;nbsp;&#54632;&#49688;&#51032; &#50644;&#53944;&#47532; &#54252;&#51064;&#53944;&#47484; &#48155;&#50500;&#49436; &#53468;&#49828;&#53356;&#47484; &#49444;&#51221;&#54616;&#45716; &#50669;&#54624; &#49688;&#54665;. &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#47484; &#49373;&#49457;&#54616;&#45716; &#54632;&#49688;&lt;/li&gt;
&lt;li&gt;kSwitchTask() : &#54788;&#51116; &#49688;&#54665;&#51473;&#51064; &#53468;&#49828;&#53356;&#47484; &#51200;&#51109;&#54624;&amp;nbsp;&#53468;&#49828;&#53356;&amp;nbsp;&#44396;&#51312;&#52404;&#50752;&amp;nbsp;&#45796;&#51020;&#50640; &#49892;&#54665;&#54624; &#53468;&#49828;&#53356;&#47484; &#47196;&#46300;&#54624; &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#47484; &#48155;&#50500;&#49436; &#46160;&#44060;&#47484; &#49828;&#50948;&#52845;&#54616;&#45716; &#50669;&#54624; &#49688;&#54665;. &#53468;&#49828;&#53356; &#49828;&#50948;&#52845;&#51012; &#49688;&#54665;&#54616;&#45716; &#54632;&#49688;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;kSetupTask() &#54632;&#49688;&#51032; &#47560;&#51648;&#47561; &#54028;&#46972;&#47700;&#53552;&#45716; NULL&#47196; &#49444;&#51221;&#44032;&#45733;&#54620;&#45936;, &#46356;&#54260;&#53944; &#53468;&#49828;&#53356; &#51333;&#47308; &#54648;&#46308;&#47084;&#47484; &#48512;&#47476;&#44192;&#45796;&#45716; &#51032;&#48120;&#47196; &#49324;&#50857;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#46356;&#54260;&#53944;&#47196; &#49444;&#51221;&#46108;&amp;nbsp;&#53468;&#49828;&#53356; &#51333;&#47308; &#54632;&#49688;&#45716; kEndTask()&#47196; &#49444;&#51221;&#46104;&#50612;&#51080;&#44256; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Task&#51032; &#51333;&#47308; &#52376;&#47532;&lt;br /&gt;
*/&lt;br /&gt;
void kTaskEnd( void )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54596;&#50836;&#54620; &#47956;&#44032;&#47484; &#54616;&#51088;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;while( 1 ) ;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#47564;&#50557;&amp;nbsp;&#50948;&#51032; &#47924;&#54620; &#47336;&#54532;&amp;nbsp;&#53076;&#46300;&#47484; &#49325;&#51228;&#54616;&#47732; &#50612;&#46523;&#44172; &#46112;&#44620;? &#44536;&#47100; kTaskEnd() &#54632;&#49688;&#50640;&#49436; return&#51012; &#54616;&#44172;&#46104;&#45716;&#45936; &#51060;&#46412; &#49828;&#53469;&#51008; Top&#51060; Bottom&#51012; &#51648;&#45208;&#44032;&#44172;&#46104;&#44256; &#50508; &#49688; &#50630;&#45716; &#44275;&#51004;&#47196; &#51216;&#54532;&#54616;&#50668; &#51060;&#49345;&#54620; &#53076;&#46300;&#47484; &#49892;&#54665;&#54616;&#44172; &#46112; &#44163;&#51060;&#45796;.&amp;nbsp;&#50868;&#51060; &#51339;&#51004;&#47732; &#49688;&#49901;&#52488; &#51221;&#46020; &#51648;&#45208;&#49436; Fault&#44032; &#48156;&#49373;&#54624; &#44163;&#51060;&#44256;, &#50868;&#51060; &#45208;&#49240;&#47732; &#51216;&#54532;&#54620; &#51593;&#49884; Fault&#44032; &#48156;&#49373;&#54616;&#50668;&amp;nbsp;&#52964;&#45328;&#51060; &#51221;&#51648; &#46108;&#45796;. @0@)/~&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#47088; &#49688;&#49845;&#51060; &#48520;&#44032;&#45733;&#54620; &#49345;&#54889;&#51012;&#51060; &#46104;&#44592;&#51204;&#50640;&amp;nbsp;&#47561;&#50500;&#50556; &#54616;&#48064;&#47196;, &#46356;&#54260;&#53944; &#54648;&#46308;&#47084;&#45716; &#47924;&#54620; &#47336;&#54532;&#47484; &#49892;&#54665;&#54616;&#50668; &#45796;&#47480; &#44275;&#51004;&#47196; &#44032;&#51648; &#47803;&#54616;&#44172; &#54620;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;2.&#44036;&#45800;&#54620; &#49828;&#52992;&#51460;&#47084; &#49444;&#44228;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&#51088; &#51060;&#51228;&amp;nbsp;&#44036;&#45800;&#54620; &#49828;&#52992;&#51460;&#47084;&#50640; &#45824;&#54620; &#51060;&#50556;&#44592;&#47484; &#54644;&#48372;&#51088;. &#50864;&#47532;&#44032; &#47564;&#46308; &#49828;&#52992;&#51460;&#47084;&#45716; &#50500;&#47000;&#50752; &#44057;&#45796;.&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong style=""&gt;&#46972;&#50868;&#46300;&#47196;&#48712;(Round-Robin)&#51032; &#50508;&#44256;&#47532;&#51608;&lt;/strong&gt;&#51012; &#51060;&#50857;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#53468;&#49828;&#53356;&#51032; &#49688;&#45716; &#52572;&#45824;&amp;nbsp;30&#44060;&lt;/strong&gt;(&#50780;? &#45320;&#47924; &#53356;&#47732; &#52964;&#45328; &#49828;&#53469;&#51012; &#45336;&#50612;&#49436;&#44592;&#46412;&#47928;)&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#53468;&#49828;&#53356; &#47532;&#49828;&#53944;&#51032; &#54805;&#53468;&#45716;&amp;nbsp;&#47553;&#53356;&#46300; &#47532;&#49828;&#53944;(Linked List)&#51032; &#54805;&#53468;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&#53440;&#51060;&#47672; &#51064;&#53552;&#47101;&#53944;&#47484; &#51060;&#50857;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47100; &#51060;&#51228; &#44396;&#54788;&#51012; &#50948;&#54644; &#49688;&#51221;&#54644;&#50556;&#54624; &#48512;&#48516;&#51012; &#54616;&#45208;&#54616;&#45208; &#49332;&#54196;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;3.&#44396;&#54788;&lt;/h2&gt;
&lt;h3&gt;3.1 Task.c/h &#54028;&#51068; &#49688;&#51221;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#51068;&#45800; &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#47484; &#51312;&#44552; &#49688;&#51221;&#54644;&#49436; &#53468;&#49828;&#53356;&#47484; &#47553;&#53356;&#46300; &#47532;&#49828;&#53944;&#51032; &#54805;&#53468;&#47196; &#47564;&#46308; &#49688; &#51080;&#46020;&#47197; &#54616;&#51088;.&amp;nbsp;&lt;strong style=""&gt;FW/Task.h&lt;/strong&gt; &#54028;&#51068;&#51012; &#50676;&#50612;&#49436; TASK &#44396;&#51312;&#52404;&#44032; &#50500;&#47000;&#50752; &#44057;&#51060; &#46104;&#50612;&#51080;&#45716; &#51648; &#54869;&#50504;&#54616;&#44256; &#44536;&#47111;&#51648; &#50506;&#45796;&#47732; &#49688;&#51221;&#54616;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// Task&#50640; &#45824;&#54620; &#51221;&#48372; &#51200;&#51109;&lt;br /&gt;
typedef struct kTaskStruct&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Stack&#51032; 15DWORD&#47484; Register&#47484; &#51200;&#51109;&#54616;&#45716;&#45936; &#49324;&#50857;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD vdwStack[ MAX_STACKSIZE ];&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&amp;nbsp;iTID;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;struct kTaskStruct* pstNext;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
} TASK, *PTASK;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50616;&#51228;&#45208; &#44536;&#47111;&#46319;&#51060;&amp;nbsp;&#54028;&#46976;&#49353; &#48512;&#48516;&#51060; &#51452;&#51032;&#44618;&#44172; &#48380; &#48512;&#48516;&#51060;&#45796;. &#53468;&#49828;&#53356; &#44396;&#48516;&#51012; &#50948;&#54620; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;iTID&lt;/span&gt;&lt;/strong&gt;&#47484; &#52628;&#44032;&#54616;&#44256; &#45796;&#51020; &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#47484;&amp;nbsp;&#50672;&#44208;&#54616;&#44592;&#50948;&#54620;&amp;nbsp;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;pstNext&lt;/span&gt;&lt;/strong&gt; &#48512;&#48516;&#51012; &#52628;&#44032;&#54664;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000; &#54632;&#49688;&#45716; &lt;strong style=""&gt;FW/Tash.c&lt;/strong&gt; &#54028;&#51068;&#50640; &#54252;&#54632;&#46108; &#54632;&#49688;&#51064;&#45936;, &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;, &#53468;&#49828;&#53356; &#49884;&#51089; &#50644;&#53944;&#47532; &#54252;&#51064;&#53944;, &#53468;&#49828;&#53356; &#51333;&#47308; &#50644;&#53944;&#47532; &#54252;&#51064;&#53944;&#47484; &#48155;&#50500;&#49436; &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#47484; &#49444;&#51221;&#54616;&#45716; &#54632;&#49688;&#51060;&#45796;. Task&#44032; &#51333;&#47308;&#46104;&#50632;&#51012; &#46412;&amp;nbsp;&#48520;&#47532;&#45716; &#54632;&#49688;&#47484; &#49444;&#51221;&#54616;&#45716; &#48512;&#48516;&#50640; &#48260;&#44536;&#44032;&amp;nbsp;&#51080;&#50612;&#49436; &#48521;&#51008;&#49353; &#48512;&#48516;&#51012; &#49688;&#51221;&#54664;&#45796;. &#48521;&#51008;&#49353; &#48512;&#48516;&#51012; &#54869;&#51064;&#54616;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK &#44396;&#51312;&#52404;&#47484; &#49444;&#51221;&#54620;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;BOOL kSetupTask( PTASK pstTask, void* pfStartAddr, void* pfEndAddr )&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD* pdwStackTop;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#44396;&#51312;&#52404;&#47484; &#52488;&#44592;&#54868; &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kMemSet( pstTask, 0, sizeof( pstTask-&amp;gt;vdwStack ) );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Stack&#51032; Top&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pdwStackTop = ( DWORD* ) ( pstTask-&amp;gt;vdwStack + ( MAX_STACKSIZE - 1 ) );&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ESP, EBP, EFLAG, EAX, EBX, ECX, EDX, ESI, EDI &#49692;&#51004;&#47196; Push &#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 14 ] = ( DWORD ) ( pdwStackTop - 1 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 13 ] = ( DWORD ) ( pdwStackTop - 1 );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 12 ] = EFLAG_DEFAULT;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // cs, ds, ss, es, fs, gs&#45716; kernel&#51032; &#44592;&#48376;&#44050;&#51004;&#47196; &#49444;&#51221;&#54644; &#51456;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 5 ] = GDT_VAR_KERNELCODEDESC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 4 ] = GDT_VAR_KERNELDATADESC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 3 ] = GDT_VAR_KERNELDATADESC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 2 ] = GDT_VAR_KERNELDATADESC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 1 ] = GDT_VAR_KERNELDATADESC;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstTask-&amp;gt;vdwStack[ 0 ] = GDT_VAR_KERNELDATADESC;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#47560;&#51648;&#47561;&#51004;&#47196; Stack&#51032; Return Address&#47484; pfAddr&#47196; &#49444;&#51221;&#54644; &#51456;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pdwStackTop[ -1 ] = ( DWORD ) pfStartAddr;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#47564;&#50557; Task &#51333;&#47308; &#54632;&#49688;&#44032; &#49444;&#51221;&#46104;&#51648; &#50506;&#51004;&#47732; Default&#47484; &#49444;&#51221;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;if( pfEndAddr != NULL )&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pdwStackTop[ 0 ] = ( DWORD ) pfEndAddr;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pdwStackTop[ 0 ] = ( DWORD ) kTaskEnd;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return TRUE;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.2 Scheduler.c/h &#54028;&#51068; &#52628;&#44032;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;strong style=""&gt;Custom/Scheduler.c/h&lt;/strong&gt; &#54028;&#51068;&#51008; &#49828;&#52992;&#51460;&#47084;&#51032; &#44396;&#54788;&#51060; &#46308;&#50612;&#44040;&amp;nbsp;&#54028;&#51068;&#51060;&#45796;.&amp;nbsp;KShell.c &#54028;&#51068;&#50640; &#49828;&#52992;&#51460;&#47084;&#47484; &#44396;&#54788;&#54644;&#46020;&amp;nbsp;&#46104;&#51648;&#47564; &#53076;&#46300;&#44032;&amp;nbsp;&#44600;&#50612;&#51648;&#44256;&amp;nbsp;&#49752;&#44284;&#45716; &#53356;&#44172; &#44288;&#44228;&amp;nbsp;&#50630;&#45716; &#48512;&#48516;&#51060;&#48064;&#47196; &#46384;&#47196; &#44396;&#54788;&#54616;&#45716;&#44172; &#51339;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#50500;&#47000;&#51032; &#53076;&#46300;&#45716; Scheduler.h&#50640; &#54252;&#54632;&#46108; &#49828;&#52992;&#51460;&#47084; &#44288;&#47144; &#44396;&#51312;&#52404;&#51060;&#45796;. &#49828;&#52992;&#51460;&#47084;&#51032; &#53468;&#49828;&#53356; &#44288;&#47532; &#48512;&#48516;&#51008; &#53468;&#49828;&#53356;&#51032; &lt;strong style=""&gt;pstNext&lt;/strong&gt; &#54596;&#46300;&#47484; &#51060;&#50857;&#54616;&#50668; &#47553;&#53356;&#46300; &#47532;&#49828;&#53944;(Linked List)&#47484; &#51060;&#50857;&#54644;&#49436; &#44396;&#54788;&#54664;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;// &#44060;&#49688;&#47484; &#45320;&#47924; &#53356;&#44172; &#49444;&#51221;&#54616;&#47732; 4M &#51060;&#49345;&#51004;&#47196; &#45336;&#50612;&#44032;&#48260;&#47536;&#45796;.&lt;br /&gt;
// &#44536;&#47111;&#44172; &#46104;&#47732; &#52964;&#45328; &#49828;&#53469;&#51060; &#45936;&#51060;&#53552;&#47484; &#45934;&#50612;&#50416;&#44172; &#46104;&#49436; &#47928;&#51228;&#44032; &#48156;&#49373;&#54616;&#48064;&#47196; &#51201;&#45817;&#55176; &#51312;&#51208;&#54644;&#50556;&#54620;&#45796;.&lt;/li&gt;
&lt;li&gt;#define &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong style=""&gt;MAX_TASKCOUNT&lt;/strong&gt;&lt;/span&gt; 30&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;// &#49828;&#52992;&#51460;&#47084; &#44396;&#54788;&#51012; &#50948;&#54620; &#53468;&#49828;&#53356; &#51221;&#48372;&#47484; &#54252;&#54632;&#54620; &#44396;&#51312;&#52404;&lt;br /&gt;
typedef struct &lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong style=""&gt;SchedulerStruct&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int iTaskCount;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#47532;&#49828;&#53944;&#51032; &#54756;&#45908;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK* pstHeader;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54540;&#47000;&#44536; &#48320;&#49688;&#46308;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BOOL bEnableScheduler;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE bLock;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54788;&#51116; &#49688;&#54665;&#51473;&#51064; &#53468;&#49828;&#53356; ID&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int iCurrentTID;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#53468;&#49828;&#53356; &#51200;&#51109;&#51012; &#50948;&#54620; &#44277;&#44036;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; BOOL vbAlloc[ MAX_TASKCOUNT ];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK vstTask[ MAX_TASKCOUNT ];&lt;br /&gt;
} SCHEDULER,* PSCHEDULER;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#53468;&#49828;&#53356;&#47484; &#52628;&#44032;&#54616;&#44256; &#49325;&#51228;&#54616;&#45716; &#44163;&#50640; &#45824;&#54620; &#49464;&#48512; &#45236;&#50857;&#51008; &#44536;&#47532; &#50612;&#47157;&#51648; &#50506;&#51004;&#48064;&#47196; &#52392;&#48512;&#54028;&#51068;&#51012; &#49332;&#54196;&#48372;&#46020;&#47197; &#54616;&#44256;, &#50557;&#44036;&#51032; &#53944;&#47533;&#51060; &#44032;&#48120;&#46108; &#48512;&#48516;&#51012; &#51473;&#51216;&#51201;&#51004;&#47196; &#49332;&#54196;&#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49828;&#52880;&#51460;&#47084;&#47484; &#44396;&#54788;&#54624; &#46412;&#47560;&#45796; &#44256;&#48124;&#54616;&#45716; &#48512;&#48516;&#51060;&#44592;&#46020; &#54620;&#45936;...&amp;nbsp;&#44396;&#54788;&#50640; &#47928;&#51228;&#44032; &#46104;&#45716; &#48512;&#48516;&#51060; &#53468;&#49828;&#53356;&#44032; &#51088;&#49888;&#51032;&amp;nbsp;ID&#47484; &#50508;&#50500;&#45236;&#45716; &#48169;&#48277;&#51060;&#45796;.&amp;nbsp;&#53468;&#49828;&#53356;&#44032; &#51088;&#49888;&#51032;&amp;nbsp;ID &#51593;&amp;nbsp;TID&#44032; &#50620;&#47560;&#51064;&#51648; &#50612;&#46523;&#44172; &#50508;&#44620;?&amp;nbsp;&#44032;&#51109; &#49772;&#50868; &#48169;&#48277;&#51008;&amp;nbsp;&#49828;&#52992;&#51460;&#47084;&#44032; &#54788;&#51116; &#53468;&#49828;&#53356;&#51032;&amp;nbsp;ID&#47484;&amp;nbsp;&#44544;&#47196;&#48268; &#48320;&#49688; &#44057;&#51008;&#45936; &#51200;&#51109;&#54616;&#44256; &#53468;&#49828;&#53356;&#44032; &#44536; &#48320;&#49688;&#50640; &#51217;&#44540;&#54644;&#49436;&amp;nbsp;&#51069;&#45716; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060; &#48169;&#49885;&#51012; &#49324;&#50857;&#54620;&#45796;&#47732; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#49884;&#50640; &#44544;&#47196;&#48268; &#48320;&#49688;&#50640;&#49436; &#51088;&#44592; ID&#47484; &#51069;&#50612;&#50728; &#46244;&#50640; &#45796;&#51020; &#53468;&#49828;&#53356;&#47484; &#44160;&#49353;&#54616;&#50668;&amp;nbsp;&#52286;&#44256;,&amp;nbsp;&#49828;&#50948;&#52845; &#54616;&#44592; &#51204;&#50640; &#44544;&#47196;&#48268; &#48320;&#49688;&#50640; &#45796;&#51020; &#53468;&#49828;&#53356; &#48264;&#54840;&#47196; &#50629;&#45936;&#51060;&#53944;&#54620; &#54980; &#49828;&#50948;&#52845;&#51012; &#50756;&#47308;&#54644;&#50556; &#54620;&#45796;.&amp;nbsp;&#50780;&#45264;&#54616;&#47732; &#49828;&#52992;&#51460;&#47084;&#44032; &#54840;&#52636;&#46104;&#44256; &#45212; &#46244;&#45716; &#51060;&#48120; &#45796;&#47480; &#53468;&#49828;&#53356;&#47196; &#49828;&#50948;&#52845;&#46108; &#49345;&#53468;&#51060;&#48064;&#47196; &#51473;&#45800;&#46104;&#50632;&#45796;&#44032; &#48373;&#50896;&#46108;&amp;nbsp;&#53468;&#49828;&#53356;&#44032; &#44049;&#51088;&#44592; &#44544;&#47196;&#48268; &#48320;&#49688;&#50640; &#54788;&#51116; TID&#47484; &#48148;&#44988;&#45796;&#45716; &#44163;&#51008; &#44592;&#45824;&#54616;&#44592; &#55192;&#46308;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47100; &#50668;&#44592;&#49436; &#48156;&#49373;&#54616;&#45716; &#47928;&#51228;!!! &#53440;&#51060;&#47672;&#50640;&#49436; &#49828;&#52992;&#51460;&#47084; &#54632;&#49688;&#47484; &#54840;&#52636;&#54616;&#44256; &#53468;&#49828;&#53356;&#46020; &#49688;&#49884;&#47196; &#49828;&#52992;&#51460;&#47084; &#54632;&#49688;&#47484; &#54840;&#52636;&#54616;&#47732; &#50612;&#46523;&#44172;&#46112;&#44620;?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#48324; &#45796;&#47480;&amp;nbsp;&#52376;&#47532;&#47484; &#54616;&#51648; &#50506;&#50520;&#45796;&#47732;...&amp;nbsp;&#51221;&#45813;&#51008; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;"&#50633;&#47581;&#51060; &#46108;&#45796;"&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&#51060;&#45796;. &#12641;_&#12641;;;;;&amp;nbsp; &#50500;&#47000; &#53076;&#46300;&#47484; &#54620;&#48264; &#48372;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#45796;&#47480; &#53468;&#49828;&#53356;&#47484; &#49892;&#54665;&#49884;&#53416;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void SwitchTask( void )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK* pstCurTask;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK* pstNextTask;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstCurTask = &amp;amp;( gs_stScheduler.vstTask[ GetCurrentTID() ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstNextTask = pstCurTask-&amp;gt;pstNext;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if( pstNextTask == NULL )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstNextTask = gs_stScheduler.pstHeader;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;gs_stScheduler.iCurrentTID = pstNextTask-&amp;gt;iTID;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kSwitchTask( pstCurTask, pstNextTask );&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50948;&#51032; &#49345;&#54889;&#51012; &#49892;&#51228; &#53076;&#46300;&#50640;&#49436; &#49884;&#48044;&#47112;&#51060;&#49496;&amp;nbsp;&#54620;&#48264; &#54644;&#48372;&#51088;.&amp;nbsp;&#52964;&#45328;&#50640; &#52509; 3&#44060;&#51032; &#53468;&#49828;&#53356;&#44032; &#51316;&#51116;&#54620;&#45796;&#44256; &#49373;&#44033;&#54616;&#44256; &#54788;&#51116; &#53468;&#49828;&#53356;&#47484; T1&#51060;&#46972; &#54616;&#44256; T1&#51032; &#45796;&#51020; &#53468;&#49828;&#53356;&#47484; T2, T2&#51032; &#45796;&#51020; &#53468;&#49828;&#53356;&#47484; T3&#46972;&#44256; &#44032;&#51221;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#53468;&#49828;&#53356;&#44032; &#49828;&#52992;&#51460;&#47084; &#54632;&#49688;&#47484; &#54840;&#52636;&#54644;&#49436; &#50948;&#51032; &#54028;&#46976;&#46972;&#51064;&#44620;&#51648; &#49892;&#54665;&#54620;&#45796;&#51020;, &#53440;&#51060;&#47672;&#50640; &#51032;&#54644;&#49436; &#45796;&#49884; &#49828;&#52992;&#51460;&#47553;&#51060; &#46104;&#47732; &#50612;&#46523;&#44172; &#46112;&#44620;?&amp;nbsp;&#50500;&#51649; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#54632;&#49688;&#44032; &#54840;&#52636;&#46104;&#51648; &#50506;&#51008; &#49345;&#53468;&#50640;&#49436; &#44544;&#47196;&#48268; &#48320;&#49688;&#51064; gs_stScheduler.iCurrentTID &#44050;&#51060; T2&#47196; &#48148;&#45072; &#49345;&#53468;&#51060;&#48064;&#47196;&amp;nbsp;&#53440;&#51060;&#47672;&#50640; &#51032;&#54644;&#49436; &#49828;&#52992;&#51460;&#47084;&#44032; &#54840;&#52636;&#46104;&#50632;&#51012;&amp;nbsp;&#46412;&#45716;&amp;nbsp;T2&#51032; &#53468;&#49828;&#53356; &#44396;&#51312;&#52404;&#50640;&amp;nbsp;T1&#51032;&amp;nbsp;&#53468;&#49828;&#53356;&#47484; &#51200;&#51109;&#54616;&#44172; &#46104;&#44256;&amp;nbsp;&#48373;&#50896;&#46104;&#50612; &#49892;&#54665;&#46104;&#45716;&amp;nbsp;&#53468;&#49828;&#53356;&#45716; T3&#44032; &#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49692;&#49885;&#44036;&#50640;&amp;nbsp;T2 &#53468;&#49828;&#53356;&#44032; &#49324;&#46972;&#51256; &#48260;&#47160;&#45796;. &#44536;&#47532;&#44256; &#45796;&#49884;&#45716;&amp;nbsp;T2 &#53468;&#49828;&#53356;&#47484; &#48380; &#49688; &#50630;&#51012; &#44163;&#51060;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49892;&#51228;&#47196; &#51060; &#53076;&#46300;&#47484; &#44536;&#45824;&#47196; &#46028;&#47140;&#48372;&#47732; &#50500;&#47000;&#50752; &#44057;&#51008; &#44592;&#48516;&#51339;&#51008;(??) &#53356;&#47000;&#49772; &#54868;&#47732;&#51012; &#48380; &#49688; &#51080;&#45796;(General Fault&#45716; &#53076;&#46300; &#49892;&#54665; &#49884;&#50640; &#48156;&#49373;&#54620; Exception&#51012; &#51032;&#48120;&#54620;&#45796;).&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img class="attachment" title="&#53356;&#47000;&#49772;.PNG" src="/pages/355562/attachments/147069" alt="&#53356;&#47000;&#49772;.PNG" /&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#54532;&#47112;&#51076;&#50892;&#53356; &#53356;&#47000;&#49772; &#54868;&#47732;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51221;&#49345;&#51201;&#51004;&#47196; &#49892;&#54665;&#54616;&#44592;&#50948;&#54644;&#49436;&amp;nbsp;&#53076;&#46300;&#47484; &#50612;&#46523;&#44172; &#49688;&#51221;&#54644;&#50556; &#54624;&#44620;? &#54644;&#44208;&#52293;&#51008;&amp;nbsp;&#44036;&#45800;&#54616;&#45796;. &#50948; &#53076;&#46300;&#47484; &#54616;&#45208;&#51032; &#53468;&#49828;&#53356;&#47564; &#49892;&#54665;&#54616;&#46020;&#47197; &#49688;&#51221;&#54616;&#47732; &#46108;&#45796;. &#44032;&#51109; &#44036;&#45800;&#54620; &#48169;&#48277;&#51004;&#47196;&#45716; &#50948; &#53076;&#46300;&#51032; &#49884;&#51089;&#48512;&#53552;&amp;nbsp;&#45149;&#44620;&#51648;&#47484; &#51064;&#53552;&#47101;&#53944; &#48520;&#44032;&#47196; &#49444;&#51221;&#54616;&#47732; &#46108;&#45796;. &#51060;&#47111;&#44172; &#54616;&#47732; &#49892;&#54665;&#50640;&#45716; &#47928;&#51228;&#44032; &#50630;&#51648;&#47564; &#49828;&#50948;&#52845;&#51012; &#54624;&#46412;&#47560;&#45796; &#51064;&#53552;&#47101;&#53944;&#44032; &#48520;&#44032;&#44032;&#46104;&#45768; &#51064;&#53552;&#47101;&#53944; &#52376;&#47532;&#50640; &#47928;&#51228;&#44032; &#49373;&#44600; &#49688; &#51080;&#45796;(&#51064;&#53552;&#47101;&#53944; &#51648;&#50672;&#51060; &#48156;&#49373;&#54620;&#45796;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47100; &#45796;&#47480; &#48169;&#48277;&#51008; &#50630;&#45716;&#44152;&#44620;?&amp;nbsp;&#51312;&#44552;&#47564; &#45908; &#49373;&#44033;&#54644; &#48372;&#47732; &#51064;&#53552;&#47101;&#53944;&#47484; &#48520;&#44032;&#54644;&#50556; &#54616;&#45716; &#48512;&#48516;&#51012; &#51460;&#51068; &#49688; &#51080;&#45796;. &#53356;&#44172; &#46160;&#44032;&#51648; &#48512;&#48516;&#51004;&#47196; &#45208;&#45580; &#49688; &#51080;&#45716;&#45936;, &#52395;&#48264;&#51704; &#48512;&#48516;&#51008; &#49828;&#52992;&#51460;&#47553; &#54632;&#49688;&#47484; &#51473;&#48373;&#51004;&#47196; &#54840;&#52636;&#54616;&#51648; &#47803;&#54616;&#44172; &#54616;&#50668; &#52376;&#47532;&#54624; &#49688; &#51080;&#45716; &#48512;&#48516;&#51060;&#44256;, &#46160;&#48264;&#51704; &#48512;&#48516;&#51008; &#51064;&#53552;&#47101;&#53944; &#48520;&#44032;&#47196; &#54644;&#44208;&#54644;&#50556;&#54616;&#45716; &#48512;&#48516;&#51060;&#45796;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &#45796;&#47480; &#53468;&#49828;&#53356;&#47484; &#49892;&#54665;&#49884;&#53416;&#45796;.&lt;br /&gt;
*/&lt;br /&gt;
void SwitchTask( void )&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK* pstCurTask;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TASK* pstNextTask;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD dwFlags;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Scheduler&#47484; &#45796;&#47480;&#44275;&#50640;&#49436; &#54840;&#52636; &#47803;&#54616;&#46020;&#47197; Lock&#51012; &#44148;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if( kLock( &amp;amp;gs_stScheduler.bLock ) == FALSE )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return ;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstCurTask = &amp;amp;( gs_stScheduler.vstTask[ GetCurrentTID() ] );&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; pstNextTask = pstCurTask-&amp;gt;pstNext;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if( pstNextTask == NULL )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pstNextTask = gs_stScheduler.pstHeader;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; gs_stScheduler.iCurrentTID = pstNextTask-&amp;gt;iTID;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54540;&#47000;&#44536; &#47112;&#51648;&#49828;&#53552;&#47484; &#51200;&#51109;&#54616;&#44256;, &#51064;&#53552;&#47101;&#53944;&#47484; &#48520;&#44032;&#47196; &#49444;&#51221;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; dwFlags = kReadFlags32();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kClearInt();&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kUnlock( &amp;amp;gs_stScheduler.bLock );&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kSwitchTask( pstCurTask, pstNextTask );&amp;nbsp; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#54540;&#47000;&#44536; &#47112;&#51648;&#49828;&#53552;&#47484; &#48373;&#50896;&#54616;&#50668; &#51060;&#51204; &#51064;&#53552;&#47101;&#53944; &#54540;&#47000;&#44536;&#47484; &#48373;&#44396;&#54620;&#45796;.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; kWriteFlags32( dwFlags );&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&#50948;&amp;nbsp;&#48512;&#48516;&#50640;&#49436; &#54392;&#47480;&#49353; &#48512;&#48516;&#51060;&amp;nbsp;&#53468;&#49828;&#53356; &#49828;&#50948;&#52845;&#51012; &#51473;&#48373;&#51004;&#47196; &#54728;&#50857;&#54616;&#51648; &#50506;&#51004;&#47732; &#54644;&#44208;&#54624; &#49688; &#51080;&#45716; &#48512;&#48516;&#51060;&#45796;.&amp;nbsp;&#51452;&#51032;&#54644;&#49436; &#48380; &#44163;&#51008; &#48521;&#51008; &#49353; &#48512;&#48516;&#51064;&#45936;, &#51060; &#48512;&#48516;&#51008; &#51064;&#53552;&#47101;&#53944;&#50752; &#44288;&#47144;&#46108;&amp;nbsp;&#48512;&#48516;&#51004;&#47196; &#51064;&#53552;&#47101;&#53944; &#48520;&#44032;&#47484; &#49444;&#51221;&#54620; &#46244; &#49828;&#50948;&#52845;&#51012; &#54616;&#44256; &#45796;&#49884; &#50896;&#47000;&#51032; &#51064;&#53552;&#47101;&#53944; &#54540;&#47000;&#44536;&#47484; &#48373;&#50896;&#54616;&#45716; &#53076;&#46300;&#51060;&#45796;.&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;p&gt;&lt;strong style=""&gt;&amp;nbsp;&#51060;&#47111;&#44172;&#54616;&#47732; &#54841;&#49884;&#45208;&amp;nbsp;&#54788;&#51116; &#51200;&#51109;&#46108; &#51060; &#53468;&#49828;&#53356;&#44032; &#45796;&#49884; &#48373;&#50896;&#46104;&#50612; &#54540;&#47000;&#44536; &#47112;&#51648;&#49828;&#53552;&#47484; &#48373;&#50896;&#54616;&#44592; &#51204;&#44620;&#51648;&#45716; &#51064;&#53552;&#47101;&#53944;&#44032; &#48520;&#44032;&#44032; &#46104;&#45716;&#44172; &#50500;&#45776;&#44620;? &#45320;&#47924; &#50948;&#54744;&#54620; &#49373;&#44033;&#51060; &#50500;&#45776;&#44620;?&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&#44536;&#47111;&#51648; &#50506;&#45796;.&amp;nbsp;&#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#54632;&#49688;&#47484; &#54840;&#52636;&#54664;&#51012; &#46412; &#48373;&#50896;&#46104;&#44256; &#51200;&#51109;&#46104;&#45716; &#47112;&#51648;&#49828;&#53552;&#51473;&#50640; EFLAG &#47112;&#51648;&#49828;&#53552;(&#51064;&#53552;&#47101;&#53944;&#45208; &#44033;&#51333; &#49345;&#53468;&#44032; &#51200;&#51109;&#46104;&#50612;&#51080;&#45716; &#47112;&#51648;&#49828;&#53552;)&#44032; &#54252;&#54632;&#46104;&#50612; &#51080;&#44592; &#46412;&#47928;&#51060;&#45796;.&amp;nbsp;&#45796;&#49884; &#47568;&#54644; &#53468;&#49828;&#53356; &#48324;&#47196; &#51064;&#53552;&#47101;&#53944; &#44032;&#45733;/&#48520;&#44032; &#54540;&#47000;&#44536;&#47484; &#44032;&#51648;&#44256; &#51080;&#51004;&#48064;&#47196; &#45796;&#47480; &#53468;&#49828;&#53356;&#47484; &#48373;&#50896;&#54664;&#51012; &#46412; &#48373;&#50896;&#54620; &#53468;&#49828;&#53356;&#44032; &#51064;&#53552;&#47101;&#53944; &#44032;&#45733; &#49345;&#53468;&#50688;&#45796;&#47732; EFLAG &#47112;&#51648;&#49828;&#53552; &#48373;&#44396;&#47484; &#53685;&#54644; &#51088;&#50672;&#49828;&#47101;&#44172; &#44032;&#45733; &#49345;&#53468;&#47196; &#49444;&#51221;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#47564;&#50557; &#51060;&#44163;&#51012; kUnlock() &#54632;&#49688;&#47484; &#54840;&#52636;&#54644;&#49436; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845; &#48520;&#44032; &#54540;&#47000;&#44536;&#47484; &#54400;&#50612;&#51452;&#45716; &#48169;&#48277;&#51004;&#47196; &#44396;&#54788;&#54620;&#45796;&#44256; &#49373;&#44033;&#54644;&#48372;&#51088;.&amp;nbsp;&#53468;&#49828;&#53356;&#47484; &#48373;&#50896;&#54664;&#51012; &#46412; &#51228;&#51068; &#52376;&#51020; &#54644;&#50556; &#54624;&#51068;&#51060;&amp;nbsp;kUnlock()&#51012; &#54840;&#52636;&#54616;&#45716; &#51068;&#51060;&#44592; &#46412;&#47928;&#50640;&amp;nbsp;&#50668;&#47084;&#44032;&#51648; &#44860;&#49688;&#47484; &#49324;&#50857;&#54644;&#49436; &#51060;&#47484; &#52376;&#47532;&#54644;&#50556; &#54616;&#45716;&#45936;&amp;nbsp;&#44361;&#51109;&#55176; &#48373;&#51105;&#54616;&#45796;.(&#54620;&#48264; &#49345;&#49345;&#51012; &#54644;&#48372;&#51088;... &#50612;&#46523;&#44172; &#44396;&#54788;&#54624; &#44163;&#51064;&#51648;.. &#12641;,.&#12641;;;;).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#54540;&#47000;&#44536;(EFLAG) &#47112;&#51648;&#49828;&#53552;&#45716; &#53468;&#49828;&#53356; &#49828;&#50948;&#52845;&#51012; &#54616;&#47732;&#49436;&amp;nbsp;&#48373;&#50896;&#46104;&#44592; &#46412;&#47928;&#50640; &#50500;&#51452; &#44036;&#45800;&#54616;&#44172; &#51064;&#53552;&#47101;&#53944; &#48520;&#44032; &#50689;&#50669;&#51012; &#51460;&#51060;&#47732;&#49436;&amp;nbsp;&#46041;&#44592;&#54868;&#51032; &#47928;&#51228;&#47484; &#54644;&#44208;&#54624; &#49688; &#51080;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#47952; &#49324;&#49892; &#51648;&#44552; &#49345;&#54889;&#50640;&#49436; &#51064;&#53552;&#47101;&#53944; &#48520;&#44032; &#50689;&#50669;&#51012; &#51460;&#51060;&#45716;&#44172; &#53360; &#51032;&#48120;&#44032; &#51080;&#44192;&#45264;&#44256; &#51032;&#47928;&#51012; &#44032;&#51648;&#45716; &#49324;&#46988;&#51060; &#51080;&#51012;&#51648;&#46020; &#47784;&#47476;&#44192;&#45796;. &#49828;&#52992;&#51460;&#47084; &#51204; &#50689;&#50669;&#51012; &#53468;&#49828;&#53356; &#48520;&#44032;&#47196; &#47564;&#46308;&#50612;&#46020; &#44316;&#52270;&#44192;&#45796;&#44256; &#49373;&#44033;&#54616;&#45716; &#49324;&#46988;&#51008; &#49828;&#52992;&#51460;&#47084; &#53076;&#46300;&#44032; &#49688;&#49901;&#51460;&#51060; &#50500;&#45768;&#46972; &#49688;&#52380;&#51460;&#51068; &#46412;&#46020; &#44316;&#52270;&#51012;&#51648; &#49373;&#44033;&#54644; &#48372;&#44592; &#48148;&#46976;&#45796;. &#51060;&#47088; &#48373;&#51105;&#54620; &#49828;&#52992;&#51460;&#47084; &#53076;&#46300;&#50640;&#49436; &#49828;&#52992;&#51460;&#47084; &#54632;&#49688;&#51032;&amp;nbsp;&#49884;&#51089;&#48512;&#53552; &#45149;&#44620;&#51648; &#51064;&#53552;&#47101;&#53944;&#47484;&amp;nbsp;&#48520;&#44032;&#47484; &#54620;&#45796;&#47732;? &#44208;&#44284;&#45716; &#49345;&#49345;&#50640;&amp;nbsp;&#47585;&#44592;&#44192;&#45796; @0@)/~&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;kLock()&#44284; kUnlock() &#54632;&#49688;&#45716; Atomic&amp;nbsp;Operation&#51004;&#47196; &#54540;&#47000;&#44536;&#51032; &#44050;&#51012; &#48320;&#44221;&#54644;&#51452;&#44256; &#44536;&amp;nbsp;&#44208;&#44284;&#47484; &#47532;&#53556;&#44050;&#51004;&#47196; &#45208;&#53440;&#45236;&#45716;&amp;nbsp;&#54632;&#49688;&#51060;&#45796;. Atomic Operation&#51008; &#54644;&#45817; &#50669;&#54624;&#51012; &#45149;&#45236;&#44592; &#51204;&#50640; &#45796;&#47480; &#51060;&#50976;&#47196;&#54616;&#50668; &#51473;&#45800;&#46120;&#51060; &#50630;&#45796;&#45716; &#44163;&#51012; &#48372;&#51109;&#54616;&#45716; &#46041;&#51089;&#51060;&#45796;. &#46384;&#46972;&#49436; &#49464;&#47672;&#54252;&#50612;(Semaphore)&#45208; &#48036;&#53469;&#49828;(Mutex)&#50752; &#44057;&#51008; &#46041;&#44592;&#54868; &#44061;&#52404; &#44396;&#54788;&#50640; &#47566;&#51060; &#49324;&#50857;&#46108;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;kClearInt() &#54632;&#49688;&#50752;&amp;nbsp;kReadFlags32(), kWriteFlags32() &#54632;&#49688;&#45716; &#54540;&#47000;&#44536;(EFLAG) &#47112;&#51648;&#49828;&#53552;&#50752; &#44288;&#47144;&#46108; &#54632;&#49688;&#51064;&#45936;&amp;nbsp;Intel Architecture&#50640; &#44288;&#47144;&#46108; &#48512;&#48516;&#51060;&#46972;&#49436; &#51088;&#49464;&#54616;&#44172; &#49444;&#47749;&#54616;&#51652; &#50506;&#44192;&#45796;.&amp;nbsp;&amp;nbsp;&#51088;&#49464;&#54620; &#44163;&#51008;&amp;nbsp;&lt;a href="/pages/348969" class="wiki" title="&#52280;&#44256;. &#54532;&#47112;&#51076;&#50892;&#53356; &#51452;&#50836; &#54632;&#49688;&#46308;"&gt;&lt;strong style=""&gt;&#52280;&#44256;. &#54532;&#47112;&#51076;&#50892;&#53356; &#51452;&#50836; &#54632;&#49688;&#46308;&#44284;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="/pages/339549" class="wiki" title="Part5. Intel Architecture&#50640; &#45824;&#54620; &#49548;&#44060;"&gt;&lt;strong style=""&gt;Part5. Intel Architecture&#50640; &#45824;&#54620; &#49548;&#44060;&lt;/strong&gt;&lt;/a&gt;&amp;nbsp;&#47928;&#49436;&#47484; &#52280;&#44256;&#54616;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#49828;&#52992;&#51460;&#47084;&#51032; &#51204;&#52404; &#54028;&#51068;&#51008; &#50500;&#47000;&#50640; &#52392;&#48512;&#54664;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.3 KShell.c/h &#54028;&#51068; &#49688;&#51221;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#53580;&#49828;&#53944;&#50857; &#53076;&#46300;&#44032; &#49341;&#51077;&#46104;&#50612;&#51080;&#45912; &#48512;&#48516;&#51012; &#49828;&#52992;&#51460;&#47084; &#54028;&#51068;&#47196; &#45796; &#50734;&#44592;&#44256; &#44036;&#45800;&#55176; &#49688;&#51221;&#54620;&#45796;. &#49752;&#51032; &#51204;&#52404; &#54028;&#51068;&#51008; &#50500;&#47000;&#51032; &#53076;&#46300; &#52392;&#48512;&#47484; &#53685;&#54644; &#45796;&#50868; &#48155;&#46020;&#47197; &#54616;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/**&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; KShell &#51032; Main&lt;br /&gt;
*/&lt;br /&gt;
void Shell()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#52488;&#44592;&#54868;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;InitScheduler();&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // &#49352;&#47196;&#50868; &#53468;&#49828;&#53356; &#46321;&#47197;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;AddTask( EdgeDraw );&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;EnableScheduler( TRUE );&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; // Shell&#51032; &#49892;&#54665;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;ShellLoop();&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while( 1 );&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;3.4 makefile&amp;nbsp;&#54028;&#51068; &#49688;&#51221;(&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#51204;)&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#51204; &#49324;&#50857;&#51088;&#45716; makefile&#51012; &#49688;&#51221;&#54644; &#51452;&#50612;&#50556; &#54620;&#45796;. Scheduler.c/h &#54028;&#51068;&#51012;&amp;nbsp;&#52628;&#44032;&#54664;&#51004;&#45768; makefile&#51012; &#49688;&#51221;&#54616;&#51088;.&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;# &#51025;&#50857; &#54532;&#47196;&#44536;&#47016; &#54028;&#51068;&lt;br /&gt;
FW.o : $(CUSTOMDIR)Framework.c&lt;br /&gt;
&amp;nbsp;$(GCC) -o FW.o $(CUSTOMDIR)FrameWork.c&lt;br /&gt;
KShell.o : $(CUSTOMDIR)KShell.c&lt;br /&gt;
&amp;nbsp;$(GCC) -o KShell.o $(CUSTOMDIR)KShell.c&lt;br /&gt;
&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Sched.o&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;: $(CUSTOMDIR)&lt;span style="color: rgb(255, 0, 0);"&gt;Scheduler.c&lt;/span&gt;&amp;nbsp;$(GCC) -o &lt;span style="color: rgb(255, 0, 0);"&gt;Sched.o&lt;/span&gt; $(CUSTOMDIR)&lt;span style="color: rgb(255, 0, 0);"&gt;Scheduler.c&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;#Object &#54028;&#51068; &#51060;&#47492; &#45796; &#51201;&#44592;&lt;br /&gt;
#&#50500;&#47000;&#51032; &#49692;&#49436;&#45824;&#47196; &#47553;&#53356;&#46108;&#45796;.&lt;br /&gt;
OBJ = A.o K.o Is.o D.o Int.o Key.o Stdlib.o Task.o FW.o KShell.o &lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Sched.o&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;Scheduler.c &#54028;&#51068;&#51012; &#52628;&#44032;&#54664;&#51004;&#45768; makekernel.bat&#47484; &#49892;&#54665;&#54644; &#48372;&#51088;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4.&#47560;&#52824;&#47732;&#49436;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#51060;&#48264;&#50640; &#49828;&#52992;&#51460;&#47084; &#53076;&#46300;&#47484; &#52628;&#44032;&#54616;&#47732;&#49436; &#44536; &#46041;&#50504; &#49704;&#44200;&#51256;&#50772;&#45912; &#53076;&#46300;&#46308;&#51032; &#48260;&#44536;&#44032; &#49549;&#49549;&#46308;&#51060; &#46300;&#47084;&#45228;&#45796;. &#46356;&#48260;&#44613;&#54620;&#45796;&#44256; &#54844;&#52048;&#51060; &#45228;&#45716;&#45936;... &#44256;&#49373;&#54620;&#44152; &#49373;&#44033;&#54616;&#47732; &#45576;&#47932;&#51060;.. &#12636;_&#12636;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&#44592;&#45392;&#51004;&#47196; &#49828;&#53356;&#47536;&amp;nbsp;&#49399; &#54616;&#45208; &#50732;&#47536;&#45796;.&amp;nbsp;starttask &#47749;&#47161;&#44284;&amp;nbsp;showtask &#47749;&#47161;&#51060; &#52628;&#44032;&#46104;&#50632;&#45796;. starttask &#54632;&#49688;&#45716;&amp;nbsp;EdgeDraw &#53468;&#49828;&#53356;&#47484; &#49892;&#54665;&#54644;&#51452;&#45716; &#50669;&#54624;&#51012; &#54616;&#44256;, showtask &#54632;&#49688;&#45716; &#54788;&#51116; &#46041;&#51089;&#51473;&#51064; &#53468;&#49828;&#53356;&#51032;&amp;nbsp;&#44060;&#49688;&#47484; &#47532;&#53556;&#54616;&#45716; &#50669;&#54624;&#51012; &#54620;&#45796;.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;img class="attachment" title="&#47680;&#54000;&#53468;&#49828;&#53356;.PNG" src="/pages/355562/attachments/147072" alt="&#47680;&#54000;&#53468;&#49828;&#53356;.PNG" /&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;strong style=""&gt;&amp;lt;&#47680;&#54000; &#53468;&#49828;&#53433; &#49892;&#54665; &#54868;&#47732;&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;5.&#52392;&#48512;&lt;/h2&gt;
&lt;h3&gt;5.1&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#51204;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#51204; &#54028;&#51068;&#51060;&#45796;. &#45796;&#50868; &#48155;&#50500;&#49436; &#45934;&#50612;&#50416;&#47732; &#46108;&#45796;(&#44592;&#51316; &#53076;&#46300;&#51032; &#48260;&#44536;&#46020; &#44057;&#51060; &#49688;&#51221;&#54664;&#45796;).&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/pages/355562/attachments/147073" class="attachment" title="Custom.zip"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Custom.zip&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: Custom &#54260;&#45908;&#51032; &#54028;&#51068;&#46308;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/355562/attachments/147074" class="attachment" title="FW.zip"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;FW.zip&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;: FW &#54260;&#45908;&#51032; &#54028;&#51068;&#46308;&amp;nbsp;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/pages/355562/attachments/147075" class="attachment" title="makefile"&gt;&lt;strong style=""&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;makefile&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong style=""&gt;&amp;nbsp;:&amp;nbsp;Scheduler &#54028;&#51068; &#48716;&#46300;&#50857;&amp;nbsp;makefile&amp;nbsp;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong style=""&gt;5.2 &#54532;&#47112;&#51076;&#50892;&#53356;&amp;nbsp;1.0.3&amp;nbsp;&#48260;&#51204; &#51060;&#54980;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&#54532;&#47112;&#51076;&#50892;&#53356; 1.0.3 &#48260;&#51204; &#51060;&#54980; &#54028;&#51068;&#51060;&#45796;. &#45796;&#50868; &#48155;&#50500;&#49436; &#45934;&#50612;&#50416;&#47732; &#46108;&#45796;.&lt;/p&gt;
&lt;div class="section" style="background-color: rgb(249, 249, 216);"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="/pages/355562/attachments/191485" class="attachment" title="Custom_1_0_3.zip"&gt;&lt;strong style=""&gt;Custom_1_0_3.zip&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Tue, 13 Sep 2011 14:13:38 +0900</pubDate>
      <link>http://kkamagui.springnote.com/pages/355562</link>
      <guid>http://kkamagui.springnote.com/pages/355562</guid>
    </item>
  </channel>
</rss>

