안녕하십니까 까마굽니다 (__)
 크윽, 소스를 밤낮 할꺼 없이 좀 무리해서 정리를 했더니만, 동작이 이상하군요.ㅡ0ㅠ 분명 정리하다가 멀 같이 지워버린거 같습니다.

 크윽 젠장, 두군데나 벌써 이상이 생겼는데요, 막막하군요. 정리를 마저하고 디버깅을 해야 할지, 아니면 일단 지금 해결하고 다시 정리를 시작해야 할지...한가지 분명한건, 잘못 정리했다는 것이죠.

 ㅡ0ㅠ.. 아아, 젠장 젠장...소스는 정신이 말짱할때만 봐야 겠네요.
 그럼 좋은하루 되세요 (__)
 
 ps) 요즘 질답란의 폭주로 인해 상당히 뿌듯하다는...모두들 홧팅입니다. @0@/~

안녕하십니까 까마굽니다 (__)

오늘 thread에 대해서 고민하다가 문득 pthread라는 놈의 소스를 보게 되었습니다. 전 pthread는 user level이라고 알고 있었는데, 아니더군요. ㅡ0ㅡ;;; 역시 나의 지식은 허망한것이었음... http://www.gnu.org/software/pth/pth-manual.html
 
위 링크는 GNU Portable Thread 라는 user level thread에 대한 문서인데요, 내용이 참 잘되어있군요. 제가 궁금해하던 "user level thread에서 과연 preemptive 하게 context switching이 가능한가??" 에 대한 물음을 단 한자로.. 압축해 놓았더군요. 충격이었습니다. SIGVTALRM... ㅡ0ㅡ...
 
결국 signal을 이용하면 간단히 스위칭을할 수 있었군요. ㅡ0ㅠ... 저걸 이용해서 user level의 thread library를 만들면, 커널 만드는 거랑 비슷할 것 같습니다. 사실 스케줄링 부분은 크게 다를것이 없으니...
 
시간이 나면 GNU Portable Thread도 차근 차근 한번 봐야겠습니다. 가능하면 포팅도 한판 때리는 쪽으로... 아직 먼 이야기지만... 좋은밤 되세요 (__)

안녕하십니까 까마굽니다 (__)
어제 밤새 노가다를 하여 GUI Application을 하나 만들어내고..그 기쁨으로 V*Ware에서 실행하던 중... 느린속도에 답답함을 느꼈습니다..헐..

그래서 번득 생각난 것이"그래..!! 요걸 실제로 부팅해서 실행해 보는거야.."
참고로 제 PC는 파티션 두개가 모두 FAT32로 포멧되어 있기 땜시롱 플로피에 커널을옮겨서 부팅만 하면 언제든지 하드의 내용을 읽을수 있게 되어있습니다. 뭐... 플로피에 옮겨서 부팅하던중, 플로피에 잘못 써졌는지 처음에 부팅이되지 않더군요..
 
그래서 아무 생각없이 다시 커널을 플로피에 옮긴다음 재부팅을 했더랬지요. 이번엔 정상적이었습니다. 앗쌀~을 외치며 mount 되어있는 제 노트북 하드에 접근하는거 까지는 좋았는데... 문제는 Application을 읽어야 하므로, 파일을 read 하는 순간... 문제는 터졌더랬죠.

Read 하고난 뒤에 파일이 온데간데 없고, root directory의 젤 첫번째 부분이링크되어 물려있었던 것이었답니다. 헑...다행히 루프로 물려져 있지 않아서... 그 파일만 사라지고, 마치 바로가기가 주욱 생긴것처럼 요상한 모양을 띠게 되었지만, 여튼 일단 수숩... 몇번반복하니 하드가 난장판이 되더군요.

그래서 새로 OS를 깔고 했는데, 원래 윈도우 2000을 사용하다가 오늘 XP로 업글을 한판... 근데... 무쟈게 느립니다. ㅡ_ㅡ;;; 뭐.. 덕분에 버그 한마리를 또 잡았지만...값비싼 댓가를 치르게 되었네요... 아직 윈도우 업데이트하는 중... 당체 이놈은 언제까지 할라고 하는건지... 원... 쩝쩝... 그래도 새로 만든 GUI Application이 GUI manager와 맞물려서 크게 무리없이 돌아가는걸 보니, 나름대로 좀 흐뭇하군요. 이걸로 위안이나 삼아야 겠습니다. 크하하핫. >_<

 그럼 다들 좋은하루 되세요 (__)

 안녕하십니까 까마굽니다 (__)
 출장중이라 소스 손대는게 별로 여의치는 않지만, 갖고 놀다보니 심각한 버그가발견되어서 수정해 올렸습니다.Release에 커널이.. HowTo에 d.img가 있는데요..이걸 두개 다 엎어쓰시면 될꺼같네요.

 이번에 추가된 사항은,stdin, stdout, stderr 의 사용 및 pipe의 추가를 들 수 있겠는데요,이걸 이용해서 gui Shell을 구현해 봤습니다.커널을 부팅해서 gui를 입력하시면.. 지난번과 변함없는 허접한 GUI 화면이 뜨구요,거기에 기본적으로 생기는 창 하나가 GUI Shell이 되겠네요..클릭 하셔서 키를 입력해 보시면.. 키가 입력되고, 콘솔에서 쓰는 명령이 그대로먹는걸 확인하실 수 있습니다.
 
 머.. 같은 루틴이니 당연한 결과.. ㅡ_ㅡa..근데.. Bochs에서.. 왜 일케 느린지 모르겠네요..V*Ware에서는 꽤 괜찮은데 말이죠..황당합니다.. 쩝쩝.. ㅡ0ㅡa...네.. 그럼 질문사항은 QnA로 올려주시구요..좋은하루 되세요 (__)
http://kkamagui.codesum.org

+ Recent posts