■ 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()함수 만든 후의 그 막연함이란...)
프로그램 설계의 중요성을 깨달음.




