OS와 하드웨어

컨텍스트 스위치에서 전환하기 전의 프로세스에 대해 저장해 두어야 하는 것은 무엇입니까?

  1. A그 프로세스가 사용하는 디스크 파일의 내용
  2. B레지스터 값이나 프로그램 카운터 등 CPU의 실행 상태
  3. C그 프로세스의 물리 메모리 전체 내용
정답과 해설 보기

정답: B. 레지스터 값이나 프로그램 카운터 등 CPU의 실행 상태

컨텍스트 스위치에서는 나중에 같은 상태에서 재개할 수 있도록 범용 레지스터, 프로그램 카운터, 스택 포인터, 동작 모드 등 CPU의 상태를 저장하고, 다음에 실행할 프로세스의 상태를 읽어 들입니다. 프로세스를 전환할 때는 페이지 테이블의 위치를 가리키는 레지스터도 바꿉니다. 메모리나 파일의 내용은 그대로 남아 있으므로 전환할 때마다 저장할 필요가 없습니다.

  • A. 파일의 내용은 디스크에 그대로 남아 있습니다.
  • B. 올바릅니다. 재개에 필요한 CPU의 상태를 저장합니다.
  • C. 메모리의 내용은 그대로 남아 있으며 전환할 때마다 저장하지 않습니다.
이 분야 연습하기 분야로 돌아가기

OS와 하드웨어의 다른 문제

  1. 프로세스의 컨텍스트 스위치가 레지스터를 저장하고 복원하는 시간보다 실제로는 더 큰 성능 저하를 일으키는 경우가 있습니다. 그 주된 이유는 무엇입니까?
  2. TLB의 각 항목에 ASID(주소 공간 식별자)를 붙이는 이점으로 올바른 것은 무엇입니까?
  3. OS가 스스로 CPU를 내놓지 않는 프로그램에서도 일정 시간마다 CPU를 되찾아 다른 프로세스로 전환할 수 있는 것은 주로 어떤 구조 덕분입니까?
  4. 위와 같이 장치의 상태 레지스터를 메모리 맵 I/O로 읽을 때 volatile을 붙이고 그 영역을 캐시하지 않도록 설정하는 이유로 올바른 것은 무엇입니까?
  5. 장치의 상태를 인터럽트를 쓰지 않고 CPU가 반복해서 조사하는 방식(폴링)이 유리한 경우는 무엇입니까?

이 분야의 비교