<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Memory_segmentation</id>
	<title>Memory segmentation - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Memory_segmentation"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Memory_segmentation&amp;action=history"/>
	<updated>2026-05-19T13:47:10Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Memory_segmentation&amp;diff=1052&amp;oldid=prev</id>
		<title>2023년 4월 3일 (월) 05:51에 Ahn9807님의 편집</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Memory_segmentation&amp;diff=1052&amp;oldid=prev"/>
		<updated>2023-04-03T05:51:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ko&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 이전 판&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2023년 4월 3일 (월) 05:51 판&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;1번째 줄:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;1번째 줄:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류: 메모리 관리]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[분류: 메모리 관리]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:Segmentation.png|섬네일|가운데]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[파일:Segmentation.png|섬네일|가운데&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|600픽셀&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 개요 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 개요 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 [[페이징]] 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리 세그먼트의 이용과 혼동해서는 안 된다. 왜냐하면 이들은 어떠한 보호 기능도 제공하지 않았기 때문이다. (어떠한 프로그램도 제한 없이 세그먼트에 쉽게 접근할 수 있었고 세그먼트는 64 KiB라는 고정 길이와 시작 위치로만 구성되어 있었다.) 인텔 80286 이후의 메모리 세그먼트 방식에는 보호 기능이 제공된다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 [[페이징]] 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리 세그먼트의 이용과 혼동해서는 안 된다. 왜냐하면 이들은 어떠한 보호 기능도 제공하지 않았기 때문이다. (어떠한 프로그램도 제한 없이 세그먼트에 쉽게 접근할 수 있었고 세그먼트는 64 KiB라는 고정 길이와 시작 위치로만 구성되어 있었다.) 인텔 80286 이후의 메모리 세그먼트 방식에는 보호 기능이 제공된다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Memory_segmentation&amp;diff=527&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류: 메모리 관리  가운데 == 개요 == Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 페이징 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리...</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Memory_segmentation&amp;diff=527&amp;oldid=prev"/>
		<updated>2023-02-11T02:54:25Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EB%A9%94%EB%AA%A8%EB%A6%AC_%EA%B4%80%EB%A6%AC&quot; title=&quot;분류:메모리 관리&quot;&gt;분류: 메모리 관리&lt;/a&gt;  &lt;a href=&quot;/noriwiki/index.php?title=%ED%8C%8C%EC%9D%BC:Segmentation.png&quot; title=&quot;파일:Segmentation.png&quot;&gt;섬네일|가운데&lt;/a&gt; == 개요 == Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 &lt;a href=&quot;/noriwiki/index.php?title=%ED%8E%98%EC%9D%B4%EC%A7%95&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;페이징 (없는 문서)&quot;&gt;페이징&lt;/a&gt; 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[분류: 메모리 관리]]&lt;br /&gt;
&lt;br /&gt;
[[파일:Segmentation.png|섬네일|가운데]]&lt;br /&gt;
== 개요 ==&lt;br /&gt;
Memory segmentation이란 메모리 보호를 수행하는 가장 일반적인 방법 가운데 하나이다. 다른 방법으로는 [[페이징]] 이 있다. 메모리를 여러 세그먼트로 나누어서 한 세그먼트에서 다른 세그먼트로의 접근을 막는 것을 말한다. 이러한 이용은 인텔 8086, 인텔 8088과 같은 초기 x86 프로세서에 쓰인 메모리 세그먼트의 이용과 혼동해서는 안 된다. 왜냐하면 이들은 어떠한 보호 기능도 제공하지 않았기 때문이다. (어떠한 프로그램도 제한 없이 세그먼트에 쉽게 접근할 수 있었고 세그먼트는 64 KiB라는 고정 길이와 시작 위치로만 구성되어 있었다.) 인텔 80286 이후의 메모리 세그먼트 방식에는 보호 기능이 제공된다.&lt;br /&gt;
&lt;br /&gt;
== 80286 이전 [[리얼 모드]]의 세그먼트 ==&lt;br /&gt;
세그멘테이션은 segment와 offset으로 구현되어 있다. CPU에 있는 segmentation register을 참고하여 적절한 segmentation table을 참고하여 segment table에서 base와 bound그리고 access레벨을 가져온다. base + offset을 통해서 메모리 영역을 구하고, 이 영역이 bound안에 있는지 혹은 Access 규칙을 위반하지 않는지 확인하여 메모리에 접근하게 된다. 각각의 세그멘테이션 테이블은 프로세스마다 하나씩 구현되어 있어서 그에 따라 적절한 가상 메모리 영역에 접근 할 수 있도록 하게 해준다. &lt;br /&gt;
&lt;br /&gt;
모든 메모리는 65535바이트 (64KB)의 일정한 크기를 가진 작은 세그먼트로 나누어지고, 각각의 세그먼트 셀렉터 * 16 + 오프셋 을 통해서 메모리에 접근하였다. 이 이유는 간단히 말하면 그 시대에, 메모리 버스의 크기가 16비트였기 때문이었다. 당연히 [[레지스터]]의 길이도 16비트였으며 이는 1M의 공간에 접근은 커녕 오직 64킬로바이트의 메모리 영역에만 접근 할 수 있었다. 따라서 세그먼트 레지스터를 이용하여 1M이상의 메모리 영역에 접근하고자 하였다. 그렇다면 만약 아주큰 CS의 값이 있을 경우는 어떻게 될까? 이 경우는 [[A20라인]]이 그 역활을 담당하고 있다. [[A20라인]]은, 21번쨰 어드레스 비트를 켜고 끄는 라인을 말한다. 이 라인이 켜져있으면 오버플로우된 메모리 영역이 제대로 동작하기 때문에 메모리 세그멘테이션을 성공적으로 작동 시킬 수 있다.&lt;br /&gt;
&lt;br /&gt;
이러한 시스템하에서&lt;br /&gt;
# 세그 멘테이션은 프로세스간에 code/data 세그멘트를 분리할 수 있게 해주며&lt;br /&gt;
# cow과 같은 기법을 사용할 수 있게 해주며,&lt;br /&gt;
# 투명하게 heap과 stack영역을 사용할 수 있게 해주며&lt;br /&gt;
# protected code segment가 overwritten되는 것을 막는다.&lt;br /&gt;
&lt;br /&gt;
그러나 &lt;br /&gt;
# fragmentation이 심각하게 발생한다는 단점이 있다.&lt;/div&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
</feed>