Context switching에 대한 질문입니다.
글쓴이: zieben / 작성시간: 목, 2005/10/27 - 10:36오전
운영체제 이론에 관련된 내용이라 게시판 성격에 맞을까 약간 고민되긴 하지만 우선 질문 올려봅니다.
context switching이 일어나게 되면..
CPU의 제어권 이양만이 일어나는건가요? 아니면 다른 resource 모두에 대한 이양이 일어나는건가요?
그리고 여기서 resource에 메모리도 포함되는 것인가요?
예를 들어서 현재 A라는 task가 cpu를 할당받았구요..
동시에 floppy disk를 사용하고 있습니다.
이제 time slice가 다 되어서 이를 반환할때 아직 floppy를 다 사용하지 않았다고 하면
A task는 cpu만을 반환하는 건가요? 아니면 floppy 제어권도 반환하는 것인가요?
만약에 모두 반환하는 것이라면 OS이론에서 나오는 우선순위 역전의 문제는 발생하지 않을것 같은데요..
우선순위 역전이 CPU를 할당받더라도 사용하고자 하는 다른 resource가 이미 다른 task에 선점되어있어서 cpu를 반환하게 되고 그래서 결국 우선순위가 낮은 task가 먼저 실행될 수 있는 상황을 의미하는것 같은데..
이건 어떻게 이해해야 하는거죠?
Forums:
문의하고 싶은 것이 프로세스 우선순위에 따라 리소스의 제어권을 빼앗을 수
문의하고 싶은 것이 프로세스 우선순위에 따라 리소스의 제어권을 빼앗을 수 있는지에 대한 것인가요?
프로세스의 우선순위라는 것은 리소스에 대한 접근 권한이 아니라 스케쥴링될 때 좀 더 많은, 또한 먼저 준다는 것으로 이해하셔야 합니다.
---
http://coolengineer.com
이미 사용중인 리소스에 접근했을때, 접근불가라면(현재 누군가에 의해 사용
이미 사용중인 리소스에 접근했을때, 접근불가라면(현재 누군가에 의해 사용중) 해당프로세스는 sleep상태로 빠지고 다른 프로세스로 스케쥴링이 되겠지요. 전형적인 유닉스는 타임에 기반해서 스케쥴링되기도 하지만, 시스템호출에 의해 스케쥴링이 일어날 수 있습니다. 이후 해당 리소스가 가용해지면, 커널이 이를 사용하고자 하는 모든 프로세스에게 일어나~ 라고 할것이고, 이 때 모든 프로세스는 동등한 수준으로 경쟁에 돌입하게 되어(race condition) 이를 획득한 프로세스를 제외한 모든 다른 프로세스는 다시 주무시러 갈것입니다.
* 리소스는 CPU, MEMORY, IO장치를 모두 포함한 것들을 의미합니다.
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
제가 질문을 좀 중구난방으로 했네요. ^^;결국 질문은 task에게
제가 질문을 좀 중구난방으로 했네요. ^^;
결국 질문은 task에게 부여된 time slice가 다 끝났을 경우..
task는 cpu만을 반환하는건지? 아니면 다른 리소스까지 다 반환하는건지가 알고싶습니다.
스케쥴링 시간이라는 것은 CPU를 나눠쓰는 것이므로 CPU만 반환되죠.
스케쥴링 시간이라는 것은 CPU를 나눠쓰는 것이므로 CPU만 반환되죠.
---
http://coolengineer.com
댓글 달기