레커
[TIL] 2023_10_13_프로세스 본문
프로세스
프로세스는 작업의 기본 단위 실행 중인 프로그램을 의미한다.
프로그램
디스크 상에 저장된 파일의 내용으로서 수동적인 개념이다.
결론 프로세스는 프로그램이 메모리에 적재되어 실행 가능한 상태로 존재하는 능동적인 개념이며, 레지스터(registers), 메모리(memory), 프로그램 카운터(program counter)와 같은 자원을 필요
Steps in Process Switching
1. CPU를 사용하기 위해 Ready 상태
2. Process A가 스케줄링
3. Process A의 A0를처리하고 다음 실행할 곳을 PC에 작성 (Program Counter) 기록
4. Process A의 A1를처리하고 다음 실행할 곳을 PC에 작성 (Program Counter) 기록
5. ProcessA 타임 아웃이 되면서 상태가 runniug 에서 ready로 변경
6. 다음 작업인 Process B가 스케줄링 됨
7. Process B가 B0~B1 수행
8. ProcessB 타임 아웃이 되면서 상태가 runniug 에서 ready로 변경
9. ProcessA 타임 스케줄링
10. 이어서 A2 수행
Process Context switches 란?
운영체제에 의해 실행 중인 프로세스를 멈추고 준비 상태에 있던 다른 프로세스를 실행하기 위한 작업을 말한다.
실행 중인 프로세스의 실행 문맥을 해당 프로세스의 PCB에
저장 하고 실행할 준비 상태 프로세스의 이전 실행 문맥을 PCB에서 읽어 로드하는 작업 말한다.
context switches 실행되는 동안 프로세서는 의미있는 작업을
수행 할 수 없다.
Context Switching이 발생하게 되면 많은 Cache 초기화, Memory Mapping 초기화 등 많은 Cost가 발생하게 됩니다.
'개발 > TIL' 카테고리의 다른 글
CORS (0) | 2024.01.19 |
---|---|
Container (0) | 2024.01.17 |
NoSQL과 RDBMS의 특징과 차이점/Primary Key, Foreign Key (0) | 2024.01.16 |
[TIL] 2023_10_13_자바스크립트 싱글스레드/비동기/ (0) | 2023.10.13 |
[TIL] Nest.js 첫 경험.... (0) | 2023.10.12 |