작년에 읽던 "제프리 리처 windows via c/c++"을 최근에 다시 읽고있는데, 여전히 너무 어려워 기록하면서 천천히 읽으려 한다.
Windows 운영 체제 내에서 프로세스 및 스레드 관리, 리소스 할당 및 동기화를 위해 사용되는 개체.
이러한 개체는 커널 모드에서 동작하며, 사용자 프로그램이 직접 액세스하거나 조작할 수 없고, 이러한 개체는 Windows 운영 체제 내부에서 사용되며, 개발자가 Windows API 및 함수를 통해 이러한 개체에 액세스할 수 있다.
- 프로세스 (Process): 실행 중인 프로그램의 개체로, 각 프로세스는 자체의 가상 메모리 공간을 가지며, 스레드를 실행할 수 있다.바로 프로세스 관리를 위한 커널 개체 중 하나가 EPROCESS 구조체.
- 스레드 (Thread): 프로세스 내에서 실행되는 실행 단위를 나타내며, 스레드 관리를 위한 커널 개체 중 하나가 ETHREAD 구조체.
- 파일 (File): 파일 시스템 리소스를 나타내는 개체로, 파일을 생성, 열기, 닫기, 읽기 및 쓰기와 같은 파일 작업은 파일 개체를 통해 처리됨.
- 이벤트 (Event): 스레드 간의 통신 및 동기화를 위해 사용되는 개체며, 스레드는 이벤트를 대기하고, 다른 스레드가 이벤트를 신호로 설정할 때까지 대기.
- 뮤텍스 (Mutex): 공유 리소스에 대한 동시 액세스를 제어하기 위한 개체. 뮤텍스를 사용하면 여러 스레드 또는 프로세스가 동시에 리소스에 액세스하지 못하도록 할 수 있다.
- 세마포어 (Semaphore): 동시 스레드 또는 프로세스의 수를 제어하기 위한 개체. 주로 병렬 작업을 조절 할 때 사용.
위 개체들은 Windows 운영 체제에서 중요하고, 시스템의 안정성과 효율성을 보장하기 위한 역할을 함.