context switch

    [OS] Process #3 (Context Switching)

    [OS] Process #3 (Context Switching)

    Process의 context switching 우리는 컴퓨터가 다양한 프로그램을 동시에 실행시켜주는 것처럼 느낀다. 엄밀히 따지면 동시 실행이 아니다. CPU가 매우 빠른 속도로 프로세스들을 context switching을 시켜주는데 우리는 이 switching 순간을 절대로 느낄 수 없다. Context란? 프로세스가 수행되기 위해서 필요한 정보들이라고 이해하면 된다. Context는 주로 커널 내부에 존재하는 PCB(Process Control Block)에 저장되어 있다. (PCB는 linked list로 구성됨) 우리가 프로그램을 구동시키기 위해서는 프로세스를 생성해야 한다. 프로세스가 생성되면서 해당 프로세스만의 메모리 공간을 할당 받고 code, stack, heap, BSS 공간에 적절한..

    SystemSoftware - Exceptional Control Flow #2

    SystemSoftware - Exceptional Control Flow #2

    SystemSoftware - Exceptional Control Flow #1 예외상황(예외처리)에 관해서 알아보자 예외 상황 : Segmentation Fault, Hardware Interrupt 등을 예외 상황이라고 한다 CPU는 명령어 주소에 있는 레지스터에 적혀있는 메모리에 가서 명령을 수행하고, 다 hyeo-noo.tistory.com 이전 포스팅에 이어서 Process와 context switch에 대해서 알아보자 Process : 실행중인 Program에서의 instace (Program : class, Process : object 라고 하기도 한다) Process의 추상화를위한 2개의 중요한 key 가 있다. 1. Logical control flow : 각각의 program이 cpu..