SECTION 138 프로세스의 개요

2024. 10. 13. 12:30정보처리기사(실기)/11장 응용 소프트웨어 기초 기술 활용

프로세스의 개요

  1. 프로세스
    1. 정의: 프로세스는 실행 중인 프로그램으로, 운영체제가 관리하는 실행 단위입니다. 이는 컴퓨터 자원을 할당받아 수행하는 프로그램을 의미합니다.
    2. 프로세스의 여러 가지 정의:
      • PCB를 가진 프로그램
      • 실기억장치에 저장된 프로그램
      • 프로세서가 할당하는 실체로서 디스패치가 가능한 단위
      • 프로시저가 활동 중인 것
      • 비동기적 행위를 일으키는 주체
      • 지정된 결과를 얻기 위한 일련의 계통적 동작
      • 운영체제가 관리하는 실행 단위
  2. PCB (Process Control Block)
    1. 정의: PCB는 프로세스 제어 블록으로, 운영체제가 각 프로세스에 대한 중요한 정보를 저장해 놓는 자료 구조입니다.
    2. 특징:
      • 특징 설명: PCB는 각 프로세스의 상태 정보를 저장하고 관리하는 데 사용됩니다. 프로세스 전환 시 필요한 정보를 담고 있어 문맥 교환(Context Switching)을 가능하게 합니다.
      • 장점: PCB를 통해 운영체제는 여러 프로세스를 효율적으로 관리할 수 있으며, 프로세스 간의 문맥 교환을 원활하게 수행할 수 있습니다.
      • 단점: PCB가 많아지면 메모리 사용량이 증가하며, 문맥 교환 시 오버헤드가 발생할 수 있습니다.
    3. PCB에 저장되어 있는 정보:
      • 프로세스 현재 상태
      • 포인터
      • 프로세스 고유 식별자
      • 스케줄링 및 프로세스 우선 순위
      • CPU 레지스터 정보
    4. 예시: PCB는 실행 중인 프로세스가 갑자기 중단되었을 때, 이후에 다시 실행될 수 있도록 해당 프로세스의 모든 상태 정보를 보존하는 역할을 합니다.
  3. 프로세스 상태 전이
    1. 정의: 프로세스 상태 전이는 프로세스가 실행되는 동안 여러 가지 상태로 변화하는 것을 의미합니다.
    2. 상태 종류:
      • 제출: 프로세스가 시스템에 제출된 상태
      • 접수: 운영체제가 프로세스를 접수하여 관리하기 시작한 상태
      • 준비: 프로세스가 CPU를 할당받을 준비가 된 상태
      • 실행: 프로세스가 CPU를 할당받아 실행 중인 상태
      • 대기, 블록: 프로세스가 특정 이벤트가 발생하기를 기다리는 상태
      • 종료: 프로세스가 실행을 완료한 상태
    3. 예시: 한 프로세스가 실행 중에 입출력 요청을 하면, 실행 상태에서 대기 상태로 전이됩니다. 입출력 작업이 완료되면 다시 준비 상태로 전이됩니다.
     
  4. 프로세스 상태 전이 관련 용어 설명
    1. Dispatch: 준비 상태에 있는 프로세스를 CPU에 할당하여 실행시키는 것을 의미합니다.
    2. Wake Up: 대기 상태에 있는 프로세스를 준비 상태로 전환시키는 것을 의미합니다.
    3. Spooling: 입출력 작업을 효율적으로 관리하기 위해 데이터를 임시 저장장치에 저장하는 기법입니다.
    4. Traffic Controller: 프로세스의 상태를 감시하고 제어하는 역할을 하는 운영체제의 구성 요소입니다.
    5. 프로시저: 특정 작업을 수행하기 위해 작성된 코드 블록입니다.
    6. 비동기적 행위: 특정 작업이 동시에 수행되지 않고, 독립적으로 실행되는 행위를 의미합니다.
  5. 스레드 (Thread)
    1. 정의: 스레드는 프로세스 내에서 실행되는 가장 작은 실행 단위로, 하나의 프로세스 내에서 여러 스레드가 동시에 실행될 수 있습니다.
    2. 특징:
      • 특징 설명: 스레드는 같은 프로세스 내의 다른 스레드와 메모리 공간을 공유하며, 독립적으로 실행될 수 있습니다.
      • 장점: 스레드를 사용하면 병렬 처리를 통해 시스템 성능을 향상시킬 수 있습니다. 프로세스 간의 문맥 교환보다 스레드 간의 전환이 더 빠릅니다.
      • 단점: 메모리를 공유하기 때문에 동기화 문제가 발생할 수 있으며, 이를 해결하기 위한 추가적인 관리가 필요합니다.
    3. 예시: 웹 브라우저에서 하나의 스레드는 페이지를 로드하고, 다른 스레드는 사용자 입력을 처리하는 방식으로 동작합니다.

 

기출 따라잡기

문제 1

다음은 프로세스 상태 전이도이다. 빈 칸(1~3)에 들어갈 알맞은 상태를 쓰시오.

  • :
    1. 준비
    2. 실행
    3. 대기

문제 2

시스템의 여러 자원을 할당받아 실행하는 프로그램 단위 또는 프로세스 내에서의 작업 단위로, 프로세스의 일부 특성을 갖고 있기 때문에 경량(Light Weight) 프로세스라고도 불리는 것은 무엇인지 쓰시오.해설: 스레드는 프로세스 내에서 독립적으로 실행되는 작업 단위이며, 경량 프로세스로 불립니다. 같은 프로세스의 자원을 공유하며 병렬 처리가 가능합니다.

  • : 스레드 (Thread)

문제 3

다음 설명은 무엇에 대한 정의인지 쓰시오.

실행 중인 프로그램이다.

프로시저가 활동 중인 것이다.

비동기적 행위를 일으키는 주체이다.

PCB의 존재로써 명시되는 것이다.

  • 답: 프로세스 (Process)
  • 해설: 프로세스는 실행 중인 프로그램으로, PCB를 가지고 있으며 비동기적인 활동을 통해 시스템에서 작업을 수행합니다.

문제 4

프로세스 상태 전이는 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는 것을 의미한다. 준비 상태에서 대기하고 있는 프로세스 중 하나가 스케줄링의 중앙처리장치를 할당받아 실행 상태로 전이되는 과정을 무엇이라고 하는지 쓰시오.

  • 해설: Dispatch는 준비 상태에 있는 프로세스를 실행 상태로 전환하여 CPU를 할당하는 작업을 의미합니다.
  • : Dispatch