ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS 3강: 프로세스 관리
    os 운영체제 2024. 2. 19. 22:04

    Job vs Process:

    작업/프로그램:

        실행 할 프로그램 + 데이터, 컴퓨터 시스템에 실행 요청 전의 상태

    프로세스:

        시스템(커널)에 등록되어 실행 중인 작업, 각종 자원(메모리)을 요구/할당/반납 가능 (능동적)

    자원: 

        커널의 관리 하에 프로세스에게 할당/반납 되는 수동적 개체

    자원 예시


    PCB(process control block):

    os가 프로세스 관리에 필요한 정보를 저장함, 프로세스 생성시 커널에 생성됨

     

    PCB가 관리하는 정보:

        정보는 PCB가 관리하는 정보는 os마다 다름, PCB참조 및 갱신 속도는 os의 성능을 결정 짓는 중요한 요소 

        메모리 관리


    프로세스의 상태:

    자원간의 상호작용에 의해 결정

     

    1. Created:

        작업이 커널에 등록 -> PCB할당 + 프로세스 생성 ->

        ready(할당 받을 메모리가 있으면)/suspended(할당 받을 메모리x)

    2-1. Ready:

        프로세서 외 모든 자원 할당 받은 상태,

        프로세서 할당 -> running 상태

    2-2 suspended ready: 

        메모리를 할당 받지 못한(swap-out) 상태

        상태를 memory image로 swap device에 저장, 메모리 확보시 swap-in

    3-1. Running: 프로세서와 필요한 자원을 모두 할당 받은 상태

        ->Preemption: 프로세서 뺏기면 (프로세서 스케줄링/timer run-out) running state로 내려감

        ->Block/Sleep: running -> asleep (I/O등 자원이 필요할 때 잠시 멈추는거)

        ->Wake-up: asleep -> ready -> running (프로세서 할당 후 running)(자원할당은 system call에 의해 이뤄짐)

    3-2 suspended blocked: ~~

    4. terminated:

        프로세스 종료, 자원 반납 후 커널 내에 일부 PCB정보만 남은 상태

        이후 프로세스를 위해 정보 수집

         


    인터럽트:

     

    인터럽트 처리 과정:

        *중단시 PCB에 Context Saving

        *서비스 루틴에선 인터럽트를 처리하는 프로세스를 넣어줌

        *서비스 루틴 후엔 context switching 발생

    os에 따라 context switching에 발생하는 비용이 달라짐, 성능에 큰 영향을 줌.

    불필요한 context switching을 줄이는 것이 중요.(ex: 쓰레드 사용하기)

    'os 운영체제' 카테고리의 다른 글

    컴퓨터 구조: 어드레싱 모드란?  (0) 2024.03.25
    OS 5강: 프로세스 스케줄링  (0) 2024.03.01
    OS 4강: 쓰레드 관리  (0) 2024.02.20
    OS 2강: OS overview  (1) 2024.02.19
    OS 1강: 컴구 Overview  (0) 2024.02.17
Designed by Tistory.