View

[Process와 Thread - 1] 프로세스의 구조와 동작 방식

옥돔이와 연근이 2025. 2. 20. 12:51
반응형
   ↘️ [Process와 Thread]

[Process와 Thread - 2] 프로세스와 스레드의 개념과 차이: 멀티스레드의 작동 원리

[Process와 Thread - 3] 멀티 프로세스와 멀티 스레드 비교


 


 

📍 프로세스와 관련 개념 정리


1. 프로세스의 정의

  • 프로세스: 실행 중인 프로그램을 의미.
    • 메모리 적재: 프로그램이 RAM(메인 메모리)에 적재되면 CPU가 이를 읽어 실행하면서 프로세스가 됨.
    • CPU 할당: 프로세스는 CPU 자원을 할당받아 동작함.

2. 메모리 구조

프로세스는 메모리에서 다음과 같은 영역으로 구성됨:

프로세스 작동 과정

  • Code 영역: 실행할 프로그램의 코드가 저장되는 영역.
  • Data 영역: 전역 변수, 정적 변수(static)가 저장되는 영역.
  • Heap 영역: 동적 메모리 할당 시 사용하는 영역. 런타임 시 크기가 변경 가능.
  • Stack 영역: 지역 변수, 매개변수가 저장되며 함수 호출 시 사용됨.

 


3. 멀티프로세스

멀티프로세스

  • 멀티프로세스: 2개 이상의 프로세스가 동시에 실행되는 환경.
    • 동시성 (Concurrency):
      • CPU 코어가 1개일 때.
      • 시분할 시스템으로 여러 프로세스를 짧은 시간 간격으로 번갈아 실행.
    • 병렬성 (Parallelism):
      • CPU 코어가 여러 개일 때.
      • 각 코어가 개별 프로세스를 처리하여 여러 작업이 동시에 수행됨.
  • 메모리 관리:
    운영체제가 각 프로세스의 메모리 영역을 관리하여 다른 프로세스의 메모리를 침범하지 않도록 보호함.

 


4. 프로세스의 Context

  • Context: 프로세스의 실행 상태에 대한 정보.
    • 이전에 어디까지 명령을 수행했는지,
    • 레지스터에 어떤 값이 저장되어 있었는지를 포함한 총체적인 정보.

 


5. PCB (Process Control Block)

출처: 기출로 대비하는 개발자 전공면접

  • PCB (프로세스 제어 블록):
    프로세스의 중요한 정보를 저장하는 데이터 구조.
    • 포함 정보:
      • 프로세스 상태 (Ready, Running, Blocked 등).
      • 프로세스 번호 (PID).
      • 프로세스 카운터: 다음에 실행될 명령어의 주소.
      • 레지스터 상태.
      • 메모리 관리 정보.
      • 파일 I/O 상태 정보.

 


6. Context Switch

  • Context Switch:
    CPU의 제어권을 한 프로세스에서 다른 프로세스로 전환하는 과정.
    • 현재 프로세스의 상태를 PCB에 저장하고,
    • 새 프로세스의 PCB를 읽어 이전 상태를 복구함.

 


 

⁉️예상 질문 및 답변

Q1. 프로세스의 Context가 무엇인가?

  • 프로세스의 실행 상태에 대한 정보로, 이전에 어디까지 명령을 수행했는지, 레지스터에 저장된 값을 포함하는 총체적인 실행 정보를 의미함.

Q2. PCB에는 어떤 정보들이 있는가?

  • PCB는 프로세스의 실행과 관리를 위한 중요한 정보를 저장하는 데이터 구조이며, 포함되는 정보는 다음과 같음:
    1. 프로세스 상태 (Ready, Running, Blocked 등).
    2. 프로세스 번호 (PID).
    3. 프로세스 카운터: 다음에 실행할 명령어의 주소.
    4. 레지스터 상태.
    5. 메모리 관리 정보.
    6. 파일 I/O 상태 정보.
반응형
Share Link
reply
반응형
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28