프로세스
종류
- 포어그라운드 프로세스
- 백그라운드 프로세스
PCB
문맥(context)을 담고있으며 커널에 저장되는 자료 구조
- 문맥
- PID
- 레지스터 값
- 프로세스 상태
- 프로세스 상태 다이어그램
- 생성(new)
- 준비(ready)
- 실행(running)
- 대기(blocked)
- 종료(terminated)
- 프로세스 계층 구조
- 쓰기 시 복사(copy on write)과 관련
- 부모 프로세스
- fork() 시스템 호출로 자식 프로세스 생성
- 자식 프로세스
- exec() 시스템 호출로 프로그램 덮어쓰기
- 프로세스 상태 다이어그램
- CPU 스케줄링 정보
- 메모리 관리 정보
- 사용한 파일과 입출력장치 목록
- 문맥 교환
- 빈번한 문맥 교환은 오버헤드 발생 원인
사용자 영역
- 정적 할당 영역
- 코드 영역
- 텍스트 영역으로도 불림
- 읽기 전용
- 기계어가 담기는 영역
- 데이터 영역
- 전역변수가 담기는 영역
- 코드 영역
- 동적 할당 영역
- 힙 영역
- 사용자가 직접 할당 가능한 저장 공간
- 할당한 메모리를 회수하지 않으면 메모리 누수 발생 가능
- 스택 영역
- 매개변수, 전역변수가 담기는 영역
- 힙 영역
스레드
프로세스를 구성하는 실행 흐름 단위
스레드에 따른 프로세스 분류
- 단일 스레드 프로세스
- 멀티 스레드 프로세스
- 스레드 간 프로세스 자원 공유
- 스레드 간 협력과 통신 유리
- 메모리의 효율적 사용
- 스레드의 문제가 프로세스 전체로 전파 가능
- 스레드 간 프로세스 자원 공유
멀티 프로세스
여러 개의 프로세스를 이르는 말
- 프로세스 간 통신 ; Inter Process Communication(IPC)
- 공유 메모리 영역을 따로 두어 프로세스 간 통신이 가능
반응형
'Computer Science > Operating System' 카테고리의 다른 글
혼자 공부하는 운영체제 - 9. 운영체제 (0) | 2024.08.01 |
---|---|
혼자 공부하는 운영체제 - 8. 입출력장치 (0) | 2024.07.31 |
혼자 공부하는 운영체제 - 7. 보조기억장치 (0) | 2024.07.30 |
혼자 공부하는 운영체제 - 6. 메모리 (0) | 2024.07.29 |
혼자 공부하는 운영체제 - 5. CPU 성능 향상 기법 (0) | 2024.07.28 |