Computer Science
CS
운영체제와 컴퓨터 구조.
CS
가상 메모리와 페이징: 주소 변환, 페이지 폴트, 교체 알고리즘, 그리고 Android 의 메모리 회수
가상 주소가 MMU 와 TLB, 페이지 테이블을 거쳐 물리 주소로 바뀌는 과정, 요구 페이징과 페이지 폴트 처리, FIFO·LRU·OPT 교체와 스래싱, 세그멘테이션과의 차이, Android 의 low memory killer(lmkd)까지 정리합니다.
CS
프로세스 메모리 구조: 코드·데이터·힙·스택, 그리고 JVM 에서 객체가 놓이는 자리
프로세스 주소 공간의 코드, 데이터, BSS, 힙, 스택 영역과 스택 프레임이 쌓이고 사라지는 과정, 힙 단편화, StackOverflowError, JVM 과 ART 에서 객체와 참조의 배치, Android 의 메모리 누수 사례를 정리합니다.
CS
프로세스와 스레드: 공유하는 자원, 따로 갖는 자원, 그리고 동기화
프로그램과 프로세스의 차이, PCB와 상태 전이, 스레드가 공유하는 자원과 개별로 갖는 자원, 컨텍스트 스위칭 비용, 경쟁 조건과 교착 상태의 조건을 그림과 애니메이션으로 보고 Android 앱 프로세스와 메인 스레드까지 연결합니다.