[CS]Memory 개념 정리

  • 메모리 구조
  • 프로세스
  • 스레드
  • 멀티 프로세스
  • 멀티 스레드
  • 컨텍스트 스위칭
  • 오버플로우
이미지 출처: 구글 검색(https://ju-hyeon.tistory.com/7)
  • 코드 영역: 말그대로 실행할 코드가 저장되는 영역이다.
  • 데이터 영역: 프로그램 실행에 사용되는 ‘ 전역 변수 ‘ 와 ‘ 정적 변수 ‘ 등이 저장되는 곳이다.
  • 힙 영역: 사용자(코드 개발자)에 의하여 할당되고, 해제되는 영역이다. Low Address → High Address의 방향으로 메모리가 찬다.
  • 스택 영역: 프로그램이 자동으로 사용하는 영역으로 함수가 호출될때 사용되고 바로 비워지는 아주 빠른 영역이다. 하지만, 컴파일할 때 크기가 결정되며 그 크기를 넘어서는 확장은 불가능하다. High Address → Low Address의 방향으로 메모리가 찬다.
[좌/우]: 프로세스/스레드 (출처: 구글검색, https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html)
컨텍스트 스위칭 과정

--

--

gooby goober yeah

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store