<?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=Process_context_identifier</id>
	<title>Process context identifier - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="http://junhoahn.kr/noriwiki/index.php?action=history&amp;feed=atom&amp;title=Process_context_identifier"/>
	<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Process_context_identifier&amp;action=history"/>
	<updated>2026-05-19T13:02:50Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://junhoahn.kr/noriwiki/index.php?title=Process_context_identifier&amp;diff=1911&amp;oldid=prev</id>
		<title>Ahn9807: 새 문서: 분류:운영체제 분류:CPU 아키텍처 분류:메모리 관리  == 개요 ==  &#039;&#039;&#039;프로세스 컨텍스트 식별자(PCID, Process Context Identifier)&#039;&#039;&#039;는 현대 CPU(특히 x86의 확장된 페이지 테이블 기능)에서 제공되는 기능으로, 프로세스 간 문맥 전환 시 발생하는 오버헤드를 줄이기 위해 전체 TLB(Translation Lookaside Buffer)를 매번 플러시(초기화)하지 않고도 주소 공간 전환을 수행할 수 있도...</title>
		<link rel="alternate" type="text/html" href="http://junhoahn.kr/noriwiki/index.php?title=Process_context_identifier&amp;diff=1911&amp;oldid=prev"/>
		<updated>2025-01-06T06:49:51Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C&quot; title=&quot;분류:운영체제&quot;&gt;분류:운영체제&lt;/a&gt; &lt;a href=&quot;/noriwiki/index.php?title=%EB%B6%84%EB%A5%98:CPU_%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;분류:CPU 아키텍처 (없는 문서)&quot;&gt;분류:CPU 아키텍처&lt;/a&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;  == 개요 ==  &amp;#039;&amp;#039;&amp;#039;프로세스 컨텍스트 식별자(PCID, Process Context Identifier)&amp;#039;&amp;#039;&amp;#039;는 현대 CPU(특히 x86의 확장된 페이지 테이블 기능)에서 제공되는 기능으로, 프로세스 간 문맥 전환 시 발생하는 오버헤드를 줄이기 위해 전체 TLB(Translation Lookaside Buffer)를 매번 플러시(초기화)하지 않고도 주소 공간 전환을 수행할 수 있도...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[분류:운영체제]]&lt;br /&gt;
[[분류:CPU 아키텍처]]&lt;br /&gt;
[[분류:메모리 관리]]&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;프로세스 컨텍스트 식별자(PCID, Process Context Identifier)&amp;#039;&amp;#039;&amp;#039;는 현대 CPU(특히 x86의 확장된 페이지 테이블 기능)에서 제공되는 기능으로, 프로세스 간 문맥 전환 시 발생하는 오버헤드를 줄이기 위해 전체 TLB(Translation Lookaside Buffer)를 매번 플러시(초기화)하지 않고도 주소 공간 전환을 수행할 수 있도록 돕는다.&lt;br /&gt;
&lt;br /&gt;
== 배경 ==&lt;br /&gt;
전통적으로 운영체제는 한 프로세스에서 다른 프로세스로 전환할 때, 이전 프로세스의 페이지 테이블과 관련된 TLB 엔트리를 무효화하거나 다시 로드해야 합니다. 이는 메모리 성능에서 중요한 역할을 하는 TLB 접근(lookup)에 큰 비용을 초래한다.&lt;br /&gt;
&lt;br /&gt;
PCID는 TLB 엔트리에 “프로세스(또는 주소 공간)별 ID(식별자)”를 태그 형태로 부여하여, 주소 공간 전환 시 이전 프로세스에 속했던 TLB 엔트리를 전부 제거(플러시)하지 않고, 단지 “현재 프로세스의 PCID와 일치하지 않는 엔트리”를 무시하도록 하는 방식을 제공한다.&lt;br /&gt;
&lt;br /&gt;
== PCID 작동 방식 ==&lt;br /&gt;
* 각 프로세스(또는 주소 공간)는 고유한 &amp;#039;&amp;#039;&amp;#039;PCID&amp;#039;&amp;#039;&amp;#039;를 할당&lt;br /&gt;
* CPU의 TLB 엔트리는 해당 PCID 태그와 함께 저장&lt;br /&gt;
* 문맥 전환 시, 운영체제는 새 프로세스의 CR3(페이지 테이블 베이스 레지스터)를 로드하고 적절한 PCID를 설정&lt;br /&gt;
* TLB에는 이전 프로세스의 엔트리가 남아있을 수 있지만, CPU는 “현재 설정된 PCID”와 일치하는 엔트리만 사용하여 주소 변환을 수행&lt;br /&gt;
&lt;br /&gt;
== 장점 ==&lt;br /&gt;
# **TLB 플러시 오버헤드 감소**: 문맥 전환마다 전체 TLB를 비울(플러시) 필요가 줄어듬&lt;br /&gt;
# **성능 향상**: 불필요한 TLB 재로딩 과정을 피하므로, 문맥 전환 시의 메모리 접근 지연이 감소&lt;/div&gt;</summary>
		<author><name>Ahn9807</name></author>
	</entry>
</feed>