핸들(Handle)에 대하여
: Win32 프로그래밍 관련 전체 목차 http://blog.naver.com/tipsware/221059977193 1. 운영체제와 리소스 ...
blog.naver.com
위의 블로그 읽고 정리한겁니당.
개요:
응용프로그램이 컴퓨터의 어떤장치를 사용하기 위해서는(모든 작업이 컴퓨터의 장치를 사용하는것이다, 메모리,키보드,모니터 등등) 해당 장치에 연관된 운영체제이 리소스에 접근해야한다.
포인터를 사용하여 직접 리소스가 있는 주소에 접근할수있지만
응용프로그램이 직접 운영체제의 커널 정보(리소스)에 접근하면 보안이나 등등 하튼 위험하기때문에
"핸들"을 통해서 접근을 허락하고있다.
핸들은 주소값을 정수로 치환한 값이다.
주소값과 핸들(정수)를 한쌍으로 정리한 테이블을 핸들 테이블이라한다
예를들어
응용프로그램이 어떤 리소스의 현재 정보를 확인하고 싶을때(그 주소가 0x0E671027이고 핸들값이 100이 라고 할때)
응용프로그램은 핸들값100만 알고 있고 api함수에 100을 주면 그에 해당하는 주소를 api가 알아서 접근해서 정보를 가져와준다
응용프로그램은 이주소를 모르고 핸들테이블을 참조하여
이 주소가 치환된 정수100을 가지고 이 리소스에 접근한다
*개념이 잘못되었다면 답글 부탁드립니다.
'Operating System' 카테고리의 다른 글
스레드(Thread) (1) | 2024.10.15 |
---|---|
프로세스 (0) | 2024.10.15 |
[linux] curl 명령어 (0) | 2024.07.24 |
리눅스 및 패키지관리자 종류 (yum,rpm,apt,dpkg) (0) | 2023.03.29 |
win32, win64 차이 (0) | 2022.10.14 |