1
<?xml version="1.0" encoding="EUC-KR"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"><head><!--
4
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5
This file is generated from xml source: DO NOT EDIT
6
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8
<title>����������ü (DSO) ���� - Apache HTTP Server</title>
9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
13
<body id="manual-page"><div id="page-header">
14
<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>
15
<p class="apache">Apache HTTP Server Version 2.2</p>
16
<img alt="" src="./images/feather.gif" /></div>
17
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.2</a></div><div id="page-content"><div id="preamble"><h1>����������ü (DSO) ����</h1>
21
<p><span>������ ���: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
22
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
23
<a href="./ko/dso.html" title="Korean"> ko </a></p>
25
<div class="outofdate">�� ������ �ֽ��� ������ �ƴմϴ�.
26
�ֱٿ� ����� ������ ���� ������ �����ϼ���.</div>
28
<p>����ġ �������� �����ڰ� ������ �����Ͽ� ������ ������
29
����� ������ �� �ִ� ���ȭ�� ���α��̴�. ������ �����Ҷ�
30
<code>httpd</code> �������Ͽ� �������� ����� ��������
31
�� �ִ�. �ƴϸ� ����� <code>httpd</code> �������ϰ�
32
�и��Ͽ� ����������ü(Dynamic Shared Objects, DSO)�� ��������
33
�� �ִ�. DSO ����� ������ �������Ҷ� �������ϰų�, Apache
34
Extension Tool (<a href="programs/apxs.html">apxs</a>)��
35
����Ͽ� ���߿� �������Ͽ� �߰��� �� �ִ�.</p>
37
<p>�� ������ DSO ��� ������ ��� �̷��� �����Ѵ�.</p>
39
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation">����</a></li>
40
<li><img alt="" src="./images/down.gif" /> <a href="#usage">���� ���</a></li>
41
<li><img alt="" src="./images/down.gif" /> <a href="#background">�������</a></li>
42
<li><img alt="" src="./images/down.gif" /> <a href="#advantages">�����</a></li>
44
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
46
<h2><a name="implementation" id="implementation">����</a></h2>
48
<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>
50
<p>����ġ �ٽɿ� �������� �������ؾ���
51
<code class="module"><a href="./mod/mod_so.c.html">mod_so.c</a></code>��� ����� ����ġ �����
52
�о���̱����� DSO�� �����Ѵ�.
53
�� ����� <code class="module"><a href="./mod/core.html">core</a></code>�� �����ϰ� DSO��
54
�� �� ���� ������ ����̴�. ������ �ٸ� ��� ����ġ �����
55
<a href="install.html">��ġ ����</a>���� ������
56
<code>configure</code>�� <code>--enable-<em>module</em>=shared</code>
57
�ɼ��� ����Ͽ� DSO�� �������� �� �ִ�. �����
58
<code>mod_foo.so</code>�� ���� DSO�� ���������� <code>httpd.conf</code>
59
���Ͽ� <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>��
60
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> ���ɾ
61
����Ͽ� ���� ���۽� Ȥ�� ����۽� �� ����� �о���� ��
64
<p>����ġ ���(Ư�� �����ڰ� ���� ���)�� ����� DSO ������ ����
65
��������� <a href="programs/apxs.html">apxs</a> (<em>APache
66
eXtenSion</em>)��� ���ο� ���� ���α��� �ִ�. �� ���α���
67
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> DSO�� ����� �����
68
�������Ҷ� ����Ѵ�. ������ ����. ����ġ�� ��ġ�Ҷ�
69
<code>configure</code>�� <code>make install</code>��
70
����ġ C ��������� ��ġ�ϰ�, DSO ������ �������ϱ�����
71
�÷��� Ư���� �����Ϸ� �ɼǰ� ��Ŀ �ɼ��� <code>apxs</code>
72
���α��� ����Ѵ�. ���� <code>apxs</code>�� ����ϴ� ����ڴ�
73
����ġ ������ �ҽ� Ʈ������, �� DSO ������ ���� �÷��� Ư����
74
�����Ϸ� �ɼǿ� ��Ŀ �ɼǿ� �Ű��� �����ʰ� �ڽ��� ����ġ
75
��� �ҽ��� �������� �� �ִ�.</p>
76
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
78
<h2><a name="usage" id="usage">���� ���</a></h2>
80
<p>Apache 2.0�� DSO ��ɿ� ���� ª�� ������ ����̴�:</p>
84
<em>�������� �ִ�</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
85
���. ���� ��� <code>mod_foo.c</code>�� DSO
86
<code>mod_foo.so</code>��:
88
<div class="example"><p><code>
89
$ ./configure --prefix=/path/to/install --enable-foo=shared<br />
95
<em>�����ڰ� ����</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
96
���. ���� ��� <code>mod_foo.c</code>�� DSO
97
<code>mod_foo.so</code>��:
99
<div class="example"><p><code>
100
$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared<br />
106
���� ����� <em>���߿� ����ϱ�����</em> ����ġ�� �����ϴ�
109
<div class="example"><p><code>
110
$ ./configure --enable-so<br />
116
<em>�����ڰ� ����</em> ����ġ ����� �������ϰ� ��ġ�ϴ�
117
���. <a href="programs/apxs.html">apxs</a>�� ����Ͽ�
118
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> <code>mod_foo.c</code>��
119
DSO <code>mod_foo.so</code>��:
121
<div class="example"><p><code>
122
$ cd /path/to/3rdparty<br />
123
$ apxs -c mod_foo.c<br />
124
$ apxs -i -a -n foo mod_foo.la
129
<p>��� ��� �ϴ� ���� ����� �����ϵǸ�, <code>httpd.conf</code>��
130
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> ���þ
131
����Ͽ� ����ġ�� �� ����� �о���̰� �����.</p>
132
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
133
<div class="section">
134
<h2><a name="background" id="background">�������</a></h2>
136
<p>�������� ���н������� <em>����������ü</em> (DSO)��
137
���� ��ŷ/�ε�(dynamic linking/loading)�̶�� �Ͽ�, Ư����
138
������ �����ڵ� ������ ����� �������� �������α���
139
�ּҰ����� �о���̴� ���� ����� �ִ�.</p>
141
<p>���� �ΰ��� ������� �о���� �� �ִ�. �ϳ��� �������α���
142
�����Ҷ� <code>ld.so</code>��� �ý��� ���α��� �ڵ�����
143
�о���̴� ����, �ٸ� �ϳ��� �������� ���α���
144
<code>dlopen()/dlsym()</code> �ý���ȣ��� ���н� �δ�(loader)��
145
�ý��� �������̽��� ����Ͽ� ���� �о���̴� ����.</p>
147
<p>ù��° ��� DSO�� ���� <em>�������̺귯��(shared libraries)</em>
148
Ȥ�� <em>DSO ���̺귯��</em>��� �θ���, ������
149
<code>libfoo.so</code>�� <code>libfoo.so.1.2</code> ����
150
�̸��� ������. �̵��� �ý��� ���丮(���� <code>/usr/lib</code>)��
151
�ְ�, �����Ͻ� ��Ŀ ���ɾ <code>-lfoo</code>�� �־�
152
�������ϰ� �����Ѵ�. �̷��� ���� ���� ���̺귯���� �������Ͽ�
153
�����ǿ���, ���α��� �����Ҷ� ��Ŀ �ɼ� <code>-R</code>��
154
���� ������ ���, ȯ�溯�� <code>LD_LIBRARY_PATH</code>��
155
������ ��� Ȥ�� <code>/usr/lib</code>���� ���н� �δ���
156
<code>libfoo.so</code>�� ã�� �� �ִ�. ���� �������α���
157
(���� ��ã��(unresolved)) �ɺ�(symbol)�� DSO���� ã�Եȴ�.</p>
159
<p>DSO�� ���� �������α��� �ɺ��� ã���ʱ� ������ (DSO��
160
���밡���� �Ϲ����� �ڵ� ���̺귯���̹Ƿ�) ã��� ���⼭
161
������. ���н� �δ��� �ɺ� ã�⸦ ������ ����ϹǷ� �������α���
162
���� DSO���� �ɺ��� ã�� �ʿ䰡 ����. (��� <code>ld.so</code>��
163
�θ��� �ڵ�� ������ �ƴ� ��� �������α��� ��ũ�Ǵ� �����
164
�����ڵ��� �Ϻδ�.) ����� ���̺귯�� �ڵ带 �������� �о���̴�
165
������ ��Ȯ�ϴ�. ���̺귯�� �ڵ尡 ��� ���α��� �ߺ��ؼ�
166
����Ǵ� ��� <code>libc.so</code>�� ���� �ý��� ���̺귯����
167
�ѹ��� ����DZ� ������ ��ũ ������ ����ȴ�.</p>
169
<p>�ι�° ��� DSO�� ���� <em>������ü(shared objects)</em>
170
Ȥ�� <em>DSO ����</em>�̶�� �θ���, (��Ģ�� �̸���
171
<code>foo.so</code>������) ������ Ȯ���ڴ� �����Ӵ�. ��
172
���ϵ��� ���� ���α� ��ü ���丮�� ��ġ�ϰ� �������α���
173
�ڵ����� ������� �ʴ´�. ��� �������α��� �����
174
<code>dlopen()</code>�� ����Ͽ� DSO�� �ּҰ�����
175
���� �о�鿩�� �Ѵ�. �̶� �������α��� DSO���� �ɺ���
176
ã�� �ʴ´�. ��� �տ��� �� ���н� �δ��� �ڵ����� �������ϰ�
177
���������� �̹� �о���� DSO ���̺귯��(Ư�� �� �����ϴ�
178
<code>libc.so</code>�� ��� �ɺ�)���� DSO�� (���� ��ã��)
179
�ɺ��� ã�´�. ���� DSO�� ��ġ ó������ �������α���
180
�������� ��ũ�ȰͰ� ���� ���������� �ɺ��� �˰Եȴ�.</p>
182
<p>DSO�� API�� �̿��ϱ����ؼ� ���������� �������α���
183
<code>dlsym()</code>���� DSO���� Ư�� �ɺ��� ã�Ƽ�, ������
184
����ϱ����� ����ġ(dispatch) ǥ <em>��</em>�� �����Ѵ�.
185
�ٸ� ���� �������α��� ����� ��� �Ǻ��� ���� ã�ƾ��Ѵ�.
186
�̷� ������ ������ ���α��� �Ϻθ� ���α���
187
�ʿ��Ҷ����� �о������ �ʾƵ� (���� �� ��������
188
�ʰ�) �ȴٴ� ���̴�. �⺻ ���α��� ����� Ȯ���ϱ�����
189
�ʿ��� ��� �� �κ��� �������� �о���� �� �ִ�.</p>
191
<p>�̷� DSO ������ �ڿ������� ��������, �ּ��� ����� ����
192
�Ѱ����ִ�. ���α��� Ȯ���ϱ����� DSO�� ����Ҷ� DSO��
193
�������α��� �ɺ��� ã�� ���̴�. ��? DSO�� �������α���
194
�ɺ��� "������ ã�� ��"�� (���̺귯���� �ڽ��� ����ϴ� ���α���
195
���� �ٴ�) ���̺귯�� ���迡 ���ϸ�, ��� �÷�������
196
���������ʰ� ǥ��ȭ������ �ʾұ� �����̴�. ������ ����������
197
�����ɺ�(global symbol)�� ���� �ͽ���Ʈ(export)���� �ʱ����
198
DSO�� ����� �� ����. DSO�� ����Ͽ� ������ ���α��� Ȯ���Ϸ���
199
��Ŀ���� ��� �����ɺ��� �ͽ���Ʈ�ϵ��� �����ϴ� ���� �ֵ�
202
<p>�������̺귯���� DSO ����� �����Ģ��� �������̱����
203
�ü���� �����ϴ� ���� ��� ������ ���̺귯���� ����Ѵ�.
204
�ݴ�� ���� ���α��� ���α��� Ȯ���ϱ����� ������ü��
207
<p>1998�� ������ ������ ����� Ȯ���ϱ����� DSO ������ �����
208
����Ʈ���� ��Ű���� (XS ������ DynaLoader ����� �����)
209
Perl 5, Netscape Server <em>��</em>���� �幰����. ����ġ��
210
�̹� ����� Ȯ���ϱ����� ��� ������ ����߰� �ܺ� �����
211
����ġ �ٽɱ�ɿ� �����ϱ����� ���������� ����ġ�����
212
�̿��� ���ٹ���� ����߱���� 1.3 �������� �� �뿭�� �շ��ߴ�.
213
���� ����ġ�� ������ ����� �о���̴µ� DSO�� ����ϵ���
215
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
216
<div class="section">
217
<h2><a name="advantages" id="advantages">�����</a></h2>
219
<p>�տ��� ���� DSO�� ����ϸ� ������ ���� ������ �ִ�:</p>
222
<li>���� ���� ���μ����� �����Ͻ� <code>configure</code>
223
�ɼǴ�� <code>httpd.conf</code>�� <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>�� ����Ͽ� �����߿�
224
���յǹǷ� ���� ��Ű�� ������ �� �����ϴ�. ���� ��� �ѹ���
225
����ġ ��ġ������ �ٸ� ����(ǥ�� ������ SSL ����, �ּ�ȭ
226
������ ����߰� ���� [mod_perl, PHP3] <em>��</em>)�� ������
229
<li>������ ��ġ�Ŀ��� �����ڰ� ���� ����� ����Ͽ� ����
230
Ȯ���� �� �ִ�. �ּ��� ����� ��Ű�� �����ڴ� ����ġ �ٽ�
231
������ ������ PHP3, mod_perl, mod_fastcgi <em>��</em>��
232
�߰� ��Ű���� ���� �� �־ ū �̵��̴�.</li>
234
<li>DSO�� <code>apxs</code>�� ������ ����ġ �ҽ� Ʈ�� �ۿ���
235
�۾��ϰ� <code>apxs -i</code>�� <code>apachectl restart</code>
236
���ɾ���� ���� ������ ����� �� ������ �������� ����ġ
237
������ �ݿ��� �� �־ �� ���� ����ġ ����� ������ ��
241
<p>DSO�� ������ ���� ������ �ִ�:</p>
244
<li>���α��� �ּҰ����� �ڵ带 �������� �о���̴� �����
245
���������ʴ� �ü���� �ֱ� ������ ��� �÷������� DSO��
248
<li>���н� �δ��� �ɺ��� ã�ƾ��ϱ� ������ ���� ������
249
�� 20% ���� �ʾ�����.</li>
251
<li>������ ��ġ�����ڵ�(position independent code, PIC)
252
������ �����ּ�����(absolute addressing)���� ����
253
����ּ�����(relative addressing)�� ������ ������� �����
254
�ʿ��ϹǷ� � �÷������� ����� �� 5% ���� �ʴ�.</li>
256
<li>DSO ����� �ٸ� DSO��� ���̺귯��(<code>ld -lfoo</code>)��
257
��ũ�� �� ���� �÷����� �ֱ���� (���� ��� ELF���
258
�÷����� ���������� a.out��� �÷����� ���� �� �����
259
�������� �ʴ´�) ��� ������ �� DSO�� ����� �� ����.
260
�ٸ� ���� DSO ���Ϸ� �������ϴ� ����� ����ġ �ٽɰ� ����ġ
261
�ٽ��� ����ϴ� C ���̺귯��(<code>libc</code>)�� �ٸ�
262
����/���� ���̺귯��, ��ġ�����ڵ带 ��� �ִ� ���� ���̺귯��
263
��ī�̺�(<code>libfoo.a</code>)�� �ɺ����� ����� �� �ִ�.
264
�ٸ� �ڵ带 ����Ϸ��� ����ġ �ٽ��� �װ��� �����ϴ���,
265
<code>dlopen()</code>���� ���� �ڵ带 �о�鿩�� �Ѵ�.</li>
269
<div class="bottomlang">
270
<p><span>������ ���: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
271
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
272
<a href="./ko/dso.html" title="Korean"> ko </a></p>
273
</div><div id="footer">
274
<p class="apache">Copyright 2006 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>
275
<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>
b'\\ No newline at end of file'