인프런 커뮤니티 질문&답변

이재혁님의 프로필 이미지
이재혁

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

PCB와 컨텍스트 스위칭(context switching) ★★★

유후시간 관련 질문

작성

·

101

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요 큰돌님, 컨텍스트 스위칭에서 유후시간 발생 시 궁금한 점이 있습니다.
1. 컨텍스트 스위칭에서 유후시간이 발생하는 것은 페이지 폴트 때문인가요 ?

 

컨텍스트 스위칭은 인터럽트, 시스템 콜, 프로세스 전환에서 발생하는데 그렇다면 이때 현재 진행 중인 프로세스를 중지하고 현재 프로세스까지의 상황을 PCB에 저장 후 새로운 프로세스로 전환하는데, 이것을 컨텍스트 스위칭이라고 말하는 건가요 ? 또한 이 때 새로운 프로세스로 전환할 때 필요로 하는 프로세스가 물리 메모리에 없을 때 페이지 폴트가 발생하고, 이 과정에서 CPU는 대기 상태에 들어가는데, 이 대기 상태를 유후 시간이라고 하는 것이 맞나요 ?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 재혁님 ㅎㅎ

 

Q1. 컨텍스트 스위칭에서 유후시간이 발생하는 것은 페이지 폴트 때문인가요 ?

>>  

네 맞습니다. 다만... 컨텍스트 스위칭에서 유후시간이 발생하는 것은 페이지 폴트 때문일 수도 있지만, 그것이 유일한 이유는 아닙니다. 페이지 폴트는 프로세스가 필요로 하는 데이터나 코드가 현재 물리 메모리에 없을 때 발생하며, 이로 인해 데이터를 보조 저장장치로부터 물리 메모리로 가져와야 하는 상황에서 CPU가 대기 상태에 들어가게 됩니다.

이때 발생하는 대기 시간이 유후시간의 일부가 될 수도 있습니다.

그러나 유후시간은 또한 다른 요인들로 인해 발생할 수 있습니다. 예를 들어, I/O 작업에 대한 대기, 네트워크 지연, 다른 시스템 자원에 대한 접근 대기 등도 유후시간을 초래할 수 있습니다.

 

Q2. 컨텍스트 스위칭은 인터럽트, 시스템 콜, 프로세스 전환에서 발생하는데 그렇다면 이때 현재 진행 중인 프로세스를 중지하고 현재 프로세스까지의 상황을 PCB에 저장 후 새로운 프로세스로 전환하는데, 이것을 컨텍스트 스위칭이라고 말하는 건가요 ?

>> 네 맞습니다. 컨텍스트 스위칭은 운영체제가 현재 실행 중인 프로세스(또는 스레드)를 중단하고 다른 프로세스로 전환하는 과정입니다

Q3. 또한 이 때 새로운 프로세스로 전환할 때 필요로 하는 프로세스가 물리 메모리에 없을 때 페이지 폴트가 발생하고, 이 과정에서 CPU는 대기 상태에 들어가는데, 이 대기 상태를 유후 시간이라고 하는 것이 맞나요 ?

>> 네 유후시간은 페이지 폴트 때문에 발생할 수 있습니다.



또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


이재혁님의 프로필 이미지
이재혁

작성한 질문수

질문하기