이 글은 "혼자 공부하는 컴퓨터 구조 + 운영체제"를 읽고 이해한 내용을 복습하기 위해 작성하는 글입니다.
이미지 출처 : 혼자 공부하는 컴퓨터 구조 + 운영체제
프로세스 제어 블록 (PCB)
프로세스의 실행 순서를 관리하고, CPU를 비롯한 지원을 배분하는 운영체제
커널영역에 저장
프로세스 생성시에 만들어지고, 종료시에 폐기
저장 정보
프로세스 메모리 영역
프로세스 생성시 사용자 영역
코드 영역 (텍스트 영역)
정적 할당 영역
실행 할 수 있는 코드 / 명령어 저장
데이터 영역
정적 할당 영역
프로그램이 실행되는 동안 유지할 데이터가 저장되는 공간
힙 영역
메모리 공간 미 반환시, 메모리 누수라는 메모리 낭비를 초래한다.
스택 영역
동적 할당 영역
데이터들을 일시적으로 저장하는 공간
ex) 매개변수, 지역변수
프로세스 상태
생성
준비
CPU를 할당받아 실행가능한 상태, 차례가 되면 실행상태가 된다
프로세스가 실행상태로 전환되는 것을 디스패치 (Dispatch)라 한다.
실행
CPU를 할당 받아 실행 중인 상태
대기
입출력 장치의 작업을 기다리는 상태, 완료되면 다시 준비상태로 돌아가 CPU할당을 기다린다.
종료
프로세스가 종료된 상태.
프로세스를 구성하는 실행의 흐름 단위
단일 스레드 프로세스
- 각각의 프로세스의 실행의 흐름 단위가 1개 인 것
멀티 프로세스
- 여러 프로세스를 동시에 실행 하는 것
멀티 스레드
- 여러 스레드로 프로세스를 동시에 실행 하는 것