개발 공부/CS 2

[메모리] Heap과 Stack (with Kotlin)

메모리에는 Code, Data, Heap, Stack 4가지 영역이 있습니다. 1. Code (Text) 코드를 실행하기 위해 저장된 영역으로 작성한 프로그램 코드가 저장되는 영역입니다. 저장된 명령어를 CPU에서 하나씩 가져가서 처리를 하게 됩니다. 2. Data 전역변수와 정적변수(Static)가 할당되는 영역입니다. 프로그램 시작과 함께 할당되고 종료되기 전까지 메모리에 남아있습니다. var a : Int = 1 // 초기화된 변수 영역 lateinit var b : String // 초기화 되지 않은 변수 영역 const val c = "Hello" // 정적 변수 (kotlin에는 static을 사용하지 않음) // Java Code---- public static final String C =..

개발 공부/CS 2023.08.24

프로세스와 스레드

프로세스 (Process) 운영체제로부터 자원을 할당받은 작업의 단위 스레드(Thread) 프로세스가 할당받은 자원을 이용하는 실행 흐름의 단위 프로세스와 스레드를 이해하려면 먼저 프로그램과 프로세스의 차이를 이해해야한다. 프로그램과 프로세스 프로그램 (Program) 어떤 문제를 해결하기 위하여 그 처리 방법과 순서를 기술하여 컴퓨터에 주어지는 일련의 명령문 집합체 즉, 운영체제(OS)가 아직 파일을 메모리에 올리지 않은(실행하지 않은) 정적 상태 ex) 엑셀, 크롬, 카카오톡 등 → 코드로만 이루어진 실행하지 않은 파일 프로세스(Process) 운영체제로부터 자원을 할당받은 작업의 단위 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 ..

개발 공부/CS 2023.08.21