Windows Kernel에서 suspend 문제

백창우 2008.04.20 11:28 조회 수 : 6323 추천:60

잠시 짬을 내어서 김광태님께서 보여주신 application에 대해 생각을 해보았습니다.
다음과 같은 문제가 발생할수 있을것 같습니다.


- ISR에서 interrupt 처리를 위해 handler task를 ready 상태로 만들어버릴수 있다.
- 그렇게 되지 않는다면 interrupt 처리 task가 수행되지 못해 interrupt 관련 문제가 생길수 있다.
- Multi-core에서는 다른 core에서 event를 발생 시켜버릴수 있다.
++ 각 core의 ready queue가 틀릴때 한쪽 core에 있는 task만 처리했을 경우
++ 두 core를 동시에 정지 못시키고 suspend 상태로 만들 경우
- Multi-core에서 다른 core에서 어떠한 task가 interrupt disable 상태에서 spin lock 안에 spin을 돌고 있을 경우에는 어떻게 처리할것인가??? (다른 core를 멈추게 하는 방법에 따라 이것도 문제가 있을수 있을듯)


모두를 한꺼번에 빼고 넣는다는 걸 가정하고
일단 지금 생각 나는것은 이정도인것 같습니다.
2가지 문제로 요약될것 같습니다.

- interrupt 처리와 관련된 문제
- multi-core와 관련된 문제


OS를 만드는데 있어서 정말 심각하게 고민해봐야 되는 문제중에 하나가
suspend state를 넣느냐 마냐 입니다.


전제 :
"OS는 한치의 모호성도 용납 안되며 발생할수 있는 모든 가능성에 대해 정해진 순서대로 동작해야 한다."


완벽하게 동작하는 OS에 있어서 suspend state는 전혀 필요하지 않습니다.
미리 정해진 순서에 따라 동작하는 OS 내부에 있어서 suspend state는
그 자체로써 예외를 만들어 OS 내부의 state를 모호하게 바꾸어 버릴수 있습니다.

특히나 suspend state를 user가 변경 가능하게 제공된다면
심각한 위험성을 내포하고 있는거나 마찬가지입니다.

윈도우즈에서 user가 suspend state로 변경 가능한지 모르겠는데
그걸 떠나 전 윈도우즈에 왜 suspend state가 들어가 있는지 잘 모르겠네요.

어떻게 발생할수 있는 여러 문제들을 땜빵으로 넘어간다고 할지라도
잠재된 모든 문제들을 파악하고 해결하는건 무척 어려울것 같습니다.


번호 제목 글쓴이 날짜 조회 수
공지 [공지] 하이퍼바이져 스터디 관련 Q&A 게시판 입니다. woos 2016.04.09 237
95 저는 CaOS-64bit를 준비해보려구요 [4] 김기오 2008.04.23 4732
94 자동 ctags 만들어주는 스크립트좀 공유해주세요 [2] 박세율 2008.04.20 5424
» Windows Kernel에서 suspend 문제 [9] 백창우 2008.04.20 6323
92 스터디 현재 진행상황 백창우 2008.04.20 4326
91 [re] 내일 하는 거 맞지요? [3] 장동일 2008.04.18 4354
90 혹시 저에게 연락할일이 있다면. 백창우 2008.04.18 4770
89 Hypervisor Detailed Design (작성중 문서) [3] file 백창우 2008.04.16 12187
88 이번 주 스터디는 쉬는게 어떨런지요? [8] 최창훈 2008.04.15 4657
87 [이번주] 벌금 처리 및 시작 시간 변경 논의 [7] 백창우 2008.04.14 4549
86 Hypervisor 아키텍쳐 디자인 백창우 2008.04.14 11156
85 스프링 노트 주소를 변경하였습니다. [3] 백창우 2008.04.14 4624
84 VMWare 가 공개인가요? [3] 박세율 2008.04.13 4966
83 __attribute__ ((pure)) [1] 백창우 2008.04.12 82290
82 요즘 하고 있는일 [3] 정성욱 2008.04.11 4814
81 지각시 벌금 처리건 논의 [14] 백창우 2008.03.31 5271
80 창우씨 책읽고 드디어 vi 설정을 할 수 있었습니다. 김기오 2008.03.31 4515
79 NUMA, ACPI 자료가 뭐가 있을까요? [5] 김기오 2008.03.29 5032
78 콘솔에서도 ecb가 되네요 [1] 김기오 2008.03.28 5239
77 아무래도 vim에서 벋어나기가 힘드네요 [1] 김기오 2008.03.27 5615
76 [re] 성욱씨 emacs 문의요 [2] file 정성욱 2008.03.27 5499
XE Login