운영체제 프로세스 레포트
본 내용은
"
운영체제 프로세스 레포트
"
의 원문 자료에서 일부 인용된 것입니다.
2023.03.09
문서 내 토픽
  • 1. 프로세스의 개념과 상태 변화
    프로세스는 1960년대 멀틱스 운영체제에서 처음 등장했으며, IBM 운영체제에서 작업 실행 중인 프로그램을 의미합니다. 프로세스는 프로세서에 할당되어 실행될 수 있는 개체이며, 실행 중인 프로그램은 디스크에 있던 프로그램이 메모리에 적재되어 운영체제의 제어를 받는 상태를 의미합니다. 프로세스에는 시스템(커널) 프로세스, 사용자 프로세스, 독립 프로세스, 협력 프로세스 등 다양한 종류가 있으며, 운영체제는 프로세스의 실행을 제어하며 프로세스의 상태 변화를 점검하고 제어합니다.
  • 2. 프로세스 제어 블록
    프로세스 제어 블록은 프로세스 제어 시 필요한 상태 정보를 저장하는 데이터 블록이나 레코드입니다. 프로세스 제어 블록에는 프로세스 식별자, 프로세스 상태, PC, 레지스터 저장 영역, 계정 정보, 입출력 상태 정보, 메모리 관리 정보, 프로그램 상태, 프로세서 스케줄링 정보 등이 포함됩니다.
  • 3. 프로세스의 문맥 교환
    프로세스 문맥 교환은 인터럽트, 시스템 호출 등으로 실행 중인 프로세스의 제어를 다른 프로세스에 넘겨 실행 상태가 되도록 하는 것을 의미합니다. 이때 프로세서의 레지스터에 있던 내용을 나중에 사용할 수 있도록 저장합니다.
  • 4. 병행 프로세스
    병행 프로세스는 운영체제가 프로세스를 빠르게 전환하여 프로세서 시간을 나눠서 마치 프로세서 여러 개를 동시에 실행하는 것처럼 보이게 하는 것을 의미합니다. 병행 프로세스에는 독립 프로세스와 협력 프로세스가 있으며, 병행 프로세스 간에는 상호작용이 필요합니다. 병렬성과 병행성의 차이가 있으며, 병행 프로세스의 해결 과제로는 공유 자원의 상호 배타적 사용, 동기화, 데이터 교환 통신, 결정성 확보, 교착 상태 해결 등이 있습니다.
  • 5. 상호배제와 동기화
    상호배제는 병행 프로세스에서 프로세스 하나가 공유 자원을 사용할 때 다른 프로세스들이 동일한 일을 할 수 없도록 하는 방법입니다. 동기화는 변수나 파일을 프로세스별로 순차적으로 읽거나 쓰도록 하여 공유 자원을 동시에 사용하지 못하게 실행을 제어하는 방법입니다. 임계 자원과 임계 영역 개념이 있으며, 상호배제의 조건과 임계 영역의 조건이 있습니다. 생산자 소비자 문제와 상호배제를 해결하는 초기의 시도로 버퍼를 활용하는 방법이 있습니다.
Easy AI와 토픽 톺아보기
  • 1. 프로세스의 개념과 상태 변화
    프로세스는 운영 체제에서 실행되는 프로그램의 인스턴스로, 메모리에 로드되어 CPU에서 실행되는 작업 단위입니다. 프로세스는 생성, 실행, 대기, 준비, 종료 등의 상태를 거치며 변화합니다. 프로세스의 상태 변화는 운영 체제가 프로세스를 효율적으로 관리하고 자원을 효과적으로 활용하는 데 중요한 역할을 합니다. 프로세스의 상태 변화를 이해하는 것은 운영 체제의 동작을 이해하는 데 필수적입니다.
  • 2. 프로세스 제어 블록
    프로세스 제어 블록(PCB)은 운영 체제가 프로세스를 관리하기 위해 사용하는 데이터 구조입니다. PCB에는 프로세스의 상태, 우선순위, 프로세스 ID, 메모리 할당 정보, CPU 레지스터 값 등 프로세스와 관련된 중요한 정보가 저장됩니다. 운영 체제는 PCB를 통해 프로세스의 상태를 파악하고 관리할 수 있습니다. PCB는 프로세스 관리의 핵심 요소이며, 프로세스 제어 및 스케줄링에 필수적인 정보를 제공합니다.
  • 3. 프로세스의 문맥 교환
    문맥 교환(Context Switching)은 CPU가 한 프로세스에서 다른 프로세스로 전환하는 과정입니다. 이 과정에서 현재 실행 중인 프로세스의 상태 정보(레지스터, 메모리 등)를 저장하고, 다음에 실행할 프로세스의 상태 정보를 복원합니다. 문맥 교환은 프로세스 간 빠른 전환을 가능하게 하지만, 시간과 자원이 소요되므로 효율적인 스케줄링이 필요합니다. 문맥 교환 비용을 최소화하는 것은 운영 체제 설계의 중요한 과제 중 하나입니다.
  • 4. 병행 프로세스
    병행 프로세스(Concurrent Processes)는 두 개 이상의 프로세스가 동시에 실행되는 상황을 말합니다. 병행 프로세스는 CPU 자원을 효율적으로 활용할 수 있지만, 프로세스 간 경쟁 상황이 발생할 수 있습니다. 이를 해결하기 위해 운영 체제는 프로세스 간 동기화와 상호배제 기법을 제공합니다. 병행 프로세스의 관리는 운영 체제 설계에서 매우 중요한 부분이며, 프로세스 간 협력과 경쟁 관계를 적절히 조절하는 것이 핵심 과제입니다.
  • 5. 상호배제와 동기화
    상호배제(Mutual Exclusion)는 둘 이상의 프로세스가 동시에 공유 자원에 접근하는 것을 막는 기법입니다. 동기화(Synchronization)는 프로세스 간 협력을 위해 실행 순서를 조절하는 기법입니다. 상호배제와 동기화는 병행 프로세스에서 발생할 수 있는 경쟁 상황을 해결하기 위해 필수적입니다. 운영 체제는 세마포어, 뮤텍스, 모니터 등의 동기화 기법을 제공하여 프로세스 간 협력과 자원 공유를 지원합니다. 이러한 기법들을 적절히 활용하는 것은 운영 체제 설계의 핵심 과제 중 하나입니다.
주제 연관 토픽을 확인해 보세요!
주제 연관 리포트도 확인해 보세요!