1. SD 패치란?
갤럭시 S가 발매된후 어떤 문제점이 대두 되었습니다.
앱을 실행하는데 있어 여타 스펙이 떨어지는 안드로이드 폰에 비해서
전혀 나은 모습을 보여주지 못한다는 얘기였습니다.
그러다 해외 개발자 포럼에서 "real lag-fix"(버벅임 없애기 / 성능 향상) 란 방법이 나오게 됩니다.
그것을 맛클의 Liliniser님이 알려주심으로 인해 한국의 갤럭시 S 유저들도 관심을 가지기 시작했습니다.
"Real lag-fix"란 바로 갤럭시 S의 특정 디렉토리를
"외장 SD 카드"로 옮김으로써 성능을 향상시킬 수 있는 방법이었고
실제로 특정 디렉토리를 옮기자 눈에 띄게 빠르고 부드러워진 갤럭시 S를 사용할 수 있게 됩니다.
"외장 SD 카드"를 사용한다 하여 우리 나라에선 "SD 패치"라 불리게 됩니다.
특정 디렉토리란 "/data/data" 폴더이며 이 곳은 앱들의 정보와 시스템의 설정을 담고 있습니다.
갤럭시 S에는 사용자가 추가로 마이크로 SD 카드를 추가할 수 있도록 슬롯이 마련되어 있습니다.
이 마이크로 SD 카드에 특정 디렉토리를 옮긴 후
갤럭시 S가 그곳을 시스템 디렉토리라고 인식하도록 속여주는 작업을 말합니다.
특이한 점은 외장 SD 카드 공간에 파티션을 나누어 주어야 한다는 것입니다.
그 이유는 외장 SD 카드의 첫 번째 파티션은 "이동식 메모리"로 인식되며
이것은 USB로 연결을 하게되거나 시스템 설정에서 특정 메뉴를 실행함으로
갤럭시 S에서 인식을 중단할 수 있습니다 .
이 때 문제가 생기게 됩니다.
갤럭시 S에게 외장 SD 카드의 특정 디렉토리를 시스템 디렉토리라고 속이고 있는데
인식이 중단되는 순간 시스템이 프리징(멈춤현상) 되거나 대부분의 앱들이 강제 종료가 되어버립니다.
이 문제를 해결하기 위해 파티션을 2개로 나누게 되고 2번째 파티션에 패치를 진행합니다.
2번째 파티션은 갤럭시 S에서 "이동식 디스크"로 인식하지 않기 때문에
USB로 연결하더라도 시스템이 계속 인식할 수 있는 상태로 남아있게 됩니다.
이미지 파일을 생성하여 그 곳으로 특정 디렉토리를 옮겨주는 작업을 말합니다.
여기서 사용되는 이미지 파일의 개념은 다음과 같이 생각하시면 됩니다.
우리가 컴퓨터에서 흔히 쓰는 "데몬" 프로그램은 "iso" 파일을 읽어 들여 가상 CD 롬으로 인식시켜 줍니다.
이 "iso" 파일이 가상 CD 파일이죠.
여기서 쓰이는 이미지 파일은 "iso" 같은 파일에 CD 롬 정보 대신 "하드 디스크"의 정보를 담게 합니다.
하나의 파일을 만들고 그 곳에 파일시스템 정보를 입력하면
이것은 리눅스 시스템에서 하나의 하드 디스크처럼 인식을 시킬 수 있습니다.
(안드로이드는 리눅스 기반 입니다.)
이 이미지 파일은 역시 용량이 큰 프로그램 설치 공간인 /data 폴더안에 생성하게 하는데
그렇다면 외장 SD 패치를 해야만 빨라졌던 그 공간에 이미지를 만든다고 성능이 좋아질까요?
실제로 갤럭시 S의 16GB 메모리로 붙어 나오는 이 녀석은 어지간한 마이크로 SD 카드보다
성능이 뛰어난 편입니다.
결국 문제는 삼성의 독특한 기본 파일 시스템(RFS)이 읽기/쓰기 작업을 느려지게 한다는 것을 알게되며
이 이미지 파일에 다른 파일 시스템(ext2, ext3, ext4, nilfs2)을 적용하는 것만으로도
성능의 향상을 이끌어 낼 수 있게 됩니다.
댓글