ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컨텍스트 스위칭과 스와핑의 차이점
    OS/os 공부 2022. 1. 10. 16:33

    참고 : https://www.geeksforgeeks.org/difference-between-swapping-and-context-switching/

     

    프로그램은 특정한 작업을 수행하도록 설계된 instructions이다. 마찬가지로 프로세스는 프로그램의 runtime instance를 나타낸다. 

    프로그램을 실행하는 동안 여러 thread가 병렬로 실행될 수 있고 만약 하나의 thread만 존재한다면 스레드 자체를 프로세스라고 부르기도 한다.

     

    컨택스트 스위칭

     

    운영체제는 컨텍스트 스위칭을 사용하여 CPU의 프로세스간 전환시 기존 프로세스의 context를 저장하고 새로운 프로세스를 로딩한다. 

    현재 실행중인 프로세스의 저장된 상태를 PCB에 복사하고 이후 실행을 재개하거나 다음에 실행할 프로세스의 상태를 복원할때 PCB에서 레지스터로 값을 복사하는 것을 의미한다.

     

    context switching은 CPU가 한 프로세스와 다른 프로세스 사이를 전환할 때 마다 발생한다. 

     

    스와핑

    프로세스를 주기억장치(RAM)에서 보조기억장치(디스크)로 일시적 교환시키는 과정으로 비활성 프로세스를 보조기억 장치로 이동시키고 나중에 프로세스 재게시 보조기억장치로부터 주기억 장치로 메모리를 교환하는 과정이다. 

    스와핑을 하는 동안 대부분의 시간을 정보전송에 사용되며 스와핑된 메모리 양은 총 시간에 정비례 한다. 

    스와핑은 메모리에 올리는 swap-in과 디스크로 저장하는 swap-out 두 가지 개념으로 나뉜다.

     

     

    스와핑과 컨텍스트 스위칭의 차이점

    컨텍스트 스위칭 스와핑
    이전 프로세스의 상태를 저장, 새 프로세스에 로드하는 절차 전체 프로세스를 복제 하는벙법
    커널이 한 프로세스에서 이미 실행할 준비가 된 다른 프로세스로 CPU제어를 전송시 컨텍스트를 전환 할 때 컨텍스트 전환이 발생 전체 프로세스가 디스크로 이동시 발생
    프로세스가 일시 중지 모드에 있는지 여부를 결정 얼마나 많은 메모리가 스왑되고 있는지를 다룬다.

    프로세스를 실행 중에서 준비 상태로 전환하는 반면 디스패처는 준비 대기열에 있는 프로세스에 CPU 리소스를 할당하는 역할을 합니다. 디스크와 메인 메모리 사이의 데이터 교환을 언급할 때 사용하는 OS 용어입니다.
    활성 프로세스는 컨텍스트 전환을 수행합니다. 
    비활성 프로세스는 스와핑을 수행합니다.
    더 높은 수준의 멀티태스킹 제공 더 중요한 정도의 다중 프로그래밍 제공
    운영체제의 활용도를 높이는데 도움 메모리 활용도를 높이는 데 도움

    댓글

Designed by Tistory.