해결된 질문
작성
·
292
·
수정됨
1
섹션 3 두번째 강의를 보면 스택의 크기는 보통 1MB로 설정되어 있고, 이 크기를 컴파일러 설정에서 10MB로 바꾸는걸 보여주셨는데요. 이 보통 1MB라는 스택의 크기는 운영체제 수준에서 설정된 값이 아닌가요? 어떻게 단지 컴파일러에서 값을 변경한 결과 비정상 작동하던 프로그램이 정상 작동하는 것인지 잘 이해가 되지 않습니다. 운영체제가 실행파일을 봤을 때 스택의 크기가 1MB가 아니라 달리 설정되어 있다면 그에 맞춰 실행을 하는 것인가요?
답변 1
1
응용 프로그램 수준에서 Stack의 크기를 결정하면 OS는 프로세스를 생성 할 때 응용 프로그램이 설정한 크기만큼 할당 해줍니다. 운영체제는 스스로 Stack의 크기를 결정하고 있지 않습니다. 참고하시기 바랍니다.