gdt 에 tss 와 default_ldt 를 추가하는 게...?
글쓴이: kkojiband / 작성시간: 목, 2003/06/26 - 11:46오전
계속 자료를 찾아서 공부하고 있는데 이해가 안되네요...--...바본가...T.T
사용자 프로세스 같은 경우는 cs 세그먼트는 gdt 의 user_code 디스크립트를 사용하고, ds, es, ss 등은 user_data 디스크립트를 사용한다는것은 디버그를 해서 직접 세그먼트 값을 보니 맞더군요...
근데 여러 책을 보면 프로세스가 생성될때마다(?) gdt 에 tss 와 default_ldt 를 추가시켜준다고 하는데, 이건 대체 왜, 뭐땜시 만들어주는거죠??
그리고 gdt 테이블의 크기가 64kbyte 로 한정되어 있어서 8192개 entry 밖에 못가지는걸로 알고 있는데 프로세스 생성시마다 tss와 default_ldt 를 추가시켜준다면 생성할수있는 프로세스 수에 한계가 생기는거 아닌가요??
뭔가 다른게 있는게 같은데 책을 아무리 뒤져도 더 자세한 내용은 없네요...T.T
아시는 분들 좀 도와주세요~ 부탁드립니다~
Forums:
* 여담[quote]가끔 우리는 책보다, 말보다, 글보다는 코드(co
* 여담
운영체제를 만드시는가봐요? 인텔의 CPU들이 HW수준에서 태스크관리 메커니즘까지 지원했었던 것으로 기억됩니다. 가상메모리관리도 물론이고요. 이를 기반으로 해서 운영체제를 설계하면 보다 쉽게 만들 수 있겠지요.
음, 저는 다른 참고를 소개하고 싶습니다. 독일쪽 연구소(잘 기억안남--; )에서 L4라는 커널을 만들었던적이 있습니다. 제가 과거에 관심을 두었던 부분은 L4커널 개념을 인텔구조에 최적화된 메카니즘으로 구현한 부분이었습니다. 하드웨어의 특성을 최대한 살려 커널의 성능을 올린다!라는 명제가 그들의 생각이었던 것으로 기억하는데, L4는 전부 어셈블리어로 되어있고요. 님이 알고자 하는 부분의 코드도 (태스크관리?) 구현했던것으로 기억합니다. 하드웨어가 제공하는 기본 functionality를 전부사용해서 운영체제를 구현하는 사례는 별로 없으며, 하드웨어의 기본기능중 일부를 사용하고 가정하고해서 운영체제를 설계하는게 보통입니다.
L4의 주 이슈가 1세대 마이크로커널 최대 단점이었던 IPC개선이었던 것으로 기억하는데, 이 커널소스를 읽어보시면 보탬이 되실듯한데요.
저는 어렴풋이만 기억이되서 보탬이 별로 안되겠네요. 다시 공부할 기회는 앞으로 없어 보이고 --; 하여간 여담이었습니다.(답글 없어서리 주저리주저리... 여담이라도 올립니다.:wink: )
------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.
댓글 달기