본문 바로가기
computer_science

computer science 2일차 (프로세스)

by useSword 2024. 3. 20.

1. 프로그램과 프로세스

 

보조 기억장치 : 프로그램이 저장되어 있는 곳

주 기억장치 : 프로그램이 로딩되는 곳

프로세스 : 프로그램이 실행해주는 주체

쓰레드 : 작업을 처리해주는 주체

OS(Operation System)

 

 

 

2. 프로세스 상태

 

신규 프로세스가 이제 막 메인메모리에 올라온 상태.수용(admit)을 거쳐야 준비 단계로 넘어감

 

준비 : 수 초기화 등 기초 준비작업을 모두 끝나고 실행을 할 수 있는 상태. 아래의 케이스를 통해 준비상태가 됨.

  • 신규 프로세스가 수용됨
  • 대기 프로세스의 이벤트가 완료됨
  • 수행 프로세스가 중단됨

수행 : CPU가 실제로 프로세스를 수행하고 있는 상태. 아래의 케이스를 통해 수행상태가 해제됨.

  • CPU의 과부하가 판단되는 경우 (준비상태로 돌아감)
  • I/O 나 event wait가 있을 경우 (대기 상태)
  • 이 후 I/O나 evet가 끝나면 ready 상태로 복구 (대기 상태)

대기 : CPU는 I/O를 기다리며, 다른 프로세스를 수행

 

종료 : 최종적으로 프로세스가 종료된 상태

  • 수행 상태에서 수행이 완료되면 종료 상태가 됨.

 

 

3. 프로세스 메모리

 

https://zangzangs.tistory.com/107

 

 

4. 대기 큐

  1. Job Queue : HDD에 있던 프로그램들이 메모리에 올라올 때, 만약 메인 메모리가 가득 찼거나 CPU가 다른 작업을 수행 중이라서 잠시 대기하는 현상
  2. Ready Queue : 메인메모리에 프로그램이 올라오고 해당 프로그램이 I/O를 시작하거나, 시공유시스템의 경우 기존 프로세스가 시간초과되면 실행합니다. 이렇게 프로세스들이 실행하기 위해 대기하는 곳을 Ready Queue라고 합니다.

  3. Device Queue : 각각 I/O 장치들은 각자의 대기 큐를 가지고 있고 이러한 큐들을 지칭하는 말입니다.

 

 

5. Scheduler

  1. Job Scheduler : Job Queue의 프로그램들을 어떤 순서로 메모리에 올릴 것인지 결정함
  2. CPU Scheduler : Ready Queue의 프로세스들을 어떤 순서로 서비스 할 것인지에 대한 스케줄러.
  3. Device Scheduler : Device Queue의 프로세스들을 어떤 순서로 I/O 장치를 이용하게 할 것인지에 대한 스케줄러

 

 

 

6. Swapping

  서버와 같이 여러 사용자가 하나의 메모리를 공유하는 경우에 오랫동안 동작이 없는 프로세스는 잠시 HDD로 내려놓고

  다른 프로세스를 실행하거나 기존 프로세스에 메모리를 더 할당하는 등 메모리를 더 효율적으로 활용합니다.

  그러다가 동작없던 프로세스 사용자가 돌아와서 작업을 수행하면 다시 HDD에서 메모리로 프로세스를 올립니다.

  • Swap Out
    • 메모리에서 HDD로 내리는 작업
  • Swap In
    • HDD에서 다시 메모리로 올리는 작업

 

7. Context Switching

  • Context Switching : CPU 시간공유 시스템인 경우 시간이 지나면 기존 프로세스를 준비 상태로 만들고 다른 프로세스를 수행 상태로 만들어서 실행함. 실행중인 프로세스를 Switch 하는 것을 Context Switching라고 합니다.
  • Scheduler : Context Switching을 전문적으로 담당하는 스케줄러는 위에서 배운 CPU 스케줄러 입니다.
  • Dispatcher : 프로세스를 진행중에 다른 프로세스로 넘어가면 그 정보를 저장하고 중단했었던 프로세스로 돌아와 정보를 끊이지 않고 수행할 수 있도록 해주는 프로그램.

 

'computer_science' 카테고리의 다른 글

복습2  (0) 2024.03.30
복습  (0) 2024.03.28
네트워크 (OSI7계층, TCP/IP)  (1) 2024.03.26
computer science 1일차 (CPU,메모리)  (0) 2024.03.19