본문 바로가기

GameStudy488

Chapter 12. 쓰레드의 생성과 소멸 12.1 Windows에서의 쓰레드 생성과 소멸 12.1-1 쓰레드의 생성 Note) CreateThread() 함수 - lpThreadAttributes: 부모 쓰레드에서 자식 쓰레드에게 핸들 테이블을 상속할지 여부. 즉, 쓰레드도 별도의 자식 쓰레드를 생성할 수 있음. - dwStackSize: 독립적인 스택의 크기를 결정 - lpStartAddress: 함수 포인터. 흔히 쓰레드 메인함수라 부름. - lpParameter: OS가 쓰레드 메인 함수 호출 시 우리 대신 전달해줄 인자값. - dwCreationFlags: 쓰레드 생성 직후, suspend 상태로 둘지 Blocked 상태로 둘지 결정. 메모리 매니지먼트와 관련해서 아주 중요한 매개변수가 됨. 지금은 안씀. - lpThreadId: 이 매.. 2022. 2. 8.
Chapter 08.05 정렬 알고리듬 보호되어 있는 글 입니다. 2022. 2. 7.
Chapter 11. 쓰레드의 이해 11.1 쓰레드란 무엇인가 Prologue) 11장에서는 쓰레드를 배워 볼 예정. 다만, 프로세스의 내용을 되짚어보면서 쓰레드가 무엇인지 비교해보고 왜 쓰레드가 필요한지를 생각해 보아야 함. 11.1-1 프로세스 Vs. 쓰레드 Note) 멀티 프로세스가 필요한 경우 OS 관점에서는 멀티 프로세스가 필요함. 둘 이상의 프로그램을 실행하기 위해서임. 근데, 지금까지는 대부분 하나의 프로그램 == 하나의 프로세스 즉, 하나의 프로그램은 하나의 코드 실행 흐름을 가짐. 앞으로 개발하다 보면 하나의 프로그램 안에서 둘 이상의 실행 흐름이 필요한 경우가 생기게 됨. ex. 2인 전투 테트리스. 하나의 프로그램에 두 개의 실행 흐름이 생김. 게임을 켰을때 대기방에선 혼자하다가 공방에선 프로세스를 하나 더 생성해서 멀.. 2022. 2. 6.
Chapter 10. 컴퓨터 구조에 대한 세 번째 이야기 10.1 절차적 함수 호출(Procedure Call) 지원 CPU 모델 Prologue) 10장은 결국 CPU가 어떻게 함수호출을 처리해 주는가를 배움. 함수 호출 시 필요한 작업으로는 1. 인자 전달 2. 지역 변수 처리 3. 실행의 이동 10.1-1 스택 프레임(Stack Frame)이란? Def) 스택 프레임 임의의 함수 내에서 선언된 메모리 공간. 근데 우리가 궁금한건, 어떻게 스택 프레임이 겹쳐지지도 않고 붕 뜨지도 않고 차곡차곡 예쁘게 쌓아올라갈 수 있을까? Note) 스택 프레임이 어떻게 다음 위치를 잘 지정할까? 누군가가 어디까지 메모리 공간을 할당했는지 기억하고 있어야 함. 이게 바로 SP 레지스터임. 10.1-2 SP 레지스터 Note) SP 레지스터는 스택 프레임의 바닥을 가리킴 그.. 2022. 2. 5.