dso.html.ko.euc-kr revision 45a544a8bb3fa1f95e5edac9fb3e723e2bb7001d
<?xml version="1.0" encoding="EUC-KR"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>���������ü (DSO) ���� - Apache HTTP Server</title>
<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="/images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="/mod/">���</a> | <a href="/mod/directives.html">���þ��</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">���</a> | <a href="/sitemap.html">����Ʈ��</a></p>
<p class="apache">Apache HTTP Server Version 2.3</p>
<img alt="" src="/images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>���������ü (DSO) ����</h1>
<div class="toplang">
<p><span>������ ���: </span><a href="/en/dso.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/dso.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/dso.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/dso.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/dso.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">�� ������ �ֽ��� ���� �ƴմϴ�.
�ֱٿ� ����� ������ ���� ������ ����ϼ���.</div>
<p>����ġ �������� ���ڰ� ������ �����Ͽ� ������ ������
����� ������ �� �ִ� ���ȭ�� ���α׷��̴�. ������ �����Ҷ�
<code>httpd</code> �������Ͽ� �������� ����� ��������
�� �ִ�. �ƴϸ� ����� <code>httpd</code> �������ϰ�
�и��Ͽ� ���������ü(Dynamic Shared Objects, DSO)�� ��������
�� �ִ�. DSO ����� ������ �������Ҷ� �������ϰų�, Apache
Extension Tool (<a href="programs/apxs.html">apxs</a>)��
����Ͽ� ���߿� �������Ͽ� �߰��� �� �ִ�.</p>
<p>�� ������ DSO ��� ����� ��� �̷��� �����Ѵ�.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#implementation">����</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#usage">���� ���</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#background">�������</a></li>
<li><img alt="" src="/images/down.gif" /> <a href="#advantages">�����</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="implementation" id="implementation">����</a></h2>
<table class="related"><tr><th>��õ� ���</th><th>��õ� ���þ�</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
<p>����ġ �ٽɿ� �������� �������ؾ���
<code class="module"><a href="/mod/mod_so.c.html">mod_so.c</a></code>��� ����� ����ġ �����
�о���̱����� DSO�� �����Ѵ�.
�� ����� <code class="module"><a href="/mod/core.html">core</a></code>�� �����ϰ� DSO��
�� �� ��� ������ ����̴�. ������ �ٸ� ��� ����ġ �����
<a href="install.html">��ġ ����</a>���� ������
<code>configure</code>�� <code>--enable-<em>module</em>=shared</code>
�ɼ��� ����Ͽ� DSO�� �������� �� �ִ�. �����
<code>mod_foo.so</code>�� ���� DSO�� ���������� <code>httpd.conf</code>
���Ͽ� <code class="module"><a href="/mod/mod_so.html">mod_so</a></code>��
<code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> ��ɾ
����Ͽ� ���� ���۽� Ȥ�� ����۽� �� ����� �о���� ��
�ִ�.</p>
<p>����ġ ���(Ư�� �����ڰ� ���� ���)�� ����� DSO ������ ����
��������� <a href="programs/apxs.html">apxs</a> (<em>APache
eXtenSion</em>)��� ���ο� ���� ���α׷��� �ִ�. �� ���α׷���
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> DSO�� ����� �����
�������Ҷ� ����Ѵ�. ������ ����. ����ġ�� ��ġ�Ҷ�
<code>configure</code>�� <code>make install</code>��
����ġ C ��������� ��ġ�ϰ�, DSO ������ �������ϱ�����
�÷��� Ư���� �����Ϸ� �ɼǰ� ��Ŀ �ɼ��� <code>apxs</code>
���α׷��� ����Ѵ�. �׷��� <code>apxs</code>�� ����ϴ� ����ڴ�
����ġ ������ �ҽ� Ʈ������, �� DSO ������ ���� �÷��� Ư����
�����Ϸ� �ɼǿ� ��Ŀ �ɼǿ� �Ű��� �����ʰ� �ڽ��� ����ġ
��� �ҽ��� �������� �� �ִ�.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">���� ���</a></h2>
<p>Apache 2.2�� DSO ��ɿ� ���� ª�� ������ ����̴�:</p>
<ol>
<li>
<em>�������� �ִ�</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
���. ���� ��� <code>mod_foo.c</code>�� DSO
<code>mod_foo.so</code>��:
<div class="example"><p><code>
$ /configure --prefix=/path/to/install --enable-foo=shared<br />
$ make install
</code></p></div>
</li>
<li>
<em>�����ڰ� ����</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
���. ���� ��� <code>mod_foo.c</code>�� DSO
<code>mod_foo.so</code>��:
<div class="example"><p><code>
$ /configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared<br />
$ make install
</code></p></div>
</li>
<li>
���� ����� <em>���߿� ����ϱ�����</em> ����ġ�� �����ϴ�
���:
<div class="example"><p><code>
$ /configure --enable-so<br />
$ make install
</code></p></div>
</li>
<li>
<em>�����ڰ� ����</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
���. <a href="programs/apxs.html">apxs</a>�� ����Ͽ�
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> <code>mod_foo.c</code>��
DSO <code>mod_foo.so</code>��:
<div class="example"><p><code>
$ cd /path/to/3rdparty<br />
$ apxs -c mod_foo.c<br />
$ apxs -i -a -n foo mod_foo.la
</code></p></div>
</li>
</ol>
<p>��� ��� �ϴ� ���� ����� �����ϵǸ�, <code>httpd.conf</code>��
<code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> ���þ
����Ͽ� ����ġ�� �� ����� �о���̰� �����.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="background" id="background">�������</a></h2>
<p>�������� ���н���� <em>���������ü</em> (DSO)��
���� ��ŷ/�ε�(dynamic linking/loading)�̶�� �Ͽ�, Ư����
����� �����ڵ� ������ ����� �������� �������α׷���
�ּҰ� �о���̴� ���� ����� �ִ�.</p>
<p>���� �ΰ��� ������� �о���� �� �ִ�. �ϳ��� �������α׷���
�����Ҷ� <code>ld.so</code>��� �ý��� ���α׷��� �ڵ�����
�о���̴� ����, �ٸ� �ϳ��� �������� ���α׷���
<code>dlopen()/dlsym()</code> �ý���ȣ��� ���н� �δ�(loader)��
�ý��� �������̽��� ����Ͽ� ���� �о���̴� ����.</p>
<p>ù��° ��� DSO�� ���� <em>�������̺귯��(shared libraries)</em>
Ȥ�� <em>DSO ���̺귯��</em>��� �θ���, ������
<code>libfoo.so</code>�� <code>libfoo.so.1.2</code> ����
�̸��� �����. �̵��� �ý��� ���丮(���� <code>/usr/lib</code>)��
�ְ�, �����Ͻ� ��Ŀ ��ɾ <code>-lfoo</code>�� �־�
�������ϰ� �����Ѵ�. �̷��� ���� ���� ���̺귯���� �������Ͽ�
�����ǿ���, ���α׷��� �����Ҷ� ��Ŀ �ɼ� <code>-R</code>��
���� ������ ���, ȯ�溯�� <code>LD_LIBRARY_PATH</code>��
������ ��� Ȥ�� <code>/usr/lib</code>���� ���н� �δ���
<code>libfoo.so</code>�� ã�� �� �ִ�. �׷��� �������α׷���
(���� ��ã��(unresolved)) �ɺ�(symbol)�� DSO���� ã�Եȴ�.</p>
<p>DSO�� ���� �������α׷��� �ɺ��� ã���ʱ� ������ (DSO��
���밡���� �Ϲ����� �ڵ� ���̺귯���̹Ƿ�) ã��� ���⼭
������. ���н� �δ��� �ɺ� ã�⸦ ������ ����ϹǷ� �������α׷���
���� DSO���� �ɺ��� ã�� �ʿ䰡 ���. (��� <code>ld.so</code>��
�θ��� �ڵ�� ������ �ƴ� ��� �������α׷��� ��ũ�Ǵ� �����
�����ڵ��� �Ϻδ�.) ����� ���̺귯�� �ڵ带 �������� �о���̴�
������ ��Ȯ�ϴ�. ���̺귯�� �ڵ尡 ��� ���α׷��� �ߺ��ؼ�
����Ǵ� ��� <code>libc.so</code>�� ���� �ý��� ���̺귯����
�ѹ� ����DZ� ������ ��ũ ���� ���ȴ�.</p>
<p>�ι�° ��� DSO�� ���� <em>������ü(shared objects)</em>
Ȥ�� <em>DSO ����</em>�̶�� �θ���, (��Ģ�� �̸���
<code>foo.so</code>������) ������ Ȯ���ڴ� �����Ӵ�. ��
���ϵ��� ���� ���α׷� ��ü ���丮�� ��ġ�ϰ� �������α׷���
�ڵ����� ������� �ʴ´�. ��� �������α׷��� �����
<code>dlopen()</code>�� ����Ͽ� DSO�� �ּҰ�
���� �о�鿩�� �Ѵ�. �̶� �������α׷��� DSO���� �ɺ���
ã�� �ʴ´�. ��� �տ��� �� ���н� �δ��� �ڵ����� �������ϰ�
���������� �̹� �о���� DSO ���̺귯��(Ư�� �׻� �����ϴ�
<code>libc.so</code>�� ��� �ɺ�)���� DSO�� (���� ��ã��)
�ɺ��� ã�´�. �׷��� DSO�� ��ġ ó������ �������α׷���
�������� ��ũ�ȰͰ� ���� ���������� �ɺ��� �˰Եȴ�.</p>
<p>DSO�� API�� �̿��ϱ����ؼ� ���������� �������α׷���
<code>dlsym()</code>���� DSO���� Ư�� �ɺ��� ã�Ƽ�, ������
����ϱ����� ����ġ(dispatch) ǥ <em>��</em>�� �����Ѵ�.
�ٸ� ���� �������α׷��� ����� ��� �Ǻ��� ���� ã�ƾ��Ѵ�.
�̷� ������ ������ ���α׷��� �Ϻθ� ���α׷���
�ʿ��Ҷ����� �о������ �ʾƵ� (�׷��� �޸𸮸� ��������
�ʰ�) �ȴٴ� ���̴�. �⺻ ���α׷��� ����� Ȯ���ϱ�����
�ʿ��� ��� �� �κ��� �������� �о���� �� �ִ�.</p>
<p>�̷� DSO ������ �ڿ������� ��������, �ּ��� ����� ����
�Ѱ����ִ�. ���α׷��� Ȯ���ϱ����� DSO�� ����Ҷ� DSO��
�������α׷��� �ɺ��� ã�� ���̴�. ��? DSO�� �������α׷���
�ɺ��� "������ ã�� ��"�� (���̺귯���� �ڽ��� ����ϴ� ���α׷���
���� �𸥴ٴ�) ���̺귯�� ���迡 ���ϸ�, ��� �÷���
��������ʰ� ǥ��ȭ������ �ʾұ� �����̴�. ������ ����������
��ɺ�(global symbol)�� ���� �ͽ���Ʈ(export)���� �ʱ⶧����
DSO�� ����� �� ���. DSO�� ����Ͽ� ������ ���α׷��� Ȯ���Ϸ���
��Ŀ���� ��� ��ɺ��� �ͽ���Ʈ�ϵ��� �����ϴ� ���� �ֵ�
�ذ�å�̴�.</p>
<p>�������̺귯���� DSO ����� �����Ģ��� �������̱⶧����
�ü���� �����ϴ� ���� ��� ������ ���̺귯���� ����Ѵ�.
�ݴ�� ���� ���α׷��� ���α׷��� Ȯ���ϱ����� ������ü��
������� �ʴ´�.</p>
<p>1998�� ������ ������ ����� Ȯ���ϱ����� DSO ������ �����
����Ʈ���� ��Ű���� (XS ������ DynaLoader ����� �����)
Perl 5, Netscape Server <em>��</em>���� �幰���. ����ġ��
�̹� ����� Ȯ���ϱ����� ��� ������ ����߰� �ܺ� �����
����ġ �ٽɱ�ɿ� �����ϱ����� ���������� ����ġ�����
�̿��� ���ٹ���� ����߱⶧���� 1.3 ������� �� �뿭�� �շ��ߴ�.
�׷��� ����ġ�� ������ ����� �о���̴µ� DSO�� ����ϵ���
�����������.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
<div class="section">
<h2><a name="advantages" id="advantages">�����</a></h2>
<p>�տ��� ���� DSO�� ����ϸ� ������ ���� ������ �ִ�:</p>
<ul>
<li>���� ���� ���μ����� �����Ͻ� <code>configure</code>
�ɼǴ�� <code>httpd.conf</code>�� <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code>�� ����Ͽ� �����߿�
���յǹǷ� ���� ��Ű�� ������ �� �����ϴ�. ���� ��� �ѹ���
����ġ ��ġ������ �ٸ� ����(ǥ�� ����� SSL ����, �ּ�ȭ
����� ����߰� ���� [mod_perl, PHP3] <em>��</em>)�� ������
�� �ִ�.</li>
<li>������ ��ġ�Ŀ��� �����ڰ� ���� ����� ����Ͽ� ����
Ȯ���� �� �ִ�. �ּ��� ����� ��Ű�� �����ڴ� ����ġ �ٽ�
������ ������ PHP3, mod_perl, mod_fastcgi <em>��</em>��
�߰� ��Ű���� ���� �� �־ ū �̵��̴�.</li>
<li>DSO�� <code>apxs</code>�� ������ ����ġ �ҽ� Ʈ�� �ۿ���
�۾��ϰ� <code>apxs -i</code>�� <code>apachectl restart</code>
��ɾ���� ���� ������ ����� �� ������ �������� ����ġ
������ �ݿ��� �� �־ �� ���� ����ġ ����� ������ ��
�ִ�.</li>
</ul>
<p>DSO�� ������ ���� ������ �ִ�:</p>
<ul>
<li>���α׷��� �ּҰ� �ڵ带 �������� �о���̴� �����
���������ʴ� �ü���� �ֱ� ������ ��� �÷��� DSO��
����� �� ���.</li>
<li>���н� �δ��� �ɺ��� ã�ƾ��ϱ� ������ ���� ������
�� 20% ���� �ʾ����.</li>
<li>������ ��ġ�����ڵ�(position independent code, PIC)
������ ����ּ�����(absolute addressing)���� ����
����ּ�����(relative addressing)�� ������ ����? �����
�ʿ��ϹǷ� � �÷��� ����� �� 5% ���� �ʴ�.</li>
<li>DSO ����� �ٸ� DSO��� ���̺귯��(<code>ld -lfoo</code>)��
��ũ�� �� ��� �÷����� �ֱ⶧���� (���� ��� ELF���
�÷����� ���������� a.out��� �÷����� ���� �� �����
�������� �ʴ´�) ��� ������ ��⿡ DSO�� ����� �� ���.
�ٸ� ���� DSO ���Ϸ� �������ϴ� ����� ����ġ �ٽɰ� ����ġ
�ٽ��� ����ϴ� C ���̺귯��(<code>libc</code>)�� �ٸ�
����/���� ���̺귯��, ��ġ�����ڵ带 ��� �ִ� ���� ���̺귯��
��ī�̺�(<code>libfoo.a</code>)�� �ɺ����� ����� �� �ִ�.
�ٸ� �ڵ带 ����Ϸ��� ����ġ �ٽ��� �װ��� �����ϴ���,
<code>dlopen()</code>���� ���� �ڵ带 �о�鿩�� �Ѵ�.</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>������ ���: </span><a href="/en/dso.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="/fr/dso.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="/ja/dso.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="/ko/dso.html" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="/tr/dso.html" hreflang="tr" rel="alternate" title="T&#252;rk&#231;e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="/mod/">���</a> | <a href="/mod/directives.html">���þ��</a> | <a href="/faq/">FAQ</a> | <a href="/glossary.html">���</a> | <a href="/sitemap.html">����Ʈ��</a></p></div>
</body></html>