Last active
April 28, 2023 01:00
-
-
Save eungju/f6d9ba6e91aea966f32c8c1d78438c6f to your computer and use it in GitHub Desktop.
Hints for Computer System Design
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="generator" content="pandoc"> | |
<title></title> | |
<style type="text/css">code{white-space: pre;}</style> | |
<!--[if lt IE 9]> | |
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> | |
<![endif]--> | |
</head> | |
<body> | |
<h1 id="์ปดํจํฐ-์์คํ -์ค๊ณ-์๋ น1">์ปดํจํฐ ์์คํ ์ค๊ณ ์๋ น<sup><a href="#fn1" class="footnoteRef" id="fnref1">1</a></sup></h1> | |
<p>๋ฒํ๋ฌ ๋จ์จ(Butler W. Lampson)</p> | |
<p>Computer Science Laboratory<br />Xerox Palo Alto Research Center<br />Palo Alto, CA 94304</p> | |
<h1 id="์์ฝ">์์ฝ</h1> | |
<p>๋ช๋ช ์ปดํจํฐ์ ์ค๊ณ์ ๊ตฌํ์ ๋ํ ์ฐ๊ตฌ๋ฅผ ํตํด ์์คํ ์ค๊ณ์ ๊ดํ ๋ช๊ฐ์ง ์ผ๋ฐ์ ์ธ ์๋ น์ ์ป์๋ค. ์ฌ๊ธฐ์ ์ด ์๋ น๋ค์ ๋ง์ ์๋ฅผ ๋ค์ด ์ค๋ช ํ์ผ๋ฉฐ, ์ฐ์ธ ์๋ ์ํ (Alto)์ ๋๋ผ๋(Dorado) ๊ฐ์ ํ๋์จ์ด๋ถํฐ ๋ธ๋ผ๋ณด(Bravo)์ ์คํ(Star) ๊ฐ์ ์์ฉ ํ๋ก๊ทธ๋จ๊น์ง ๋ค์ํ๋ค.</p> | |
<h1 id="์๋ก ">1. ์๋ก </h1> | |
<p>์ปดํจํฐ ์์คํ ์ค๊ณ๋ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ์ ์๋นํ ๋ค๋ฅด๋ค.</p> | |
<ul> | |
<li>์ธ๋ถ ์ธํฐํ์ด์ค(์ฆ, ์๊ตฌ์ฌํญ)๊ฐ ๋ ๋ชจํธํ๊ฒ ์ ์๋๋ฉฐ, ๋ ๋ณต์กํ๊ณ , ๊ทธ๋ฆฌ๊ณ ๋ ์ ๋ฐ๋๋ค.</li> | |
<li>์ปดํจํฐ ์์คํ ์ ํจ์ฌ ๋ง์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ฐ๋ผ์ ๋ด๋ถ ์ธํฐํ์ด์ค๋ ๋ง๋ค.</li> | |
<li>์ฑ๊ณต์ ์ฒ๋๊ฐ ํจ์ฌ ๋ ๋ถ๋ช ํ๋ค.</li> | |
</ul> | |
<p>์์คํ ์ค๊ณ์๋ ๊ฐ๋ฅ์ฑ์ ๋ฐ๋ค์์ ํ์ฐ์ ๊ฑฐ๋ฆฌ๋ ์์ ์ ๋ฐ๊ฒฌํ๊ณค ํ๋ค. ํ ์ ํ์ด ๋ค๋ฅธ ์ ํ์ ๋ํ ์์ ๋ฅผ ์ผ๋ง๋ ์ ์ฝํ ์ง, ๋ ์ ์ฒด ์์คํ ์ ํฌ๊ธฐ๋ ์ฑ๋ฅ์ ์ผ๋ง๋ ์ํฅ์ ์ค์ง ๋ถ๋ช ํ์ง ์๋ค. ์์คํ ์ ๊ตฌ์ถํ๋ '์ต์ '์ ๋ฐฉ๋ฒ์ ์์์ง๋ ๋ชจ๋ฅธ๋ค. ์์คํ ์ ์ฃผ์ ๋ถ๋ถ ์กฐ์ฐจ๋ ๋ง์ด๋ค. ๊ทธ๋ฌ๋ ํํธ์๋ ๋ฐฉ๋ฒ์ ํํ๋ ๊ฒ์ ํผํ๊ณ , ๋ถ๋ถ๋ค ์ฌ์ด์ ์ญํ ์ ๋ช ํํ๊ฒ ๋๋๋ ๊ฒ์ด ํจ์ฌ ๋ ์ค์ํ๋ค.</p> | |
<p>ํ์๋ ์ฌ๋ฌ ์ปดํจํฐ ์์คํ ์ ์ค๊ณํ๊ณ ๊ตฌ์ถํ๋๋ฐ, ์ฑ๊ณตํ ์์คํ ๋ ์๊ณ , ์คํจํ ์์คํ ๋ ์๋ค. ํ์๋ ๋ํ ์ฑ๊ณตํ๊ฑฐ๋ ์คํจํ ๋ค๋ฅธ ์์คํ ๋ค๋ ์ฌ์ฉํ๊ณ ์ฐ๊ตฌํ๋ค. ์ด๋ฐ ๊ฒฝํ์์ ์ฑ๊ณต์ ์ธ ์์คํ ์ ์ค๊ณํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์๋ น์ ์ป์๋ค. ํ์๊ฐ ์ด ์๋ น๋ค์ ๊ณ ์ํ์ง๋ ์์๋ค. ์๋ น๋ค ๋๋ถ๋ถ์ ๋ ธ๋ จํ ์ค๊ณ์๋ค์ด ์ฌ์ฉํ๋ ์ผ์์ ์ธ ์งํ์ ์ผ๋ถ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋, ๋ ธ๋ จํ ์ ๋ฌธ๊ฐ ์กฐ์ฐจ๋ ์์ฃผ ์์ด์, ๋ ๋ฒ์งธ ์์คํ [6] ํ์ ๋ค ๋ฒ์งธ ์์คํ ์ด ๋ํ๋๋ค.</p> | |
<p><em>๋ฉด์ฑ ์กฐํญ</em>: ์ด ์๋ น๋ค์</p> | |
<ul> | |
<li>์ฐธ์ ํ์ง๋ ์๊ณ (๋ช ๊ฐ์ง ์์ธ๊ฐ ์๊ธด ํ์ง๋ง),</li> | |
<li>๋ฐ๋ณด๋ ๋ฐ๋ผํ ์ ์๋ ์์ ํ ์ฒ๋ฐฉ๋ ์๋๊ณ ,</li> | |
<li>์์คํ ์ค๊ณ๋ ์ด์์ ๋ฒ์น๋ ์๋๊ณ ,</li> | |
<li>์ ๋ฐํ๊ฒ ์ฒด๊ณํ๋์ง๋ ์์๊ณ ,</li> | |
<li>์ผ๊ด๋์ง๋ ์๊ณ ,</li> | |
<li>ํญ์ ์ ํฉํ์ง๋ ์๊ณ ,</li> | |
<li>๋ชจ๋ ์ ๋์ ์ ๋ฌธ๊ฐ๋ค์ด ๋์ํ์ง๋ ์์๊ณ ,</li> | |
<li>์๋์ ๋ณด์ฅํ์ง๋ ์๋๋ค.</li> | |
</ul> | |
<p>์๋ น์ ๋จ์ง ์๋ น์ผ๋ฟ์ด๋ค. ์ด๋ค ์๋ น์ ์์ฃผ ๋ณดํธ์ ์ด๋ฉด์ ๋ง์ฐํ๊ณ , ์ด๋ค ์๋ น์ ํํ ์๊ณ ์๋ ๊ฒ๋ณด๋ค ๊ด๋ฒ์ํ๊ฒ ์ ์ฉํ ์ ์๋ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ฒ์ด๋ค. ์๋ น๊ณผ ์๋ น์ ์ค๋ช ํ ์ ๋ชจ๋ ์๋์ ์ผ๋ก ์๋นํ ๋จ์ํํ๋ค. ์๋ น๋ค ์๋น์๋ ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ค.</p> | |
<p>๋ชจ๋ํ, ์ํฅ์ด๋ ํํฅ ๋๋ ๋ฐ๋ณต ์ค๊ณ ๋ฐฉ๋ฒ๋ก , ์๋ฃ ์ถ์ํ ๊ธฐ๋ฒ ๋ฑ๊ณผ ๊ฐ์ด ์ด๋ฏธ ๋๋ฆฌ ํผ์ง ๊ธฐ๋ฒ์ ์ฅ๋ คํ์ง๋ ์์ผ๋ ค๊ณ ํ๋ค. ๊ฐํน ์ธ๊ธฐ์๋ ์์คํ ์ค๊ณ ๋ฐฉ๋ฒ๋ก ์ ๋ฌด์์ ์ ์ฉํ ๋ ๋น ์ง ์ ์๋ ํจ์ ์ ์ง์ ํ๊ธฐ๋ ํ๋ค.</p> | |
<p>๋ค์์ ์๋ฅผ ๋ค์ด ์๋ น๋ค์ ์ค๋ช ํ๋๋ฐ, ์๋ค ๋๋ถ๋ถ์ ๋ด๊ฐ ์ฐธ์ฌํ๋ ์์คํ ์์ ๊ฐ์ ธ์๋ค. ์๋ ์ด๋๋ท ๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง๊ณผ ์ํ (Alto)์ ๋๋ผ๋(Dorado) ๊ฐ์ธ์ฉ ์ปดํจํฐ ๊ฐ์ ํ๋์จ์ด์์๋ถํฐ, SDS 940๊ณผ ์ํ ์ด์์ฒด์ ์ ๋ฆฌ์คํ(Lisp)์ ๋ฉ์ฌ(Mesa) ํ๋ก๊ทธ๋๋ฐ ์์คํ ๊ณผ ๊ฐ์ ์ด์์ฒด์ ๋ฅผ ๊ฑฐ์ณ, ๋ธ๋ผ๋ณด(Bravo) ํธ์ง๊ธฐ์ ์คํ(Star) ์ฌ๋ฌด ์์คํ ๊ณผ ๊ฐ์ ์์ฉ ํ๋ก๊ทธ๋จ, ๋๋ฒ(Dover) ํ๋ฆฐํฐ์ ๊ทธ๋ ์ดํ๋ฐ์ธ(Grapevine) ๋ฉ์ผ ์์คํ ๊ณผ ๊ฐ์ ๋คํธ์ ์๋ฒ๊น์ง ๋ค์ํ๋ค. ๊ฐ๋ฅํ๋ค๋ฉด ๊ฐ์ฅ ๋ปํ ์๋ ํผํ๊ณ ๋์ ์ ์๋ ค์ง ๊ธฐ๋ฒ์ ์์์น ๋ชปํ ์ฌ์ฉ๋ฒ์ ๋ณด์ฌ์ฃผ๋ ์๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค. ๋๋ถ๋ถ์ ๊ตฌ์ฒด์ ์ธ ์์๋ ์ถ์ฒ๋ฅผ ๋ช ์ํ์ง๋ง ์๋ น์๋ ๊ทนํ ์์์๋ง ์ถ์ฒ๋ฅผ ๋ช ์ํ๋ค. ๋๋ถ๋ถ ๋ ๋๋ ์ด์ผ๊ธฐ์ ์ผ๋ถ๋ผ, ๋ค์์ ์ถ์ฒ๋ฅผ ๋ชจ๋ ์ถ์ ํ๊ธฐ๋ ๋งค์ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<blockquote> | |
<p>๊ทธ๋ฆฌ๊ณ ์๋น๊ฐ ์ฃผ๋ ๋ช ๊ฐ์ง ๊ตํ์ ๋ค ๊ธฐ์ต์ ์๊ฒจ ๋๊ฑฐ๋ผ.</p> | |
</blockquote> | |
<p>์์คํ ์ค๊ณ๋ผ๋ ์๋ฌธ์ผ๋ก ๊ฐ๋ํ ๊ณผ์ ์ ๋ํ ์๋ด๋ฅผ ํ๋ฆฟ ์ธ์ฉ์ผ๋ก<sup><a href="#fn2" class="footnoteRef" id="fnref2">2</a></sup> ์ฅ์ํ๋ ๊ฒ๋ ์ ์ ํด ๋ณด์ธ๋ค. ๋ณ๋ค๋ฅธ ํ์๊ฐ ์๋ค๋ฉด, ์ธ์ฉ์ ๋ ์ดํธ์ค(Laertes)์ ๋ํ ํด๋ก๋์ด์ค(Polonius)์ ์ถฉ๊ณ (1 ๋ง 3 ์ฅ 58-82 ํ)์์ ๋ฐ์จ ๊ฒ์ด๋ค. ์ผ๋ถ๋ ํ์๋ ๊ฒ์ฒ๋ผ ๋ค๋ฅธ ๊ณณ์์ ์ธ์ฉํ๋ค. ๊ฐ ์ธ์ฉ์ ์ธ์ฉ ๋ค์์ ๋์ค๋ ๋ด์ฉ์ ์ ์ฉ๋๋ค.</p> | |
<p>๊ฐ ์๋ น์ ์์ฝํ์ฌ ์ ์ ํ๊ฒ ํด์ํ์ ๋ ์๋ น์ ํต์ฌ์ ๋๋ฌ๋ด๋ ํ์ด๋ก ํํํ๋ค. ๊ทธ๋ฆผ 1์ ํ์ด๋ค์ ๋ ์ถ์ ๋ฐ๋ผ ๋ฐฐ์นํ๋ค.</p> | |
<ul> | |
<li>์ข์ ์์คํ ์ ๋ง๋๋๋ฐ <em>์ด์งธ์</em> ๋์์ด ๋๋๊ฐ: ๊ธฐ๋ฅ์ผ๋ก(์๋ํ๋๊ฐ?), ์๋๋ก(์ถฉ๋ถํ ๋น ๋ฅธ๊ฐ?), ์ค๋ฅ ๋์ฒ๋ก(์ง์์ ์ผ๋ก ์๋ํ๋๊ฐ?)</li> | |
<li>์์คํ ์ค๊ณ์ <em>์ด๋์</em> ๋์์ ์ฃผ๋๊ฐ: ์์ ํจ ๋ณด์ฅ์, ์ธํฐํ์ด์ค ์ ํ์, ๊ตฌํ ๊ณ ์์.</li> | |
</ul> | |
<p>๋ํ์ด๋ ๋์ผํ ํ์ด๋ค์ ๊ตต์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๊ณ , ๊ด๋ จ๋ ํ์ด๋ค์ ๊ฐ๋ ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ค.</p> | |
<p>์ด ๋ ผ๋ฌธ์ ๋ณธ๋ก ์ ๋ค์ <em>์ด์งธ์</em>๋ค์ ํ์ ๋ก ํ์ฌ ๊ธฐ๋ฅ(์ 1 ์ ), ์๋(์ 2 ์ ), ์ค๋ฅ ๋์ฒ(์ 3 ์ ) ์ธ ์ ๋ก ๋๋๋ค.</p> | |
<h1 id="๊ธฐ๋ฅ">2. ๊ธฐ๋ฅ</h1> | |
<p>๊ฐ์ฅ ์ค์ํ๋ฉด์, ๋ ๊ฐ์ฅ ๋ง์ฐํ ์๋ น๋ค์, ์์คํ ์์ ์ฌ๋ฐ๋ฅธ ๊ธฐ๋ฅ์ ์ป์ด ๋ด๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์๋ค. ์ฆ, ๋น์ ์ด ์ํ๋ ์ผ์ ์์คํ ์ด ์ํํ๋๋ก ํ๋ ๊ฒ์ด๋ค. ์ด ๋ถ๋ฅ์ ์๋ น๋ค์ ๋๋ถ๋ถ ์ด๋ค ์ถ์ํ๋ฅผ ์ฌ์ฉํ๋ ''ํด๋ผ์ด์ธํธ''๋ก๋ถํฐ ํด๋น ์ถ์ํ์ ''๊ตฌํ''์ ๋ถ๋ฆฌํ๋ ''์ธํฐํ์ด์ค''๋ผ๋ ๊ฐ๋ ๊ณผ ๊ด๋ จ์ด ์๋ค. ๋ ํ๋ก๊ทธ๋จ ์ฌ์ด์ ์ธํฐํ์ด์ค๋ ๊ฐ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๊ธฐ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฐ๋ฆ์ ์ฆ๋ช ํ๊ธฐ ์ํด ํ์ํ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ํ ๊ฐ์ ๋ค์ ์งํฉ์ด๋ค([5]์์ ์ฎ๊ฒจ์๋ค). ์ธํฐํ์ด์ค ์ ์๋ ์์คํ ์ค๊ณ์์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด๋ค. ๋ํ ๋ณดํต ๊ฐ์ฅ ์ด๋ ต๊ธฐ๋ ํ๋ฐ, ์ธํฐํ์ด์ค ์ค๊ณ๋ ์ธ ๊ฐ์ง ์๋ก ์์ถฉํ๋ ์๊ตฌ๋ฅผ ๋ง์กฑ์์ผ์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ธํฐํ์ด์ค๋ ๊ฐ๋จํ๊ณ , ์์ ํ๋ฉฐ, ์ถฉ๋ถํ ์๊ณ ๋น ๋ฅด๊ฒ ๊ตฌํ๋ ์ ์์ด์ผ ํ๋ค. ์ฌํ๋๋ค, ์ธํฐํ์ด์ค๋ก ๊ตฌ์ฒดํ๋ ๊ฐ์ ๋ค์ ๋๋ฌด๋๋ ์์ฃผ ๊ฒฐ๊ตญ ์คํด์์์ด ๋๋ฌ์ ๋ฒ๋ฆฌ๋๊ตฌ๋. ํ๋ฅด๋์ค(Parnas)์ ๊ณ ์ ์ ์ธ ๋ ผ๋ฌธ[38]๊ณผ ์ฅ์น ์ธํฐํ์ด์ค์ ๊ดํ ์ต๊ทผ์ ๋ ผ๋ฌธ[5]์ ์ธํฐํ์ด์ค ์ค๊ณ์ ๊ดํ ํ๋ฅญํ๋ฉด์ ์ค์ฉ์ ์ธ ์กฐ์ธ์ ๋ด๊ณ ์๋ค.</p> | |
<p>์ธํฐํ์ด์ค ์ค๊ณ๊ฐ ์ด๋ ค์ด ์ฃผ๋ ์ด์ ๋ ๋ชจ๋ ์ธํฐํ์ด์ค๊ฐ ํ๋์ ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ธํฐํ์ด์ค๋ ์ผ๊ตฐ์ ๊ฐ์ฒด๋ค๊ณผ ์ด ๊ฐ์ฒด๋ค์ ๋ค๋ฃจ๋๋ฐ ์ฌ์ฉ๋๋ ์ฐ์ฐ๋ค์ ์ ์ํ๋ค. ๊ตฌ์ฒด์ ์ธ ๋ฌธ๋ฒ์ ์ ์ธํ๋ค๋ฉด, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ค๊ณ์ ๋ค๋ฅธ ๋ชจ๋ ์ธก๋ฉด์ด ๋ํ๋๋ค. ๋ฐ๋ผ์ ํธ์ด(Hoare)์ ์ธ์ด ์ค๊ณ ์๋ น[19]์ ๋ณธ ๋ ผ๋ฌธ์ ๋ณด์ถฉ ๊ต์ฌ๋ก ์ฝ์ ์ ์๋ค.</p> | |
<h2 id="๋จ์ํ๊ฒ-์ ์งํ๋ผ">2.1 ๋จ์ํ๊ฒ ์ ์งํ๋ผ</h2> | |
<blockquote> | |
<p>์๋ฒฝํจ์ ๋ ์ด์ ๋ํ ๊ฒ์ด ์์ ๋๊ฐ ์๋๋ผ,<br />๋ ์ด์ ๋บ ๊ฒ์ด ์์ ๋ฌ์ฑ๋๋ค. (์ํ ์ฅํ๋ฆฌ(A. Saint-Exupery))</p> | |
</blockquote> | |
<blockquote> | |
<p>๋ค ์น๊ตฌ๋ค์, ์ฐ์ ์ด ์๋ จ์ ๊ฒฌ๋๊ณ ๋๋ฉด,<br />๋ค ์ํผ์ ๊ฐ์ฒ ๊ตด๋ ์ ๋ก ๊ผฌ์ฅ ๊ปด์์ ๊ฒ์ด๋,<br />์ ์๋ก ์๋ฐ๋ฅ ์ ๊ฒฝ์ด ๋ฌด๋์ง ๊ฒ์ ์์ง,<br />์๋ก ๋ถํํ ํ๋ด๊ธฐ ๋ํจ๋ค๋ง๋ค ์ ์๋ก ๋ง์ด๋ค.</p> | |
</blockquote> | |
<p>* <em>ํ ๋ฒ์ ํ ๊ฐ์ง๋ง ํ๋, ์ ํ๋ผ</em>. ์ธํฐํ์ด์ค๋ ์ถ์ํ์ ํ์ํ ์ต์ํ์ ํ์ ์์๋ง ๋ด์์ผ ํ๋ค. ์ผ๋ฐํํ์ง ๋ง๋ผ. ์ผ๋ฐํ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ฅด๋ค.</p> | |
<blockquote> | |
<p>์ฐ๋ฆฌ๋ ๊ฐ๋นํ ์ ์๋ ๊ธฐํ์ ์ง๋ฉดํด ์๋ค. (์ํธ ์ผ๋ฆฌ(W. Kelley))</p> | |
</blockquote> | |
<p>์ธํฐํ์ด์ค๊ฐ ๋๋ฌด ๋ง์ ์ผ์ ๊ฐ๋นํ๋ ค ํ๋ค๋ฉด ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ ํฌ๊ณ , ๋๋ฆฌ๋ฉฐ ๋ ๋ณต์กํด์ง๊ณ ๋ง๋ค. ์ธํฐํ์ด์ค๋ ์ ํ ๋งํผ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ฒ ๋ค๋ ๊ณ์ฝ์ด๋ค. ์ธํฐํ์ด์ค์ ํด๋ผ์ด์ธํธ๋ ์ด ๊ณ์ฝ์ ์์กดํ๋๋ฐ, ์ด ๊ณ์ฝ์ ํต์ ์ธํฐํ์ด์ค ๋ช ์ธ์์ ์์ธํ ๊ธฐ๋กํ๋ค. ํด๋ผ์ด์ธํธ๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ ์ ํ ๋น์ฉ(์๊ฐ์ด๋ ๋ค๋ฅธ ํฌ์ํ ์์)์ด ๋๋์ง์๋ ์ํฅ์ ๋ฐ๋๋ค. '์ ์ ํ'์ ๋ํ ์ ์๋ ํต์ ์ด๋์๋ ์์ธํ๊ฒ ๊ธฐ๋กํ์ง ์๋๋ค. ๋ง์ฝ ์ฌ์ฏ ๋จ๊ณ์ ์ถ์ํ๊ฐ ์๊ณ , ๋งค ๋จ๊ณ๋ง๋ค '์ ์ ํ' ๋น์ฉ๋ณด๋ค 50%์ฉ ๋ ๋ค๋ฉด, ๋ชจ๋ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์ ๊ณต๋๋ ์๋น์ค์ ๋น์ฉ์ 10๋ฐฐ ๋๊ฒ ์ฐจ์ด๊ฐ ๋๊ฒ ๋๋ค.</p> | |
<blockquote> | |
<p>KISS: Keep It Simple, Stupid(๋จ์ํ๊ฒ ์ ์งํ๋ผ, ์์ํ ์ ๋๋ก). (์์ ๋ถ๋ช )</p> | |
</blockquote> | |
<blockquote> | |
<p>๋ฏธ์ฌ์ฉ์ผ๋ฉด, ์ ์ธํ๋ผ. (์์ ๋ถ๋ช )</p> | |
</blockquote> | |
<blockquote> | |
<p>๊ธฐ๋ฅ์ ์ ๊ฑฐํ๋ผ. (์ฐฐ์ค ํ์ปค(C. Thacker))</p> | |
</blockquote> | |
<p>๋ค๋ฅธ ๋ง๋ก๋,</p> | |
<blockquote> | |
<p>๋ฌด์์ด๋ ๋ ์ ์๋ ๋๋ก ๋จ์ํด์ผ ํ๋ค. ๋จ ์ง๋์น๋ฉด ์๋๋ค. (์์ธ์ํ์ธ(A. Einstein))</p> | |
</blockquote> | |
<p>๋ฐ๋ผ์, ์๋น์ค ๋น์ฉ์ ์์ธก ๊ฐ๋ฅํด์ผ ํ๋ฉฐ, ๋ํ ์ธํฐํ์ด์ค๋ ๊ตฌํ์๊ฐ ์ ๊ณตํ ์ ์๋ ๊ฒ ์ด์์ ์ฝ์ํด์๋ ์๋๋ค. ํนํ, ์ธํฐํ์ด์ค๋ ๋จ์ง ๋ช๋ช ํด๋ผ์ด์ธํธ๋ง์ด ํ์๋กํ๋ ๊ธฐ๋ฅ์ ์ฝ์ํ๋ฉด ์๋๋๋ฐ, ๊ตฌํ์๊ฐ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์๊ฒ ํผํด๋ฅผ ์ฃผ์ง ์๊ณ ์์๋ง์ด ํ์๋ก ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค. ๋ ๋์ ๊ตฌํ์๋, ํน์ ๋ฌธ์ ๋ฅผ ๋ ์ ์ดํดํ 10๋ ํ์๋ ๋ฑ์ฅํ ๊ตฌํ์๋, ํ ์ ์์์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ฌ๋ฌ๋ถ์ ๊ตฌํ์๊ฐ ๊ทธ๋ฆฌํ ์ ์๋ค๋ฉด, ์ฌ๋ฌ๋ถ์ ์ผ๋ง์ ์ ์ด๋๋ ๊ฒ์ด ํ๋ช ํ๋ค.</p> | |
<p>์๋ฅผ ๋ค์ด, PL/1์ ์ฌ๊ฐํ ๋ฌธ์ ์ ๋ด์ฐฉํ๋๋ฐ ๊ด๋ฒ์ํ ์๋ฃํ์ ์๋นํ ๋ง์ ์ผ๋ฐ ์ฐ์ฐ์ ๋ํด ์ผ๊ด๋ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๋ ค ์๋ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ธฐ ๊ตฌํ์ฒด๋ค์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋นํจ์จ์ ์ผ๋ก ๋ค๋ฃจ์๊ณ , 15๋ ์ด ์ง๋ ์ต์ ํ๋ ์ปดํ์ผ๋ฌ๊ฐ ๋ํ๋ฌ์ด๋, ํ๋ก๊ทธ๋๋จธ๋ค์ ๋ญ๊ฐ ๋น ๋ฅผ์ง ๋ญ๊ฐ ๋๋ฆด์ง ์์ธกํ๊ธฐ ์ด๋ ค์ ๋ค[31]. ํ์ค์นผ(Pascal)์ด๋ C ๊ฐ์ ์ธ์ด๋ ํจ์ฌ ์ฐ๊ธฐ ์ฌ์ด๋ฐ, ๋ชจ๋ ์ฐ์ฐ์ด ๋ฌธ๋งฅ์ด๋ ์ธ์์ ์๊ด์์ด ๋๋ต ์ผ์ ํ ๋น์ฉ์ ์ํ๊ณ , ์ฌ์ค์ ๋๋ถ๋ถ์ ์ฐ์ฐ๋ค์ ๊ฑฐ์ ๋์ผํ ๋น์ฉ์ด ๋ค๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<p>๋น์ฐํ, ์์ ๊ท์น์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ, ํ์ผ, ํ๋ฉด ์ ์ด, ์ฐ์ ์ฐ์ฐ ๊ฐ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ชน์ ๋ง์ด ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค์ ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ฒ ์ ์ฉ๋๋ค. ์ํธ ๊ฒ์ฌ, ์ฌ์ฉ์ ๋ช ๋ น ํด์, 72 ํฌ์ธํธ ๊ธ์ ์ธ์์ ๊ฐ์ด ๊ฐ๋ ์ฐ์ด๋ ๊ธฐ๋ฅ์๋ ์ฑ๋ฅ์ ์ฝ๊ฐ ํฌ์ํด๋ ๊ด์๋ค. (์ด์จ๋ ๋น์ฉ์ ์์ธก ๊ฐ๋ฅํด์ผ๋ง ํ๋ค๋ ๊ฒ์ด ์ด ๋ง์ ์ฐธ๋ป์ธ๋ฐ, ๋น์ฉ์ด ์ต์ ๋น์ฉ์ ๋ช ๋ฐฐ๊ฐ ๋ ์๋ ์๋ค) ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ฐ์ ์ ์คํ ๊ท์น์ ๋ ๋์ ๊ตฌํ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ์ด ๋ชฉ์ ์ธ ์ฐ๊ตฌ์๋ ์ ์ฉ๋์ง ์๋๋ค. ํ์ง๋ง ์ฐ๊ตฌ๋ ์์ฃผ ์คํจํ๋ฏ๋ก, ์ฐ๊ตฌ์๊ฐ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ์ ๋ ์ฐ๊ตฌ์ ์ฑ๊ณต์ ์์กดํด์๋ ์๋๋ค.</p> | |
<blockquote> | |
<p>์๊ณจ 60์ ๊ทธ ์ ์กฐ๋ค ๋ฟ๋ง ์๋๋ผ,<br />๊ฑฐ์ ๋ชจ๋ ํ์๋ค์ ๊ฐ์ ์์ด๊ธฐ๋ ํ๋ค. (ํธ์ด(C. Hoare))</p> | |
</blockquote> | |
<p>์ง๋์น๊ฒ ์ ๊ณตํ ์๋ ๋ฌด์ํ ๋ง๋ค. ์ํ ์ด์์ฒด์ [29]๋ ํ๋ฒํ n ๋ฐ์ดํธ ์ฝ๊ธฐ/์ฐ๊ธฐ ํ์ผ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ผ๋ฉฐ, ๋ ์ธํฐ๋ฆฌ์คํ-D[7]๋ฅผ ์ํด ๊ฐ๊ฐ์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ ํด์ง ๋์คํฌ ํ์ด์ง์ ์ ์ฅํ๋ ํ๋ฒํ ํ์ด์ง ์์คํ ์ผ๋ก ํ์ฅ๋์๋ค. ์ด ๋์ ๊ตฌํ์ฒด๋ ๋ชจ๋ ์๊ณ (ํ์ผ์ ์ํด ์ฝ 900 ์ค, ํ์ด์ง์ ์ํด ์ฝ 500 ์ค) ๋นจ๋๋ค(ํ์ด์ง ์ค๋ฅ๋ ํ ๋ฒ์ ๋์คํฌ ์ ๊ทผ๊ณผ ๋์คํฌ ์ ๊ทผ ์๊ฐ์ ๊ทนํ ์ผ๋ถ์ ํด๋นํ๋ ์ผ์ ํ ๊ณ์ฐ ๋น์ฉ์ ์ผ์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ๋ ๋ฌด์ฒ ์ฝ๊ฒ ๋์คํฌ๋ฅผ ์ต๊ณ ์๋๋ก ๊ตฌ๋ํ ์ ์์๋ค). ์ํ ์ด์์ฒด์ ๋ฅผ ๊ณ์นํ ํ์ผ๋ฟ(Pilot) ์์คํ [42]์ ๋ฉํฑ์ค์ ๋ช๋ช ๋ค๋ฅธ ์์คํ ์ ๋ฐ๋ผ ๊ฐ์ ํ์ด์ง๋ค์ด ์์์ ํ์ผ ํ์ด์ง์ ์ฐ๊ฒฐ๋ ์ ์๋๋ก ํ๋๋ฐ, ๋ฐ๋ผ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ๋ด์ ํ์ผ ์ ์ถ๋ ฅ์ ํฌํจํ๋ค. ๊ตฌํ์ฒด๋ ์์ฃผ ํฌ๊ณ (์ฝ๋ ์ฝ 11000 ์ค) ๋๋ ธ๋ค(ํ์ด์ง ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๊ฑฐ์ ๋ ๋ฒ์ ๋์คํฌ ์ ๊ทผ์ ์ผ์ผ์ผฐ๊ณ ๋์คํฌ๋ฅผ ์ต๊ณ ์๋๋ก ๊ตฌ๋ํ์ง ๋ชปํ๋ค). ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋น์ผ ๋๊ฐ๋ฅผ ์น๋ค๋ค.</p> | |
<p>์ด๋ฐ ์ธํฐํ์ด์ค๋ฅผ ํ๋ฅญํ๊ฒ ๊ตฌํํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๋ป์ ์๋๋ฉฐ, ๋จ์ง ์ด๋ ค์ธ ๋ฟ์ด๋ค. ์ด ์์คํ ์ ์ฌ๋ฌ ๋ช ์ ์์ฃผ ์ ๋ฅํ๊ณ ์๋ จ๋ ์ฌ๋๋ค์ด ์ค๊ณํ๊ณ ๊ตฌํํ๋ค. ์ํ์ฑ์ ํด๊ฒฐํ๋ ๊ฒ์ด ๋ฌธ์ ์ ์ผ๋ถ์ด๋ค. ํ์ผ ์์คํ ์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋๋ฐ, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ์ผ์ ์จ์ผ ํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํธ๋ ์์ฃผ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ ค์ ธ ์๊ธฐ๋ ํ์ง๋ง[22], ๊น๋ค๋กญ๊ณ ๋ ์ ์์ ์ธ ๊ฒฝ์ฐ์๋ ์์ฒญ๋ ๋น์ฉ๊ณผ ๋ณต์ก์ฑ์ ์ด๋ํ๊ธฐ ์ฝ๋ค.</p> | |
<blockquote> | |
<p>๊ทธ๋ฆฌ๊ณ , ์ด๋ฆฌํ์ฌ ๊ฒฐ๊ตญ, ์ฐฉ์ค๋ ๋ชฉํ๊ฐ<br />์๋ชจ ๊พธ๋ฏผ ์์ ๋จธ๋ฆฌํต์ ๋ฐ์ด ๋ด๋. (5๋ง 2์ฅ 387ํ)</p> | |
</blockquote> | |
<p>๋ ๋ค๋ฅธ ์๋ ๋ฒ์ฉ์ฑ์ด ์ผ๋ง๋ ์ฝ๊ฒ ์์์น ๋ชปํ ๋ณต์ก์ฑ์ ์ด๋ํ ์ ์๋์ง ๋ณด์ฌ์ค๋ค. ํ ๋ฅ์ค(Tenex) ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ ์๋ฌด๋ฐ ๋ฌธ์ ๋ ์์ด ๋ณด์ด๋ ๊ธฐ๋ฅ ์กฐํฉ์ ๊ฐ์ง๊ณ ์๋ค:</p> | |
<ul> | |
<li>ํ ๋ฅ์ค๋ ํ ๋น๋์ง ์์ ๊ฐ์ ํ์ด์ง์ ๋ํ ์ฐธ์กฐ๋ฅผ ํธ๋ฉ<sup><a href="#fn3" class="footnoteRef" id="fnref3">3</a></sup>์ ํตํด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ ๋ณด๊ณ ํ๋ค.</li> | |
<li>์์คํ ํธ์ถ์ ํ์ฅ ๊ธฐ๊ณ์ ๊ธฐ๊ณ ๋ช ๋ น์ด๋ก ์ทจ๊ธ๋๋ฏ๋ก, ์์คํ ํธ์ถ์ด ์ผ์ผํจ ํ ๋น๋์ง ์์ ๊ฐ์ ํ์ด์ง์ ๋ํ ๋ชจ๋ ์ฐธ์กฐ ๋ํ ๋๊ฐ์ด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ ๋ณด๊ณ ๋๋ค.</li> | |
<li>์์คํ ํธ์ถ์ ํฌ๊ธฐ๊ฐ ํฐ ์ธ์๋, ๋ฌธ์์ด์ ํฌํจํด์, ์ฐธ์กฐ๋ก ์ ๋ฌ ๋๋ค.</li> | |
<li>CONNECT ๋ผ๋ ์์คํ ํธ์ถ์ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ์ ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ์ธ์ ์ค ํ๋๋ ๋ฌธ์์ด์ธ๋ฐ ๋์ ๋๋ ํ ๋ฆฌ์ ์ํธ๋ฅผ ๋ด๊ณ ์๋ค. ์ํธ๊ฐ ํ๋ฆฌ๋ฉด, 3์ด ๋์ ๊ธฐ๋ค๋ฆฐ ํ์ ์คํจํ๋๋ฐ, ๋น ๋ฅธ ์๋๋ก ์ํธ๋ฅผ ์ถ์ธกํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด์์ด๋ค.</li> | |
</ul> | |
<p>CONNECT๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐ๋ณต ํ์์ผ๋ก ๊ตฌํ๋์๋ค.</p> | |
<pre class="pseudo"><code> for i:=0 to Length(directoryPassword) do | |
if directoryPassword[i] != passwordArgument[i] then | |
Wait three seconds; return BadPassword | |
end if | |
end loop; | |
connect to directory; return Success</code></pre> | |
<p>๋ค์ ์๋ฒ์ผ๋ก ๊ธธ์ด๊ฐ n์ธ ์ํธ๋ฅผ ํ๊ท 128^n/2 ๋ฒ์ด ์๋ 64n ๋ฒ์ ์๋๋ก ์์๋ผ ์ ์๋ค(ํ ๋ฅ์ค๋ ๋ฌธ์์ด์ 7 ๋นํธ ๋ฌธ์๋ฅผ ์ด๋ค). passwordArgument์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ์ด๋ ํ์ด์ง์ ๋ง์ง๋ง ๋ฌธ์๊ฐ ๋๋๋ก ํ๊ณ ๊ทธ ๋ค์ ํ์ด์ง๋ ํ ๋น๋์ง ์์ ํ์ด์ง๊ฐ ๋๋๋ก ๋ฐฐ์นํ ํ, ๋ชจ๋ ๋ฌธ์๋ฅผ ์ํธ์ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ก ์ํํ๋ค. ๋ง์ฝ CONNECT๊ฐ BadPassword๋ฅผ ๋๋ ค์ค๋ค๋ฉด, ์ถ์ธก์ ํ๋ ธ๋ค. ์์คํ ์ด ํ ๋น๋์ง ์์ ํ์ด์ง์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ณด๊ณ ํ๋ค๋ฉด, ์ถ์ธก์ ๋ง์๋ค. ์ด์ passwordArgument ์ ๋ ๋ฒ์งธ ๋ฌธ์๋ฅผ ํ์ด์ง์ ๋ง์ง๋ง ๋ฌธ์๊ฐ ๋๋๋ก ๋ฐฐ์นํ ํ, ์๊ณ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ ์งํํ๋ค.</p> | |
<p>์ด๋ฐ ๊ธฐ๋ฌํ๊ณ ํฅ๋ฏธ๋ก์ด ์ค๋ฅ๋ฅผ ์ค๊ณ์๋ ์์์ฑ์ง ๋ชปํ๋๋ฐ ํ ๋ฅ์ค ์์คํ ํธ์ถ์ด ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๊ฐ ์๋นํ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ ๋น๋์ง ์์ ํ์ด์ง์ ๋ํ ์ฐธ์กฐ๊ฐ ๋ณด๊ณ ๋ ๊ฐ๋ฅ์ฑ์ ๋ดํฌํ๋ ๊ฒ์ด ์์ด๋ค. ๋ ๋ค๋ฅธ ๋ฉด์์ ๋ณด๋ฉด, ์์คํ ์ฝ๋์ ํ๋ฒํ ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ช ๋ น์ด๊ฐ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ ์๋นํ ๋ณต์กํ๋ค. ๋น์ ์์ ์ธ ์ฐธ์กฐ๊ฐ ์์คํ ์ฝ๋์๊ฒ ํต์ ํ ๊ธฐํ๋ฅผ ์ ํ ์ฃผ์ง ์๊ณ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๊ณ ๋ ๊ฐ๋ฅ์ฑ์ ๋ดํฌํ๋ ๊ฒ์ด ์์ด๋ค.</p> | |
<blockquote> | |
<p>์ด๋ ๋ฐ๋ณด๋ 1 ๋ฌ๋ฌ์ ํ ์ ์๋ ์ผ์<br />10์ผํธ๋ฉด ํ ์ ์๋ ์ฌ๋์ด ๊ธฐ์ ์๋ค. (์์ ๋ถ๋ช )</p> | |
</blockquote> | |
<p>์ด์จ๋ , ๊ฐ๋์, ๊น๋ํ๊ณ ๊ฐ๋ ฅํ ์ธํฐํ์ด์ค์ ๋น ๋ฅธ ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ผ ๊ฐ์น๊ฐ ์๋ค. ์ถฉ๋ถํ ๋๋ฆฌ ์ฐ์ด๋ ์ธํฐํ์ด์ค๋ผ๋ฉด, ๊ตฌํ์ฒด๋ฅผ ์ค๊ณํ๊ณ ์ต์ ํํ๋๋ฐ ๋ค์ธ ๋ ธ๋ ฅ์ ๋ช ๋ฐฐ๋ก ๋ณด์ ๋ฐ์ ์๋ ์๋ค. ํ์ง๋ง ๊ธฐ์กด์ ์ฌ๋ก๋ฅผ ํตํด ์ค์์ฑ์ ์๊ฒ ๋ ์ธํฐํ์ด์ค์๋ง ์ด๋ฐ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ฌ์ผ ํ๋ค. ๋ํ ๋น ๋ฅธ ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค ์ ์๋ค๊ณ ๋ณด์ฅํ ์ ์์ด์ผ ํ๋ค.</p> | |
<p>์๋ฅผ ๋ค์ด, ๋ ์๊ฒ์ค(Dan Ingalls)๋ ์ํ ์ ๊ณ ํด์๋ ์ํธ์์ฉ ํ์ ์ฅ์น์ ๋ํด ์ ๋ ๊ฐ ์คํํ ๋์ ๋์คํฐ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ BitBlt ํน์ RasterOp ์ธํฐํ์ด์ค[21, 37]๋ฅผ ๊ณ ์ํ๋ค. ๊ทธ ๊ตฌํ์ฒด๋ ์ํ ํ์ค ๋ช ๋ น์ด ์งํฉ์ ์ํ ์๋ฎฌ๋ ์ดํฐ ์ ์ฒด ๋งํผ ๋ง์ ๋ง์ดํฌ๋ก์ฝ๋๋ก ์์ฑ๋์๊ณ ๋ง๋๋๋ฐ ์์ฒญ๋ ๊ธฐ์ ๊ณผ ๊ฒฝํ์ด ํ์ํ๋ค. ํ์ง๋ง ์ฑ๋ฅ์ ์์ ์ฐ์๋ ๋ฌธ์๋ฅผ ๋ ์คํฐ๋ก ๋ณํํ๋ ๋จ์ผ ๋ชฉ์ ์ฐ์ฐ ๋งํผ์ด๋ ์ข์์ผ๋ฉฐ, ๋ ๋จ์ํจ๊ณผ ๋ฒ์ฉ์ฑ ๋๋ถ์ ํ๋ฉด ํ์ ์์ฉํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ํจ์ฌ ์ฌ์ ๋ค.</p> | |
<p>๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ ์์คํ [8]์ ๊ณ ์ ์ ์ถ๋ ฅ์ ์ํ ์บ์์ ์ ์ฉ ๊ณ ๋์ญํญ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๋๋ผ๋๋ ๋งค 64 ns ์ฌ์ดํด ๋ง๋ค ์ฝ๊ฑฐ๋ ์ธ ์ ์๋ ์บ์์, ๊ทธ๋ฆฌ๊ณ ์ด๋น 500MBits์ I/O ๋์ญํญ๊ณผ, ์บ์์ I/O ๋ชจ๋์ ๋ํ ๊ฐ์ ์ฃผ์๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ํ ๋ง์ดํฌ๋กํ๋ก๊ทธ๋๋จธ๊ฐ ์ ๊ฒฝ ์จ์ผํ๋ ํน์ดํ ์ฃผ์ ์ฌํญ๋ ์๋ค. ๊ทธ๋ ์ง๋ง, ๊ตฌํ์ฒด๋ 850๊ฐ์ MSI<sup><a href="#fn4" class="footnoteRef" id="fnref4">4</a></sup>์นฉ์ ์ผ๊ณ ์ค๊ณ์ ์ ์ฌ๋-๋ ์ ์๊ฐ์ด ๋ค์๋ค. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ธํฐํ์ด์ค์ ๋ํ ์ด์ ์ ํญ๋์ ๊ฒฝํ(30๋ ์ด๋ค!)๊ณผ, ํต์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ์ฑ๋ฅ์ ์ ํํ๋ ์์๋ผ๋ ์ธ์์ ์ํด์๋ง ์ ๋นํ ๋ ์ ์์๋ค. ๊ทธ๋ ๋ค ํ๋๋ผ๋, ๋๋์ ๋ณด๋ฉด ์ด๋ฐ ๊ณ ์ I/O ๋์ญํญ์ ๋น์ฉ์ ์ง๋ถํ ๋งํผ ๊ฐ์น๊ฐ ์๋ค. ์ด ์์คํ ์ ํ๋ฉด ํ์ ์ฅ์น์ ์ฃผ๋ก ์ฐ์๋๋ฐ, ๋์ผํฌํธ ํ๋ ์ ๋ฒํผ(dual-port frame buffer)๊ฐ ๊ฑฐ์ ํ์คํ ๋ ๋์์ ๊ฒ์ด๋ค.</p> | |
<p>๋ง์ง๋ง์ผ๋ก, ์ด ์ถฉ๊ณ ๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ฝ๋ค๊ณ ์๊ฐํ์ง ๋ง๋ผ.</p> | |
<p>* <em>์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ผ</em>. ์ถ์ํ๋ ๋จ์ํจ๋ ์ฌ๋ฐ๋ฅธ ์ดํด๋ฅผ ๋์ฒดํ ์๋ ์๋ค. ์ฌ์ค, ์ถ์ํ๊ฐ ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์๋ ์๋๋ฐ, ์ฌ๊ธฐ ๊ตํ์ ์ธ ์ด์ผ๊ธฐ๋ฅผ ์ดํด ๋ณด์. ๋ฌธ์ ํธ์ง๊ธฐ์ ์ฌ๋ฌด ์ ๋ณด ์์คํ ์ ๋๊ฐ ๋ค๋ฃจ๋ ๋ฌธ์ ๋ด์ ์ด๋ฆ ๋ถ์ ํ๋๋ฅผ ํฌํจํ ์ ์๋ ๊ธฐ๋ฅ์ด ์๋ค. ์๋ฅผ ๋ค๋ฉด, ํธ์ง ์์์ '์ฃผ์'์ '์ธ์ฌ๋ง' ํ๋๋ฅผ ๊ฐ์ง ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์๋ ์ผ๋ จ์ ๋ฌธ์๋ค๋ก ํํ๋๊ณ , ํ๋๋ {์ด๋ฆ: ๋ด์ฉ}๊ณผ ๊ฐ์ ํํ๋ก ํํ๋๋ค. ์ฌ๋ฌ ์ฐ์ฐ๋ค ์ค, ์ฃผ์ด์ง ์ด๋ฆ์ผ๋ก ํ๋๋ฅผ ์ฐพ๋ FindNamedField๋ผ๋ ํ๋ก์์ ๊ฐ ์๋ค. ํ ๋ ๋๋ฆฌ ์ฐ์๋ ์ด๋ ์์ฉ ์์คํ ์ O(n^2) ์๊ฐ ๋ณต์ก๋์ FindNamedField ํ๋ก์์ ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฌ๊ธฐ์ n์ ๋์ ๋ฌธ์์ ๊ธธ์ด๋ค. ์ด์ฒ๋ผ ๋๋ผ์ด ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ด์ ๋ i๋ฒ์งธ ํ๋๋ฅผ ์ฐพ๋ FindIthField ํ๋ก์์ (๋ถ๊ฐ์ ์ธ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฐ์ง ์๋๋ค๋ฉด O(n) ์๊ฐ์ด ๊ฑธ๋ฆฌ๋)๋ฅผ ์ฐ์ ์์ฑํ๊ณ , ๊ทธ ๋ค์ FindNamedField(name)์ ๋ค์๊ณผ ๊ฐ์ด ์์ฃผ ์์ฐ์ค๋ฌ์ด ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํํ๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<pre class="psuedo"><code> for i := 0 to numberOfFields do | |
FindIthField; if its name is name then exit | |
end loop</code></pre> | |
<p>์ผ๋จ (๋ฌด๋ถ๋ณํ๊ฒ ์ ํ๋) ์ถ์ํ FindIthField๊ฐ ์ฃผ์ด์ง๋ค๋ฉด, FindIthField์ ๋น์ฉ์ ๋ํ ํ๋ฐํ ์ธ์๋ง์ด ์ด๋ฐ ์ฌ์์ ๋ง์ ์ ์์ ๊ฒ์ด๋ค. ๋ฌผ๋ก , ์ถ์ํ๋ฅผ ๋ฐ๋ํ๋ค๋ ์ฃผ์ฅ์ ์๋์ง๋ง, ์ถ์ํ๋ก ์ธํ ์ํ์๋ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ ๊ฒ์ด ์ข๋ค.</p> | |
<h2 id="๊ท๊ฒฐ">2.2 ๊ท๊ฒฐ</h2> | |
<p>๋จ์ํจ๊ณผ ์ผ๋ฐํ์ ๊ดํ ๊ท์น์ ๋ง์ ํฅ๋ฏธ๋ก์ด ๊ท๊ฒฐ์ ๊ฐ๋๋ค.</p> | |
<blockquote> | |
<p>๋ณต์ฅ์ ์ง๊ฐ์ด ํ์ฉํ๋ ํ์์,<br />๊ทธ๋ฌ๋ ์๋๊ต์ฅ์ ๊ธ๋ฌผ, ํ๋ คํ๋ ๋ฒ์ง๋ ํ์ง๋ ์๊ฒ.</p> | |
</blockquote> | |
<p>* <em>๋น ๋ฅธ ๊ฒ์ ๋ง๋ค์ด๋ผ</em>. ๋ฒ์ฉ์ ์ด๊ณ ๊ฐ๋ ฅํ ๊ฒ๋ณด๋ค ๋น ๋ฅธ ๊ฒ์ด ๋ซ๋ค. ๋น ๋ฅด๋ฉด, ํด๋ผ์ด์ธํธ๋ ์ํ๋ ๊ธฐ๋ฅ์ ํ๋ก๊ทธ๋จํ ์ ์๊ณ , ๋ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๋ ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ํ๋ก๊ทธ๋จํ ์ ์๋ค. ๋ ๋๋ฆฌ์ง๋ง ๋ ๊ฐ๋ ฅํ ์ฐ์ฐ๋ณด๋ค ๋น ๋ฅด๊ฒ ์คํ๋๋๊ธฐ์ด ์ฐ์ฐ์ ๊ฐ์ถ๋ ํธ์ด ํจ์ฌ ๋ซ๋ค(๋ฌผ๋ก , ๋น ๋ฅด๊ณ , ๊ฐ๋ ฅํ ์ฐ์ฐ์ด ์ต๊ณ ๋ค. ์ด๋ป๊ฒ ํ๋์ง๋ง ์๋ค๋ฉด). ๋๋ฆฌ๊ณ ๊ฐ๋ ฅํ ์ฐ์ฐ์ ๋ฌธ์ ์ ์ ๊ฐ๋ ฅํจ์ ์ํ์ง ์๋ ํด๋ผ์ด์ธํธ๋ ๊ธฐ์ด ๊ธฐ๋ฅ์ ์ํด ๋ ๋ง์ ๋น์ฉ์ ์ง๋ถํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ๋์ฒด๋ก ๊ฐ๋ ฅํ ์ฐ์ฐ์ ์ ์ ํ ์ ํ์ด ์๋๋ผ๊ณ ๋ฐํ์ก๋ค.</p> | |
<blockquote> | |
<p>์๊ฐ๋ง ์๋ค๋ฉด (์๋๋ฉด ์ฃฝ์์ ์ฌ๋์ด ๋ณด์๊ด์ด๋ผ<br />์ฌ์ ์์ด ์ฒดํฌํด ๊ฐ๋ค) ์ค, ๋น์ ๋คํํ ๋งํด ์ค ํ ๋ฐ--<br />ํ์ง๋ง ๊ทธ๋ง. (5๋ง 2์ฅ 339ํ)</p> | |
</blockquote> | |
<p>์๋ฅผ ๋ค๋ฉด, ๋ง์ ์ฐ๊ตฌ([23, 51, 52]์ ๊ฐ์)์์ ํ๋ก๊ทธ๋จ์ ๋๋ถ๋ถ์ ์๊ฐ์ ๋ฌด์ฒ ๊ฐ๋จํ ์ ์ฌ(load), ์ ์ฅ(store), ๋์น ๊ฒ์ฌ(test for equality), ํ๋ ์ฆ๊ฐ(adding one) ์ฐ์ฐ์ ์ํํ๋๋ฐ ์ฐ๋ ๊ฒ์ผ๋ก ๋๋ฌ๋ฌ๋ค. ์ด๋ฐ ๊ฐ๋จํ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์คํํ๋ ๋ช ๋ น์ด๋ค์ ๊ฐ์ถ 801[41]์ด๋ RISC[39] ๊ฐ์ ์ปดํจํฐ๊ฐ ๊ฐ๋จํ ๊ฒฝ์ฐ์ ์ฐ์ฐ๋ ์ค๋ ๊ฑธ๋ฆฌ๋ ๋ ๋ฒ์ฉ์ ์ด๊ณ ๊ฐ๋ ฅํ ๋ช ๋ น์ด๋ค์ ๊ฐ์ถ VAX ๊ฐ์ ์ปดํจํฐ ๋ณด๋ค ํ๋ก๊ทธ๋จ์ ๋ ๋นจ๋ฆฌ ์คํํ๋ค(๋์ผํ ์์ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋ค๋ฉด). ๊ตฌํ์ ๋์ผํ ์์ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ด ๋ ๋ฐฐ๋ ๋ ๊ฑธ๋ฆฌ๊ธฐ๋ ํ๋ค ํด๋ผ์ด์ธํธ๊ฐ ํ์๋ก ํ๋ ๊ฒ๋ณด๋ค ํ์ธต ๋ ๊ฑฐ์ฐฝํ ์๊ฒฌ์ ๊ฐ์ง ์ปดํจํฐ๋ ๋์ฑ ๋์๊ฒ ๋์ํ๋ค[18].</p> | |
<p>๋๊ท๋ชจ ์์คํ ์์ ์๊ฐ์ด ์ด๋์ ์ฐ์ด๋์ง ์ฐพ์๋ด๋ ค๋ฉด, ์๊ฐ์ ๋ง์ด ์ฐ๋ ์ฝ๋๋ฅผ ์ ํํ๊ฒ ์ง์ ํด์ฃผ๋ ์ธก์ ๋๊ตฌ๊ฐ ํ์ํ๋ค. ์์ฃผ ์์์ ์์คํ ๋ง ์ด๋ฐ ๋๊ตฌ ์์ด ์ ์ ํ ์กฐ์จํ ์ ์์ ์ ๋๋ก ์ถฉ๋ถํ ํ์ ํ ์ ์๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ์ 80%๊ฐ ์ฝ๋์ 20%์์ ์ฐ์ด๋๋ฐ, ๋ณดํต ์ ํ ๋ถ์์ด๋ ์ง๊ฐ์ ํ์ ์ ๊ฐ์ง๊ณ ์ด 20%์ ์ฝ๋๋ฅผ ์ฐพ์๋ผ ์ ์๋ค. ์ธํฐ๋ฆฌ์คํ-D๋ ํจ๊ณผ์ ์ธ ๋๊ตฌ๋ค์ ์ฌ์ฉํ ์ฑ๋ฅ ์กฐ์จ๋ก 10 ๋ฐฐ๋ ๋นจ๋ผ์ก๋ค.</p> | |
<p>* <em>๊ฐ๋ ฅํจ์ ๊ฐ์ถ์ง ๋ง๋ผ</em>. ์ด ํ์ด๋ ๋ฐ๋ก ์ ํ์ด์ ๋ฐ์ ํ ๊ด๋ จ์ด ์๋ค. ๋ฎ์ ๋จ๊ณ์ ์ถ์ํ๊ฐ ์ด๋ค ์์ ์ ์ฌ๋นจ๋ฆฌ ๋ง์น ์ ์๋๋ก ํด์ค๋ค๋ฉด, ์์์ ์ถ์ํ ๋จ๊ณ๋ค์ด ์ด ๊ฐ๋ ฅํจ์ ๋ณด๋ค ์ผ๋ฐ์ ์ธ ์์ ์์ผ๋ก ๊ฐ์ถ์ด์๋ ์๋๋ค. ์ถ์ํ์ ๋ชฉ์ ์ ํด๋ผ์ด์ธํธ๊ฐ ์์น ์๋ ์์ฑ์ ์จ๊ธฐ๋ ๊ฒ์ด๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ์์ฑ์ ์จ๊ฒจ์๋ ์๋๋ค. ๋ฌผ๋ก ์ข ์ข ์์์ ๋ค์คํํ๋ ์ถ์ํ๋ฅผ ํ๋๋ฐ, ์ด ๋ ๋น์ฉ์ด ๋ค ์ ๋ฐ์ ์๋ค. ํ์ง๋ง ๋จ์ผ ํด๋ผ์ด์ธํธ์๊ฒ ๋ชจ๋ ํน์ ๊ฑฐ์ ๋ชจ๋ ์์์ ์ ๊ณตํ ์ ์์ด์ผ ํ๋ค. ์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ๋ ๊ฐ์ํ ์ ์๋ค.</p> | |
<p>์์ปจ๋ฐ, ์ํ ์ ๋์คํฌ ํ๋์จ์ด[53]๋ ๋์คํฌ ํ์ ์๋๋ก ์ค๋ฆฐ๋ ์ ์ฒด๋ฅผ ์ ์กํ ์ ์๋ค. ๊ธฐ์ด ํ์ผ ์์คํ [29]์ ์ฐ์๋ ํ์ผ ํ์ด์ง๋ค์ ๋์คํฌ์ ์ต๊ณ ํ์ ์๋๋ก ํด๋ผ์ด์ธํธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์กํ ์ ์๊ณ , ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ ์นํฐ์ ๋ํด ์ฝ๊ฐ์ ์ฐ์ฐ์ ์ํํ ์๊ฐ๋ ์์๋ค. ๊ณ ๋ก ์ฝ๊ฐ์ ์นํฐ๋ง ๋ฒํผ์ ๋ด์ ๋๋ฉด ๋์คํฌ ํ์ ์๋๋ก ์ ์ฒด ๋์คํฌ๋ฅผ ํ์ ์ ์๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋๋ฐ ์ด์ฉ๋์๋๋ฐ, ๋ง๊ฐ์ง ํ์ผ ์์คํ ์ ์ฌ๊ตฌ์ถํ๋ ์ ๋ฆฌ๊ธฐ(scavenger)๋ถํฐ, ํ์ผ๋ค์์ ํจํด๊ณผ ์ผ์นํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ๋ ํ๋ก๊ทธ๋จ๊น์ง ๋ค์ํ๋ค. ํ์ผ ์์คํ ์ ์คํธ๋ฆผ ์์ค ์ถ์ํ๋ n ๋ฐ์ดํธ๋ฅผ ํด๋ผ์ด์ธํธ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฝ์ด ๋ค์ด๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ์์ ์คํธ๋ฆผ์ผ๋ก ์ธ ์ ์๋ค. ์ด ๋ n ๋ฐ์ดํธ ์ค์์ ํ ๋์คํฌ ์นํฐ๋ฅผ ์์ ํ ์ ์ ํ๋ ๋ถ๋ถ์ ์ต๊ณ ๋์คํฌ ํ์ ์๋๋ก ์ ์ก๋ ์ ์๋ค. ๋ก๋, ์ปดํ์ผ๋ฌ, ํธ์ง๊ธฐ์ ๋ง์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ๋ค์ ์ฑ๋ฅ์ ํฐ ํ์ผ์ ๋น ๋ฅด๊ฒ ์ฝ์ ์ ์๋ ์ด ๋ฅ๋ ฅ ๋๋ถ์ด์๋ค. ์คํธ๋ฆผ ์์ค์ ํด๋ผ์ด์ธํธ๋ ๋์คํฌ ํ์ด์ง๋ฅผ ์๋ ๊ทธ๋๋ก ๋ค๋ฃฐ ์ ์๋ ํธ์ต์ ํฌ๊ธฐํ๋ค. ์ด ๊ฒ์ด ๋์ ์์ค์ ์ถ์ํ์ ์ง๋ถ๋ ์ ์ผํ ๋๊ฐ์ด๋ค.</p> | |
<p>* <em>ํ๋ก์์ ์ธ์๋ฅผ ์ฌ์ฉํ๋ผ</em>. ์ธํฐํ์ด์ค์ ์ ์ฐ์ฑ์ ์ฃผ๋ ค๋ฉด ํ๋ก์์ ๋ฅผ ์ธ์๋ก ๋๊ฒจ๋ผ. ํ์ํ๋ค๋ฉด ์์คํ ๋ณดํธ๋ ์ด์์ฑ์ ์ํด ํ๋ก์์ ์ธ์๋ฅผ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ ํํ๊ฑฐ๋ ๋ณํํ ์๋ ์๋ค. ์ด ๊ธฐ๋ฒ์ ์ธํฐํ์ด์ค๋ฅผ ์๋นํ ๋จ์ํํ ์ ์์ด์, ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๋ ์ ๋๋ก ํ๋ผ๋ฉํฐ๊ฐ ๋ค๋ฒ๋ฒ ๋๋ ๊ฒ์ ๋ง์์ค๋ค. ํ๊ฐ์ง ๊ฐ๋จํ ์๋ ์งํ์์ ์ด๋ค ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ชจ๋ ์์๋ฅผ ๋๋ ค์ฃผ๋ ๋์ด ํ๋ก์์ ์ด๋ค. ๊ฐ์ฅ ๊น๋ํ ์ธํฐํ์ด์ค๋ ํด๋ผ์ด์ธํธ๊ฐ ์กฐ๊ฑด์ ๊ฒ์ฌํ๋ ํํฐ ํ๋ก์์ ๋ฅผ ์ ๋ฌํ๋ ๊ฒ์ธ๋ฐ, ํจํด์ด๋ ๋ค๋ฅธ ํน์ ์ธ์ด๋ฅผ ์ ์ํ๋ ๊ฒ๋ณด๋ค ๋ซ๋ค.</p> | |
<p>์ด ์ฃผ์ ๋ ๋ค์ํ๊ฒ ๋ฒํํ ์ ์๋ค. ๋ ํฅ๋ฏธ๋ก์ด ์๋ ๋ฒํด๋ฆฌ 940 ์์คํ ์ ์คํ์ด(Spy) ์์คํ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ด๋ค[10]. ์คํ์ด๋ ํ๊ฐ๋์ง ์์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ํผ๋ฐ์ด์ (supervisor)์ ์ฝ๋์ ํจ์น(patch)๋ฅผ ์ฌ์ ์ ์๋๋ก ํด์ค๋ค. ํจ์น๋ ๊ธฐ๊ณ์ด๋ก ์์ฑ๋์ง๋ง, ํจ์น๋ฅผ ์ค์นํ๋ ๊ณผ์ ์์ ์์์ ์ฃผ์๋ก ๋ถ๊ธฐํ์ง๋ ์๋์ง, ๋ฃจํ๊ฐ ์์ง๋ ์์์ง, ๋๋ฌด ๊ธธ์ง๋ ์์์ง, ๊ทธ๋ฆฌ๊ณ ํต๊ณ ์์ง์ ์ํด ๋ง๋ จํ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ๋ ์์ญ์๋ง ์ ์ฅํ๋์ง ๊ฒ์ฌํ๋ค. ์คํ์ด๋ฅผ ์ด์ฉํ๋ฉด, ์์คํ ์ ์ฌ์ฉํ๋ ํ์๋ค๋ ์์คํ ์ ๊ณ ์ฅ๋ด๊ฑฐ๋ ์์คํ ์ด์์ ๋ฐฉํดํ์ง ์์๊น ๊ฑฑ์ ํ ํ์ ์์ด ์ธก์ ๋ฒ์ ์ธ์ธํ ๋ถ๋ถ๊น์ง ์กฐ์จํ ์ ์๋ค.</p> | |
<p>์ด ๊ธฐ๋ฒ์ ๊ฐ๋ ฅํจ์ ๋ณด์ฌ์ฃผ๋ ๋ ํ๋์ ํน์ดํ ์๋ CDC 6400์ ์ํ ์นผ(Cal) ์๋ถํ ์์คํ ์ FRETURN ๋ฉ์นด๋์ฆ์ด๋ค[30]. ๋ชจ๋ ์ํผ๋ฐ์ด์ ํธ์ถ(supervisor call) C์์ ๋ ๋ค๋ฅธ ์ํผ๋ฐ์ด์ ํธ์ถ CF๋ฅผ ๋ง๋ค ์ ์๋๋ฐ, CF๋ ์ ์์ ์ธ ๊ฒฝ์ฐ์๋ C์ ๋๊ฐ์ด ์คํ๋์ง๋ง, C๊ฐ ์ค๋ฅ๋ฅผ ๋๋ ค์ฃผ๋ฉด ์ฃผ์ด์ง ์คํจ ์ฒ๋ฆฌ๊ธฐ์๊ฒ ์ ์ด๋ฅผ ๋๊ธด๋ค. CF๋ ๋ ๋ง์ ์ผ์ ํ ์ ์์ง๋ง(์๋ฅผ ๋ค๋ฉด, ๋น ๋ฅด์ง๋ง ์ฉ๋์ด ์ ํ๋ ์ ์ฅ ์ฅ์น์ ํ์ผ๋ค์ ๋๋ฆฐ ์ ์ฅ ์ฅ์น์ ํฐ ํ์ผ๋ก ์ฐ์ฅํ ์ ์๋ค), (๋ฐ๋ผ๊ฑด๋) ์ ์์ ์ธ ๊ฒฝ์ฐ์๋ C ๋งํผ ๋น ๋ฅด๋ค.</p> | |
<p>๊ทธ๋ ์ง๋ง, ํนํ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ํธ์ด ๋ ๋์ ์๋ ์๋๋ฐ, ํนํ๋ ์ธ์ด๊ฐ ์ต์ ํ๋ฅผ ์ํ ์ ์ ๋ถ์์ ์ฉ์ดํ๋ค๋ฉด ๊ทธ๋ ๋ค. ์ ์ ๋ถ์ ์ฉ์ด์ฑ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ง์ ์ธ์ด ์ค๊ณ์์ ์ฃผ์ ๊ธฐ์ค์ธ ๊ฒ์ด ๊ทธ ์์ด๋ค.</p> | |
<p>* <em>ํด๋ผ์ด์ธํธ์๊ฒ ๋งก๊ฒจ๋ผ</em>. ์ ์ด๋ฅผ ์ด๋ฆฌ ์ ๋ฆฌ ๋๊ธฐ๋ ๋น์ฉ์ด ์ธ๊ธฐ๋ง ํ๋ค๋ฉด, ํ๋์ ์ธํฐํ์ด์ค๋ ์ค์ง ํ๊ฐ์ง ๋ฌธ์ ๋ง ํด๊ฒฐํ๊ณ ๋๋จธ์ง๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋จ๊ฒจ๋๋ ๋ฐฉ์์ผ๋ก ๋จ์ํจ, ์ ์ฐํจ, ๊ทธ๋ฆฌ๊ณ ๋์ ์ฑ๋ฅ์ ๋ชจ๋ ๊ฒธ๋นํ ์ ์๋ค. ์๋ฅผ ๋ค๋ฉด, ๋ง์ ํ์๋ ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ ์ธ์ํ๋ ๊ฒ์ผ๋ก ์์ ์ ์ญํ ์ ์ ํํ๊ณ ๊ตฌ๋ฌธ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ๊ธฐ ์ํด์ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ณตํ "์๋ฏธ ํด์ ๋ฃจํด"๋ฅผ ํธ์ถํ๋ค. ํด๋ผ์ด์ธํธ๊ฐ ๋ฌด์จ ์ผ์ด ์์๋์ง ์์๋ด๋ ค๋ฉด ์ํํด์ผ๋ง ํ๋ ๊ตฌ๋ฌธ ๋ถ์ ํธ๋ฆฌ๋ฅผ ํญ์ ๋ง๋๋ ๋ฐฉ์๋ณด๋ค ์ด ๋ฐฉ์์ด ๋ช ๋ฐฑํ ๋ ๋ซ๋ค.</p> | |
<p>๋๊ธฐํ ์ฅ์น๋ก์ ๋ชจ๋ํฐ(monitor)[20, 25]์ ์ฑ๊ณต์ ์ ๊ธ๊ณผ ์ ํธ ๋ฉ์นด๋์ฆ์ ์์ฃผ ์์ ์ญํ ๋ง ๋งก๊ณ , ๋ชจ๋ ์ค์ ์์ ์ ๋ชจ๋ํฐ์ ํ๋ก์์ ๋ก ๊ตฌํ๋๋ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์๊ฒ ๋จ๊ฒจ๋์๋ค๋๋ฐ ์ผ๋ถ ๊ธฐ์ธํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋จ์ํ๋ฉด์ ๋น ๋ฅธ ๋ชจ๋ํฐ๋ฅผ ๊ตฌํํ ์ ์๋ค. ํด๋ผ์ด์ธํธ๊ฐ ๋ฒํผ ํ ๋น์ด๋ ์์ ๊ด๋ฆฌ ๋๋ ๋ค๋ฅธ ๋ญ๊ฐ๊ฐ ํ์ํ๋ฉด, ํ์ํ ๊ธฐ๋ฅ์ ์ค์ค๋ก ๊ตฌํํ๊ฑฐ๋ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํธ์ถํ๊ณ , ํ์ํ ๋งํผ๋ง ๋๊ฐ๋ฅผ ์น๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ชจ๋ํฐ๊ฐ ๋ชจ๋ํฐ ๋ฝ(monitor lock)์ด๋ ์กฐ๊ฑด ๋ณ์(condition variable)๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค๋ค์ ์คํ ๊ณํ์ ์ ์ดํ ์ ์๋ค๋ ์ฌ์ค์, ํํ ์ฝ์ ์ด๋ผ๊ณ ์ธ๊ธ๋์ง๋ง, ์ค์ ์ฅ์ ์ธ๋ฐ, (๊ฐ ํ๋ก์ธ์ค ๋ถ๋ฅ๋ง๋ค ๋ค๋ฅธ ์กฐ๊ฑด ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ) ํด๋ผ์ด์ธํธ์๊ฒ ์์ ์ ํ์์ ๋ง๋ ์คํ ๊ณํ์ ์ ๊ณตํ ์์ ๋ฅผ ์ฃผ์ด์, ์ ํฉํ๊ฒ ๋์ํ ๊ฐ๋ง์ด ์๋ ๋ด์ฅ ๋ฉ์นด๋์ฆ์ ๋๊ฐ๋ฅผ ์น๋ฅด๊ฑฐ๋ ์ธ์ฐ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<p>์ ๋์ค ์์คํ [44]์ ํ๋ ์ด์์ ๋ฌธ์ ์คํธ๋ฆผ์ ์ ๋ ฅ์ผ๋ก ๋ฐ๊ณ , ํ๋ ์ด์์ ์คํธ๋ฆผ์ ์ถ๋ ฅ์ผ๋ก ๋ด๋ณด๋ด๊ณ , ํ๊ฐ์ง ๋์๋ง ํ๋ ์์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋๋ก ์ฅ๋ คํ๋ค. ์ด๋ฐ ๋ฐฉ์นจ์ ์ ์ ํ ๋ฐ๋ฅด๋ฉด, ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ธํฐํ์ด์ค๊ฐ ๋จ์ํ๊ณ ํ๊ฐ์ง ์ผ์ ์ํ๊ฒ ๋๊ณ , ํด๋ผ์ด์ธํธ๋ ์์ ์ ์ฝ๋์ ์ด๋ฐ ์ผ๊ตฐ์ ์์ ํ๋ก๊ทธ๋จ๋ค์ ์กฐํฉํ์ฌ ์ ํํ ์ํ๋ ํจ๊ณผ๋ฅผ ์ป๊ฒ ๋๋ค.</p> | |
<p>์ 3 ์ ์์ ๋ ผ์ํ๋ <em>๋จ ๋ ๋จ</em> ํ์ด๋ ๋จ์ํ๊ฒ ์ ์งํ๋ผ์ ๋ ๋ค๋ฅธ ๊ท๊ฒฐ์ด๋ค.</p> | |
<h2 id="์ฐ์์ฑ">2.3 ์ฐ์์ฑ</h2> | |
<p>์ค๊ณ๋ฅผ ๊ฐ์ ํ๋ ค๋ ์๋ง์ ์์ ์ฑ ํน์ ์ฐ์์ฑ์ ๋ฐ๋ผ๋ ์๊ตฌ ์ฌ์ด์๋ ๊ธด์ฅ์ด ์ง์๋๋ค.</p> | |
<p>* <em>๊ธฐ๋ณธ ์ธํฐํ์ด์ค๋ ์์ ์ ์ผ๋ก ์ ์งํ๋ผ</em>. ์ธํฐํ์ด์ค๋ ์์คํ ์ ํ ๋ถ๋ถ ์ด์, ๋๋ก๋ ์ด๋ง ์ด๋งํ๊ฒ ๋ง์ ๋ถ๋ถ๋ค์ด ๊ณต์ ํ๋ ๊ฐ์ ๋ค์ ๊ตฌ์ฒด์ ์ผ๋ก ํํํ๊ธฐ ๋๋ฌธ์, ๋๋๋ก ๋ณ๊ฒฝํ์ง ์์์ผ ๋ฐ๋์ง ํ๋ค. ํ์ ๊ฒ์ฌ๋ฅผ ํ์ง ์๋ ์ธ์ด๋ก ํ๋ก๊ทธ๋จํ ์์คํ ์ด๋ผ๋ฉด, ๊ณต๊ฐ ์ธํฐํ์ด์ค์ ๋ณ๊ฒฝ์ ์ด๋ฆผ๋ ์๋ค. ์ธํฐํ์ด์ค์ ํด๋ผ์ด์ธํธ๋ค์ ์ถ์ ํ์ฌ ์ธ์ ์์ ๋ถ์ผ์น๋ ํฌ์ธํฐ์ ์ ์๋ฅผ ํผ๋ํ๋ ๋ฑ์ ๊ธฐ์ด์ ์ธ ๋ถ์ผ์น ์กฐ์ฐจ ๊ฒ์ฌํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฉ์ฌ(Mesa)[15] ๊ฐ์ ์๋ฒฝํ ํ์ ๊ฒ์ฌ์ ์ธ์ด ์ฐจ์์ ์ธํฐํ์ด์ค๋ฅผ ์ง์ํ๋ ์ธ์ด์์๋, ์์คํ ์ ๋ฌด๋๋จ๋ฆฌ์ง ์์ผ๋ฉด์ ์ธํฐํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ํ๊ฒฐ ์์ํ๋ค. ํ์ง๋ง ํ์ ๊ฒ์ฌ๊ฐ ๋ ์ด์ ์ง์ผ์ง์ง ์๋ ๊ฐ์ ๋ค์ ๋๋ถ๋ถ ์ฐพ์๋ผ ์ ์์ด๋, ์ฌ์ ํ ํ๋ก๊ทธ๋๋จธ๋ ์๋ชป๋ ๊ฐ์ ๋ค์ ๋ฐ๋ฅด๊ฒ ๊ณ ์ณ์ผ๋ง ํ๋ค. ์์คํ ์ด ์ปค์ ธ์ ์ฝ๋๊ฐ 25 ๋ง ์ค ์ด์์ด ๋๋ฉด ๊ณ ์ณ์ผํ ์์ ๊ฐ๋นํ ์ ์์ ์ ๋๊ฐ ๋๋ค. ๋ฌด์์ ๊ณ ์ณ์ผํ ์ง ์ ํํ๊ฒ ์๋๋ผ๋, ๊ณ ์น๋๋ฐ ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค. ์ ๋ ์ด ์ง๋๋ ์์ ์ ์ธ ์ธํฐํ์ด์ค๋ก๋ง ์ฐ๊ฒฐํ ์์ ์กฐ๊ฐ์ผ๋ก ์์คํ ์ ๋๋๋ ๋ฐฉ๋ฒ ๋ฐ์๋ ์๋ค. ์ ํต์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ด์ ์ฒด์ ์ปค๋์ด ์ ์ํ ์ธํฐํ์ด์ค๋ง ์ด ์ ๋๋ก ์์ ์ ์ด๋ค.</p> | |
<p>* <em>๋จธ๋ฌผ ๊ณณ์ ์ ์งํ๋ผ</em>. ์ธํฐํ์ด์ค๋ฅผ ๋ณ๊ฒฝํด์ผ๋ง ํ๋ค๋ฉด ๋จธ๋ฌผ ๊ณณ์ ๋จ๊ฒจ ๋์ด๋ผ. ์ด ๊ฐ๋ ์ ์ค๋ช ํ๊ธฐ ์ํด ์กฐ๊ธ ๋ค๋ฅธ ๋ ๊ฐ์ง ์๋ฅผ ์ดํด๋ณด์. ํ๋๋ ํธํ ํจํค์ง์ธ๋ฐ, ์ ์์คํ ์์ ์ด์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค. ํธํ ํจํค์ง๋ ์์ ์ธํฐํ์ด์ค์ ์์กดํ๋ ํ๋ก๊ทธ๋จ๋ ๊ณ์ ์๋ํ ์ ์๋๋ก ํด์ค๋ค. ๋ง์ ์๋ก์ด ์ด์์ฒด์ ๋ค(ํ ๋ฅ์ค[2]์ ์นผ[5]์ ํฌํจํด์)์ ์ด์ ์์คํ (๊ฐ๊ธฐ TOPS-10๊ณผ ์ค์ฝํ(Scope))์ ์ํผ๋ฐ์ด์ ํธ์ถ์ ํ๋ด๋ด์ด ์ด์ ์ํํธ์จ์ด๋ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฐ ์๋ฎฌ๋ ์ดํฐ๋ ์ด์ ์ํํธ์จ์ด๋ฅผ ๋ค์ ๊ตฌํํ๋ ๋น์ฉ์ ๋นํด์ ์ ์ ๋ ธ๋ ฅ์ ์ํ๊ณ , ๋ฉ๋ํ ๋งํ ์ฑ๋ฅ์ ์ป๊ธฐ๋ ์ด๋ ต์ง ์๋ค. ๋ค๋ฅธ ์์ค์์, IBM 360/370 ์์คํ ์ 1401๊ณผ 7090 ๊ฐ์ ๊ตฌ์ ์ปดํจํฐ์ ๋ช ๋ น์ด ์งํฉ์ ๊ทธ๋๋ก ํ๋ด๋ด๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ฌ๊ธฐ์ ๋ ๋์๊ฐ๋ฉด, ๊ฐ์ ๋จธ์ ์ ์ด๋ฅด๋๋ฐ, ๊ฐ์ ๋จธ์ ์ ์ปดํจํฐ ์์์ (์ฌ๋ฌ ๋์) ์ปดํจํฐ๋ฅผ ํ๋ด๋ธ๋ค[9].</p> | |
<p>์กฐ๊ธ ๋ค๋ฅธ ์๋ ์ธ๊ณ ๋ฐ๊ฟ์น๊ธฐ ๋๋ฒ๊ฑฐ(world-swap debugger)์ธ๋ฐ, ์ด ๋๋ฒ๊ฑฐ๋ ๋์ ์์คํ (๋๋ฒ๊น ๋์ ์์คํ )์ ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด์กฐ ์ ์ฅ ์ฅ์น์ ๊ธฐ๋กํ๊ณ ๋๋ฒ๊ฑฐ๋ฅผ ์คํํ๋ ์์คํ ์์ ์ด๋ฅผ ์ฝ์ด๋ค์ด๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค. ๊ทธ ๋ค์ ๋๋ฒ๊ฑฐ๋ ์ฌ์ฉ์์๊ฒ ๋์ ์ธ๊ณ์ ๋ํ ์๋ฒฝํ ์ ๊ทผ์ ์ ๊ณตํ๊ณ , ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ณด์กฐ ์ ์ฅ ์ฅ์น ์์ ์ ์ ํ ์์น๋ก ์ฐ๊ฒฐ์์ผ ์ค๋ค. ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋ฉด ๋์์ ์๋ ์๋ฆฌ๋ก ๋ฐ๊ฟ์น๊ณ ์คํ์ ๊ณ์ํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์ธ๋ จ๋ ๋๋ฒ๊น ๋ฐฉ๋ฒ์ ์๋์ง๋ง, ์์คํ ์ ๋งค์ฐ ๋ฎ์ ๊ณ์ธต๋ ํธ๋ฆฌํ๊ฒ ๋๋ฒ๊น ํ ์ ์๋๋ฐ, ์ธ๊ณ ๋ฐ๊ฟ์น๊ธฐ ๋๋ฒ๊ฑฐ๋ ๊ฐ๋จํ ์ธ๊ณ ๋ฐ๊ฟ์น๊ธฐ ๋ฉ์นด๋์ฆ์ ์ ์ธํ ๋ค๋ฅธ ์ด๋ค ๊ธฐ๋ฅ์ด ๋์ ์์คํ ์์ ์ ์์ ์ผ๋ก ๋์ํ์ง ์๋๋ผ๋ ์๊ด์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ ๋ถํธ์คํธ๋ํ(bootstrapping) ๋์์ ํนํ ์ ์ฉํ๋ค. ๋ค์ํ ๋ณํ๋ ์๋ค. ํ ์๋ก, ๋๋ฒ๊ฑฐ๋ฅผ ๋ค๋ฅธ ์ปดํจํฐ์์ ์คํํ ์ ์๋๋ฐ, ๋๋ฒ๊ฑฐ๋ก ๋ถํฐ ๋คํธ์์ ํตํด ๋์ฐฉํ๋ ์๋ ์ฝ๊ธฐ(ReadWord), ์๋ ์ฐ๊ธฐ(WriteWord), ์ ์ง(Stop) ๊ทธ๋ฆฌ๊ณ ์งํ(Go) ๋ช ๋ น์ ํด์ํ ์ ์๋ ์์ โ์๊ฒฉ ๋๋ฒ๊น โ ํต์ฌ ์ฅ์น๋ง ๋์ ์ธ๊ณ์ ์์ผ๋ฉด ๋๋ค. ๋ํ ๋๋ฒ๊น ๋์์ด ์๋ถํ ์์คํ ์ ํ ํ๋ก์ธ์ค๋ผ๋ฉด, ๋๋ฒ๊ฑฐ๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์คํํ ์ ์๋ค.</p> | |
<h2 id="์ ๋๋ก-๊ตฌํํ๊ธฐ">2.4 ์ ๋๋ก ๊ตฌํํ๊ธฐ</h2> | |
<blockquote> | |
<p>์๋ฒฝํจ์๋ ์กฐ๊ธ์ฉ ๋ค๊ฐ๊ฐ์ผ ํ๋ค. ์๋ฒฝํจ์ ์๊ฐ์ ๋๊ธํ ์๊ธธ์ ํ์๋ก ํ๋๊น. (๋ณผํ ๋ฅด(Voltaire))</p> | |
</blockquote> | |
<p>* <em>ํ๋๋ ๋ด๋ค ๋ฒ๋ฆด ๊ณํ์ ์ธ์๋ผ</em>. ์ด์จ๋ ๊ทธ๋ ๊ฒ ๋ ํ ๋๊น[6]. ๋ง์ฝ ์์คํ ์ ์๋ก์ด ๊ธฐ๋ฅ์ด ํ๋๋ผ๋ ์๋ค๋ฉด, ๋ง์กฑํ ๋งํ(์ถฉ๋ถํ ์๊ณ , ๋น ๋ฅด๊ณ , ์ ์ง๋ณด์ ๊ฐ๋ฅํ) ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ์ฒซ ๋ฒ์งธ ๊ตฌํ์ ๋ฒ๋ฆฌ๊ณ ๊นก๊ทธ๋ฆฌ ๋ค์ ๊ตฌํํด์ผ ํ ์ง๋ ๋ชจ๋ฅธ๋ค. ํ๋กํ ํ์ ์ ๊ณํ์ ํฌํจํ๋ฉด ๋น์ฉ์ด ํจ์ฌ ์ ๊ฒ ๋ ๋ค. ์ ๊ฐ์ค๋ฝ๊ฒ๋, ์ข ์ข ํ๋กํ ํ์ ์ด ๋ ๊ฐ ํ์ํ๋ฐ, ์๋ก์ด ์๋๊ฐ ๋ง๋ค๋ฉด ํนํ ๊ทธ๋ ๋ค. ์ด์ ์์คํ ์์ ๋ง์ ๋ถ๋ถ์ ๋ชจ๋ฐฉํ ์ ์๋ค๋ฉด ์ด์ด ์ข๋ค๊ณ ํ ์ ์๋ค. ์์ปจ๋ฐ ํ ๋ฅ์ค(Tenex)๋ SDS 940์ ๋ฐํ์ผ๋ก ๋ง๋ค์๋ค [2]. ์ด์ ์์คํ ์ด ์ง๋์น๊ฒ ๊ฑฐ์ฐฝํ๋๋ผ๋ ๋ชจ๋ฐฉํ ๊ฒ์ด ๋ง๋ค. ์ ๋์ค(Unix)๋ ๋ฉํฑ์ค(Multics)์์ ๋ง์ ๊ฐ๋ ์ ์ฐจ์ฉํ๋ค[44].</p> | |
<p>๊ตฌํ์ฒด๊ฐ ์ฑ๊ณต์ ์ด์๋๋ผ๋, ์์คํ ์ ๋ฐ์ ์ ๋ฐ๋ผ ์์ ์ ๋ด๋ฆฐ ๊ฒฐ์ ๋ค์ ๋์ง์ด ๋ณผ ๊ฐ์น๊ฐ ์๋ค. ํนํ, ๋ถํ๋ ํ๊ฒฝ(๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์๋ก ๋ค ์ ์๋ค)์ ํน์ ํ ์ฑ์ง์ ๊ณ ๋ คํ ์ต์ ํ๋ ํต์ ์ต์ ์์ ์๋นํ ๋ฒ์ด๋๊ฒ ๋๋ค.</p> | |
<blockquote> | |
<p>๋ค ์๊ฐ์ ๋ฐ์คํ์ง ๋ง๊ณ ,<br />์ ๋ฉ๋๋ก ํ๋ ์๊ฐ์ ํ๋์ผ๋ก ์ฎ๊ธฐ์ง๋ ๋ง ๊ฒ.</p> | |
</blockquote> | |
<p>* <em>๋น๋ฐ์ ์ง์ผ๋ผ</em>. ๊ตฌํ์ ๋น๋ฐ์ ๋ฐ์คํ์ง๋ง๋ผ. ์ฌ๊ธฐ์ ๋น๋ฐ์ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ด ํ์ง ๋ง์์ผ ํ๋ ๊ตฌํ์ ๋ํ ๊ฐ์ ์ด๋ค([5]์ ๊ตฌ์ ์ ์ธ์ฉํ๋ค). ๋ค์ ๋งํ๋ฉด, ๋ณ๊ฒฝ๋ ์ง ๋ชจ๋ฅด๋ ๊ฐ์ ์ด๋ค. ์ธํฐํ์ด์ค๋ ๋ณ๊ฒฝํ ์ ์๋ ๊ฒ์ ์ ์ํ๋ค(์ธํฐํ์ด์ค์ ํด๋ผ์ด์ธํธ๋ฅผ ๋์์ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์). ๋น์ฐํ, ์์คํ ์ ๊ฐ ๋ถ๋ถ์ด ๋ค๋ฅธ ๋ถ๋ถ์ ๋ํด ์ ์ ๊ฐ์ ์ ํ ์๋ก ์์คํ ์ ํ๋ก๊ทธ๋จํ๊ณ ์์ ํ๊ธฐ ์ฝ๋ค. ๋ค๋ฅธ ํ ํธ, ๊ทธ๋ฐ ์์คํ ์ ์ค๊ณํ๊ธฐ๋ ์ฝ์ง ์์์ง ๋ชจ๋ฅธ๋ค. ์ข์ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ฅํจ์ ๊ฐ์ถ์ง ์์ผ๋ ค๋ ์๊ตฌ์ ์์ถฉ๋๋ค.</p> | |
<blockquote> | |
<p>ํจ์จ์ ์ธ ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ์ ๋ฒผ๋ ๋์์ ํ๋ ํ๋ จ์ด๋ค. (๋ค์ต์คํธ๋ผ(E. Dijkstra))</p> | |
</blockquote> | |
<p>๋น๋ฐ์ ์งํค๋๋ฐ๋ ๋ ๋ค๋ฅธ ์ํ์ด ๋ฐ๋ฅธ๋ค. ์ฑ๋ฅ์ ํฅ์ ์ํค๋ ํ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์คํ ์ ํ ๋ถ๋ถ์ด ๋ค๋ฅธ ๋ถ๋ถ์ ๋ํด ๊ฐ์ง๋ ๊ฐ์ ์ ์๋ฅผ ๋์ด๋ ๊ฒ์ด๋ค. ์ถ๊ฐ์ ์ธ ๊ฐ์ ์ ํ ์ผ์ ์์ ์ค์ฌ ์ฃผ๊ณ , ์ข ์ข ์์ฃผ ๋ง์ด ์ค์ฌ ์ค๋ค. ํ ์๋ก, ํฌ๊ธฐ๊ฐ n์ธ ์งํฉ์ด ์ ๋ ฌ๋ ์ํ์์ ์๋ค๋ฉด, ์์ ๊ฒ์ฌ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ n์ด ์๋๋ผ log n ์ด๋ค. ์ด ๊ธฐ๋ฒ์ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ์ ์์ ๋ชจ๋์ ์ต์ ํ์ ์์ฃผ ์ค์ํ๋ค. ๋๊ท๋ชจ ์์คํ ์์๋ ๊ฐ ๋ถ๋ถ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ์ ํ ์ ์๋ ๋ฅ๋ ฅ์ด ์ผ๋ฐ์ ์ผ๋ก ๋ ์ค์ํ๋ค. ์ฌ๋ฐ๋ฅธ ๊ท ํ์ ๋ง์ถ๋ ๊ฒ์ ๊ธฐ์๋ก ๋จ์์๋ค.</p> | |
<blockquote> | |
<p>์ค, ๋์ ์ชฝ ๋ฐ์ ๋ฒ๋ฆฌ์ธ์,<br />๊ทธ๋ฆฌ๊ณ ๋๋จธ์ง ๋ฐ๊ณผ ํจ๊ป ๋ ์๊ฒฐํ๊ฒ ์ฌ์ธ์. (3๋ง 4์ฅ 157ํ)</p> | |
</blockquote> | |
<p>* <em>๋๋์ด ์ ๋ณตํ๋ผ</em>. ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ์๋ ค์ง ๋ฐฉ๋ฒ์ด๋ค. ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ์ฌ์ด ๋ฌธ์ ๋ก ๋ฐ๊พผ๋ค. ๊ฒฐ๊ณผ๋ก ๋์จ ํ๋ก๊ทธ๋จ์ ๋ณดํต ์ฌ๊ท์ ์ด๋ค. ์์์ ์ ์ฝ์ด ์์ผ๋ฉด ์ฌ๊ท์ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๋ค๋ฅธ ํํ๊ฐ ๋๋ค. ๋จน์ ์ ์๋ ๋งํผ ๋ฏ์ด ๋จน๊ณ , ๋๋จธ์ง๋ ๋ค์ ๋ฐ๋ณต์ ์ํด ๋จ๊ฒจ ๋๋ค.</p> | |
<p>์ํ ์ ๋์คํฌ ์ ๋ฆฌ ํ๋ก๊ทธ๋จ์ด ์ข์ ์์ธ๋ฐ, ์ ๋ฆฌ ํ๋ก๊ทธ๋จ์ ๋์คํฌ ์ ์ฒด๋ฅผ ํ์ด์ ๋์คํฌ์ ๊ฐ ์นํฐ์ ๊ธฐ๋ก๋ ํ์ด์ง ๋ฒํธ์ ํ์ผ ์๋ณ์๋ก ํ์ผ ์์คํ ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ์ธ๋ฑ์ค๋ฅผ ์ฌ๊ตฌ์ถํ๋ค[29]. ์ด ํ๋ก๊ทธ๋จ์ ์ต๊ทผ์ ์ฌ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ฃผ ์ ์ฅ ์ฅ์น์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถํ๋ ๋จ๊ณ๋ฅผ ๊ฐ์ง๋๋ฐ, ํ์ผ ๋ด์์ ์ฐ์๋ ํ์ด์ง์ด๋ฉด์ ๋ํ ๋์คํฌ์์๋ ์ฐ์๋ ํ์ด์ง๊ฐ ์๋ฃ ๊ตฌ์กฐ์์ ํ๋์ ํญ๋ชฉ์ด ๋๋ค. ๋ณดํต ํ์ผ์ ์ ๋นํ ์ฐ์์ ์ผ๋ก ํ ๋นํ๊ธฐ ๋๋ฌธ์ ์ด ๊ตฌ์กฐ๋ ์ง๋์น๊ฒ ์ปค์ง์ง ์๋๋ค. ํ์ง๋ง ๋์คํฌ๊ฐ ์ฌํ๊ฒ ํํธํ๋๋ฉด, ์ด ๊ตฌ์กฐ๋ ์ฃผ ์ ์ฅ ์ฅ์น์ ๋ค ๋ด์ ์ ์๋ค. ์ด๋ฐ ์ํฉ์ด ๋ฐ์ํ๋ฉด, ์ ๋ฆฌ๊ธฐ๋ ํ์ผ๋ค ์ค ์ ๋ฐ์ ๋ํ ์ ๋ณด๋ ๋ฒ๋ฆฌ๊ณ ๋๋จธ์ง ๋ฐ๋ง ๊ฐ์ง๊ณ ๊ณ์ํ๋ค. ํ์ผ๋ค ์ค ์ ๋ฐ์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ์ฌ๊ตฌ์ถํ ํ, ๋๋จธ์ง ํ์ผ๋ค์ ๋ํด ์ด ๊ณผ์ ์ ๋ฐ๋ณต ํ๋ค. ํ์ํ๋ค๋ฉด ์์ ์ ๋ ๋๋๋ค. ์ด ๋ฐฉ๋ฒ์ ํ๋์ ํ์ผ์ ๋ํ ์ธ๋ฑ์ค๊ฐ ์ง๋์น๊ฒ ํด ๋๋ง ์คํจํ๋ค.</p> | |
<p>๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์๊ฐ ๋๋ฒ ๋์คํฐ ํ๋ฆฐํฐ[26, 53]์์ ๋ํ๋ฌ๋ค. ์ด ํ๋ฆฐํฐ๋ ์ผ๋ จ์ ๋ฌธ์๋ค๊ณผ ์ง์ฌ๊ฐํ๋ค์ ํ๋์ ์ปค๋ค๋ m x n ๋นํธ ๋ฐฐ์ด๋ก ์ฃผ์ฌ ๋ณํ(scan-convert)ํ๋๋ฐ, ๊ฐ ๋นํธ๊ฐ 1์ด๋ฉด ์ข ์ด์ ์ํฌ๋ค ์ฐ๊ณ , 0์ด๋ฉด ์ํฌ๋ฅผ ์ฐ์ง ์๋๋ค. ์ด ํ๋ฆฐํฐ์์ m=3300์ด๊ณ n=4200์ด๋ฏ๋ก, ๋นํธ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์ฒ์ฌ๋ฐฑ๋ง ๋นํธ์ด๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๊ธฐ์๋ ๋๋ฌด ํฌ๋ค. ํ๋ฆฐํฐ๋ ์ธ๋งํ ๋์คํฌ๊ฐ ๊ณต๊ธํ ์ ์๋ ์๋๋ณด๋ค ๋น ๋ฅด๊ฒ ๋นํธ๋ฅผ ์๋นํ๊ธฐ ๋๋ฌธ์, ๋นํธ ๋ฐฐ์ด์ ๋์คํฌ์ ์ ์ฅํ ์๋ ์๋ค. ๋์ ์, ์ ์ฒด ๋นํธ ๋ฐฐ์ด์ ๋ฐด๋๋ผ ๋ถ๋ฆฌ๋ 16 x 4200 ๋นํธ ์กฐ๊ฐ์ผ๋ก ๋๋๊ณ , ํ๋ฆฐํฐ ์ ์ ํ๋ก์๋ ํ ๋ฐด๋ ์ง๋ฆฌ ๋ฒํผ๋ฅผ ๋ ๊ฐ ์ฅ์ฐฉํ๋ค. ๋ฌธ์๋ค๊ณผ ์ง์ฌ๊ฐํ๋ค์ ๊ฐ ๋ฐด๋์ ๋ถ์ฌ๋ ๋ฒํท์ผ๋ก ๋ถ๋ฅ๋์๋ค. ๋ฒํท์ ๋์ํ๋ ๋ฐด๋์์ ์์ํ๋ ๊ฐ์ฒด๋ฅผ ๋ด์๋ค. ํ ๋ฐด๋ ๋ฒํผ๋ฅผ ๋์ ๋ฒํท์ผ๋ก ์ฑ์์ ์ฃผ์ฌ ๋ณํํ๊ณ , ์ฑ์ด ๋ฐด๋๋ฅผ ํ๋ฆฐํฐ๋ก ๋ด๋ณด๋ด๊ณ ๋ค์ ๋ฒํท์ผ๋ก ๋ค๋ฅธ ๋ฒํผ๋ฅผ ์ฑ์ฐ๋ ๋์ ํ๋ฆฐํธ๋ก ๋ด๋ณด๋ธ ๋ฒํผ๋ฅผ 0์ผ๋ก ์ฑ์ด๋ค. ๋ฐด๋์ ๊ฒฝ๊ณ๋ฅผ ๋์ด ๊ฐ๋ ๊ฐ์ฒด๋ ๋ค์ ๋ฒํท์๋ ๋ฃ๋๋ค. ์ด๊ฒ์ด ๋ฌธ์ ๋ฅผ ์๊ฒ ๋๋ ์ ์๋๋ก ํด์ฃผ๋ ์ฑ ๋ต์ด๋ค.</p> | |
<p>๋๋๋ก ์๋์ ์ผ๋ก ์์์ ์ ์ฝ์ ๊ฐํ๋ ๊ฒ์ด ํธ๋ฆฌํ๋ฐ, ์ ํด์ง ํฌ๊ธฐ๋ฅผ ๋จ์๋ก ์์์ ์์ํํ๋ค. ์์์ ์์ํํ๋ฉด ํ ๋น๊ณผ ํด์ ๊ด๋ฆฌ๋ ๋จ์ํด์ง๊ณ ๋จํธํ(fragmentation)์ํ ์ข ๋ฅ๋ ๋ง์ ์ค๋ค. ๊ณ ์ ์ ์ธ ์๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ ํด์ง ํฌ๊ธฐ์ ํ์ด์ง๋ฅผ ์ฐ๋ ๊ฒ๋ค. ํฌ๊ธฐ๊ฐ ์ ํด์ง์ง ์์ ์ธ๊ทธ๋จผํธ ๋์ ์ ํ์ด์ง๋ฅผ ์ด๋ค. ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ํจ๊ป ๋์ด์, ์ฃผ ์ ์ฅ์ฅ์น์ ๋ณด์กฐ ์ ์ฅ์ฅ์น ์ฌ์ด์์ ํ๋์ ๋จ์๋ก ์ ๋ณด๋ฅผ ์ ์กํ๋ ๋ช ๋ฐฑํ ์ฅ์ ์๋ ๋ถ๊ตฌํ๊ณ , ํ์ด์ง๋ฅผ ์ฐ๋ ์์คํ ์ด ๋ ์ ์๋ํ๋ค. ์ด์ ๋ํ ์ด์ ๋ ๋ณต์กํ๋ฉฐ ์ฒด๊ณ์ ์ผ๋ก ์ฐ๊ตฌ๋์ง ์์๋ค.</p> | |
<blockquote> | |
<p>๊ทธ๋ฆฌ๊ณ ๋ฏธ์ง์ ์ ์น์ผ๋ก ๋ ์๊ฐ ๋ฒ๋ฆฌ๋๋<br />์ฐจ๋ผ๋ฆฌ ๊ทธ๋ฐ ํด์ ์ ๊ฒฌ๋๋ ๊ฒ ๋ซ๋ค๊ณ ์ฌ๊ธฐ๊ฒ ๋ง๋ ๋ค๋ฉด. (3๋ง 1์ฅ 81ํ)</p> | |
</blockquote> | |
<p>* <em>์ข์ ๊ฐ๋ ์ ๋ค์ ์ฌ์ฉํ๋ผ</em>. ๊ฐ๋ ์ ์ผ๋ฐํํด์ ์ฌ์ฉํ์ง ๋ง์๋ผ. ๊ฐ๋ ์ ํน์ํํ ๊ตฌํ์ ๊ฐ๋ ์ ์ผ๋ฐํํ ๊ตฌํ๋ณด๋ค ํจ์ฌ ๋ ํจ๊ณผ์ ์ผ ๊ฒ์ด๋ค. ๋ค์ ์ ์ ์บ์์ ๋ํ ๋ ผ์๋ ์ด ์ผ๋ฐ์ ์ธ ์์น์ด ์ ์ฉ๋ ๋ง์ ์๋ฅผ ์ ์ํ๋ค. ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์๋ ์ ๋ขฐ์ฑ์ ์ํด ๋ฐ์ดํฐ๋ฅผ <em>๋ณต์ </em>ํ๋ค๋ ๊ฐ๋ ์ด๋ค. ์ ์ ์์ ๋ฐ์ดํฐ๋ ๋ ๊ฐ๋ ๊ทธ ์ด์์ ๋์คํฌ ๋๋ผ์ด๋ธ์ ๊ธฐ๋กํด์ ์ฝ๊ฒ ํ ์ปดํจํฐ์์ ๋ณต์ ํ ์ ์๋ค[28]. ๋ฐ์ดํฐ์ ์์ด ๋ง๊ฑฐ๋ ๋ฐ์ดํฐ๊ฐ ๋ ๋ฆฝ๋ ๋ค๋ฅธ ์ปดํจํฐ์ ๊ธฐ๋ก๋์ด์ผ ํ๋ค๋ฉด, ๋ณต์ฌ๋ณธ์ด ํญ์ ๋์ผํ๋ค๊ณ ๋ณด์ฅํ๊ธฐ ์ฝ์ง ์๋ค. ๊นํฌ๋(Gifford)[16]๋ ํธ๋์ญ์ ์ ์ฅ์ ์์คํ ์์ ๋ฐ์ดํฐ ๋ณต์ ๋ฅผ ๊ตฌ์ถํด์ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๋ณด์ฌ์ฃผ์๋๋ฐ, ์์์ ํฐ ๋ณ๊ฒฝ๋ ์์์ ์ฐ์ฐ(4 ์ ์ ๋ณด๋ผ)์ผ๋ก ์ํํ ์ ์์๋ค. ํธ๋์ญ์ ์ ์ฅ์ ์์ฒด๋ ๋ก๊ทธ๋ฅผ ์ ๋ขฐ์ฑ์๊ฒ ์ ์ฅํ๊ธฐ ์ํด ๋จ์ํ ์ง์ญ ๋ณต์ ๋ฐฉ์์ ์ด์ฉํ๋ค. ์ฌ๊ธฐ์ ์ํ์ฑ์ ์๋๋ฐ, ์ฝ๋๊ฐ ์๋๋ผ ์ค์ง ๊ฐ๋ ๋ง ๋ ๋ฒ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ์ํฉ์์ ๋ณต์ ๋ฅผ ์ฌ์ฉํ๋ ์ 3์ ๋ฐฉ๋ฒ์ ์ปค๋ฐ ๊ธฐ๋ก์ ์ฌ๋ฌ ์ปดํจํฐ์ ์ ์ฅํ๋ ๊ฒ์ด๋ค[27].</p> | |
<p>์คํ ์ฌ๋ฌด ์์คํ [47]์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์์คํ ์ ๊ฑฐ์ ๋ชจ๋ ๊ฐ์ฒด(ํ ์คํธ, ๊ทธ๋ํฝ, ํ์ผ ํด๋ ํน์ ํ์ผ ์๋, ๋ ์ฝ๋ ํ์ผ, ํ๋ฆฐํฐ, ์์ ํจ๊ณผ ์ก์ ํจ ๋ฑ)์ ์ ์ฉํ ์ ์๋ ์ ์ ์์ ์กฐ์๋ฒ(๋ฌธ์ ์ ๋ ฅ, ์ด๋, ๋ณต์ฌ, ์ญ์ , ์์ฑ ๋ณด๊ธฐ)์ ์ ๊ณตํ๋ค. ์กฐ์์ ์ ํํ ์๋ฏธ๋ ๊ฐ์ฒด์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋ฌ๋๋๋ฐ, ์ฌ์ฉ์๊ฐ ์์ฐ์ค๋ฝ๋ค๊ณ ๋๋ผ๋ ํ๋ ๋ด์๋ค. ํ ์๋ก, ๋ฌธ์๋ฅผ ์ก์ ํจ์ผ๋ก ๋ณต์ฌํ๋ฉด ๋ฌธ์๋ ๋ฉ์์ง๋ก ์ ์ก๋๊ณ , ์ ์ ๋์ ์ ์ญ๊ธฐ๋ฉด ์ ์ ๊ณ ๋ฌด์ค์ฒ๋ผ ์์ง์๋ค. ํ๋ฆผ์์ด ๊ตฌํ์ ์ฌ๋ฌ ๊ฐ์ง ๋ฉด์์ ์๋นํ ๋ฌ๋๋ค. ํ์ง๋ง ๋ฒ์ฉ์ ์ธ ์กฐ์๋ค์ด ์์คํ ์ ๋จ์ํ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ธฐ๋ง ํ ๊ฒ์ ์๋๋ค. ๋ฒ์ฉ์ ์ธ ์กฐ์์ ์ด๋ค ์กฐ์์ด ๊ฐ๋ฅํ์ง ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด ์ข ๋ฅ์ ๋ฐ๋ผ ๊ตฌํ์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ง์ ๋ํ ์ฌ๊ณ ๋ฐฉ์์ ๋ํ๋ธ๋ค.</p> | |
<h2 id="๋ชจ๋ -๊ฒฝ์ฐ-๋ค๋ฃจ๊ธฐ">2.5 ๋ชจ๋ ๊ฒฝ์ฐ ๋ค๋ฃจ๊ธฐ</h2> | |
<blockquote> | |
<p>์ ๋ง์ ์ธ ์ํ์ ์ง๋ณ์<br />์ ๋ง์ ์ธ ์ฒ๋ฐฉ์ผ๋ก๋ง ๊ณ ์น ์ ์๋ ๋ฒ, ์๋๋ฉด ์ ๋. (3๋ง 7์ฅ 9ํ)</p> | |
</blockquote> | |
<blockquote> | |
<p>๊ทธ๋ฌ๋ฏ๋ก ์ด ๊ณํ์<br />ํ๋ฐฉ ํน์ ์๋น๊ตฐ์ด ์์ด ๋๋นํด์ผ ํ๋๋,<br />์ํ ์ค ๋ํฌ๊ฐ ์ฐ๋ฆฌ ๋ฉด์ ์์ ํฐ์ง ๊ฒฝ์ฐ๋ฅผ. (4๋ง 3์ฅ 151ํ)</p> | |
</blockquote> | |
<p>* <em>๋ณดํต์ ๊ฒฝ์ฐ์ ์ต์ ์ ๊ฒฝ์ฐ๋ ๋ฐ๋ก ๋ค๋ฃจ์ด๋ผ.</em> ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฒฝ์ฐ์ ๋ํ ์๊ตฌ์ฌํญ์ด ์๋นํ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<ul> | |
<li>๋ณดํต์ ๊ฒฝ์ฐ์๋ ๋นจ๋ผ์ผ ํ๋ค.</li> | |
<li>์ต์ ์ ๊ฒฝ์ฐ๋ผ๋ ์ด๋ ์ ๋ ์ง์ ์ด ์์ด์ผ ํ๋ค.</li> | |
</ul> | |
<p>๋๋ถ๋ถ์ ์์คํ ์ ์ผ๋ถ ํ๋ก์ธ์ค์๊ฒ ๋ถ๊ณตํํ๊ฒ ์คํ ๊ธฐํ๋ฅผ ์ฃผ๊ฑฐ๋ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ์์๋ ๊ด์ฐฎ๋ค. ์ฌ์ง์ด ์ ์ฒด ์์คํ ์ ๊ต์ฐฉ์ํ(deadlock)์ ๋น ๋จ๋ ค๋ ๊ด์ฐฎ๋ค. ์ด๋ฐ ์ฌํ๊ฐ ์๋์ผ๋ก ๊ฐ์ง๋๊ณ ๋๋ฌด ์์ฃผ ์ผ์ด๋์ง๋ง ์์ผ๋ฉด ๋๋ค. ์ด ๊ฒฝ์ฐ ํต์ ์ผ๋ถ ํ๋ก์ธ์ค๋ฅผ ๋น์ ์ ์ข ๋ฃ์ํค๊ฑฐ๋, ์ฌ์ง์ด ์ ์ฒด ์์คํ ์ ๋น์ ์ ์ข ๋ฃ์์ผ์ ๋ณต๊ตฌํ๋ค. ์ฒ์์๋ ํํธ์์ด ๋ณด์ด๊ฒ ์ง๋ง, ์ฃผ๋น ํ ๋ฒ์ ๋น์ ์ ์ข ๋ฃ๋ 20% ๋์ ์ฑ๋ฅ์ ์ํ ๋๊ฐ๋ก๋ ๋์ฒด๋ก ์ผ ํธ์ด๋ค.</p> | |
<p>๋ฌผ๋ก ์์คํ ์ ํ๋ฅญํ ์ค๋ฅ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ๊ฐ์ถ์ด์ผ ํ๋ค(๋จ ๋ ๋จ ์์น ์ ์ฉ. 4์ ์ ๋ณด๋ผ). ์ค๋ฅ ๋ณต๊ตฌ ๊ธฐ๋ฅ์ ์ด์จ๋ ํ์ํ๋ฐ, ๋น์ ์ ์ข ๋ฃ๋ฅผ ์ผ์ผํค๋ ์๋ง์ ๋ ๋ค๋ฅธ ์์ธ๋ค์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<p>์บ์์ ํํธ(3์ )๋ ์ ์์ ์ธ ๊ฒฝ์ฐ๋ฅผ ์ํ ํน๋ณํ ์ฒ๋ฐฉ์ ์์ด์ง๋ง, ๋ค๋ฅธ ์๋ ๋ง๋ค. ์ธํฐ๋ฆฌ์คํ-D์ ์ธ๋ค ํ๋ก๊ทธ๋๋ฐ ์์คํ ์ ์ฐธ์กฐ ํ์ ์ธ๊ธฐ ๊ฐ๋น์ง ์ฝ๋ ํฐ(reference-counting garbage collector)[11]๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ค์๊ฒ๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ์ ์ค์ํ ์ต์ ํ๊ฐ ์ ์ฉ๋์๋ค. ํ๋ก์์ ์ ํ์ฑ ๋ ์ฝ๋(activation record)๋ ๋ก์ปฌ ํ๋ ์(local frame)์ ์์นํ ํฌ์ธํฐ๋ ์ธ์ง ์๋๋ค. ๋์ ์, ๊ฐ๋น์ง๋ฅผ ์์งํ ๋๋ง๋ค ํ๋ ์์ ์กฐ์ฌํ๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฐธ์กฐ ํ์ ์ธ๊ธฐ๋ฅผ ๋ง์ด ์ค์ฌ์ฃผ๋๋ฐ, ๋๋ถ๋ถ์ ํฌ์ธํฐ๋ ์ง์ญ ๋ณ์๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ง์ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋ ์์ ๊ทธ๋ค์ง ๋ง์ง ์์์, ํ๋ ์์ ์กฐ์ฌํ๋ ์๊ฐ์ด ์งง๊ณ ๊ฑฐ์ ์ค์๊ฐ์ผ๋ก ์์ง๋๋ค. ์ธ๋ค๋ ๋ ๋์๊ฐ ์ด๋ ์ง์ญ ๋ณ์๊ฐ ํฌ์ธํฐ๋ฅผ ๋ด๊ณ ์๋์ง๋ ์ถ์ ํ์ง ์๋๋ค. ๋์ ์, ๋ชจ๋ ์ง์ญ ๋ณ์๊ฐ ํฌ์ธํฐ๋ฅผ ๋ด๊ณ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ๋ ์ด์ ์ฐธ์กฐ๋์ง ์๋ ์ด๋ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ์ฐ์ฐํ ๋ด๊ณ ์๋ ์ ์๊ฐ ๊ทธ ๊ฐ์ฒด๋ฅผ ํด์ ํ์ง ๋ชปํ๊ฒ ํ๋ค๋ ๋ป์ด๋ค. ์ธก์ ๊ฒฐ๊ณผ ์ ์ฅ๊ณต๊ฐ์ 1% ๋ฏธ๋ง๋ง ์จ๋น์น ์๊ฒ ์ ์ง๋๋ค๊ณ ๋ฐํ์ก๋ค[45].</p> | |
<p>์ฐธ์กฐ ํ์ ์ธ๊ธฐ ๋๋ถ์ ์ ์ง์ ๊ฐ๋น์ง ์ฝ๋ ํฐ๋ฅผ ๋ง๋ค๊ธฐ ์ฌ์์ ธ์, ์์งํ๋ ๋์ ๊ณ์ฐ์ ๋ฉ์ถ ํ์๊ฐ ์์ด์ก๋ค. ๊ทธ๋ ์ง๋ง, ์ฐธ์กฐ ํ์ ์ธ๊ธฐ๋ ๋ ์ด์ ์ฐ์ด์ง ์๋ ์ํ ์ฐธ์กฐ ๊ตฌ์กฐ๋ ์ ๋ฆฌํ ์ ์๋ค. ์ธ๋ค๋ ๊ทธ๋์ ์ ํต์ ์ธ ์ถ์ ํ์ฌ ์ธ์ด๋ด๊ธฐ(trace-and-sweep) ์ฝ๋ ํฐ๋ ์ฌ์ฉํ๋ค. ์ด ๋ฐฉ๋ฒ์ ์ค์๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ์๋ ์๋ง์ง ์๋ค. ์ ์ฒด ์์คํ ์ด ์ ์ด ๋์์ด๋ ๋ฉ์ถ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ ์ง๋ง ์ํธ๋ํ ์ดํ๋ฆฌ์ผ์ด์ ์์ ๋์ ๋ ์ํ ์ฐธ์กฐ ๊ตฌ์กฐ๋ฅผ ์ ๋ฆฌํ๊ธฐ ์ํด ํด์ ์๊ฐ ๋์์ ์ฌ์ฉํ ์ ์๋ค.</p> | |
<p>์ฐธ์กฐ ํ์ ์ธ๊ธฐ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ฐธ์กฐ ํ์๊ฐ ์ฃผ์ด์ง ๊ณต๊ฐ๋ณด๋ค ์ปค์ง ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฐ ์ผ์ ๋งค์ฐ ๋๋ฌธ๋ฐ, ์๋ํ๋ฉด ๊ทนํ ์์์ ๊ฐ์ฒด๋ง์ด ๋ ์ธ ๊ฐ ์ด์์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ด๋ค. ์ฐธ์กฐ ํ์ ์ต๋๊ฐ์ ๊ณ ์ ํด๋ฒ๋ฆฌ๋ฉด ๊ฐ๋จํ๋ค. ์ํ๊น๊ฒ๋, ์ผ๋ถ ์ดํ๋ฆฌ์ผ์ด์ ์์ ํฐ ์๋ฃ ๊ตฌ์กฐ์ ๋ฃจํธ๋ ๋ง์ ๊ณณ์์ ์ฐธ์กฐ๋๋ค. ๋ฃจํธ๊ฐ ๊ณ ์ ๋์ด ๋ฒ๋ฆฌ๋ฉด, ์๋นํ ์ ์ฅ๊ณต๊ฐ์ ์๋ํ์ง ์๊ฒ ์๊ตฌ์ ์ผ๋ก ์ ์ ํ๊ฒ ๋๋ค. ๋งค๋ ฅ์ ์ธ ํด๊ฒฐ์ฑ ์ '๋์นจ ํ์' ํ ์ด๋ธ์ ๋๋ ๊ฒ์ธ๋ฐ, ์ด ํ ์ด๋ธ์ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ํค๋ก ์ฐ๋ ํด์ ํ ์ด๋ธ์ด๋ค. ์ฐธ์กฐ ํ์๊ฐ ํ๊ณ์ ์ด๋ฅด๋ฉด ์ฐธ์กฐ ํ์๋ฅผ ๋ฐ์ผ๋ก ์ค์ด๊ณ , ๋์นจ ํ์๋ฅผ ํ๋ ์ฆ๊ฐ์ํค๊ณ , ๊ฐ์ฒด์ ๋์นจ ํ๋๊ทธ๋ฅผ ์ผ ๋ค. ์ฐธ์กฐ ํ์๊ฐ 0์ด ๋ ๋, ๋์นจ ํ๋๊ทธ๊ฐ ์ผ์ ธ ์์ผ๋ฉด ๊ณผ์ ์ ๋ฐ๋๋ก ์ํํ๋ค. ๊ณ ๋ก ๊ณ ์ 4 ๋นํธ ์ ๋๋ฉด 7๊น์ง ์ ์ ์๋ ๊ณต๊ฐ์ด ๋๊ณ , ์ฐธ์กฐ ํ์๊ฐ 4 ์ด์ ์ฆ๊ฐํ๊ฑฐ๋ ๊ฐ์ํ๋ ๋๋ฌธ ๊ฒฝ์ฐ์๋ง ๋์นจ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ค.</p> | |
<p>์์์ ๋์ ์ผ๋ก ํ ๋นํ๊ณ ํด์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ(์๋ฅผ ๋ค๋ฉด, ํ์ด์ง ์์คํ ์์ ์ค์ ๋ฉ๋ชจ๋ฆฌ), ์ข ์ข ์์ดํ ํ๋๋ฅผ ํด์ ํ๊ธฐ ์ํด ์ผ์์ ์ผ๋ก ์ถ๊ฐ ์์์ด ํ์ํ ๋๊ฐ ์๋ค(ํ์ด์ง๋ฅผ ์ด๋์๋ค ์จ ๋์์ง ์๋ ค๋ฉด ์ด๋ค ํ ์ด๋ธ์ ์ฝ์ด ๋ค์ฌ์ผ ํ ์๋ ์๋ค). ๋ณดํต ์์ถฉ์์ญ(์์ ์์ด ๋น์ธ ์ ์๋ ๋ณ๊ฒฝ๋์ง ์์ ํ์ด์ง)์ด ์๋๋ฐ, ์ต์ ์ ๊ฒฝ์ฐ ์์ถฉ์์ญ์ด ์ฌ๋ผ์ ธ๋ฒ๋ฆด ์๋ ์๋ค(๋ชจ๋ ํ์ด์ง๊ฐ ๋ณ๊ฒฝ๋๋ค). ์ด ๋ ๋งคํธ๋ฆฌ์ค ๋ฐ์ ์กฐ๊ทธ๋ง ์์์ ์๋น๋ก ๋จ๊ฒจ ๋๊ณ , ์๊ธฐ ์ํฉ์ด ๋ฅ์ณค์ ๋๋ง ๊บผ๋ด ์ฐ๋ ๊ธฐ๊ต๋ฅผ ๋ถ๋ฆด ์ ์๋ค. ํ๋์ ์์ดํ ์ ํด์ ํ๋๋ฐ ํ์ํ ์์์ ํ๊ณ๋ฅผ ์ ํด์ผ๋ง ํ๋ค. ์ด ํ๊ณ๋ ๋งคํธ๋ฆฌ์ค ๋ฐ์ ๋จ๊ฒจ๋ ์๋น ์์์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ฉฐ, ์์์ ๋ค์คํํ๋๋ฐ ํ์ํ ๊ณ ์ ๋น์ฉ์ผ๋ก ๊ฐ์ฃผํด์ผ ํ๋ค. ์๊ธฐ๊ฐ ๋ฅ์น๋ฉด, ํ ๋ฒ์ ๋จ ํ๋์ ์์ดํ ๋ง ํด์ ํด์ผ ํ๋๋ฐ, ๊ทธ๋ฆฌํ์ฌ ๋ชจ๋ ์๋น ์์์ด ํด์ ์์ ์๋ง ์ฐ์ด๊ฒ ๋๋ค. ์์ฒญ๋๊ฒ ๋๋ ค์ง๊ฒ ์ง๋ง ์ด์จ๋ ์ง์ ๋๋ฆฌ๋ผ๋ ๊ฒ์ ํ์คํ๋ค.</p> | |
<p>๊ฐ๋์ ์ ์์ ์ธ ๊ฒฝ์ฐ์ ์ต์ ์ ๊ฒฝ์ฐ์ ์์ ํ ๋ค๋ฅธ ์ ๋ต์ด ์๋ง๋ค. ๋ธ๋ผ๋ณด ํธ์ง๊ธฐ[24]๋ ํธ์งํ ๋ฌธ์๋ฅผ ํํํ๊ธฐ ์ํด '์กฐ๊ฐ ํ ์ด๋ธ'์ ์ฌ์ฉํ๋ค. ์กฐ๊ฐ ํ ์ด๋ธ์ ์กฐ๊ฐ์ด ์์์ธ ๋ฐฐ์ด์ธ๋ฐ, ํ์ผ์ ์ ์ฅ๋ ๋ฌธ์์ด์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ค์ด๋ค. ๊ฐ ์กฐ๊ฐ์ ๋ฌธ์์ด ์ฒซ ๋ฌธ์์ ํ์ผ ๋ด ์ฃผ์์ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ด๊ณ ์๋ค. ์ผ๋ฐ์ ์ธ ํธ์ง์ ํ๋ ๋์์๋ ๋ฌธ์์ด์ ์ ๋ ์์ ํ์ง ์๋๋ค. ๊ทธ๋์ , ์๋ฅผ ๋ค์ด ์ผ๋ถ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ฉด, ์ญ์ ๋ ๋ฌธ์๊ฐ ํฌํจ๋ ์กฐ๊ฐ์ ๋ ์กฐ๊ฐ์ผ๋ก ๋๋๋๋ฐ, ํ๋๋ ์ญ์ ๋์ง ์๊ณ ๋จ์ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์ ๊ฐ๋ฆฌํค๊ณ , ๋ค๋ฅธ ํ๋๋ ์ญ์ ๋์ง ์๊ณ ๋จ์ ๋ ๋ฒ์งธ ๋ฌธ์์ด์ ๊ฐ๋ฆฌํจ๋ค. ํค๋ณด๋๋ก ์ ๋ ฅํ ๋ฌธ์๋ค์ ํ์ผ ๋์ ์ถ๊ฐ๋๊ณ , ์ฝ์ ์ด ์ผ์ด๋ ์กฐ๊ฐ์ ์ธ ์กฐ๊ฐ์ผ๋ก ๋๋๋๋ฐ, ์ฒซ ๋ฒ์งธ๋ ์ฝ์ ์ง์ ์ด์ ์ ๋ฌธ์์ด, ๋ ๋ฒ์งธ๋ ์ฝ์ ๋ ๋ฌธ์์ด, ์ธ ๋ฒ์งธ๋ ์ฝ์ ์ง์ ์ดํ์ ๋ฌธ์์ด์ด๋ค. ๋ช ์๊ฐ ๋์ ํธ์งํ๋ฉด ์ ๋ฐฑ ๊ฐ์ ์กฐ๊ฐ์ด ์๊ธฐ๊ณ ๊ฒฐ๊ตญ ๊ผผ์ง๋ ๋ชปํ๊ฒ ๋๋ค. ๋์ฒญ์๋ฅผ ํ ๋๊ฐ ๋๋ค. ๋ฌธ์์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์์๋๋ก ์ ํ์ผ์ ์ฐ๋ฉด ๋๋ค. ์ด์ ์กฐ๊ฐ ํ ์ด๋ธ์ ์ ํ์ผ์ ๊ฐ๋ฆฌํค๋ ํ๋์ ์กฐ๊ฐ์ผ๋ก ๋์ฒดํ ์ ์๊ณ , ๊ทธ๋ฌ๋ฉด ๊ณ์ ํธ์งํ ์ ์๋ค. ๋์ฒญ์๋ ํน๋ณํ ์ข ๋ฅ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด๋ค. ๋์ฒญ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํ ์ ์์ด์ ์ฌ์ฉ์๋ ํธ์ง์ ๋ฉ์ถ์ง ์์๋ ๋๋ค(๋ธ๋ผ๋ณด๊ฐ ์ด๋ ๊ฒ ํ์ง๋ ์์ง๋ง).</p> | |
<h1 id="์๋">3. ์๋</h1> | |
<p>์ด ์ ์ ๋น ๋ฅธ ์์คํ ์ ๋ง๋๋ ์๋ น์ ์ค๋ช ํ๋๋ฐ, ๋น ๋ฅธ ์์คํ ์ ๋ง๋๋ ๊ฒ์ด ์ ์ค์ํ์ง๋ ์ฌ๊ธฐ์ ๋ ผ์ํ์ง ์๊ฒ ๋ค. ๋ฒคํ๋ฆฌ(Bentley)์ ๋ฐ์ด๋ ์ ์[55]๊ฐ ์ด ์ฃผ์ ๋ฅผ ์ ๋ค๋ฃจ๊ณ ์์ผ๋ฉฐ ๊ด๋ จ๋ ๋ค๋ฅธ ์ฃผ์ ๋ค๋ ๋ด๊ณ ์๋ค.</p> | |
<blockquote> | |
<p>๋์ ๊พธ์ง๋ ๊ฟ ์ฃผ์ง๋ ๋ง ๊ฒ,<br />๊ฟ ์ฃผ๋ฉด ์ข ์ข ๋ ์๊ณ ์น๊ตฌ ์๊ฒ ๋ง๋ จ์ด์ง,<br />๊ทธ๋ฆฌ๊ณ ๊พธ๋ฉด ์ ์ฝ์ ์ ์ด ๋ฌด๋์ง๋ ๋ฒ.</p> | |
</blockquote> | |
<p>* <em>์์์ ๋ถ๋ฆฌํ๋ผ</em>. ํ์ ์ด ์์ ๋๋ ์์์ ๊ณต์ ํ๋ ๊ฒ๋ณด๋ค, ๊ฐ๊ธฐ ์ ํด์ง ์์์ ์ฐ๋ ๊ฒ์ด ๋ซ๋ค. ์ ์ฉ์ผ๋ก ๋ฐฐ์ ๋ ์์์ ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅด๊ฒ ํ ๋นํ ์ ์๊ณ , ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ๋ํ ์์ ํ ๋น๊ธฐ๊ฐ ์ด๋ป๊ฒ ๋์ํ ์ง ์์ํ๊ธฐ๋ ๋ ์ฝ๋ค. ๋ถ๋ช ํ ๋จ์ ์ ๋ ๋ง์ ์ ์ฒด ์์์ด ํ์ํ๋ค๋ ๊ฒ์ด๋ค. ๋ค์คํ ์ค๋ฒํค๋(multiplexing overhead)๋ฅผ ๋ฌด์ํ๋ฉด, ๊ณต์ ํ์์ ์์์ ๊ฐ์ ธ์ฌ ๋๋ณด๋ค ๋ ๋ง์ ์์์ด ํ์ํ๋ค. ์ด์จ๋ , ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ์ถ๊ฐ ์์์ ๋๋ ๋น์ฉ์ด ์ ๊ฑฐ๋, ๋จํธํ๋ก ๋ญ๋น๋๋ ๋น์ฉ๋ณด๋ค ๋ค์คํ ์ค๋ฒํค๋๊ฐ ๋ ํฌ๊ฑฐ๋, ํน์ ๋ ๋ค์ด๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, ํ๋ก์ธ์์ ๋ ์ง์คํฐ์ ์๋ ์ ๋ณด์ ์ ๊ทผํ๋ ๊ฒ์ด ๋ฉ๋ชจ๋ฆฌ์์ ๊ฐ์ ธ์ค๋ ๊ฒ๋ณด๋ค ํญ์ ๋ ๋น ๋ฅด๋ค. ์ปดํจํฐ๊ฐ ๊ณ ์ฑ๋ฅ ์บ์๋ฅผ ์ฅ์ฐฉํ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ๋ ์ง์คํฐ๋ ์ ๋ช ์ด ๋์๋ฐ, ๋ ์ง์คํฐ๋ ์ง๋ฅ์ ์ผ๋ก ํ ๋นํ๊ธฐ ๊น๋ค๋ก์ธ ์ ์๊ณ , ๋ ํ๋ก์์ ํธ์ถ๊ณผ ๋ณต๊ท ๋ ์ํํ๋ ๋ ์ง์คํฐ ์ ์ฅ๊ณผ ๋ณต๊ตฌ๋ ๋ ์ง์คํฐ์ ์๋์์ ์ด์ ์ ์์์ํฌ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ๋ง์ ์์ ์์ ํ๋ก์์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ฆ๋ ํ๋์ ์คํ์ผ๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด๋ผ๋ฉด, 16 ๊ฐ์ ๋ ์ง์คํฐ๋ ๋ชจ๋ ์ง์ญ ๋ณ์์ ์์ ๋ณ์๋ฅผ ๋ด๋๋ฐ ๊ฑฐ์ ์ธ์ ๋ ์ถฉ๋ถํ๊ณ , ๊ทธ๋ฌ๋ฏ๋ก ๋ ์ง์คํฐ ํ ๋น์ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค. ๋ ์ง์คํฐ ์งํฉ n๊ฐ๋ฅผ ์คํ์ผ๋ก ์ค๋นํ๋ฉด, ๋ณต๊ท ์์ด n๋ฒ ์ฐ์ ํธ์ถ๋์์ ๋๋ง ์ ์ฅ์ด ํ์ํ๋ค[14, 39].</p> | |
<p>์ ์ถ๋ ฅ ์ฑ๋, ๋ถ๋์์์ ๋ณด์กฐ์ฐ์ฐ์ฅ์น, ๋๋ ์ด๋ค๊ณผ ๋น์ทํ ์ ์ฉ ๊ณ์ฐ ์ฅ์น๋ค์ ์ด ์์น์ ๋ค๋ฅธ ์์ฉ์ด๋ค. ๋ถ๊ฐ ํ๋์จ์ด๊ฐ ๋น์ธ๋ค๋ฉด ํ๋์ ํ๋ก์ธ์๋ฅผ ๋ค์คํํ์ฌ ์ด๋ฐ ์๋น์ค๋ค์ ์ ๊ณตํ์ง๋ง, ๋ถ๊ฐ ํ๋์จ์ด๊ฐ ์ธ๋ค๋ฉด ๋ค์ํ ๋ชฉ์ ์ ๋ง๋ ๊ณ์ฐ ๋ฅ๋ ฅ์ ๊ณ ์ ์ ์ผ๋ก ํ ๋นํ๋ ๊ฒ๋ ๊ฐ์น๊ฐ ์๋ค.</p> | |
<p>์์ ์ธ๊ธํ ์ธํฐ๋ฆฌ์คํ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ [7]์ ๊ฐ ๊ฐ์ ์ฃผ์์ ์์ํ๋ ๋์คํฌ ์ฃผ์๋ฅผ ๋ชจ๋ ์ถ์ ํด์ผ ํ๋ค. ์ด ์ ๋ณด ์์ฒด๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ ์ ์์ผ๋(๋ค์์ ์์คํ ์ด ์ด๋ ๊ฒ ํ๋๋ฐ, ํ์ผ๋ฟ[42]๋ ๊ทธ ์ค ํ๋๋ค), ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ผ๋ ค๋ฉด ์ํ์ฑ์ ํผํด์ผํ๋ฏ๋ก ๋ค์ ๋ณต์กํด์ง๋ค. ๋์ ์, ์ค์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ด ๋ชฉ์ ์ ์ํด ์ ์ฉ๋์๋ค. ๋์คํฌ๊ฐ ์์ฒญ๋๊ฒ ํํธํ๋์ง๋ง ์์ผ๋ฉด ์ ์ฉ์ผ๋ก ์ฌ์ฉ๋ ๊ณต๊ฐ์ ์ํ์ฑ์ ์๋ฐฉํ๊ธฐ ์ํ ์ฝ๋๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ๋ณด๋ค ๋ ์ ๋ค.</p> | |
<p>* <em>์ ์ ๋ถ์์ ์ฌ์ฉํ๋ผ</em>, ํ ์ ์์ผ๋ฉด. ์ด ํ์ด๋ ๋ฐ๋ก ์ ํ์ด์ ์ผ๋ฐํ์ด๋ค. ์ ์ ๋ถ์์ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ์ ํฅ์ ์ํค๋๋ฐ ์ฐ์ผ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์์ฑ์ ์ฐพ์๋ธ๋ค. "ํ ์ ์์ผ๋ฉดโ์ด ๋ซ์ด๋ค. ์ ์ ํ ์ ์ ๋ถ์์ด ๋ถ๊ฐ๋ฅํ ๋๋, ๋ถ์ ์ ํ ์ ์ ๋ถ์์ผ๋ก ์์ ์ ํํนํ์ง ๋ง๊ณ , ๊ทธ๋ฅ ๋ฌผ๋ฌ๋ ๋์ ์ธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ผ.</p> | |
<p>์์์ ๋์๋ ๋ ์ง์คํฐ์ ๋ํ ๋ฐ์ธ์ ์ปดํ์ผ๋ฌ๊ฐ ๋ ์ง์คํฐ๋ฅผ ์ด๋ป๊ฒ ํ ๋นํ ์ง ์ฝ๊ฒ ๊ฒฐ์ ํ ์ ์๋ค๋ ์ฌ์ค์ ๊ทผ๊ฑฐ๋ฅผ ๋๋ค. ๊ทธ๋ฅ ์ง์ญ ๋ณ์์ ์์ ๋ณ์๋ฅผ ๋ ์ง์คํฐ์ ๋ด์ผ๋ฉด ๋๋ค. ํ์ง๋ง ๋๋ถ๋ถ์ ์ปดํจํฐ๋ ์ฌ๋ฌ ๋ฒ์ ๋ ์ง์คํฐ ์งํฉ์ ๊ฐ์ง๊ณ ์์ง๋ ์๊ณ ๋ ์ง์คํฐ๋ค์ ํจ์จ์ ์ผ๋ก ์์ ์ ์๋ ๋ฐฉ๋ฒ๋ ์๋ค. ํจ์จ์ ์ธ ๋ ์ง์คํฐ ํ ๋น์ ๊ทธ๋ฌ๋ฏ๋ก ํจ์ฌ ๋ ์ด๋ ต๋ค. ์ฑ๊ณต์ด ๋ณด์ฅ๋์ง ์๋ ์ ๊ตํ ํ๋ก์์ ๊ฐ ๋ถ์์ด ํ์ํ๊ณ , ํ์ฌํผ ํ๋ก๊ทธ๋จ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ค์ ์ํํด์ผ๋ง ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ฝ๊ฐ์ ๋์ ๋ถ์(๋ ์ง์คํฐ ์๊ธฐ)์ด ์ ์ฉํ๋ค. ๋ฌผ๋ก ์ปดํ์ผ๋ฌ๊ฐ ์๋ฆฌํ๋ค๋ฉด ํฐ ํ๋ก์์ ์ ์ ์ ๋ถ์์ ์ฌ์ ํ ๊ฐ์น๊ฐ ์๋ค.</p> | |
<p>ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฝ์ ๋ ํจ์ฌ ๋นจ๋ฆฌ ์ฝ์ ์ ์๋ค. ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฝ์ผ๋ฉด ์ด๋ค ๋ฐ์ดํฐ๊ฐ ๋ค์์ ํ์ํ ์ง ์์ธกํ๊ธฐ ์ฌ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ์ ๋ฏธ๋ฆฌ ์ฝ์ด ๋์ ์ ์๋ค. ๋๊ฐ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ํ ๋นํ ์ ์๋๋ฐ, ๊ทธ๋ฌ๋ฉด ์ ์ด๋ 10๋ฐฐ ์ด์ ๋นจ๋ฆฌ ์ ์กํ ์ ์๊ฒ ๋๋ค. ์ด๋ฌํ ์ฑ๋ฅ ํฅ์์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ธก ๊ฐ๋ฅํ ํจํด์ ๋ฐ๋ผ ์ ๊ทผํ ์ ์๋๋ก, ์ฆ, ๊ทธ๋ฆฌํ์ฌ ์ ์ ๋ถ์์ด ๊ฐ๋ฅํ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋ก๊ทธ๋จ์ ์ฌํ ๋ถ์ํ์ฌ ๋์คํฌ ์ ์ก์ ์ต์ ํํ๋ ค๋ ๋ง์ ์๋๊ฐ ์์์ผ๋, ํ์ง๋ง ๋ด๊ฐ ์๋ํ ์ฑ๊ณตํ ์ ์ ์๋ค. ๋๋ฉ๋ ํ์ด์ง(demand paging)์ด ์ฐ์ธ ๋์ ๋ถ์์ด ์ ์ด๋ ์ฌํ ๋ถ์ ์ต์ ํ ๋งํผ์ ํญ์ ์ข์๋ค.</p> | |
<p>์ด๋ค ์ข ๋ฅ์ ์ ์ ๋ถ์์ ์ด๋ค ๋ถ๋ณ์์ด ์ ์ง๋๋ค๋ ์ฌ์ค์ ์ด์ฉํ๋ค. ์ด๋ฐ ๋ถ๋ณ์์ ์์กดํ๋ ์์คํ ์ ํ๋์จ์ด ์ฅ์ ๋ ์ํํธ์จ์ด ๋ฒ๊ทธ๋ฅผ ๋ง๋ ๋ถ๋ณ์์ด ๊นจ์ง๋ ์ํฉ์ ๋ง์ผ๋ฉด ์๋ง ๊ทธ๋ฆฌ ๊ฒฌ๊ณ ํ์ง ์์ ๊ฒ์ด๋ค.</p> | |
<p>* <em>๋์ ๋ฒ์ญ</em>. ํธ๋ฆฌํ(๊ฐ๊ฒฐํ๊ณ , ์ฝ๊ฒ ์์ ํ๊ฑฐ๋ ํ์ํ ์ ์๋) ํํ์ ๋นจ๋ฆฌ ํด์ํ ์ ์๋ ํํ์ผ๋ก ๋ฐ๊พธ๋ ๋์ ๋ฒ์ญ์ ์ปดํ์ผ์ด๋ผ๋ ์ค๋๋ ๊ฐ๋ ์ ์ค์ํ ๋ณ์ข ์ด๋ค. ํ ๋ฒ์ ์กฐ๊ธ์ฉ ๋ฒ์ญํ๋ ๊ฒ์ ๋ถํ ์ปดํ์ผ์ ๋ฐฐํ์ ์๋ ๊ฐ๋ ์ด๋ค. ๋ถํ ์ปดํ์ผ์ ์ ์ด๋ ํฌํธ๋ 2๊น์ง ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ค. ์ ์ง์ ์ปดํ์ผ๋ฌ๋ ๋ฌธ์ฅ, ํ๋ก์์ , ๊ธฐํ ๋ฑ๋ฑ์ด ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก ๋ฒ์ญํ๋ค. ๋ฏธ์ฒผ(Mitchell)์ ํธ๋ฆฌํ ํํ๊ณผ ๋น ๋ฅธ ํํ ์ฌ์ด์ ์ฐ์์ฒด ์์์์ ๋งค๋๋ฌ์ด ์ด๋์ ์ฐ๊ตฌํ๋ค[34]. ๋ฏธ์ฒผ์ ๊ธฐ๋ฒ์ ๋จ์ํํ ๋ฒ์ ์ ์๊ตฌ๊ฐ ์์ผ๋ฉด ํญ์ ๋ฒ์ญํ๊ณ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋จ ํ๋์ ํด์๊ธฐ๋ง ํ์ํ๊ณ , ๋ ์บ์ ๊ต์ฒด ์ธ์๋ ์๋ฌด๋ฐ ๊ฒฐ์ ๋ ํ์ ์๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, ์คํ์ ์ธ ์ค๋ชฐํ ํฌ(Smalltalk) ๊ตฌํ์ฒด๋[12] ๊ธฐ์ค ์ค๋ชฐํ ํฌ ์ปดํ์ผ๋ฌ๊ฐ ์์ฐํ ๋ฐ์ดํธ์ฝ๋๋ฅผ ํธ๋ฆฌํ(์ด ๊ฒฝ์ฐ์๋, ๊ฐ๊ฒฐํ) ํํ์ผ๋ก ์ฌ์ฉํ๋๋ฐ, ํ๋ก์์ ํ๋๊ฐ ํธ์ถ๋๋ฉด ํ๋ก์์ ๋ฅผ ๋ฐ์ดํธ์ฝ๋์์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค. ๋ฒ์ญ๋ ์ฝ๋์ ๋ช ๋ น์ด ์ ์ฒ ๊ฐ ์ ๋๋ฅผ ๋ด์ ์ ์๋ ํฌ๊ธฐ์ ์บ์๋ฅผ ์ ์งํ๋ค. ์ด ๊ธฐ๋ฒ์ด ํจ๊ณผ๋ฅผ ๋ฐํํ๋ ค๋ฉด, ์บ์๋ ํ๊ท ์ ์ผ๋ก ํ๋ก์์ ๊ฐ ์ ์ด๋ n๋ฒ ์คํ๋ ์ ์์ ๋งํผ ์ถฉ๋ถํ ์ปค์ผ๋ง ํ๋๋ฐ, ์ฌ๊ธฐ์ n์ ๋ฒ์ญ๋์ง ์์ ์ฝ๋๋ฅผ ์คํํ๋ ์๊ฐ์ ๋ํ ๋ฒ์ญ ์๊ฐ์ ๋น์ด๋ค.</p> | |
<p>C-๋จธ์ (C-machine) ์คํ ์บ์[14]๋ ์ฝ๊ฐ ๋ค๋ฅธ ์๋ฅผ ์ ๊ณตํ๋ค. ์ด ์ฅ์น์์, ๋ช ๋ น์ด๋ ๋ช ๋ น์ด ์บ์๋ก ํ์น๋๋ค. ๋ช ๋ น์ด๊ฐ ์ ์ ๋๋ฉด์, ์ง์ญ ํ๋ ์ ํฌ์ธํฐ FP์ ์๋์ ์ธ ์คํผ๋๋ ์ฃผ์๋ ์ ๋ ์ฃผ์๋ก ๋ณํ๋๋ค. ์ด ๋ FP์ ํ์ฌ ๊ฐ(ํ๋ก์์ ๊ฐ ์คํ๋๋ ๋์์๋ ๋ณํ์ง ์๋๋ค)์ ์ด์ฉํ๋ค. ์ด์ ๋ํด, ๊ฒฐ๊ณผ๋ก ๋์จ ์ ๋ ์ฃผ์๊ฐ ํ์ฌ ์คํ ๋ฐ์ดํฐ ์บ์์ ์๋ ์ฃผ์ ๋ฒ์ ๋ด์ ์๋ค๋ฉด, ์คํผ๋๋๋ ๋ ์ง์คํฐ ๋ชจ๋๋ก ๋ฐ๋๋ค. ์ดํ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ์คํ ๋ฐ์ดํฐ ์บ์์ ๋ ์ง์คํฐ์ ์ง์ ์ ๊ทผํ๊ฒ ๋๋ค. FP ๊ฐ์ ๋ช ๋ น์ด์ ์ฃผ์์ ๋ง๋ถ์ฌ์ ๋ฒ์ญ๋ ๋ช ๋ น์ด์ ์บ์ ํค๋ฅผ ๋ง๋๋๋ฐ, ์ด๋ ๊ฒ ํด์ ๋์ผํ ํ๋ก์์ ๊ฐ ์ฌ๋ฌ๋ฒ ํ์ฑํ๋์ด๋ ์ฌ์ ํ ๋์ํ๊ฒ ๋๋ค.</p> | |
<blockquote> | |
<p>๊ทธ๋ ๋๋ฅผ ๊ฐ์ด ์์ ํ์ ์ ์ด ์๋ค๋ฉด. (5๋ง 2์ฅ 349ํ)</p> | |
</blockquote> | |
<p>* <em>๊ฒฐ๊ณผ๋ฅผ ์บ์ํ๋ผ</em>. ๊ฐ๋น์ผ ๊ณ์ฐ์ ๋ค์ ํ์ง๋ง๊ณ ๊ฒฐ๊ณผ๋ฅผ ์บ์ํ๋ผ. ์ฐ๊ด ์ ์ฅ์์ [f, x, f(x)] ์ธ ์์ ์ ์ฅํ๊ณ f์ x๋ฅผ ํค๋ก ์จ์, f(x)๋ฅผ ์ฐพ์์ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์ด ๋ฐฉ์์ ์ ํ๋ ์ฉ๋์ผ๋ก ์ธํด f(x)๊ฐ ์บ์์์ ๊ต์ฒด๋๊ธฐ ์ ์ f(x)๊ฐ ๋ค์ ํ์ํ๊ฒ ๋๋ฉด ๋ ๋น ๋ฅด๋ค. ์ผ๋ง๋ ๋ ๋น ๋ฅธ์ง๋ f(x)๋ฅผ ๊ณ์ฐํ๋ ๋น์ฉ์ด ์ผ๋ง๋ ๋น์ผ์ง์ ๋ฌ๋ ค ์๋ค. ํ๊ฐ์ง ์ฌ๊ฐํ ๋ฌธ์ ๋ f(x)๊ฐ ํจ์์ ์ฑ์ง์ ๋ง์กฑํ์ง ์์ ๋์ธ๋ฐ(๋์ผํ ์ธ์์ ๋ํด ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ค ์ ์๋ค), f(x)์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ์บ์ ์ํธ๋ฆฌ๋ฅผ ๋ฌดํจํํ๊ฑฐ๋ ๊ฐฑ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ์บ์ ๊ฐฑ์ ์ f(x + d) = g(x, d, f(x)) ํํ์ ๋ฑ์์ ๋ฐ๋ฅด๋๋ฐ, ์ด ๋ฑ์์์ g๋ฅผ ๊ณ์ฐํ๋ ๋น์ฉ์ด f๋ฅผ ๊ณ์ฐํ๋ ๊ฒ๋ณด๋ค ์ธ๋ค. ์๋ฅผ ๋ค๋ฉด, x๋ 1000 ๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ด๊ณ , f๋ ๋ฐฐ์ด ์์์ ํฉ์ด๊ณ , d๋ ๋ฐฐ์ด ์์ ์ค ํ๋์ ์ ๊ฐ์ธ๋ฐ, ์ด๋ฅผ [i, v] ์์ผ๋ก ๋ํ๋ธ๋ค. ๊ทธ๋ฌ๋ฉด g(x, [i, v], sum)์ sum - xi + v์ด๋ค.</p> | |
<p>์บ์๊ฐ ๋ชจ๋ 'ํ์ฑ' ๊ฐ๋ค์ ๋ด๊ธฐ์ ๋๋ฌด ์์ผ๋ฉด ์ฐ๋์๊ฐ ๋ฐ์ํ๊ณ , ๊ฒ๋ค๊ฐ f๋ฅผ ๋ค์ ๊ณ์ฐํ๋ ๋น์ฉ์ด ๋น์ธ๋ค๋ฉด ์ฑ๋ฅ์ ์ฌํ๊ฒ ์ ํ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์บ์์ ํฌ๊ธฐ๋ฅผ ์ ์์ ์ผ๋ก ์ ํํ๋ ๊ฒ์ด ํ๋ช ํ๋ค. ์บ์ ์ ์ค๋ฅ ์ด ๋ฎ์์ง๋ฉด ์บ์์ ํฌ๊ธฐ๋ฅผ ํค์์ผ ํ๊ณ ์ค๋ ์๊ฐ ๋์ ๋ง์ ์ํธ๋ฆฌ๊ฐ ์ฌ์ฉ๋์ง ์์ผ๋ฉด ํฌ๊ธฐ๋ฅผ ์ค์ฌ์ผ ํ๋ค.</p> | |
<p>์บ์์ ๊ณ ์ ์ ์ธ ์๋ ์ฃผ ์ ์ฅ์ฅ์น ์ ๊ทผ ์๋๋ฅผ ํฅ์ ์ํค๋ ํ๋์จ์ด์ด๋ค. ์ด ์บ์์ ์ํธ๋ฆฌ๋ [Fetch, ์ฃผ์, ์ฃผ์์ ๋ด์ฉ] ์ธ ์์ด๋ค. Fetch ์ฐ์ฐ์ ํจ์์ ์ฑ์ง์ ๋ง์กฑํ์ง ์๋ ๊ฒ์ด ํ์คํ๋ค. Fetch(x)๋ Store(x)๊ฐ ์ํ๋ ํ์๋ ๋ค๋ฅธ ๋ต์ ๋ด๋๋๋ค. ๋ฐ๋ผ์ ์ ์ฅ ์ฐ์ฐ ํ์ ๊ผญ ์บ์๋ฅผ ๊ฐฑ์ ํ๊ฑฐ๋ ๋ฌดํจํํด์ผ ํ๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ ๋ ์์ ํ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋์ํ๋ค. ์ฃผ ์ ์ฅ์ฅ์น๊ฐ ์บ์ ์ญํ ์ ํ๊ณ , ๋์คํฌ๊ฐ ์ฃผ ์ ์ฅ์ฅ์น ์ญํ ์ ํ๊ณ , ์ ์ก ๋จ์๋ ํ์ด์ง๋ ์ธ๊ทธ๋จผํธ ๋ฑ์ด ๋๋ค.</p> | |
<p>ํ์ง๋ง ๊ฑฐ์ ๋๋ค์์ ๋จ์ํ์ง ์์ ์์คํ ์ ์กฐ๊ธ ํนํ๋ ์บ์๋ฅผ ์ ์ฉํ๋ค. ์ํธ์์ฉ ์์คํ ์ด๋ ์๋ถํ ์์คํ ์ด ํนํ ๊ทธ๋ ๋ค. ์ด๋ฐ ์์คํ ์ด ๋ค๋ฃจ๋ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ ๋ ์๊ณ ๋น๋ฒํ ๋ณ๊ฒฝ์ ๋ฐ์ํ์ฌ ๋ณต์กํ ์ํ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ฐฑ์ ํ๋ ๊ฒ์ด๋ค. ์ด๋ฐ ์ผ์ ์์๋ณํต์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ๋งค์ฐ ์ฝ๋ค. ์ต์ ์ ์กฐ์งํ ์์น์ ๊ฐ๊ฐ์ ๋ณ๊ฒฝ ํ์ ์ ์ฒด ์ํ๋ฅผ ์ฌ๊ณ์ฐํ๋ ๊ณ์ฐ์์ ๊ฐ๋น์ผ ๊ฒฐ๊ณผ๋ ๋ชจ๋ ์บ์ํ๋ ๊ฒ์ด๋ค. ๋ณ๊ฒฝ์ ์ ์ด๋ ์๋ชป ๋ํ๋๊ฒ ๋ ์บ์ ์ํธ๋ฆฌ๋ ๋ฌดํจํํด์ผ ํ๋ค. ๋ฌดํจํํ ์ํธ๋ฆฌ๋ฅผ ์ ํํ๊ฒ ์ง์ด๋ด๊ธฐ ๋๋ฌด ์ด๋ ต๋ค๋ฉด, ๋ ๋ง์ ์ํธ๋ฆฌ๋ฅผ ๋ฌดํจํํ๊ณ , ๋ฌดํจํ๋ ์ํธ๋ฆฌ๋ฅผ ๋ณต๊ตฌํ๊ธฐ ์ํ ๋ ๋ง์ ๊ณ์ฐ์ ๋๊ฐ๋ก ์น๋ฃจ์ด์ผ ํ๋ค. ์ฑ๊ณต์ ๋น๊ฒฐ์ ์์ ๋ณ๊ฒฝ์ด ์ ์ ์์ ์ํธ๋ฆฌ๋ง ๋ฌดํจํํ๋๋ก ์บ์๋ฅผ ์กฐ์งํํ๋ ๊ฒ์ด๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, ๋ธ๋ผ๋ณด ํธ์ง๊ธฐ[24]์๋ <code>DisplyLine(document, firstChar)</code> ํจ์๊ฐ ์์๋๋ฐ, ์ด ํจ์๋ ํ์๋ ๋ฌธ์์์ <code>document[firstChar]</code>๊ฐ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ธ ์ค์ ๋ํ๋ด๋ ๋นํธ๋งต์ ๋ฐํํ๋ค. ์ด ํจ์๋ ๋ํ <code>lastChar</code>์ <code>lastCharUsed</code>๋ ๋ฐํํ๋๋ฐ, ๊ฐ๊ธฐ ์ค์ ํ์๋ ๋ง์ง๋ง ๋ฌธ์ ๋ฒํธ์ ๋นํธ๋งต์ ๋ง๋ค๋ฉด์ ์กฐ์ฌํ ๋ง์ง๋ง ๋ฌธ์ ๋ฒํธ์ด๋ค(์ด ๋์ ๋ณดํต ๋์ผํ์ง ์์๋ฐ, ์ค ๋ฐ๊ฟ์ ๊ฒฐ์ ํ๊ธฐ ์ํด์๋ ์ค์ ๋ง์ง๋ง ๋ฌธ์๋ฅผ ๋ด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค). ์ด ํจ์๋ ์ค ๋ฐ๊ฟ์ ๊ณ์ฐํ๊ณ , ์ ๋ ฌํ๊ณ , ๊ธ๊ผด ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๋ฌธ์๋ฅผ ๋์คํฐ ๊ทธ๋ฆผ์ผ๋ก ๋ณํํ๋ ๋ฑ์ ์ผ์ ํ๋ค. ํ๋ฉด์ ํ์ฌ ํ์๋ ์ค ํ๋ ํ๋๊ฐ ์ํธ๋ฆฌ์ธ ์บ์๊ฐ ์๋๋ฐ, ๊ฐ๋์ ๋ฐ๋ก ์ ์๋์ ๋ช ์ค์ ๋ ์บ์ํ๊ธฐ๋ ํ๋ค. <code>i</code>์์ <code>j</code> ์ฌ์ด์ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๋ ํธ์ง์ <code>[i .. j]</code>์ <code>[firstChar .. lastCharUsed]</code>๊ฐ ๊ฒน์น๋ ๋ชจ๋ ์บ์ ์ํธ๋ฆฌ๋ฅผ ๋ฌดํจํ ์ํจ๋ค. ํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ด ๋ค์ ๊ณ์ฐ๋๋ค.</p> | |
<pre class="pseudo"><code> loop | |
(bitMap, lastChar, ) := DisplayLine(document, firstChar); Paint(bitMap); | |
firstChar := lastChar + 1 | |
end loop</code></pre> | |
<p><code>DisplayLine</code> ํธ์ถ์ ์บ์์ [document, firstChar]์ ํด๋นํ๋ ์ํธ๋ฆฌ๊ฐ ์กด์ฌํ๋ฉด ์ด๋ฅผ ์ด์ฉํด ์๋ต๋๋ค. ๋ง์ง๋ง์ ์ฌ์ฉ๋์ง ์์ ๋ชจ๋ ์บ์ ์ํธ๋ฆฌ๋ ์ญ์ ๋๋ค. ์ญ์ ๋ ์ํธ๋ฆฌ๊ฐ ๋ฌดํจํ์ง๋ ์์ง๋ง, ์ค ๋ฐ๊ฟ์ด ๋ฐ๋์ด์ ์ค์ด ๋ ์ด์ ๊ทธ ์์น์์ ์์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ ํ์๊ฐ ์๋ค.</p> | |
<p>๋์ผํ ๊ฐ๋ ์ ์์ฃผ ๋ค๋ฅธ ์ํฉ์๋ ์ ์ฉํ ์ ์๋ค. ๋ธ๋ผ๋ณด์์ ๋ฌธ์๋ ์ฌ๋ฌ ๋ฌธ๋จ์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋๋ฐ, ๊ฐ ๋ฌธ๋จ์ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์ฌ๋ฐฑ, ์ค๊ฐ ์ฌ๋ฐฑ ๋ฑ์ผ๋ก ๊ท์ ๋๋ค. ์ผ๋ฐ์ ์ธ ํ์ด์ง ๋ ์ด์์์ ๊ฒฝ์ฐ ํ์ด์ง ๋ ์ด์์์ ํ๋๋ฐ ํ์ํ ๋ฌธ๋จ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ์์ฃผ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์๋ค.</p> | |
<ul> | |
<li>๋ฌธ๋จ์ ์ค ์</li> | |
<li>๊ฐ ์ค์ ๋์ด(๋ณดํต ๋ชจ๋ ์ค์ ๋์ด๊ฐ ๊ฐ๋ค)</li> | |
<li>ํ์ด์ง ๋ถ๋ฆฌ ์์ฑ๋ค</li> | |
<li>๋ฌธ๋จ ์๊ณผ ๋ค์ ๊ฐ๊ฒฉ</li> | |
</ul> | |
<p>๋ณดํต์ ๊ฒฝ์ฐ ์์ ์ ๋ณด๋ ์๋ ๋ฐ์ดํธ๋ก ๋ถํธํํ ์ ์๋ค. 30 ํ์ด์ง ์ง๋ฆฌ ์ฅ์ 300 ๋ฌธ๋จ ์ฏค์ผ ๊ฒ์ด๊ณ , ์ด ๋ชจ๋ ์ ๋ณด์ 1k ๋ฐ์ดํธ ์ ๋๊ฐ ํ์ํ๋ค. ์ด๋ ํ ํ์ด์ง ์์ ๋ฌธ์๋ค์ ๋ช ์ํ๋๋ฐ ํ์ํ ์ ๋ณด๋ณด๋ค ์ ์ ์์ด๋ค. ํ์ด์ง ๋ ์ด์์ ๊ณ์ฐ์ ํ ํ์ด์ง๋ฅผ ์ํ ์ค ๋ ์ด์์ ๊ณ์ฐ์ ๊ฒฌ์ค๋ค๋ฉด, ํ ์ฅ์ ํ์ด์ง๋ฅผ ๋ถํ ํ๋ ๊ฒ์ ํ ํ์ด์ง๋ฅผ ๋ ๋๋ง ํ๋๋ฐ ํ์ํ ์๊ฐ ๋ณด๋ค ๋ ์ ๊ฒ ๊ฑธ๋ ค์ผ ํ๋ค. ๊ฐ ์ฅ์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ ์ด์์ํ ์๋ ์๋ค.</p> | |
<p>์ด๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ <code>[paragraph, ParagraphShape(paragraph)]</code>๋ฅผ ์ํธ๋ฆฌ๋ก ๊ฐ์ง๋ ์บ์์ด๋ค. ๋ฌธ๋จ์ด ํธ์ง๋๋ฉด, ํด๋น ์บ์ ์ํธ๋ฆฌ๋ฅผ ๋ฌดํจํํ๊ณ ์ฌ๊ณ์ฐํด์ผ๋ง ํ๋ค. ํธ์ง์ด ์ผ์ด๋ ๋ ์ฆ์ ํ ์๋ ์๊ณ (ํธ์ง๋ ๋ฌธ๋จ์ด ํ๋ฉด ์์ด๋ผ๋ฉด ์ ํฉํ๋ฐ, ๋ณดํต ๊ทธ๋ ๋ค. ํ์ง๋ง ์ ์ญ ์นํ์ผ ๋๋ ๊ทธ๋ฆฌ ์ ํฉํ์ง ์๋ค), ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ํ ์๋ ์๊ณ , ํน์ ํ์ด์ง ์ฌ๋ถํ ์ด ์์ฒญ๋์์ ๋๋ง ํ ์๋ ์๋ค.</p> | |
<blockquote> | |
<p>์์์ ์ข ์ข ๊ทธ ์ฌ๋์ ํํํ๊ฑฐ๋ .</p> | |
</blockquote> | |
<p>* <em>ํํธ๋ฅผ ์ฌ์ฉํ๋ผ</em>. ํํธ๋ฅผ ์จ์ ์ ์์ ์ธ ์คํ์ ์๋๋ฅผ ๋์ฌ๋ผ. ํํธ๋, ์บ์ ์ํธ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ด๋ค ๊ณ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ๊ฒ์ด๋ค. ํํธ๋ ์บ์์ ๋ ๊ฐ์ง ์ ์์ ๋ค๋ฅด๋ค. ํํธ๋ ํ๋ฆด ์๋ ์๊ณ , ๋ฐ๋์ ์ฐ๊ด ๊ฒ์์ผ๋ก ์ ๊ทผํ์ง ์์๋ ๋๋ค. ํํธ๋ ํ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์, ๋๋๋ฆด ์ ์๋ ๋์์ ์ํํ๊ธฐ ์ ์ ํํธ๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฌํ ๋ฐฉ๋ฒ์ด ๊ผญ ์์ด์ผ ํ๋ค. ํํธ๋ โ์ง์คโ๊ณผ ๋น๊ตํ์ฌ ๊ฒ์ฌํ๋ค. ์ง์ค์ ํญ์ ์ณ์์ผ ํ์ง๋ง ํจ์จ์ ์ธ ์คํ๋ณด๋ค ํํธ๋ฅผ ๊ฒ์ฌํ๋ ์ฉ๋๋ก ์ต์ ํํ ์ ์๋ ์ ๋ณด์ด๋ค. ์บ์ ์ํธ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ํํธ์ ๋ชฉ์ ์ ์์คํ ์ด ๋น ๋ฅด๊ฒ ๋์ํ๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํํธ๋ ๊ฑฐ์ ํญ์ ์ณ์์ผ ํ๋ค๋ ๋ป์ด๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, ์ํ [29]์ ํ์ผ๋ฟ[42] ์ด์์ฒด์ ์์ ํ์ผ์ ๊ฐ๊ธฐ ์ ์ผํ ์๋ณ์๋ฅผ ๊ฐ์ก๊ณ , ๋ ๊ฐ ๋์คํฌ ํ์ด์ง๋ '๋ ์ด๋ธ' ํ๋๋ฅผ ๊ฐ์ ธ์ ๋ฐ์ดํฐ ์ ์ก ์๋๋ฅผ ๋๋ฆฌ๊ฒ ํ์ง ์์ผ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๊ธฐ ์ ์ ๋ ์ด๋ธ์ ๋ด์ฉ์ ํ์ธํ ์ ์๋ค. ํ์ด์ง ๋ ์ด๋ธ์ ๊ทธ ํ์ด์ง๋ฅผ ๋ด๊ณ ์๋ ํ์ผ์ ์๋ณ์์ ํ์ผ์์ ๊ทธ ํ์ด์ง์ ๋ฒํธ๋ฅผ ๋ด๊ณ ์๋ค. ๋ค๋ฅธ ํ์ด์ง์ ๊ตฌ๋ณํ์ฌ ๊ฐ ํ์ผ์ 0๋ฒ ํ์ด์ง๋ โ๋ฆฌ๋ ํ์ด์ง'๋ผ ๋ถ๋ ๊ณ ํ์ผ์ด ์ํ ๋๋ ํ ๋ฆฌ์ ๋๋ ํ ๋ฆฌ์์ ํ์ผ์ ๋ฌธ์์ด ์ด๋ฆ์ ๋ด๊ณ ์๋ค. ์ด๊ฒ์ด ํ์ผ ์์คํ ์ด ๊ทผ๊ฑฐ๋ก ํ๋ ์ง์ค์ด๊ณ , ์ง์ค์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์งํ๋ ๊ฒ์ ์์ฃผ ํ๋ค๋ค.</p> | |
<p>๊ทธ๋ ์ง๋ง ๋จ์ง ์ด ์ ๋ณด๋ง์ผ๋ก๋, ๋๋ ํ ๋ฆฌ์์ ํ์ผ ์ด๋ฆ์ผ๋ก ํ์ผ์ ์๋ณ์๋ฅผ ์ฐพ์ ์๋, ๋ ํ์ด์ง i์ ๋์คํฌ ์ฃผ์๋ฅผ ์ฐพ์ ์๋ ์๋ค. ์ ์ฒด ๋์คํฌ๋ฅผ ๋ค์ง์ง ์๊ณ ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๋์ํ๊ธฐ๋ ํ์ง๋ง ๋ฐ์๋ค์ผ ์ ์์ ์ ๋๋ก ๋๋ฆฐ ๋ฐฉ์์ด๋ค. ๊ทธ๋์ ๊ฐ ์์คํ ์ ์ด๋ฐ ์์ ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ํํธ๋ฅผ ๊ด๋ฆฌํ๋ค. ๋ ์์คํ ์ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ [์ด๋ฆ, ํ์ผ ์๋ณ์, ์ฒซ ํ์ด์ง์ ์ฃผ์] ์ธ ์๋ค์ ๋ด์ ํ์ผ๋ก ๋ํ๋ธ๋ค. ๊ฐ ํ์ผ์ ํ์ด์ง ๋ฒํธ๋ฅผ ํ์ด์ง์ ๋์คํฌ ์ฃผ์๋ก ์ฌ์ํ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ก๋ค. ์ํ ๋ ๊ฐ ๋ ์ด๋ธ์ ๋ค์ ๋ ์ด๋ธ์ ๊ฐ๋ฆฌํค๋ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ ํ์ด์ง n์์ ํ์ด์ง n+1์ ๋น ๋ฅด๊ฒ ์ป์ ์ ์๋๋ก ํ๋ค. ํ์ผ๋ฟ์ ์ง์ ์ฌ์์ ๊ตฌํํ B-ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฐ์๋ ํ์ผ ํ์ด์ง๊ฐ ์ฐ์๋ ๋์คํฌ ํ์ด์ง๋ฅผ ์ ์ ํ๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ์ ๋ฆฌํ๋ค๋ ์ ์ ์ด์ฉํ๋ค. ์ด๋ฐ ํํธ์์ ์ป์ ์ ๋ณด๋ฅผ ์ฌ์ฉํ ๋ ์ณ์์ง ํ์ธํ๋๋ฐ, ๋ ์ด๋ธ์ ํ์ธํ๊ฑฐ๋ ๋ฆฌ๋ ํ์ด์ง์์ ํ์ผ ์ด๋ฆ์ ์ฝ์ด์ ํ์ธํ๋ค. ์๋ชป๋ ์ ๋ณด๋ผ๊ณ ์ฆ๋ช ๋๋ฉด, ๋์คํฌ๋ฅผ ํ์ด์ ์ ์ฒด ํํธ๋ฅผ ์ฌ๊ตฌ์ถํ ์ ์๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฏธํ ๋น ๋์คํฌ ํ์ด์ง๋ฅผ ๊ธฐ๋กํ ๋นํธ ํ ์ด๋ธ๋ ํํธ์ด๋ค. ์ง์ค์ ๋ฏธํ ๋น ํ์ด์ง ๋ ์ด๋ธ์ ํน๋ณํ ๊ฐ์ผ๋ก ๋ํ๋ด๋๋ฐ, ํ์ด์ง๊ฐ ํ ๋น๋ ๋์ ํ์ผ ์๋ณ์์ ํ์ด์ง ๋ฒํธ๋ฅผ ๋ ์ด๋ธ์ ๋ฎ์ด ์ฐ๊ธฐ ์ ์ ๊ทธ ๊ฐ์ ํ์ธํ๋ค.</p> | |
<p>ํํธ์ ๋ ๋ค๋ฅธ ์๋ ์๋ฅดํ๋ท[32]์์ ์ฒ์ ์ฌ์ฉ๋ ์ ์ฅ ํ ์ ๋ฌ(store and forward) ๋ผ์ฐํ ์ด๋ค. ๋คํธ์์ ๊ฐ ๋ ธ๋๋ ๋ชจ๋ ๋ค๋ฅธ ๋ ธ๋์ ๋ํ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ ํ ์ด๋ธ์ ๊ด๋ฆฌํ๋ค. ์ด ํ ์ด๋ธ์ ๊ฐ ๋ ธ๋๊ฐ ์์ ์ ์ด์ ๋ ธ๋์์ ์ฐ๊ฒฐ ํ์ง์ ๋ํ ์๊ฒฌ์ ๋ชจ๋ ๋ค๋ฅธ ๋ ธ๋์๊ฒ ์๋ฆฌ๋ ์ฃผ๊ธฐ์ ๋ฐฉ์ก์ ์ํด ๊ฐฑ์ ๋๋ค. ์ด ๋ฐฉ์ก ๋ฉ์์ง๋ ๋๊ธฐํ ๋์ง๋ ์๊ณ ๋ฐฐ๋ฌ๋๋ค๋ ๋ณด์ฅ๋ ์๊ธฐ ๋๋ฌธ์, ๋ ธ๋๋ค์ ์ด๋ ๋๋ ์๋ก ๋ค๋ฅธ ์ ๋ณด๋ฅผ ๊ฐ์ง ์ ์๋ค. ์ด ๊ฒฝ์ฐ์ ์ง์ค์ ๊ฐ ๋ ธ๋๊ฐ ์์ ์ ์๋ณ์๋ฅผ ์๊ณ ๋ฐ๋ผ์ ์์ ์ด ๋ชฉ์ ์ง์ธ ํจํท์ ๋ฐ์์์ ์๋ ๊ฒ์ด๋ค. ๊ทธ ์ธ์๋, ๋ผ์ฐํ ์ ์ต์ ์ ๋คํ ๋ฟ์ด๋ค. ์ํฉ์ด ๊ทธ๋ค์ง ๋นจ๋ฆฌ ๋ณํ์ง ์๋๋ค๋ฉด ๊ฑฐ์ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ค.</p> | |
<p>๋ ํฅ๋ฏธ๋ก์ด ์๋ ์ด๋๋ท[33]์ธ๋ฐ, ์ด๋๋ท์ ์ผ์ด๋ธ์ ์ ์ก ์ ํธ๊ฐ ์๋ค๋ ๊ฒ์ ํจํท์ ์ก์ ํด๋ ๋๋ค๋ ํํธ๋ก ์ฌ์ฉํ๋ค. ๋ ์ก์ ์๊ฐ ๋์์ ํํธ๋ฅผ ์ทจํ๋ฉด, ๋ ๋ค ๊ฐ์งํ ์ ์๋ ์ถฉ๋์ด ๋ฐ์ํ๋ค. ๋ ๋ค ๋ฉ์ถ๊ณ , ์์๋ก ์ ํํ ๊ฐ๊ฒฉ ๋์ ๊ธฐ๋ค๋ฆฐ ํ์, ๋ค์ ์๋ํ๋ค. n๋ฒ ์ฐ์์ผ๋ก ์ถฉ๋์ด ๋ฐ์ํ๋ฉด, ์ก์ ์์ ์๊ฐ 2^n์ด๋ผ๋ ํํธ๋ก ์ทจํ๊ณ , ๊ทธ๋์ ๊ฐ ์ก์ ์๋ ์์ ์ง์ฐ ๊ฐ๊ฒฉ์ ํ๊ท ์ ์ด๊ธฐ๊ฐ์ 2^n๋ฐฐ๋ก ์ ํ๋ค. ์ด '์ง์์ ๋ฌผ๋ฌ์๊ธฐ(exponential backoff)'๋ ๋ง์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ์ง ์๋๋ก ๋ณด์ฅํ๋ค.</p> | |
<p>์์ฃผ ๋ค๋ฅด๊ฒ ์์ฉํ ํํธ๋ ์ค๋ชฐํ ํฌ ํ๋ก๊ทธ๋จ[12]์ ์๋๋ฅผ ๋์ธ๋ค. ์ค๋ชฐํ ํฌ์์ ํ๋ก์์ ๊ฐ ํธ์ถ๋ ๋ ์คํ๋๋ ์ฝ๋๋ ํ๋ก์์ ์ฒซ ๋ฒ์งธ ์ธ์์ ํ์ ์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๊ฒฐ์ ๋๋ค. ์์ปจ๋ฐ Print(x, format)์ x์ ํ์ ์ ์ผ๋ถ์ธ Print ํ๋ก์์ ๋ฅผ ํธ์ถํ๋ค. ์ค๋ชฐํ ํฌ์๋ ์ ์ธ์ด ์๊ธฐ ๋๋ฌธ์, x์ ํ์ ์ ์ ์ ์ผ๋ก ์ ์ ์๋ค. ๋์ , ๊ฐ ๊ฐ์ฒด๋ [ํ๋ก์์ ์ด๋ฆ, ์ฝ๋์ ์ฃผ์] ์๋ค์ ํ ์ด๋ธ์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๊ฐ์ง๊ณ , ๊ทธ๋์ ํ๋ก์์ ํธ์ถ์ด ์คํ๋ ๋, x์ ํ ์ด๋ธ์์ Print๋ฅผ ์ฐพ๋๋ค(์น์ํ์ง ์์ ์ค๋ชฐํ ํฌ ์ฉ์ด์ ๋ฌธ๋ฒ์ ํ๋ฒํ๊ฒ ๋ฐ๊ฟจ๊ณ , ์กฐ๊ธ ๊ณผํ๊ฒ ๋จ์ํ ํ๋ค). ์ด ๋ฐฉ์์ ๋น์ธ๋ค. ๋๊ฐ x์ ํ์ ์ ์ง์ ์ ํ์ ๊ณผ ๋์ผํ ๊ฒ์ผ๋ก ๋๋ฌ๋ฌ๋ค. ๋ฐ๋ผ์ Print(x, format) ํธ์ถ์ ์ํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ์กฐ์ ํ ์ ์๋ค.</p> | |
<pre class="pseudo"><code> push format; push x; | |
push lastType; call lastProc</code></pre> | |
<p>๊ทธ๋ฆฌ๊ณ ๋ชจ๋ Print ํ๋ก์์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์์ํ๋ค.</p> | |
<pre class="psuedo"><code> lastT := Pop(); x := Pop(); t := type of x; | |
if t != lastT then LookupAndCall(x, "Print") else the body of the procedure end if.</code></pre> | |
<p>์ฌ๊ธฐ์ <code>lastType</code>๊ณผ <code>lastProc</code>๋ ์ฝ๋์ ๋ด๊ธด ์ฆ์น๊ฐ์ด๋ค. LookupAndCall์ ์ฐพ์ x์ ํ์ ๊ณผ ์ฝ๋์ ์ฃผ์๋ฅผ lastType์ lastProc ํ๋์ ๋ค์ ์ ์ฅํด์ผ ํ๋ค. x์ ํ์ ์ด ๋ค์์๋ ๋์ผํ๋ค๋ฉด, ํ๋ก์์ ๋ ๋ฐ๋ก ํธ์ถ๋๋ค. ์ธก์ ๊ฒฐ๊ณผ ์ด ์บ์์ ์ฑ๊ณต๋ฅ ์ ์ฝ 96%์ด์๋ค. ๋ช ๋ น์ด ํ์น ์ ๋(instruction fetch unit)์ ๊ฐ์ง ์ปดํจํฐ์์, ์ด ๊ธฐ๋ฒ์ lastProc๋ก ์ด๋ํ๋ ๊ฒ์ ์ต๊ณ ์๋๋ก ์งํํ ์ ์๋ ์ข์ ์ฑ์ง์ ๊ฐ๋๋ค. ๋ฐ๋ผ์ ํํธ๊ฐ ์ณ์ ๋ ์ค๋ชฐํ ํฌ ํธ์ถ์ ๋ณดํต ์๋ธ๋ฃจํด ํธ์ถ ๋งํผ์ด๋ ๋น ๋ฅด๋ค. t != lastT ๊ฒ์ฌ๋ ๋๊ฐ์ ๊ฒฝ์ฐ ๋ถ๊ธฐํ์ง ์๋๋ก ์กฐ์ ํ ์ ์๋ค.</p> | |
<p>๊ฐ์ ๊ฐ๋ ์ด ๋ค๋ฅธ ์ฐจ๋ฆผ์ผ๋ก S-1[48]์๋ ์ฌ์ฉ๋๋๋ฐ, S-1์ ๋ช ๋ น์ด ์บ์์ ๊ฐ ๋ช ๋ น์ด๋ฅผ ์ํ ์ถ๊ฐ ๋นํธ๊ฐ ์์๋ค. ๋ช ๋ น์ด๋ฅผ ์ ์ฌํ ๋ ๋นํธ๋ฅผ ๊บผ๋๊ณ , ๋ช ๋ น์ด๊ฐ ๋ถ๊ธฐ๋ฅผ ์ ๋ฐํ๊ฒ ๋๋ฉด ๋นํธ๋ฅผ ์ผ์, ๋ช ๋ น์ด ํ์น ์ ๋์ด ๋ฐ๋ผ์ผ ํ๋ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋๋ฐ ์ด ๋นํธ๋ฅผ ์ฌ์ฉํ๋ค. ์์ธก์ด ํ๋ฆฌ๊ฒ ๋๋ฉด, ๋นํธ๋ฅผ ๋ฐ๊พธ๊ณ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅธ๋ค.</p> | |
<p>* <em>๋ฏธ์ฌ์ฉ๋ค๋ฉด, ๋จ์ํ์ง๋ง ํ์คํ ๋ฐฉ๋ฒ(brute force)์ ์จ๋ผ</em>. ํนํ ํ๋์จ์ด ๊ฐ๊ฒฉ์ด ํ๋ฝํ๋ฏ๋ก, ํน์ ์ฉ๋ ๊ณ์ฐ ์ฌ์ดํด์ด ๋ง์ด ํ์ํ ์ง๊ด์ ์ด๋ฉด์ ์ฝ๊ฒ ๋ถ์ํ ์ ์๋ ํด๊ฒฐ์ฑ ์ด ํน์ ํ ๊ฐ์ ์ด ๋ง์กฑ๋ ๋๋ง ์ํํ๊ฒ ๋์ํ๋ ๋ณต์กํ๊ณ ํน์ฑ์ ํ์ ํ๊ธฐ ์ด๋ ค์ด ํด๊ฒฐ์ฑ ๋ณด๋ค ๋ ๋ซ๋ค. ์๋ฅผ ๋ค๋ฉด, ์ผ ํฐ์จ(Ken Thompson)์ ์ฒด์ค ์ปดํจํฐ ๋ฒจ๋ (Belle)๋ ์(ๆ)๋ฅผ ๋ง๋ค๊ณ ๋ง์ ์์น๋ฅผ ํ๊ฐํ๊ธฐ ์ํด ์ ๊ตํ ์ฒด์ค ์ ๋ต๋ณด๋ค ํน์ ์ฉ๋ ํ๋์จ์ด์ ์ฃผ๋ก ์์งํ๋ค. ๋ฒจ๋ ๋ ์ธ๊ณ ์ปดํจํฐ ์ฒด์ค ๋ํ์์ ์ฌ๋ฌ ์ฐจ๋ก ์ฐ์นํ๋ค. ๋ ๋ค๋ฅธ ๊ต์ก์ ์ธ ์๋ ์๋ถํ ์์คํ ์ ๋๋ฅธ ๊ฐ์ธ์ฉ ์ปดํจํฐ์ ์ฑ๊ณต์ด๋ค. ์๋ถํ ์์คํ ์ด ํจ์ฌ ๋ ์๋ฆฌํ ๊ธฐ๋ฅ์ ๋ง์ด ํฌํจํ๊ณ ํจ์ฌ ์ ์ ์ฌ์ดํด์ ๋ญ๋นํ์ง๋ง, ๊ฐ์ธ์ฉ ์ปดํจํฐ๊ฐ ๋ํ์ ์ปดํจํฐ๋ฅผ ์คํํ๋๋ฐ ๋น์ฉ๋ฉด์์ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ฐจ์ธฐ ์ธ์ ๋ฐ์๋ค.</p> | |
<p>์ ๊ทผ์ ์ผ๋ก(asymtotically) ๋ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ด ๊ผญ ๋ ์ฐ์ํ์ง๋ ์๋ค. ๋ n x n ํ๋ ฌ์ O(n^2.5)๋ณด๋ค ๋น ๋ฅด๊ฒ ๊ณฑํ๋ ์๊ณ ๋ฆฌ์ฆ๋ ์์ง๋ง, ์์ํญ์ด ๋๋ฌด๋ ๊ณผ์คํ๋ค. ๋ ์ธ์์ ์ธ ๊ธฐ๋ก์ ๋ณด์. 7040 ์ํฌ(Watfor) ์ปดํ์ผ๋ฌ๋ ์ฌ๋ณผ์ ์ฐพ๋๋ฐ ์ ํ ํ์์ ์ฌ์ฉํ๋ค. ํ์๋ค์ด ๋ง๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ณผ์ด ๋ช ๊ฐ ๋์ง ์์์ ๋ ๋์ ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์ด๊ธฐํ ์๊ฐ์ ๋งํํ ์ ์์๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<p>* <em>๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ฐํ๋ผ</em>. ๋๋๋ก์ด๋ฉด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ฐํ๋ผ. ๋ํ์ ํน์ ์ค์๊ฐ ์์คํ ์์, ์์ฒญ์ ์๋ตํ๊ธฐ ์ ์ ๊ฐ๋ฅํ ์ ์ ์์ ์ผ๋ง ํ๋ ๊ฒ์ด ์ข๋ค. ๋ ๊ฐ์ง ์ด์ ๋๋ฌธ์ด๋ค. ์ฒซ ์งธ, ์ฆ๊ฐ์ ์ธ ์๋ต์ ์ฌ์ฉ์์๊ฒ ์ข๊ณ , ๋ ์งธ, ๋ณดํต ์์ ๋์ด ํฌ๊ฒ ๋ฌ๋ผ์, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ํ ์ ์๋ ๋น์ด ์๋ ํ๋ก์ธ์ค ์๊ฐ์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๋ง์ ์ข ๋ฅ์ ์ผ์ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ๋ฏธ๋ฃฐ ์ ์๋ค. ์ธํฐ๋ฆฌ์คํ์ ์ธ๋ค ๊ฐ๋น์ง ์ฝ๋ ํฐ[7, 11]๋ ๊ฑฐ์ ๋ชจ๋ ์์ ์ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฒ๋ฆฌํ๋ค. ๋ง์ ํ์ด์ง ์์คํ ์ด ๋ณ๊ฒฝ๋ ํ์ด์ง ์ฐ๊ธฐ์ ๊ต์ฒด ํ๋ณด ์ค๋น๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํ๋ค. ์ ์ ๋ฉ์ผ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ๋ฐฐ๋ฌํ๊ณ ํ์ํ ์ ์๋๋ฐ, ๋ณดํต ํ ๋ ์๊ฐ ๋ด์ ๋ฐฐ๋ฌ์ ํ์ฉ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ ์ํ ์์คํ ์ ๋ฐค์ ๊ณ์ ๋ค์ ๋ํ ์๋ฃ๋ฅผ ์ ๋ฆฌํ๊ณ ์ทจํฉํ์ฌ ๋ค์ ๋ ์์นจ๊น์ง ์ค๋น๋๋๋ก ํ๋ค.</p> | |
<p>์ด ๋ค ๊ฐ์ง ์๋ ์ฐจ๋ก๋๋ก ์ ์ ๋ ์ ์ ํฌ๊ทธ๋ผ์ด๋ ์์ ๊ณผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ฌ์ด์ ๋๊ธฐํ๋ฅผ ํ์๋ก ํ๋ค. ๋๊ธฐํ ์์ด ์ปค์ง์๋ก ๋ฏธ๋ฌํ ์ค๋ฅ๋ฅผ ํผํ๋ ค๋ฉด ๋์ฑ ์ฃผ์๊ฐ ํ์ํ๋ค. ๊ทน๋จ์ ์ธ ์๋ [13]์ ๋์ค๋ ์คํ ์ค ๊ฐ๋น์ง ์ฝ๋ ์ (on-the-fly garbage collection) ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํ์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ ๊ฐ์ ๋ค๋ฅธ ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค ์ฌ์ด์ ๊ฐ๋จํ ์์ฐ์-์๋น์ ๊ด๊ณ๋ง์ผ๋ก๋ ๋๊ธฐํ ๊ฐ๋ฅํ๋ค.</p> | |
<p>* <em>๋ฐฐ์น(batch) ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ผ</em>. ๊ฐ๋ฅํ๋ค๋ฉด ๋ฐฐ์น๋ก ์ฒ๋ฆฌํ๋ผ. ๋ญ๊ฐ๋ฅผ ์ ์ง์ ์ผ๋ก ์ํํ๋ฉด ๊ฑฐ์ ํญ์ ๋น์ฉ์ด ๋ ๋๋๋ฐ, ๋์คํฌ์ ํ ์ดํ๋ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํ ๋ ํจ์ฌ ์ ๋์ ํ๋ค๋ ์ ์ ์ ์ณ๋๋๋ผ๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ๋ํ, ๋ฐฐ์น๋ก ์ฒ๋ฆฌํ๋ฉด ์ค๋ฅ ๋ณต๊ตฌ๊ฐ ํจ์ฌ ๊ฐ๋จํด์ง๋ค. ๋ฑ ํฌ ์ค๋ธ ์๋ฉ๋ฆฌ์นด๋ ์ถ๋ฉ๊ณ์์ด ์๊ธ๊ณผ ์ธ์ถ์ ๊ธฐ๋กํ ์ ์๋ ๋ํ์ ์์คํ ์ ๊ฐ์ง๊ณ ์๋ค. ์์คํ ์ ์์นจ์ ํ์ฌ ๊ณ์ข ์๊ณ ๋ค์ ์ฝ์ด ๋ค์ฌ์ ์ผ๊ณผ ๋์์ ์ต์ ์ ๋คํด ๊ณ์ข ์๊ณ ๋ฅผ ๊ด๋ฆฌํ๋ค. ํ์ง๋ง ๋ค์ ๋ ์ด๋ฅธ ์์นจ์ ์ ๋ ์ฒ๋ฆฌ๋ ์จ๋ผ์ธ ์๋ฃ๋ ๋ชจ๋ ํ๊ธฐํ๊ณ ๋ฐค ๋์์ ๋ฐฐ์น ์ํ ๊ฒฐ๊ณผ๋ก ๋์ฒด๋๋ค. ์ด๋ฐ ์ค๊ณ๋ ์ ๋ขฐ์ฑ ์๋ ์ฅ๊ธฐ ๋ณด๊ด ์๋ฃ์ ๋ํ ์ํ์ ์๊ตฌ๋ฅผ ์ฝ๊ฒ ๋ง์กฑ์ํฌ ์ ์๊ณ , ์๋ฌด๋ฐ ์ค์ํ ๊ธฐ๋ฅ๋ ์์ง ์๋๋ค.</p> | |
<blockquote> | |
<p>์กฐ์ฌํด๋ผ, ๊ฒ๋ด๋ ๊ฒ ๊ฐ์ฅ ์์ ํ๋ค. (1์ฅ 3๋ง 43ํ)</p> | |
</blockquote> | |
<p>* <em>์์ ์ ์ผ</em>. ์์์ ํ ๋นํ ๋, ์ต์ ์ ์ํ๋ฅผ ๋ฌ์ฑํ๋ ค ๋ง๊ณ ๋์ฐธ์ฌ๋ฅผ ํผํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ผ. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์, ๋์คํฌ ํ ๋น, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ, ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์์ ํ ๋น ๋ฌธ์ ๋ฅผ ์ ๋ ๊ฐ ๋ค๋ฃฌ ๊ฒฝํ์ผ๋ก ๋ฒ์ฉ ์์คํ ์ ์์์ ์ฌ์ฉ์ ์ต์ ํํ ์ ์๋ค๊ณ ๋ถ๋ช ํ ๋งํ ์ ์๋ค. ๋ค๋ฅธ ํํธ์ผ๋ก, ์์คํ ์ ๊ณผ๋ถํ๋ฅผ ์ฃผ์ด ์์คํ ์ ์ฒ๋ฆฌ๋์ ํํธ์์ด ๋จ์ด๋จ๋ฆฌ๊ธฐ๋ ๋ฌด์ฒ ์ฝ๋ค. ๋ถํ์ ํน์ฑ์ ๊ทน๋๋ก ์ ํ์ ํ๊ณ ์์ง ์๋ค๋ฉด, ์ด๋ค ์์์ ๋ํ ์๊ตฌ๊ฐ ์ฉ๋์ 3๋ถ์ 2๋ฅผ ๋์ด์๋ฉด ์์คํ ์ด ์ ๋์ํ๊ธฐ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค. ๋คํํ ํ๋์จ์ด๋ ์ธ๊ณ ์ ์ ๋ ์ธ์ง๊ธฐ ๋๋ฌธ์, ์์ฌ ์ฉ๋์ ์ ๊ณตํ ์ ์๋ค. ๋ฉ๋ชจ๋ฆฌ๊ฐ ํนํ ์ผ๋ฐ, ๊ทธ๋์ ํนํ ํ์ด์ด๋ค. ์ด๋ ์ ๋๊น์ง๋ ๋๋ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๋ก์ธ์ค ์ธ์ดํด์ด๋ ํต์ ๋์ญํญ ๊ฐ์ ๋ค๋ฅธ ์์์ ๋ ์์ ํ ์ฌ์ฉํ๋๋ก ๋์์ ์ค ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.</p> | |
<p>์ต์ ํ์ ๋ํ ์ ์ํ ์ง์ค์ ์ฒซ ๋ฒ์งธ ํ์ด์ง ์์คํ ์ ์ํด ๋๋ฌ๋ฌ๋ค. ๊ทธ ์๋์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ฃผ ๋น์๊ณ , ๊ทธ๋์ ์ฌ๋๋ค์ ํ์ด์ง ๊ต์ฒด๋ฅผ ๊ต๋ฌํ๊ฒ ์ต์ ํํ์ฌ ๋ชจ๋ ๋ฐ์ดํธ๋ฅผ ์ต๋ํ ์ง๋ด๋ ค๋ ์๊ฐ์ ํ์๋ค. ๊ด๋ จ๋ ํ๋ก์์ ๋ฅผ ๋์ผํ ํ์ด์ง์ ๋ฃ๊ณ , ์ด์ ์ฐธ์กฐ๋ก ๋ถํฐ ์ฐธ์กฐ๋ ๋ค์ ํ์ด์ง๋ฅผ ์์ธกํ๊ณ , ๋ฐ์ดํฐ๋ ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ์์ ์ ๊ฐ์ด ์ํํ๋ ๋ฑ์ ์ต์ ํ ๊ธฐ๋ฒ์ ์๊ฐํด๋๋ค. ์๋ฌด๋ ์ด๋ฐ ์ต์ ํ ๊ธฐ๋ฒ์ ์ต๋ํ์ง ๋ชปํ๋ค. ๋์ , ๋ฉ๋ชจ๋ฆฌ๋ ์ธ์ก๊ณ , ๋ฐ๋ผ์ ์์คํ ์ ๋จ์ํ ๋๋ฉ๋ ํ์ด์ง์ด ๋์ํ๊ธฐ์ ์ถฉ๋ถํ ์ฌ์ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ๋ค. ์ฐ๋ฆฌ๋ ์ฐ๋ ์ฑ(thrashing)์ด๋, ํน์ ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ฌด ๊ณผ๋ํ๊ฒ ์๊ตฌํ๋ ๊ฒ์ ํผํ๋ ๊ฒ๋ง์ด ์ ์ ์ค์ํ๋ค๋ ๊ฒ์ ๋ฐฐ์ ๋ค. ์ฐ๋ ์๊ฐ ๋ฐ์ํ ์์คํ ์ ๋์คํฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋๋ฐ ๋ชจ๋ ์๊ฐ์ ์จ๋ฒ๋ฆฐ๋ค.</p> | |
<p>๊ต๋ฌํ ์ต์ ํ๊ฐ ์ฑ๊ณตํ ์ ์ผํ ์์คํ ์ ์์ฃผ ์ ์๋ ค์ง ๋ถํ๋ฅผ ๊ฐ์ง ์์คํ ์ด๋ค. ๊ทธ ์๋ก, 360/50 APL ์์คํ [4]์ ๊ฐ๊ฐ์ ์ฌ์ฉ์๋ฅผ ์ํ ๋์ผํ ํฌ๊ธฐ์ ์์ ๊ณต๊ฐ๊ณผ ์ฌ์ฉ์ ๋ชจ๋๋ฅผ ์ํ ๊ณตํต ์์คํ ์ฝ๋๋ก ๊ตฌ์ฑ๋์๋ค. ์ด๋ฐ ๊ตฌ์ฑ์ ๋ชจ๋ ์์คํ ์ฝ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ๊ณ , ๊ฐ ์ฌ์ฉ์์๊ฒ ๋์คํฌ์ ์ฐ์๋ ์กฐ๊ฐ์ ํ ๋นํ๊ณ , ๊ฐ ๊ณ์ฐ ๋จ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ฆฌ๊ณ (swap-out) ์ฌ๋ฆฌ๋(swap-in) ๊ฒ์ ๊ฒน์น ์ ์๊ฒ ํด์ฃผ์๋ค. ์ด ๊ตฌ์ฑ์ ์ ๋์ํ๋ค.</p> | |
<blockquote> | |
<p>์ํ ์ ๊ฐ์ฅ ์ข์ ์ ์ ๋ฐค์ ๋นจ๋ผ์ง์ง ์๋๋ค๋ ๊ฒ์ด๋ค. (๋ชจ๋ฆฌ์ค(J. Morris))</p> | |
</blockquote> | |
<p>ํ๋ก์ธ์ ์๊ฐ์ ๋ํด์๋ ๋น์ทํ ๊ตํ์ ์ป์๋ค. ๋ํ์์ผ ๋๋ ๊ณ์ฐ ์๊ตฌ์ ๋ํ ์๋ต ์๊ฐ์ด ์ค์ํ๋ฐ, ์ฌ์ฉ์๊ฐ ์๋ต์ ๊ธฐ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ณ์ฐ์ ์ฐ์ ์์, ์์ ์งํฉ(working set)์ ํฌ๊ธฐ, ๋ฉ๋ชจ๋ฆฌ ์ ์ฌ, ๊ณผ๊ฑฐ ๊ธฐ๋ก, I/O ์์ฒญ ๊ฐ๋ฅ์ฑ ๋ฑ์ ๊ณ ๋ คํ์ฌ ํ๋ก์ธ์ ์คํ ๊ณํ์ ์กฐ์จํ๋ ค๋ ์๋ง์ ์๋๊ฐ ์์๋ค. ์ด๋ฐ ๋ ธ๋ ฅ์ ์คํจํ๋ค. ๊ฐ์ฅ ๋จ์ํ ๋งค๊ฐ๋ณ์๋ค๋ง์ด ์ธ์งํ ์ ์๋ ํจ๊ณผ๋ฅผ ๋๋ค. ๋ํ์ ๋ ๋น๋ํ์ ๊ณ์ฐ์ผ๋ก ๊ตฌ๋ถํ๊ฑฐ๋ ๋๋ ๋์, ํฌ๊ทธ๋ผ์ด๋, ๋ฐฑ๊ทธ๋ผ์ด๋ ๋จ๊ณ๋ก ์ฐ์ ์์๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒ์ด๋ค. ๊ฐ์ฅ ์ฑ๊ณต์ ์ธ ๊ธฐ๋ฒ์ ๊ฐ ์์ ์ ์ฌ์ดํด์ ๊ณ ์ ๋ ๋น์จ๋ง ๋ฐฐ์ ํด์ 100% ์ด์ ํ ๋นํ์ง ์๋๋ค. ์ฌ์ฉํ์ง ์์ ์ธ์ดํด์ ๋ฒ๋ ค์ง๊ฑฐ๋, ํน ์ด์ด ์ข๋ค๋ฉด, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ์ฐ์ธ๋ค. ์ด ์ ๋ต์ ์์ฐ์ค๋ฐ ์ฐ์ฅ์ ๊ฐ์ธ์ฉ ์ปดํจํฐ์ธ๋ฐ, ์ด ๊ฒฝ์ฐ ํ ์ฌ์ฉ์๊ฐ ์ ์ด๋ ํ๋์ ํ๋ก์ธ์๋ฅผ ๊ฐ์ง๋ค.</p> | |
<blockquote> | |
<p>๋๊ตฌ๋ ๊ท๋ฅผ ์ฃผ๋ ๋ชฉ์๋ฆฌ๋ ๋ช ์ฌ๋๋ง.<br />๊ฐ ์ฌ๋์ ํ๊ฐ๋ ๋ฃ๋, ๋ค ํ๋จ์ ์ ๋ณดํ ๊ฒ.</p> | |
</blockquote> | |
<p>* <em>๋ถํ๋ฅผ ํ๋ ค๋ผ</em>. ์๊ตฌ๋ฅผ ํต์ ํด์ผ ํ๋ค. ์์คํ ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋ด๋ฒ๋ ค ๋์ด์๋ ์๋๋ค. ์ด ๊ท์น์ ์ ๊ท์น์ ๊ท๊ฒฐ์ด๋ค. ๋ถํ๋ฅผ ํ๋ฆฌ๋ ๋ง์ ๋ฐฉ๋ฒ์ด ์๋ค. ๋ํ์ ์์คํ ์ ์ ์ฌ์ฉ์๋ฅผ ๊ฑฐ๋ถํ ์ ์๊ณ , ์ด์ ๋ํด ๊ธฐ์กด ์ฌ์ฉ์์๊ฒ ์๋น์ค๋ฅผ ๊ฑฐ๋ถํ ์๋ ์๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๋ ๋ชจ๋ ์์ ์ ์์ ์งํฉ(working set)์ด ์ด์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด ๋ง๋๋ก ๋งก์ ์์ ์ ์ ํํ ์ ์๋ค. ๋คํธ์์ ํจํท์ ํ๊ธฐํ ์ ์๋ค. ์ต์ ์ ์ํฉ์ด ๋ฅ์น๊ฒ ๋๋ฉด, ์์คํ ์ ํฌ๋์ํ๊ณ ์ ์คํ๊ฒ ๋ค์ ์์ํ ์ ์๋ค.</p> | |
<p>๋ฐฅ ๋ชจ๋ฆฌ์ค(Bob Morris)๋ ๊ณต์ ๋ํ์ ์์คํ ์ ํฐ๋ฏธ๋ ๋ง๋ค ์ปค๋ค๋ ๋นจ๊ฐ ๋ฒํผ์ด ์์ด์ผ ํ๋ค๊ณ ์ ์ํ๋ค. ์๋น์ค๊ฐ ๋ง์กฑ์ค๋ฝ์ง ์๋ค๋ฉด ์ฌ์ฉ์๋ ๋นจ๊ฐ ๋ฒํผ์ ๋๋ฅด๊ณ , ๊ทธ๋ฌ๋ฉด ์์คํ ์ ์๋น์ค๋ฅผ ํฅ์์ํค๊ฑฐ๋ ๊ทธ๋ด ์ ์๋ค๋ฉด ์ฌ์ฉ์๋ฅผ ๋ด๋์ ธ์ผ ํ๋ค. ์ถฉ๋ถํ ๊ธด ๊ธฐ๊ฐ์์ ๋ณด๋ฉด ์ ๋นํ ์ ํ์ด ๋๋ค. ์ด ์์ด๋์ด๋ ์ ์ฉํ ์ ๋์ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ๋ชปํ๋ ํฐ๋ฏธ๋ ์์์ ์ฌ์ฉ์๊ฐ ์๊ฐ์ ๋ญ๋นํ์ง ์๋๋ก ์ฌ์ฉ์๋ฅผ ์งํค๊ธฐ ์ํ ๊ฒ์ด๋ค.</p> | |
<p>์๋ฅดํ๋ท(Arpanet)[32]์ ์ต์ด ๋ช ์ธ๋ ๋ง์ด ์๋ฝํ ํจํท์ ์์ ์ปดํจํฐ๊ฐ ๊บผ์ก๊ฑฐ๋ ๋คํธ์ ๋ ธ๋๊ฐ ํจํท์ ๊ฐ์ง๊ณ ์๋ ๋์ ์ฅ์ ๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ๋ฐฐ๋ฌ์ ๋ณด์ฅํ๋ค. ์ด๊ฒ์ ์ข์ ์๊ฐ์ด ์๋์๋ค. ์ด ๊ท์น์ ์ต์ ์ ๊ฒฝ์ฐ์๋ ๋ฐ๋๋ฝ์ ํผํ๊ธฐ ์์ฃผ ์ด๋ ต๊ฒ ๋ง๋ค์๊ณ , ๊ท์น์ ์งํค๋ ค๋ ์๋๋ ์ ์์ ์ธ ๊ฒฝ์ฐ์๋ ๋ง์ ๋ณต์กํ ๋ฌธ์ ์ ๋นํจ์จ์ฑ์ ์ผ์ผ์ผฐ๋ค. ๋๊ตฐ๋ค๋, ํด๋ผ์ด์ธํธ์๊ฒ๋ ์ด๋์ด ์๋๋ฐ, ์ฌ์ ํ ํธ์คํธ๋ ๋คํธ์ ์ฅ์ ๋ก ์ธํ ํจํท ์์ค์ ๋์ฒํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค(4์ ๋จ ๋ ๋จ์ ๋ณด๋ผ). ๊ฒฐ๊ตญ ์ด ๊ท์น์ ํ๊ธฐ๋์๋ค. ํ(Pup) ์ธํฐ๋ท[3]์ ํจ์ฌ ๋ ๋ค์ํ ์ ์ก ์ฅ๋น์ ๋์ํ๋๋ฐ, ์ ์ฒด์ ๊ธฐ๋ฏธ๊ฐ ๋ณด์ด๋ฉด ํญ์ ๊ฐ์ฐจ์์ด ํจํท์ ํ๊ธฐํ๋ค.</p> | |
<h1 id="์ค๋ฅ-๋์ฒ">4. ์ค๋ฅ ๋์ฒ</h1> | |
<blockquote> | |
<p>์ ๋ขฐ์ฑ์ ํผํ ์ ์๋ ๋๊ฐ๋ ๋จ์ํจ์ด๋ค. (ํธ์ด(C. Hoare))</p> | |
</blockquote> | |
<p>์ ๋ขฐ์ฑ ๋์ ์์คํ ์ ๋ง๋ค๊ธฐ๊ฐ ์์ฃผ ์ด๋ ต์ง๋ง์ ์์๋ฐ, ์ ๋ขฐ์ฑ์ ์ด๋ป๊ฒ ๋์ด๋์ง ์๊ธฐ๋ง ํ๋ฉด ๋๋ค. ํ์ง๋ง ๊ธฐ์กด์ ์ค๊ณ๋ฅผ ๋ฐ๊พธ์ด ๋์ ์ ๋ขฐ์ฑ์ ๊ฐ์ถ๊ธฐ๋ ๋งค์ฐ ์ด๋ ต๋ค.</p> | |
<blockquote> | |
<p>๋ฌด์๋ณด๋ค ์ด ์ --๋ค ์์ ์ ์ง์ค๋๊ฑฐ๋ผ,<br />๊ทธ๋ฌ๋ฉด ๋น์ฐํ, ๋ฐค์ด ๋ฎ์ ๋ฐ๋ฅด๋ฏ,<br />๋ค๊ฐ ๋๊ตฌ์๊ฒ๋ ๊ฑฐ์ง๋ ์ ์๋ค๋ ๊ฒฐ๋ก ์ด ๋ฐ๋ฅด์ง.</p> | |
</blockquote> | |
<p>* <em>๋จ ๋ ๋จ(end-to-end)</em>. ์ดํ๋ฆฌ์ผ์ด์ ์์ค์ ์ค๋ฅ ๋ณต๊ตฌ๋ ์ ๋ขฐ์ฑ ๋์ ์์คํ ์ ์ํด ์ ๋์ ์ผ๋ก ํ์ํ๋ฉฐ, ๋ค๋ฅธ ๋ชจ๋ ์ค๋ฅ ๊ฐ์ง๋ ๋ณต๊ตฌ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ํ์ํ์ง ์์ง๋ง ์ค๋ก์ง ์ฑ๋ฅ ๋๋ฌธ์ ํ์ํ๋ค. ์ด์ฒ(Saltzer)[46]๊ฐ ์ด๋ฌํ ์ฌ์ค์ ์ฒ์ ๋ฐํ๊ณ ์ด๋ ์์ฃผ ๊ด๋ฒ์ํ๊ฒ ์ ์ฉํ ์ ์๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, A ์ปดํจํฐ์ ๋ถ์ฐฉ๋ ๋์คํฌ์ ํ์ผ ์์คํ ์์ B ์ปดํจํฐ์ ๋ถ์ฐฉ๋ ๋ค๋ฅธ ๋์คํฌ์ ๋ค๋ฅธ ํ์ผ ์์คํ ์ผ๋ก ํ์ผ์ ์ฎ๊ธฐ๋ ๋์์ ์๊ฐํด๋ณด์. ์ฌ๋ฐ๋ฅธ ๋นํธ๋ค์ด ์ง์ง๋ก B์ ๋์คํฌ์ ์๋์ง ํ์ ํ๊ธฐ ์ํด์๋, B์ ๋์คํฌ์์ ํ์ผ์ ์ฝ์ด์ผ๋ง ํ๊ณ , ์ ๋นํ ๊ธธ์ด(64 ๋นํธ๋ผ๊ณ ํ์)์ ์ฒดํฌ์ฌ์ ๊ณ์ฐํ์ฌ, A์ ๋์คํฌ์ ์๋ ๋นํธ๋ค์ ์ฒดํฌ์ฌ๊ณผ ๊ฐ์์ง ํ์ธํด์ผ ํ๋ค. A์ ๋์คํฌ์์ A์ ๋ฉ๋ชจ๋ฆฌ๋ก, A์์ ๋คํธ์์ ๊ฑฐ์ณ B๋ก, B์ ๋ฉ๋ชจ๋ฆฌ์์ B์ ๋์คํฌ๋ก์ ์ ์ก์ ๊ฐ๊ธฐ ๊ฒ์ฌํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์๋ฐ, ์ด๋ค ๋ค๋ฅธ ์ง์ ์์ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋, ๋นํธ๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋์ ๋ง๊ฐ์ง๋ ๋ฑ ์ด๋ ํ ์ผ์ด๋ ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ๋ค๋ฅธ ๊ฒ์ฌ๋ ํ์ํ์ง๋ ์๋ค. ๋จ ๋ ๋จ ๊ฒ์ฌ์์ ์คํจํ๋ค๋ฉด ์ ์ก๊ณผ์ ์ ์ฒด๋ฅผ ๋ฐ๋ณตํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฌผ๋ก ์ ์ฒด๋ฅผ ์ฌ์ ์กํ๋ ๊ฒ์ ์์ ๋์ด ๋ง๋ค. ์ค๋ฅ๊ฐ ์ฆ์ ๊ฒฝ์ฐ์ ์ค๊ฐ ์ ๊ฒ์ ๋ฐ๋ณตํด์ผํ๋ ์์ ๋์ ์ค์ผ ์ ์๋ค. ํ์ง๋ง ์ค๊ฐ ์ ๊ฒ์ ์์ ํ ์ฑ๋ฅ์๋ง ๊ด๋ จ๋ ๋ฌธ์ ์ด๊ณ , ํ์ผ ์ ์ก์ ์ ๋ขฐ์ฑ๊ณผ๋ ๊ด๋ จ์ด ์๋ค. ์ค์ ๋ก, ์บ ๋ธ๋ฆฌ์ง์ ์ค์น๋ ๋ง ๊ธฐ๋ฐ ์์คํ ์์๋ ๊ด๋ก์ ์ผ๋ก 58 ๋ฉ๊ฐ๋ฐ์ดํธ ํฌ๊ธฐ์ ์ ์ฒด ๋์คํฌ ํฉ์ ๋ณต์ฌํ๊ณ ๋จ ๋ ๋จ ๊ฒ์ฌ๋ง ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ค๋ฅ๊ฐ ์์ฃผ ๋๋ฌผ์ด์ 20๋ถ์ด ๊ฑธ๋ฆฌ๋ ๋ณต์ฌ ์์ ์ ๋ฐ๋ณตํด์ผํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์๋ค[36].</p> | |
<p>ํํธ์ ๋ง์ ์ฉ๋ฒ์ ์ด ๊ฐ๋ ์ ์์ฉํ ๊ฒ์ด๋ค. ์์์ ์ค๋ช ํ๋ ์ํ ํ์ผ ์์คํ ์ ์๋ก ๋ค๋ฉด, ๋์คํฌ ์นํฐ๋ฅผ ์ฐ๊ธฐ ์ ์ ์นํฐ์ ๋ ์ด๋ธ์ ๊ฒ์ฌํ๋ ๊ฒ์ ์นํฐ๋ฅผ ์ฐ๋ ค๋ ๋์คํฌ ์ฃผ์๊ฐ ์ณ๋ค๋ ๊ฒ์ ๋ณด์ฅํด์ค๋ค. ๋์คํฌ ์ฃผ์๊ฐ ์ฌ๋ฐ๋ฅด๋๋ก ์ทจํ๋ ๋ชจ๋ ์๋ฐฉ ์กฐ์น๊ฐ ์ค์ํ ์๋, ์ฌ์ง์ด ํ์์ ์ผ ์๋ ์๋ค. ์ฑ๋ฅ์ ์ํด์๋ ๊ทธ๋ ๋ค. ํ์ง๋ง ํ์ผ ์์คํ ์ ์ ๋ขฐ์ฑ์๋ ์ํฅ์ ์ฃผ์ง ์๋๋ค.</p> | |
<p>ํ ์ธํฐ๋ท[3]์ ๋ค์ํ ์์ค์์ ๋จ ๋ ๋จ ์ ๋ต์ ์ฑ์ฉํ๋ค. ํ ์ธํฐ๋ท ์ ์ฐ๋ง์ด ์ ๊ณตํ๋ ์ฃผ์ ์๋น์ค๋ ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง์ผ๋ก ๋ฐ์ดํฐ ํจํท์ ์ ์กํ๋ ๊ฒ์ด๋ค. ๋ฐ์ดํฐ ํจํท์ ์ค๋ฅ์จ๊ณผ ๋ค๋ฅธ ํน์ฑ๋ค์ด ํฌ๊ฒ ์ฐจ์ด๋๋ ์ฌ๋ฌ ์ ์ฐ๋ง์ ๊ฑฐ์น ์ ์๋ค. ํจํท์ ์ ์ฅํ๋ค๊ฐ ์ ์กํ๋ ์ธํฐ๋ท ๋ ธ๋๋ ๊ณต๊ฐ์ด ๋ถ์กฑํ์ฌ ๋ถ๋๋ถ ํจํท์ ํ๊ธฐํ๊ธฐ๋ ํ๋ค. ํจํท์ ์ต์ ๊ฒฝ๋ก๋ ๋๋ต์ ์ผ๋ก๋ง ์์ธกํ ์ ์์ ๋ฟ์ด๋ฉฐ, ์ด๋ฌํ ์์ธก์ ์ ์ฐ๋ง์ ์ผ๋ถ๊ฐ ์๋์ ๋ฉ์ถ๊ฑฐ๋ ๋ณต๊ตฌ๋๋ฉด ํฌ๊ฒ ๋น๋๊ฐ๊ฒ ๋๋ค. ์ด๋ฐ ๋ถํ์ค์ฑ์๋ ๋ถ๊ตฌํ๊ณ , ํ ์ธํฐ๋ท์ ๋จ์ง โ์ต์ ํ(best efforts)โ ๋ฐฐ๋ฌ๋ง ์๋ํ๋ ๊ฐ๋จํ ๊ตฌํ์ผ๋ก ์ฐ์ํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ํจํท์ ์ก์ ์์๊ฒ ์๋ฆฌ์ง ์๊ณ ์ ์ค๋ ์ ์๊ณ , ์ ์ก ์ค์ ์์๋ ์๋ ์๋ค. ์ด๋ฐ ๋ฌธ์ ์ ๋์ฒํ ์ ์๋๋ก ํด๋ผ์ด์ธํธ๋ ์์ฒด์ ์ธ ์ค๋ฅ ์ ์ด๋ฅผ ์ ๊ณตํด์ผ ํ๊ณ , ๋ ์ค์ ๋ก ์์ ์์ค ํ ํ๋กํ ์ฝ์ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํธ ์คํธ๋ฆผ๊ณผ ๊ฐ์ ๋ ๋ณต์กํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์ด์จ๋ ํจํท ์ ์ก์ธต์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ๋ ค๊ณ ์๋ํ๋๋ฐ, ์ด๋ ์ ๋ ์ค๋ฅ ์ ์ด(16 ๋นํธ ์ฒดํฌ์ฌ)๋ฅผ ์ ๊ณตํ์ฌ, ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ํ๊ธฐ๋ ํจํท์ ์ก์ ์์๊ฒ ์๋ ค์ฃผ๋ ๋ฑ์ ์๋๋ฅผ ํ๋ค. ์ด๋ฐ ์๋น์ค๋ ์ ๋ขฐ์ฑ์ด ๋ณด์ฅ๋์ง ์๋ ํต์ ๊ณผ ๊ณผ๋ถํ์๋ ๋ถ๊ตฌํ๊ณ ์ฑ๋ฅ์ ํฅ์ ์ํค๊ธฐ ์ํ ์กฐ์น์ด๋ค. ์ด ์ญ์ ์ต์ ํ์ด๋ผ๋ฉด, ๊ตฌํ์ ๊ทธ๋ฆฌ ๋ณต์กํ๊ฒ ๋ง๋ค์ง ์๋๋ค.</p> | |
<p>๋จ ๋ ๋จ ์ ๋ต์๋ ๋ ๊ฐ์ง ๋ฌธ์ ์ ์ด ์๋ค. ์ฒซ ์งธ, ์ ๋ ดํ ๋ฐฉ๋ฒ์ผ๋ก ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ํ๋จํ ์ ์์ด์ผ ํ๋ค. ๋ ์งธ, ์์คํ ์ด ์ด์๋์ด ๊ณผ์คํ ๋ถํ์ ๋์ด๊ธฐ ์ ์๋ ๋๋ฌ๋์ง ์๋ ์ฌ๊ฐํ ์ฑ๋ฅ์ ๊ฒฐํจ์ ๊ฐ์น ์ฑ ์์คํ ์ด ์ด์๋๋๋ก ํ ์ ์๋ค.</p> | |
<blockquote> | |
<p>๋น์ ์ ๊ธฐ์ตํ๋ผ?<br />์๋น, ๋ด ๊ธฐ์ต์ ํ์ด์ง์์<br />์จ๊ฐ ํ์์ ๋ฉํ ๊ตฌ๋ฆฌ ๊ธฐ๋ก๋ค์ ์ง์ ๋ฒ๋ฆฌ๊ณ ,<br />์ฑ ์์ ๋ฒ ๋ ์จ๊ฐ ๊ฒฉ์ธ, ์จ๊ฐ ์ด๋ฏธ์ง๋ค, ์จ๊ฐ ์ง๋๊ฐ ์ผ์๋ค,<br />์ฒญ์ถ๊ณผ ๊ด์ฐฐ์ด ๊ฑฐ๊ธฐ ๋ฒ ๊ปด ๋์ ์จ๊ฐ ๊ฒ๋ค์ ์ง์ ๋ฒ๋ฆฌ๊ณ ,<br />๋น์ ์ ๋ช ๋ น ๋จ ํ๋๋ง ์ด๋ฆฌ๋ผ,<br />๋ด ๋๋์ ์ฑ ๊ณผ ๋๋ฃจ๋ง๋ฆฌ ์์<br />๋ค๋ฅธ ์ก์ค๋ฌ์ด ๊ฒ๊ณผ ๋ค์์ด์ง ์๊ณ . (1๋ง 5์ฅ 97ํ)</p> | |
</blockquote> | |
<p>* <em>๋ณ๊ฒฝ์ ๋ก๊ทธ๋ก ๋จ๊ฒจ๋ผ</em>. ๋์์ ์ํ์ ๋ํ ์ง์ค์ ๋ก๊ทธ๋ก ๊ธฐ๋กํด์ผ ํ๋ค. ๋ก๊ทธ๋ ์์ฃผ ๋จ์ํ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ์์ ํ๊ณ ํ์คํ๊ฒ ์ฐ๊ณ ์ฝ์ ์ ์์ผ๋ฉฐ, ๋์คํฌ๋ ๋๋ ํฌ๋์์๋ ๊ฒฌ๋ ์ ์๋ ๋ค๋ฅธ ์์ ์ ์ธ ์ ์ฅ ์ฅ์น์๋ ์ฝ๊ฒ ๊ธฐ๋กํ ์ ์๋ค. ๋ก๊ทธ๋ ์ถ๊ฐ๋ง ๋๊ธฐ ๋๋ฌธ์, ์ฐ๊ธฐ์ ์์ด ์ต์ํ๋๊ณ , ๋ ํฌ๋์๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋ก๊ทธ์ ์ ํจ์ฑ์ ๋ณด์ฅํ๊ธฐ ๋น๊ต์ ์ฝ๋ค. ๋ํ ๋ก๊ทธ๋ฅผ ๋ณต์ ํ๊ฑฐ๋, ํ ์ดํ์ ๋ณต์ฌ๋ณธ์ ๋จ๊ธฐ๊ฑฐ๋, ๋ฌด์์ ํ๋ ์ฝ๊ณ ์ ๋ ดํ๋ค. ๋ก๊ทธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด๊ฐ ์ ์ค๋์ง ์์์์ ๋ณด์ฅํ๋๋ฐ ์ค๋ซ๋์ ์ฌ์ฉ๋์์ง๋ง[17], ๋ก๊ทธ์ ๊ฐ๋ ์ ์์ฃผ ์ผ๋ฐ์ ์ด์ด์ ํ๋ฒํ ํ์ผ ์์คํ [35, 49]์ด๋ ๋ค๋ฅธ ๋ง์ ์ฐ์์๊ฐ ๊ทธ๋ค์ง ๋ถ๋ช ํ์ง ์์ ์ํฉ์๋ ์ฌ์ฉ๋ ์ ์๋ค. ๋ก๊ทธ๊ฐ ์ง์ค์ ๋ด๊ณ ์๋ค๋ฉด, ๋์์ ํ์ฌ ์ํ๋ ํํธ๋ผ๊ณ ํ ์ ์๋ค(์๋ฐํ ํํธ๋ ์๋๋ค. ํํธ๊ฐ ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฌํ๊ธฐ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค).</p> | |
<p>๋ก๊ทธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด, ๋์์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ณ๊ฒฝ ํ๋ก์์ ์ ์ด๋ฆ๊ณผ ์ธ์๋ก ๊ตฌ์ฑ๋ ๋ก๊ทธ ํญ๋ชฉ์ผ๋ก ๊ธฐ๋กํด์ผ ํ๋ค. ๋ณ๊ฒฝ ํ๋ก์์ ๋ ํจ์์ ์ฑ์ง์ ๋ง์กฑํด์ผ ํ๋๋ฐ, ์ด๋ ํจ์์ ๋์ผํ ์ธ์๋ฅผ ์ ์ฉํ์ ๋ ํญ์ ๋์ผํ ํจ๊ณผ๋ฅผ ๋ด์ผ๋ง ํ๋ค๋ ๋ป์ด๋ค. ๋ค๋ฅด๊ฒ ๋งํ๋ฉด, ์ธ์ ์ธ์๋ ํ๋ก์์ ์ ๋์์ ์ํฅ์ ์ฃผ๋ ๋ค๋ฅธ ์ํ๋ ์์ด์ผ ํ๋ค. ๋ก๊ทธ ํญ๋ชฉ์ ๋ช ์๋ ํ๋ก์์ ํธ์ถ์ด ๋์ค์ ๋ค์ ์คํ๋ ์ ์์ผ๋ฉฐ, ๋ณ๊ฒฝ๋ ๋์์ด ๋ณ๊ฒฝ์ด ์ฒ์ ์คํ๋์ ๋์ ๋์ผํ ์ํ๋ผ๋ฉด, ๋ณ๊ฒฝ์ด ์ฒ์ ์คํ๋ ์งํ์ ๋์ผํ ์ํ๋ก ๋๋๊ฒ ๋๋ค๋ ๋ป์ด๋ค. ๋ฐ๋ผ์, ์ผ๋ จ์ ๋ก๊ทธ ํญ๋ชฉ๋ค๋ ์ฌ์คํ๋ ์ ์์ผ๋ฉฐ, ์ฒ์ ์คํ ๋์ ๋์ผํ ๋์์ผ๋ก ์์ํ๋ฉด, ์ฒ์ ์คํ์ ์ํด ๋ง๋ค์ด์ง ๋์๊ณผ ๋์ผํ ๋์์ ๋ง๋ค์ด ๋ธ๋ค๋ ๋ป์ด๋ค.</p> | |
<p>์ด๋ฅผ ์ํด์๋, ๋ค์ ๋๊ฐ์ง ์กฐ๊ฑด์ด ๋ง์กฑ๋์ด์ผ ํ๋ค.</p> | |
<ul> | |
<li>๋ณ๊ฒฝ ํ๋ก์์ ๋ ์์ํ ํจ์์ฌ์ผ ํ๋ค. | |
<ul> | |
<li>๊ฒฐ๊ณผ๋ ์ธ์๋ฅผ ์ ์ธํ ๋ค๋ฅธ ๋ชจ๋ ์ํ์ ์ํฅ์ ๋ฐ์์๋ ์๋๋ค.</li> | |
<li>๋ก๊ทธ๊ฐ ๋จ๊ฒ ๋๋ ๋์์ ์ ์ธํ๊ณ ๋, ๋ถ์์ฉ์ด ์์ด์ผ ํ๋ค.</li> | |
</ul></li> | |
<li>๋ณ๊ฒฝ ํ๋ก์์ ์ ์ธ์๋ <em>๊ฐ</em>์ด์ด์ผ๋ง ํ๋ค. ๋ค์ ์ค ํ ์ข ๋ฅ๋ค. | |
<ul> | |
<li>์ ์, ๋ฌธ์์ด ๋ฑ๊ณผ ๊ฐ์ ์ฆ์น๊ฐ. ์ฆ์น๊ฐ์ ๋ฐฐ์ด ํน์ ๋ฆฌ์คํธ์ ๊ฐ์ด ํฌ๊ธฐ๊ฐ ํด ์๋ ์๋๋ฐ, ํฌ๊ธฐ๊ฐ ํฌ๋๋ผ๋ ์ ์ฒด ๊ฐ์ ๋ก๊ทธ ํญ๋ชฉ์ ๋ณต์ฌํด์ผ๋ง ํ๋ค.</li> | |
<li><em>๋ณํ์ง ์๋</em> ๋์์ ๋ํ ์ฐธ์กฐ.</li> | |
</ul></li> | |
</ul> | |
<p>๋๋ถ๋ถ์ ๋์์ ๋น์ฐํ ๋ณํ์ง ์์ ์ ์๋ค. ๋์์ ๊ฐฑ์ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ๋, ๋์์ ํน์ ํ ๋ฒ์ ์ ๋ณํ์ง ์๋๋ค. ๋์์ด ๋ฐ๋๊ฒ ๋๋ฉด ๊ทธ์ ๋ฐ๋ผ ๋ฒ์ ๋ ๋ฐ๋๋ค. ๋์์ ๋ฒ์ ์ ํผ๋์์ด ๊ฐ๋ฆฌํค๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ [๋์ ์๋ณ์, ๋ณ๊ฒฝ ํ์] ์์ด๋ค. ๋์ ์๋ณ์๋ก ๋์์ ๋ํ ๋ก๊ทธ๋ฅผ ์ป์ ์ ์๊ณ , ํน์ ํ ํ์๋งํผ ๋ก๊ทธ ํญ๋ชฉ์ ์ฌ์คํํ๋ฉด ๋์์ ์ํ๋ ๋ฒ์ ์ ์ป๊ฒ ๋๋ค. ๋ฌผ๋ก ์ฌ์คํํ๋ ค๋ฉด ๋ค๋ฅธ ๋์์ ๋ฒ์ ๋ค์ ์ฐพ์์ผํ ํ์๊ฐ ์์ง๋ง, ๋ชจ๋ ๋ณ๊ฒฝ์ด ์กด์ฌํ๋ ๋ฒ์ ์ ๊ฐ๋ฆฌํค๊ธฐ๋ง ํ๋ค๋ฉด, ์ด๋ค ์ํ๋ ์์ ๊ฒ์ด๊ณ ์ด ๊ณผ์ ์ ๋๋๊ฒ ๋๋ค.</p> | |
<p>์๋ฅผ ๋ค๋ฉด, ๋ธ๋ผ๋ณด ํธ์ง๊ธฐ[24]๋ ๋ฌธ์๋ฅผ ํธ์งํ๊ธฐ ์ํด์ ๋ฑ ๋ ๊ฐ์ ๋ณ๊ฒฝ ํจ์๋ง ๊ฐ์ถ์๋ค.</p> | |
<pre class="pseudo"><code> Replace(old: Interval, new: Interval) | |
ChangeProperties(where: Interval, what: FormattingOp)</code></pre> | |
<p><code>Interval</code>์ [๋ฌธ์ ๋ฒ์ , ์ฒซ ๋ฌธ์, ๋ ๋ฌธ์] ์ธ ์์ด๋ค. <code>FormattingOp</code>๋ ํ๋กํผํฐ๋ค์์ ํ๋กํผํฐ๋ค๋ก์ ํจ์๋ค. ์ฌ๊ธฐ์ ํ๋กํผํฐ๋ <code>italic</code>์ด๋ <code>leftMargin</code>์ด ๋ ์ ์์ผ๋ฉฐ, <code>FormattingOp</code>๋ <code>leftMargin := leftMargin + 10</code>์ด๋ <code>italic := true</code>๊ฐ ๋ ์ ์๋ค. ๋ฐ๋ผ์ ๋จ์ง ๋ ์ข ๋ฅ์ ๋ก๊ทธ ํญ๋ชฉ๋ง ํ์ํ๋ค. ๋ชจ๋ ํธ์ง ๋ช ๋ น์ ์ด ๋ ๋ณ๊ฒฝ ํจ์์ ์ ์ฉ์ผ๋ก ํ์๋๋ค.</p> | |
<blockquote> | |
<p>์กฐ์ฌํด๋ผ,<br />์ธ์์ ๋๋ ๊ฒ์, ๊ทธ๋ฌ๋ ์ผ๋จ ๋ค๋ฉด,<br />์๋๋ฐฉ์ด ๋๋ฅผ ๊ฒฝ๊ณํ๊ฒ๋ ๋ง๋ค์ด์ผ๊ฒ ์ง.</p> | |
</blockquote> | |
<p>* <em>ํ์๋ฅผ ์์์ ์ด๊ณ ์ฌ์์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด๋ผ</em>. ์์์ ํ์(<em>ํธ๋์ญ์ </em>์ด๋ผ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค)๋ ์์ ํ ์ํ๋๊ฑฐ๋ ์๋๋ฉด ์๋ฌด๋ฐ ์ํฅ๋ ์๋ ํ์์ด๋ค. ์๋ฅผ ๋ค๋ฉด, ๋๋ถ๋ถ์ ์ฃผ ์ ์ฅ์ฅ์น ์์คํ ์์ ํ ์๋๋ฅผ ๊บผ๋ด ์ค๊ฑฐ๋ ์ ์ฅํ๋ ํ์๋ ์์์ ์ด๋ค. ์ค๋ฅ ๋์ฒ์์ ์์์ ํ์์ ์ด์ ์ ๋ถ๋ช ํ๋ค. ํ์ ์ํ ๋์ค ์คํจํด๋ ์๋ฌด๋ฐ ์ํฅ์ด ์์ด์, ์คํจ๋ฅผ ๋ณต๊ตฌ๋ฅผ ํ ๋ ํ์์ ์ด๋ ํ ์ค๊ฐ ์ํ๋ ๋ค๋ฃจ์ง ์์๋ ๋๋ค[28]. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ด์ ๋ถํฐ ์์์ฑ์ ์ ๊ณตํด์๋๋ฐ[17], ํ์๋ฅผ ์๋ฃํ๊ฑฐ๋ ์ทจ์ํ๋๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋ก๊ทธ๋ฅผ ์ด์ฉํ๋ค. ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ฐ๊ฐ์ ์์์ ํ์์ ์ ์ผํ ์๋ณ์๋ฅผ ๋ถ์ฌํ๊ณ ์ด ์๋ณ์๋ฅผ ๊ทธ ํ์์ ๊ด๋ จ๋ ๋ชจ๋ ๋ก๊ทธ ํญ๋ชฉ์ ํ์ํ๋ ๊ฒ์ด๋ค. ํ์์ ์๋ฃ ๊ธฐ๋ก์[42] ํ์๊ฐ ์งํ ์ค์ธ์ง, ์๋ฃ๋์๋์ง(์ฒ๋ฆฌํด์ผ ํ๋ ์ ๋ฆฌ ์์ ์ด ๋จ์ ์์ด๋ ๋๋ ๋ ผ๋ฆฌ์ ์ธ ์๋ฃ), ์ทจ์๋์๋์ง(์ ๋ฆฌํ ๊ฒ์ด ๋จ์ ์์ด๋ ๋๋ ๋ ผ๋ฆฌ์ ์ธ ์ทจ์) ์๋ ค์ค๋ค. ์๋ฃ ๊ธฐ๋ก์ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒ๋ ๋ก๊ทธ ํญ๋ชฉ์ผ๋ก ๊ธฐ๋ก๋๋ค. ํ์์ ๋ชจ๋ ๋ณ๊ฒฝ์ ๋ํ ๋ก๊ทธ ํญ๋ชฉ์ด ์์ผ๋ฉด ํ์๋ ์๋ฃ๋ ์ ์๋ค. ์คํจํ๊ฒ ๋๋ฉด, ์๋ฃ๋ ํ์์ ๋ก๊ทธ ํญ๋ชฉ์ ๋ชจ๋ ์ ์ฉํ๊ณ ์ทจ์๋ ํ์์ ๋ณ๊ฒฝ์ ๋๋๋ ค์ ๋ณต๊ตฌํ๋ค. ์ด ๊ธฐ๋ฒ์ ๋ค์ํ๊ฒ ๋ณํํ ์ ์๋ค[54].</p> | |
<p>์ด ๊ธฐ๋ฒ์ด ๋์ํ๋ ค๋ฉด, ๋ก๊ทธ ํญ๋ชฉ์ ํต์์ ์ผ๋ก ์ฌ์์ ๊ฐ๋ฅํด์ผ ํ๋ค. ์คํ์ ์๋ฃํ๊ธฐ ์ ์ ๋ช ๋ฒ์ด๋์ง ๋ถ์์ ํ๊ฒ ์คํ๋๋๋ผ๋, ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋์ง ์์์ผ ํ๋ค๋ ๋ป์ด๋ค. ์ข ์ข ์ด์ ๊ฐ์ ํ์๋ฅผ '๋ฉฑ๋ฑ(idempotent)'์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ฅผ ๋ค๋ฉด, ์ผ๊ตฐ์ ๋ณ์์ ์ผ๊ตฐ์ ๊ฐ์ ์ ์ฅํ๋ ๊ฒ์ ์ฌ์์ ๊ฐ๋ฅํ ํ์์ด๋ค. ํ์ง๋ง ๋ณ์์ ๊ฐ์ ํ๋ ์ฆ๊ฐ ์ํค๋ ๊ฒ์ ์ฌ์์ ๊ฐ๋ฅํ ํ์๊ฐ ์๋๋ค. ์ฌ์์ ๊ฐ๋ฅํ ๋ก๊ทธ ํญ๋ชฉ์ ๋์์ ํ์ฌ ์ํ์ ์ ์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋์์ ์์ ์ํ๋ก ๋ณต๊ตฌํ ํ์๊ฐ ์๋ค.</p> | |
<p>์ด ๊ธฐ์ด์ ์ธ ๊ธฐ๋ฒ์ ์ด๋ค ์ข ๋ฅ์ ์๊ตฌ ์ ์ฅ ์ฅ์น์๋ ์ฌ์ฉํ ์ ์๋ค. ์ํฉ์ด ์ถฉ๋ถํ ๋จ์ํ๋ค๋ฉด ์ข ๋ณํ๋ ๋ฐฉ๋ฒ๋ ์ ๋์ํ๋ค. ์์์ ์ค๋ช ํ๋ ์ํ ํ์ผ ์์คํ ์ ์๋ก ๋ค๋ฉด, ์ค์ ๋ก๋ ๋์คํฌ ๋ ์ด๋ธ๊ณผ ๋ฆฌ๋ ํ์ด์ง๋ฅผ ๋ก๊ทธ๋ก ์ฌ์ฉํ์ฌ ํ์ํ ๋ ํ์ผ ์์คํ ์ ๋ค๋ฅธ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ฌ๊ตฌ์ถํ๋ค. ๋๋ถ๋ถ์ ํ์ผ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ์ค์ง ํ์ผ ํ ๋น๊ณผ ๋๋ ํ ๋ฆฌ ์กฐ์๋ง์ด ์์์ ํ์์ด๋ค. ์ํ ํ์ผ ์์คํ ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ณ๊ฒฝ์ ๋ฌถ์ด ์์์ ์ผ๋ก ๋ง๋ค ์ ์๊ฒ ์ง์ํ์ง ์๋๋ค. ์ฃผ๋ํผ(Juniper) ํ์ผ ์์คํ [35, 49]์ ์์์ ๋ณ๊ฒฝ์ ํจ์ฌ ์ ์ง์ํ๋๋ฐ, ๊ฐ๊ฐ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ๋ฌ ๋ณ๊ฒฝ์ ์์๋ก ๋ฌถ์ด ํ๋์ ์์์ ํ์๋ก ๋ง๋๋ ๊ฒ์ ํ์ฉํ๋ค. ์ฃผ๋ํผ ํ์ผ ์์คํ ์ ๊ทธ๋ฆผ์ ํ์ด์ง(shadow pages)'๋ผ๋ ์๋ฒ์ ์ฐ๋๋ฐ, ์ด ์๋ฒ์ ํ์ผ ์ฃผ์๋ฅผ ๋์คํฌ ์ฃผ์๋ก ๋ณํํด์ฃผ๋ B-ํธ๋ฆฌ์ ๋ฐ์ดํฐ ํ์ด์ง ํฌ์ธํฐ๋ฅผ ๋ฐ๊ฟ์ ๋ฐ์ดํฐ ํ์ด์ง๋ฅผ ๋ก๊ทธ์์ ํ์ผ๋ก ์ฎ๊ธด๋ค. ์ด ์๋ฒ์ ์นผ(Cal) ์์คํ ์์[50] ์ฒ์ ์ฌ์ฉ๋์๋ค. ํ๋ฒํ ํ์ผ ์์คํ ์ด๋ผ๋ ํด๋ผ์ด์ธํธ๋ค์ด ์๋ก ํ๋ํ๋ค๋ฉด ์์์ ํ์๋ฅผ ๊ตฌํํ ์ ์๋๋ฐ, ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ ์ ํญ์ ๋ณต๊ตฌ๊ฐ ํ์ํ์ง ์๋์ง ๊ฒ์ฌํ๋ฉด ๋๋ค. ๋ณต๊ตฌ๊ฐ ํ์ํ๋ค๋ฉด ํด๋ผ์ด์ธํธ๋ ํน์ํ ์ด๋ฆ์ ๊ฐ์ง ๋ก๊ทธ ํ์ผ๋ค์ ๊ธฐ๋ก๋ ๋ก๊ทธ ํญ๋ชฉ๋ค์ ์คํํ๋ค[40].</p> | |
<p>์์์ ํ์๋ฅผ ๊ตฌํํ๊ธฐ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋จํ์ง๋ ์์ง๋ง, ์์ ๋ ผ์์์ ๋ณด์ฌ์ฃผ์๋ฏ์ด ๋๋ฆฌ ์๋ ค์ง ๋ชจ์ต ๋งํผ ์์ฃผ ์ด๋ ต์ง๋ ์๋ค. ๋๋ก๋ ๊ฐ๋ ฅํ์ง๋ ์์ง๋ง ๊ฐํธํ ๋ฐฉ๋ฒ๋ ์ ๊ธฐ๋ฅ์ ํ๋ค. ๊ทธ๋ ์ดํ๋ฐ์ธ ๋ฉ์ผ ์ ์ก ๋ฐ ๋ฑ๋ก๋ถ ์์คํ [1]์ ์๋ก ์ดํด๋ณด์. ์ด ์์คํ ์ ์ ๊ตญ์ ์ธ ๊ท๋ชจ์ ์ ์ฐ๋ง์ ์ฐ๊ฒฐ๋ ์๋ง์ ์ปดํจํฐ์ ์ด๋ฆ๋ค๊ณผ ๋ฐฐํฌ ๋ชฉ๋ก๋ค์ ๋ด์ ๋ณต์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ ์งํ๋ค. ํ ์ฌ์ดํธ์์ ๋ฐ์ํ ๋ณ๊ฒฝ์ ๋ฉ์ผ ์์คํ ์์ฒด๋ฅผ ์ด์ฉํ์ฌ ๋ค๋ฅธ ์ฌ์ดํธ๋ก ํผ์ ธ๋๊ฐ๋ค. ์ด ๋ฐฉ์์ ๋ณ๊ฒฝ์ด ์ธ์ ๊ฐ ๋์ฐฉํ๋ค๋ ๊ฒ์ ๋ณด์ฅํ์ง๋ง, ์ฌ์ดํธ์ ์ฅ์ ์ ๋ณต๊ตฌ ๋ ์ ์ฐ๋ง ๋จ์ ๋ก ์ธํด, ๋ณ๊ฒฝ์ด ๋์ฐฉํ๋ ์์๋ ํฌ๊ฒ ์ฐจ์ด๊ฐ ๋ ์ ์๋ค. ๊ฐ ๋ณ๊ฒฝ ๋ฉ์์ง์๋ ์๊ฐ์ด ๋ถ์ฌ๋๊ณ , ์ด ์๊ฐ์ด ์ ์ผ ๋ฆ์ ๋ณ๊ฒฝ ๋ฉ์์ง๊ฐ ๋ฐ์๋๋ค. ์ถฉ๋ถํ ์๊ฐ์ด ํ๋ฅด๋ฉด, ๋ชจ๋ ์ฌ์ดํธ๋ ๋ชจ๋ ๋ณ๊ฒฝ์ ๋ฐ๊ฒ ๋ ๊ฒ์ด๊ณ ์ผ์นํ๊ฒ ๋ ๊ฒ์ด๋ค. ํ์ง๋ง, ๋ณ๊ฒฝ์ด ํผ์ ธ๋๊ฐ๋ ๋์ค์๋ ์ฌ์ดํธ๋ค ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์ผ์ด๋๊ธฐ๋ ํ๋๋ฐ, ์๋ฅผ ๋ค์ด ์ด๋ค ์ฌ๋์ด ํน์ ํ ๋ฐฐํฌ ๋ชฉ๋ก์ ๊ตฌ์ฑ์์ธ์ง ์๋์ง ์ผ์นํ์ง ์์ ์ ์๋ค. ์ด๋ฐ ๊ฐ๋์ฉ ์๊ธฐ๋ ๋ถ์ผ์น์ ์ง์ฐ์ ์ด ์์คํ ์ ์ ์ฉ์ฑ์ ๋ณ๋ก ์ํฅ์ ์ฃผ์ง ์๋๋ค.</p> | |
<h1 id="๊ฒฐ๋ก ">5. ๊ฒฐ๋ก </h1> | |
<blockquote> | |
<p>์ ๋ง ํฉ์กํ์ต๊ฒ๋ ๋ ๋๋์ด๋ค, ์๋ฒ์ง.</p> | |
</blockquote> | |
<p>ํ๋ฅญํ ์ถฉ๊ณ ์ ์ผํ๋ฅผ ์ฎ์ ๋ชจ์์ง์ด๋ผ ์ฝ๊ธฐ์ ์ข ์ง๋ฃจํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ ๋ค๊ธฐ ์ ์ ์กฐ๊ธ์ฉ ์ฝ์ผ๋ฉด ๊ฐ์ฅ ์ข๋ค๊ณ ์๊ฐํ๋ค. ๋๋ ์ฌ๊ธฐ์ ์ธ๊ธํ ๊ท์น๋ค ๋๋ถ๋ถ์ ์ ์ด๋ ํ ๋ฒ์ ๋ฌด์ํ ์ ์ด ์์ผ๋ฉฐ, ๊ฑฐ์ ํญ์ ๋ฌด์ํ ๊ฒ์ ํํํ๋ค๊ณ ์ฆ์ธํ ์ ์์์ ์ฐธ์ํด์ฃผ๊ธฐ ๋ฐ๋๋ค. ์๋ ์ฐธ๊ณ ๋ฌธํ ๋ชฉ๋ก์ ์ฌ๊ธฐ์ ๊ฐ๋ตํ๊ฒ ์ธ๊ธํ ์์คํ ์ด๋ ๊ธฐ๋ฒ์ ๋ํ ์จ์ ํ ์ด์ผ๊ธฐ๋ฅผ ๋ด๊ณ ์๋ค. ๋ํ ์ฐธ๊ณ ๋ฌธํ ์ค ์๋น์๋ ๋ณด๋ค ์์ ํ ์ด๋ก ์ ์ค๋ช ๋ ๋ด๊ณ ์๋ค.</p> | |
<p>๋ชจ๋ ํ์ด๋ ์ด ๋ ผ๋ฌธ์ ์์ ๋ถ๋ถ์ ์์นํ ๊ทธ๋ฆผ 1์ ๋ชจ์ ๋์๋ค.</p> | |
<h1 id="๊ฐ์ฌ์-๋ง">๊ฐ์ฌ์ ๋ง</h1> | |
<p>์ด ๋ ผ๋ฌธ์ ์ด๊ธฐ ์๊ณ ๋ฅผ ๊ฒํ ํด์ค ๋ง์ ์์ ๋ก์ด ๋ถ๋ค๊ณผ ํ๋ก๊ทธ๋จ ์์ํ์ ๋นํ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.</p> | |
<h1 id="์ฐธ๊ณ ๋ฌธํ">์ฐธ๊ณ ๋ฌธํ</h1> | |
<section class="footnotes"> | |
<hr /> | |
<ol> | |
<li id="fn1"><p>์ด ๋ ผ๋ฌธ์ ์ 9ํ ACM Symposium on Operating Systems Principles์ ์ฒ์ ๋ฐํ๋๊ณ Operating Systems Review 15, 5, Oct. 1983, p 33-48์ ์ฒ์ ์ค๋ ธ์ต๋๋ค. ์ฌ๊ธฐ์๋ ์กฐ๊ธ ์์ ํ์ฌ ์ค์๋ค.<a href="#fnref1">โฉ</a></p></li> | |
<li id="fn2"><p>์ญ์ฃผ. ํ๋ฆฟ ์ธ์ฉ์ ๊น์ ํ ์ญ ์์นจ์ด์ฌ ์ถํ์ฌ์ ํ๋ฆฟ์์ ์ฎ๊ฒผ๋ค.<a href="#fnref2">โฉ</a></p></li> | |
<li id="fn3"><p>์ญ์ฃผ. ํธ๋ฉ(trap)์ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ง์ ํ ์กฐ๊ฑด์ด ๋ฐ์ํ๋ฉด ์ ํด๋ ๋ฃจํด์ ์คํํ๋ค.<a href="#fnref3">โฉ</a></p></li> | |
<li id="fn4"><p>์ญ์ฃผ. ์ค๊ท๋ชจ ์ง์ ํ๋ก(Medium-Scale Integration).<a href="#fnref4">โฉ</a></p></li> | |
</ol> | |
</section> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment