Windows OS
Windows OS - Virtual Memory 사용 VirtualAlloc, VirtualFree
Windows OS - Virtual Memory 사용 VirtualAlloc, VirtualFree
2022.02.28Windows 는 프로세스가 가진 가상 메모리 영역을 관리할때 페이지라고 불리는 단위로 쪼개서 관리한다. 이 page라고 불리는 단위는 x86, x64 아키텍처에서는 4KB이며, IA-64 아키텍처에서는 8KB이다. Windows OS에서는 이 페이지라고 불리는 작다면 작고 크다면 큰 단위의 상태값이 바뀌며 메모리가 관리될 것이다. App, 그러니까 프로세스 에서 사용하는 모든 주소는 가상 메모리 주소이다. 가상 메모리 주소가 실제로 물리 메모리 주소에 매핑 되게 해야 우리는 물리 메모리에 실제로 값을 저장 시킬 수 있다. 어떠한 페이지가 물리 메모리와 매핑된 상태를 commit 상태라고 한다. 그니까 어떠한 페이지가 commit 되었으면, 그 페이지의 시작 주소로부터 4KB는 전부 액세스 되는거다. 어..
Windows OS - 스레드(Thread) 1편
Windows OS - 스레드(Thread) 1편
2022.01.12아주 기본적인 스레드의 개념. '프로세스는 왜 존재하는가' 를 생각해본다.왜 존재하는가? 간단하다. 프로세스는 프로그램 실행을 위해 존재한다. 프로그램 실행은 어떻게 이루어지는가? 프로그램은 명령어의 집합이다. 기계어 명령어를 파일로 만들면 그게 우리가 실행파일이라고 부르는것이 된다. 기계어 명령어가 CPU로 전달되면 CPU는 그것을 이해하고 실행한다. 이게 프로그램의 실행이다. 아무튼, 프로세스는 프로그램 실행을 위해 존재한다고 했다. 여기서 스레드라는 개념이 등장한다. 스레드라는 개념은 프로세스의 개념보다는 비교적 늦게 등장했다. 프로세스가 가지는 프로그램 실행의 개념을 스레드에게 100% 이식했다. 간단한 비유를 하자면 부서가 분리된 것이다. 이 스레드라는 것이 프로그램을 실행한다. 프로세스와 스레..