- Stack & Heap
- Stack 메모리
- 함수나 메소드가 호출될때 스택 프레임이 스택 메모리에 쌓인다
- 그 스택 프레임 안에 매개 변수와 지역 변수가 저장됨
- Heap 메모리
- 모든 객체(Object)는 여기에 저장됨
- 참조 변수
- 객체의 메모리 주소값을 저장하는 변수
- ex) Counter c = new Counter();
- Stack 메모리
- 프로세스, 스레드
- 프로그램 : 컴퓨터가 실행 할 수 있는 명령어의 집합
- 프로세스 : 컴퓨터에서 실행중인 프로그램
- 각각의 프로세스는 독립된 메모리 공간을 할당 받음
- 발전 순서
- 단일 프로세스 시스템 : CPU 하나에 한 개의 프로세스 동작
- CPU 사용률이 좋지 않음 → 여러개 프로그램을 메모리에 올려놓고 동시에 실행!
- 멀티 프로그래밍
- CPU 사용시간이 길어지면 다른 프로세스는 계속 대기 해야함
- 멀티 태스킹 : 프로세스는 한번 CPU를 사용할 때 아주 짧은 시간(quantum)만 CPU에서 실행
- 프로세스의 응답 시간을 최소화 시키는데 목적
- (= cpu 사용을 두고 여러개의 프로세스 혹은 스레드가 경합)
- 하나의 프로세스가 동시에 여러 작업을 수행하지는 못함
- 프로세스의 컨텍스트 스위칭은 무거운 작업임
- 프로세스끼리 데이터 공유가 까다로움
- 듀얼 코어가 등장했는데 잘 쓰고싶음
- 스레드의 등장 : 멀티 태스킹의 단점을 보완하기 위해
- 스레드 특징
- 프로세스는 한개 이상의 스레드를 가질 수 있다.
- CPU에서 실행되는 단위 (unit of execution)
- 같은 프로세스의 스레드 끼리는 컨텍스트 스위칭은 가볍다
- 스레드들은 자신들이 속한 프로세스의 메모리 영역을 공유
- 스레드 특징
- 멀티스레딩
- 하나의 프로세스가 동시에 여러작업을 실행하는데 목적
- (=하나의 프로세스 안에 여러개의 스레드가 동작하여 명령어를 처리)
- 멀티 태스킹의 확장
- 여러 프로세스와 여러 스레드가 아주 짧게 쪼개진 cpu time을 나눠 갖는것
- 멀티프로세싱
- 두개 이상의 프로세서나 코어를 활용하는 시스템
- 단일 프로세스 시스템 : CPU 하나에 한 개의 프로세스 동작
지식 출처
https://www.youtube.com/channel/UCReNwSTQ1RqDZDnG9Qz_gyg/featured
반응형
'이론 공부! > 기술 면접 준비' 카테고리의 다른 글
[OS] 면접 질문 대비 (0) | 2022.08.24 |
---|---|
[OS] 동기화 및 Lock 관련 정리 (0) | 2022.08.24 |
[Data Strucutre] 면접 질문 대비 (0) | 2022.08.24 |
[Data Structure] Hash Table, Graph 정리 (0) | 2022.08.24 |
[Data Structure] Tree 관련 정리 (0) | 2022.08.24 |