2017-05-13 11 views
1

내 Operatingsystems 수업에서 시험에 대해 알아야 할 질문 중 하나는 "왜 컨텍스트 전환이 비쌉니까?"입니다. 비싸고 비싼 것은 무엇을 의미합니까? 작업을 실행하는 데 소요되는 시간은?컨텍스트 스위칭이 값 비싼 절차와 비용면에서 왜 비싼가요?

+1

프로세서에 대한 참조 설명서를 얻으십시오. 예를 들어 80x 계열 제품을 사용하십시오. 주소 변환 등을 제어하는 ​​데 사용되는 것을 포함하여 프로세서 "상태"의 일부인 모든 레지스터를 찾으십시오.이 레지스터를 저장/복원하는 데 필요한 명령 시퀀스를 파악하고 사용 된 모든 스키마 "원자 적"이어야합니다 - 동시에 다른 작업이 결과를 변경하는 것을 허용 할 수 없습니다. –

답변

3

시간이으로 비쌉니다.

컨텍스트 전환은 프로세스의 상태 (컨텍스트)을 저장하고 복원하는 프로세스입니다.

그래서 OS는 실제로 프로세스의 "사진"을 가져 와서 저장하고 나중에 복원 할 수 있지만 비용이 많이 듭니다.

이 절차는 약간의 공간도 차지하지만 가장 비싼 부분은 시간입니다.

0

"왜 컨텍스트 전환이 비쌉니까?" 비싸고 비싼 것은 무엇을 의미합니까? 작업을 실행하는 데 소요되는 시간은?

컨텍스트 전환의 오버 헤드에는 몇 가지 이유가 있습니다.

우선 컨텍스트 자체를 저장하는 단계는 많은 노력을 필요로합니다. 모든 프로세스 레지스터를 저장해야합니다. 여기에는 일반 레지스터, 프로세스 상태 레지스터 및 일부 시스템의 특수 레지스터 (예 : 부동 소수점)가 포함됩니다.

둘째, 새 프로세스의 컨텍스트를 복원하는 데에도 똑같이 시간이 소요됩니다.

셋째, 메모리 캐시를 플러시하고 새 프로세스를 위해 다시로드해야합니다.

넷째, 다음에 실행할 프로세스를 결정하는 데 오버 헤드가 있습니다.

(그리고 아마도 내가 언급하지 않은 다른 일부).

이 모든 작업에는 시간이 걸립니다.

+0

적어도 메모리 캐시를 플러시 할 필요는 없습니다. 그러나 새로 실행되는 프로세스는 이전에 실행중인 프로세스와 공유하는 메모리를 사용하지 않는 한 실제로 콜드 캐시로 시작됩니다. – glauxosdever