Context Switching

2026. 6. 5. 15:11·공부한 것

Context Switching?

CPU는 한번에 하나의 작업만 처리할 수 있다. 근데 난 노래를 들으면서 게임을 하면서 강의를 들으면서 친구와 디스코드로 대화를 한다.

이게 어떻게 가능할까?

이게 가능한 이유는 컴퓨터가 여러 프로세스나 스레드를 아주 매우 많이 빠르게 전환해 번갈아가면서 실행하기 때문이다.

이때 작업중이던 작업에서 다른 작업으로 넘어가는 것을 Context Switching이라고 한다.

저장과 복원

현재 하던 작업 A의 상태, 예를 들어서 어디까지 계산했는지나, 레지스터 값 등을 프로세스 제어 블록(PCB)등에 저장하고 넘어갈 작업 B의 이전 상태를 복원해서 이어서 할 수 있다.

오버헤드(Overhead)

이 전환 과정은 CPU가 실제로 무슨 유용한 프로그램을 실행하는게 아니라 운영체제가 내부 시스템 관리를 위해 쓰는 시간이라서 Context Switching이 너무 잦아지면 시스템 전체의 성능이 떨어지는 원인이 된다.

'공부한 것' 카테고리의 다른 글

Spinlock and Mutex  (0) 2026.06.05
Calling Convention  (0) 2026.05.19
Stack Canary  (0) 2026.05.18
Shellcode - orw Shellcode  (0) 2026.05.17
CVE-2026-28466  (0) 2026.05.14
'공부한 것' 카테고리의 다른 글
  • Spinlock and Mutex
  • Calling Convention
  • Stack Canary
  • Shellcode - orw Shellcode
hsnyus
hsnyus
rev, pwn
  • hsnyus
    hsnyus
    hsnyus
  • 전체
    오늘
    어제
    • 분류 전체보기 (108) N
      • About (1)
      • 대외활동 (15)
      • 보안관제 (2)
      • 학교 (3)
      • 개발일지 (5)
      • 공부한 것 (37) N
      • 사이버가디언즈 (9)
      • 일반 (8)
      • 스터디 (10)
      • Wargame (18)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    ctf
    DreamHack
    개발
    스터디
    프로그래밍
    사이버가디언즈
    c언어
    드림핵
    문제풀이
    워게임
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
hsnyus
Context Switching
상단으로

티스토리툴바