ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로세스
    CS/OS 2023. 1. 15. 11:48

    프로세스

    프로세스라나 실행 중인 프로그램이다.

    프로세스의 현재 활동의 상태는 프로그램 카운터 값과 프로세서 레지스터의 내용으로 나타난다.

     

    프로세스의 메모리는 다음과 같다.

    - 텍스트 섹션 : 실행 코드

    - 데이터 섹션 : 전역 변수

    - 힙 섹션 : 프로그램 실행 중 동적으로 할당되는 메모리

    - 스택섹션 : 함수 호출시 임시 데이터 저장장소 (매개변수, 지역 변수 등)

     

    프로세스 상태 

    아래 상태명은 임의적이고 OS마다 변한다.

    - new : 프로세스 생성

    - running : 명령어들 실행

    - waiting : 프로세스가 어떤 이벤트가 일어나기를 기다림

    - ready : 프로세스가 처리기에 할당되기를 기다린다

    - terminated : 프로세스 실행이 종료되었다

     

     

    프로세스 제어 블록 PCB Process Control Block

    각 프로세스는 OS에서 PCB로 표현된다.

    PCB는 특정 프로세스와 관련된 여러 정보를 가짐.

     

    - 프로세스 상태 : new, ready, running, waiting, halted ...

    - 프로그램 카운터 : 프로세스가 다음에 실행할 명령어의 주소

    - CPU 레지스터들 : 레지스터에는 누산기, 인덱스 레지스터, 스택 레지스터, 범용 레지스터, 상태 코드 정보 포함. 나중에 프로세스가 다시 스케줄 될 때 계속 올바르게 실행되도록 하기 위해서 인터럽트 발생 시 이 상태정보들이 저장되어야 함.

    (프로그램 카운터, CPU 레지스터를 묶어 aka Context)

     

    - CPU 스케쥴링 정보 : 우선순위, 스케줄 큐에 대한 포인터

    - 메모리 관리 정보 

    - 회계 accounting 정보 : CPU 사용 시간, 시간 제한, 계정 번호 등

    - 입출력 상태 정보

     

    즉, PCB는 약간의 회계 데이터와 함께 프로세스를 시작, 재시작 시키는 데에 필요한 모든 데이터를 위한 저장소 역할.

     

     

    'CS > OS' 카테고리의 다른 글

    운영체제  (0) 2023.01.13
Designed by Tistory.