[20081214]Segregated Fit을 이용한 Malloc 구현 프로그램




■ Segregated Fit을 이용한 Malloc 구현

 

    □ malloc()

        ․ Size Byte의 메모리 블록을 포인터를 리턴해준다.
        ․ 사용자는 이 메모리 영역을 사용할 수 있다.

    □ Free()

        ․ 메모리 블록을 다시 반환한다.

    □ Segregated Fit

        ․ FreeList를 사용하여 메모리 관리를 더욱 효율적으로 할 수 있다.

        ․ 메모리 블록은 1WORD 단위로 관리하며 각 메모리 블록은 사이즈와 FreeList용 prev, next 
            포인터로 구성된 헤더와 끝을 알리는 바운더리 태그로 감싸여있다.

        ․ 메모리 블록이 free() 될 시, Size Class 별로 나뉘어진 FreeList안에 더블 링크드 리스트로 
            연결되어 다음 메모리 사용 시 FreeList 내부를 탐색하는 것 만으로도 메모리 블록을 빠르게 
            할당받을 수 있다.

        ․ 사용하지 않는 메모리 블록이 모여있을 때, 서로 병합해 주어 Memory Fragmentation을
            효율적으로 방지할 수 있다.

결과 : 정상적으로 메모리 할당 후, 프리리스트에 의하여 메모리 풀이 관리된다. 
        하지만 자잘한 문제가 있음 ㅠㅠ


Comment : 임베디드 운영체제 과제.
                uC/OS-II 리눅스 포팅 과제 3개와 함께, 3학년 2학기 대부분과목 성적을 망쳐줌
                돌아가는게 신기할 정도로 그저 막연하게 코딩하였음. 
                (빈 문서 처음 키고 main()함수 만든 후의 그 막연함이란...)
                프로그램 설계의 중요성을 깨달음.


[20081223]uC/OS-II Monitor 프로그램

(1) 개요

    ● DTB196 Kit 내부에서 작동하는 uC/OS-II 의 정보를 실시간으로 획득하여

        사용자에게 모니터링 환경을 제공한다.

        ▶ Host와 시리얼 통신

            • 시리얼 포트로 정보를 주기적으로 송/수신

            • 시리얼 포트로 연결하기 위한 자체 터미널 제작

        ▶ uC/OS-II 운영체제 정보 수집

            • TIT(Total Info Task) 제작
            • TCB/EVENT 등 정보 수집

Comment : 회사 업무로 바쁜 와중에 비즈페이군과 3일 밤을 새워 만들었던
                3학년 2학기 임베디드실습 프로젝트.
                uC/OS-II Kernel을 별로 손대지 않은 Application이기 때문에 
                점수는 많이 받지 못했다.


1



트위터

[위자드팩토리] 스케치판 미니