| [ CnUnix ] in KIDS 글 쓴 이(By): guest (tkhong) 날 짜 (Date): 1995년11월09일(목) 00시29분16초 KST 제 목(Title): [Re]Minix Minix는 말그대루.. 8086/80286에서도 잘 돌아 갑니다. 그리고 하드 20메가면 정말루 떡을치죠.. 그리고 물론 공짭입니다.. 탄넨바움이 지은책에 보면 알기쉽게,. 어떤식으루 짰다고 설명도 잘 나와 있고, 다른 오에스 분석하는데도 무척 도움이 됩니다. 제가 옛날에 깔아 봤을때는.. XT에 360K 짜리 floppy disk driver 두개 달린데서 도 깔아 봤는데 거기서두 잘 돌아 갑니다.. 근데, 이 운영체제의 단점은 8086에도 돌아가게 하기위해서, 리얼모드에서 운영체제가 돌아가기 때문에, 마음만 먹는다면,. 언제 든지 시스 템을 헥킹할수 있다는 겁니다.. 그래도 제가 소스 분석 해본바에 의하면 아주 잘 짜여진 운영체제입니다. 특히 랑데뷰 메카니즘을 최대한 잘 이용한, 랑데뷰에 메력을 느끼게 하는 운영체제죠. 아참 그리구 앞에서 질문 하신 내용중에 마이크로 커널이란 말이 있었는데, 미닉스도 그개념과 비슷 하게 설계 되어 있습니다. 메시지 전달을 관리하는 부분 이부분이 미닉스 커널의 코아인데,.. 커널 자체가 여러개의 독립적인 프로쎄스(?) 스레드(?) 로 구성이 되어서, 커널에 다른기능을 첨가 하구 삭제하고, 고치기에 아주 편리하게 돼어 있습니다. 그러니까.. 커널을 구성 하는 요소들이. 다 자기가 할일이 끝나면 그 결과를 다른 구성요소의 메시지 큐에 갔다 붙여 놓구. 자기는 수행을 끝내고, 메시지 처리하는 부분은 메시지가 펜딩된 그 부분(프로세스?)를 깨워서 일시키고 이런식으로 돼 있죠.. 소스도 다해봤자.. 1만라인 남짓해서, 분석 하기도 쉽죠. 인터럽트와, 하드웨어 랑데뷰 방식에 대한 이해만 제대루 하구 있으면 다른 디바이스 한두개 더 지원 하게 하는건 어렵지 않을 겁니다.. 아참. 그리고 미닉스의 단점은 위에서 말한 슈퍼바이저 모드 가 없다는것 왜에도, 메모리 관리도 좀 후집니다.. 하드웨어적으로 버츄얼 메모리를 지원 해주지 않는 시스템상에서 구현한 것 이기 때문에,. 메모리 프레그멘테이션 등에 의해 메모리가 있어도 얼로케이트 안되는 경우가 생길수 있습니다.. 정말로 무식하게.. 베스트 핏 알고리즘에.. 수행중인 프로세설의 메모리 공간을 옮기눙穗� 일이 없거든요.. 그리고 오리지날 유닉스와 차이점으로는 화일의 최대 크기도 유닉스 보다 좀 적고, 프리스페이스 관리도 비트맵으로 하고,.. 기타 등등이 있습니다.. 참.. 지원하는 운영체제 서비스 루틴도 좀 적어요.. 그러나.. 열악한 환경(XT)상에서도, 그정도 의 퍼포먼스를 낼수 있는걸로 봐서, 아주 잘 짜진 코드임에는 틀림없습니다.. 그래서 이 운영체제 미닉스를 프로텍티드 모드에서 돌아가게 바꾸고 메모리 관리도 하드웨어에서 지원 하는 버추얼 메모리를 사용 할수 이ㅤㅤㅏㅆ도록 바꾼게. 리눅스입니다.. 핀란드의 라이너스 토발드란 학생이 바꿨다고 하는군요.. 미닉스 코드를.... 많은 도움은 안됐지만 참고 하시길 @분석 해본지 하두 오래돼서 가물 가물하네..... |