Open dahyunko opened 8 months ago
문맥교환(Context Switching)이란?
CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정이다. CPU가 현재 처리중인 프로세스의 PCB(Process Controll Block)을 따로 저장하고 다른 PCB를 가져오는 것으로 현재 상태를 대기 상태로 만들고, 다른 프로세스를 실행시키는 과정이다.
모드 스위치와 프로세스 스위치 간의 차이점은 무엇인가
모드 스위치 : user mode에서 kernel mode로 변경할 때 발생하는 것으로 Interrupt나 System Call 발생 시 일어난다. 프로세스 스위치 : 문맥 교환으로 실행중인 프로세스를 멈추고 새 프로세스를 실행하는 것
System call 이나 Interrupt 발생 시 반드시 context switch가 일어나는가?
아니다. 프로세스가 변경되어야 발생한다.
PCB
System Call : 사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출하는 것, OS에게 CPU 주도권을 넘김
한마디로 쓰레드는 프로세스의 자원을 공유하여 사용하고 프로세스가 바뀌지 않는 이상 데이터가 그대로 남아있기 때문에 그대로 가져다가 쓰면되지만 프로세스가 변경되게 되면 cache의 정보, 가상 메모리, TLB등의 정보가 모두 지워지기 때문에 데이터 접근하는데 오래걸린다.
1Depth
문맥교환(Context Switching)이란?
Answer
CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정이다. CPU가 현재 처리중인 프로세스의 PCB(Process Controll Block)을 따로 저장하고 다른 PCB를 가져오는 것으로 현재 상태를 대기 상태로 만들고, 다른 프로세스를 실행시키는 과정이다.
2Depth
모드 스위치와 프로세스 스위치 간의 차이점은 무엇인가
Answer
모드 스위치 : user mode에서 kernel mode로 변경할 때 발생하는 것으로 Interrupt나 System Call 발생 시 일어난다. 프로세스 스위치 : 문맥 교환으로 실행중인 프로세스를 멈추고 새 프로세스를 실행하는 것
3Depth
System call 이나 Interrupt 발생 시 반드시 context switch가 일어나는가?
Answer
아니다. 프로세스가 변경되어야 발생한다.
Additional Explain
PCB
System Call : 사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출하는 것, OS에게 CPU 주도권을 넘김