본문 바로가기
반응형

system_fundamentals/process_thread_model2

프로세스의 메모리 구조: 스택과 힙은 왜 다르게 취급될까 프로세스의 메모리 구조: 스택과 힙은 왜 다르게 취급될까이전 글에서 우리는 이 지점까지 왔다.스레드는 요청마다 늘어난다스레드 하나당 스택 하나가 필요하다요청이 많아지면 서버는 위험해진다여기서 자연스럽게 이런 의문이 생긴다.“왜 하필 스택이 문제지?” “왜 스레드는 스택을 공유할 수 없고, 힙은 공유할 수 있는가?” “프로세스 메모리는 도대체 어떻게 생긴 거지?”이 글은 그 질문에 대한 구조적 답변이다.1. 프로세스는 하나의 메모리 덩어리를 받는다프로세스가 생성되면 운영체제는 이렇게 한다.“이 프로세스 전용 가상 메모리 공간 하나 줄게.”이 메모리는 무작위가 아니라역할에 따라 명확히 구획되어 있다.개념적으로 보면 이렇게 나뉜다.[프로세스 가상 메모리]┌──────────────────────┐│ .. 2026. 1. 2.
운영체제 관점에서 프로세스와 스레드 운영체제 관점에서 프로세스와 스레드 더보기 프로세스 = 독립된 메모리 공간스레드 = 메모리 공유“아, 스레드는 프로세스 안에 있구나” 1. 프로그램은 어떻게 실행되는가디스크에 있는 프로그램 파일은 그냥 파일일 뿐이다.실행 버튼을 누르는 순간, 운영체제는 이 파일을 이렇게 바꾼다.“이 프로그램을 실행 중인 존재로 만들자.”이때 생기는 것이 프로세스(Process) 다.2. 프로세스란 무엇인가프로세스는 단순히 “실행 중인 프로그램”이 아니다.정확히 말하면 다음을 모두 포함한다.독립된 가상 메모리 공간실행 중인 코드열린 파일과 소켓운영체제가 관리하는 실행 단위즉,프로세스 = 실행 중인 프로그램 + 그 프로그램 전용 세계이 세계는 다른 프로세스와 완전히 분리되어 있다.3. 그런데 왜 스레드가 필요해졌을까초기의.. 2026. 1. 1.
반응형