1. 강의 링크
2. 정리
- 프로세스의 정의
- 디스크에 있던 프로그램이 OS 스케쥴링에 의해 메모리에 올라와 실행 중인 상태(또는 실행 대기 중인 상태)
- 프로세스를 만들기 위해 필요한 자원(=프로그램을 실행하기 위해 필요한 자원)
- CPU, Memory, File, IO-device
- Memory는 [stack(함수) / heap(동적 할당 데이터) / data(전역 변수 등) / code(인스트럭션)]으로 논리적으로 구분됨
- 하나의 프로세스는 이러한 자원을 OS로부터 할당받게 된다.
- CPU, Memory는 기본 할당받고 File, IO-device는 프로세스 실행 과정에서 필요시 OS에게 요청하게 된다.
- PCB(Process Control Block)
- 프로세스 관리를 위한 상태 정보가 저장된 메모리 블락
- OS가 하나의 프로세스를 정의하기 위해 만든 자료구조
- 참고: https://jwprogramming.tistory.com/16
- 프로세스 상태
- OS는 프로세스를 관리한다.
- 프로그램으로부터 어떻게 프로세스를 생성시킬지
- 어떤 프로세스를 언제 실행시킬지 => 스케쥴링
- 디스크의 프로그램을 어떻게 메모리에 적제 시킬지 => 페이징 / 세그먼테이션
- 실행되는 프로세스를 어떻게 전환할지 => 문맥 교환
- 등등..
'Operating system' 카테고리의 다른 글
[Memory] Virtual Memory, Nonpaged pool, Paged pool, Commit byte (0) | 2021.12.02 |
---|---|
CPU 스케줄링 (0) | 2021.11.03 |
Thread (0) | 2021.10.31 |
Process - 프로세스간 통신(IPC < Socket < RPC) (0) | 2021.10.30 |
댓글