선배기수님들 보니까 금일 스터디중의 의문사항을 이렇게 게시판에 올리더군요.
음..따로 정리를 하지 않아서~생각나는데로 올려봅니다.
1. arm기반의 임베디드 시스템에서 kswapd 와 스왑파티션??
2. arm 아키텍쳐에 없는 dirty 비트(cpu와 메모리사이의 캐시 말고) 는 어떻게??
3. 2.4->2.6 오면서 버퍼캐쉬는 없어졌나?
4. 4장 프로세스 상태에서 interruptible과 uninterruptible은 signal을 의미하는가? 아니면 무엇을?
5. arm 아키텍처에 존재하는 irq모드를 리눅스에서는 거의 사용하지 않는데 그 이유는 뭘까?
다음부터는 정리하는 습관을 들여야 겠네요~~의문사항이 아무래도 좀 개인적으로 치중되지 않았나 생각하네요^^;....
댓글댓글댓글댓글 원츄원츄원츄원츄
음..따로 정리를 하지 않아서~생각나는데로 올려봅니다.
1. arm기반의 임베디드 시스템에서 kswapd 와 스왑파티션??
2. arm 아키텍쳐에 없는 dirty 비트(cpu와 메모리사이의 캐시 말고) 는 어떻게??
3. 2.4->2.6 오면서 버퍼캐쉬는 없어졌나?
4. 4장 프로세스 상태에서 interruptible과 uninterruptible은 signal을 의미하는가? 아니면 무엇을?
5. arm 아키텍처에 존재하는 irq모드를 리눅스에서는 거의 사용하지 않는데 그 이유는 뭘까?
다음부터는 정리하는 습관을 들여야 겠네요~~의문사항이 아무래도 좀 개인적으로 치중되지 않았나 생각하네요^^;....
댓글댓글댓글댓글 원츄원츄원츄원츄
댓글 7
-
박은병
2007.11.11 11:00
2. 리눅스를 암으로 포팅할때 실제적으로 존재해야만하는 페이지 테이블 말고도 리눅스에서 따로 관리를 하는 테이블 엔트리가 존재하는데 거기에 더티비트와 그외의 정보를 추가한다고 하네요.... -
이수연
2007.11.11 12:32
1. 리눅스 커널의 이해 3판 279 p
PID 0 인 스와퍼(swapper)라는 프로세스이며, CPU가 다른 프로세스를 수행할 수 없을 때 수행된다. <--- 왜 스와퍼가 아닌 init 프로세스(idel) 가 최초의 프로세스라고 하는지가 오늘의 질문이었습니다...
4. linux kernel internal 이라는 문서의 161p
대기 중인 프로세스는 TASK_INTERRUPTIBLE이나 TASK_UNINTERRUPTIBLE의 상태가 되며, TASK_INTERRUPTIBLE인 경우에는 타이머 만료나 시그널, 혹은 이벤트(event)등에 의해서 인터럽트가 될 수 있다.
-
이수연
2007.11.11 12:43
3. 2.4.10 버전부터 버퍼 캐쉬가 사라짐 대신 버퍼 페이지를 사용하고
버퍼 페이지는 page cache의 일종이므로 결론적으로 페이지에 저장
된다고 볼수 있을 것 같습니다...
<- 리눅스 커널의 이해 619P 참조 -
백창우
2007.11.11 21:41
왜 스와퍼가 아닌 init 프로세스(idel) 가 최초의 프로세스라고 하는지가 오늘의 질문이었습니다...
=> 엄밀한 의미에서 최초의 프로세스는 swapper입니다. swapper는 모든 프로세스적인 특징을 다가지고 있습니다. 그리고 idle 프로세스라면 init 프로세스라기 보다는 엄밀히 말해 swapper가 idle 프로세스라 할수 있겠네요.
target=_blank>http://www.iamroot.org/lxr/http/source/init/main.c#L393
5. nested interrupt process model의 IRQ handler를 구현하기 위해 arm의 interrupt controller가 약간의 설계 미스(?)라고 볼수도 있는 부분이 있습니다.
그냥 simple interrupt process model에서는 irq 모드에서 interrupt를 처리 할수 있지만 nested interrupt process model에서는 irq모드에서 다른 모드로 변경해주어야 만합니다. 왜냐하면 irq 모드에서 인터럽트를 처리중에 다른 인터럽트가 발생하게되면 lr_irq, sp_irq 레지스터의 값이 변경되어 버려 처리중인 context를 잃어버리기 때문입니다.
때문에 arm에서는 interrupt 처리 interrupt handler 초기만 irq 모드에서 처리하고 바로 mode change를 하기 때문에 irq모드를 거의 사용하지 않게 되는 것입니다.
-
박은병
2007.11.12 01:59
아..이런 심오한뜻이..있었군요.^^감솨감솨~~~~
아그리구 arm9이 프로세서와 MMU사이에 캐시가 존재하는 논리캐쉬(가상캐쉬) 그리고 arm11이 MMU와 메모리 사이에 캐시가 존재하는 물리캐쉬 랍니다. 스터디 시간에 반대루 말한거 같네요..ㅜㅜ..죄송..물리캐쉬로 가는 이유는 context스위칭시 논리캐쉬라면 캐쉬를 플러쉬해줘야하는 오버헤드가 있어서 그것을 줄이려고 그랬던거 같은데..또 어떤 이유가 있을까요..음......
<-디벨로퍼 457page -
백창우
2007.11.15 17:35
어쩌다 다시 생각해보니 lr_irq, sp_irq 이 아니라 lr_irq, spsr_irq 이네요.
정신이 없네요. ㅋㅋ -
박은병
2007.11.15 20:43
앗..그렇군요.ㅋㅋㅋㅋ 전 왜 글을 읽으면서 문제점을 찾지 못했을까요..ㅋㅋ
중첩..재진입..커널선점..arm mode...으..당최 제머리로는 분석이 안되네요..ㅜㅜ
.