context switch
windows 2009. 10. 1. 22:56 |Windows는 유저모드(User Mode)와 커널모드(Kernel Mode)로 구분되어 프로세스가 실행된다. 커널 모드에서 동작하는 프로세스만이 컴퓨터에 장착된 모든 메모리와 하드웨어에 대한 직접적인 접근이 가능하며 디바이스 드라이버가 가장 대표적인 예라고 할 수 있다. 일반적인 윈도우 프로그램의 경우 유저모드 프로세스가 작동하는 것이므로 직접 하드웨어 장치나 메모리에 접근할 수는 없다. 하드웨어 장치나 메모리에 접근하기 위해서는 유저모드 프로그램은 시스템 서비스(API라고 이해바람)를 호출하게 되고 운영체제는 TRAP을 발생시켜 커널 모드로의 스위칭을 위한 스레드를 호출 하게 됨. 이 후 이 스레드에서 하드웨어 장치 또는 메모리에 접근하게 된다. 이를 context switch라고 함.
'windows' 카테고리의 다른 글
PIMAGE_IMPORT_DESCRIPTOR (0) | 2010.05.24 |
---|---|
WinNT.h (0) | 2010.05.24 |
GetModuleHandle과 LoadLibrary (0) | 2010.05.11 |
Toolhelp32를 이용한 프로세스ID얻기 (0) | 2009.10.02 |
세그먼트 레지스터 (0) | 2009.10.01 |