Nevermore
11.09.08
조회 수 10867
추천 수 43
댓글 29

일단 Governor부터 설명하겠습니다.

Governor란 CPU 속도를 조절하는 방법을 말하는 겁니다.


정상적인 Governor는 CPU를 사용하지 않을 때 속도를 떨어뜨려 전력을 아낍니다.

갤스의 경우 평소에 1000으로 돌아가다가 안 쓰면 100으로 떨어지는 식이죠.

그러다가 갑자기 CPU를 사용하기 시작하면 재빨리 필요한만큼 속도를 올리지요.

1000이 필요하면 1000으로 올리고, 800이 필요하면 800으로 올리고, 400만 필요하면 400으로 올리는 등..


그러면 얼마나 빨리 CPU가 사용중인걸 알아채고 빠릿빠릿하게 속도를 올리는가.. 이게 속도와 반응성을 결정합니다.

반대로 CPU 사용이 끝난걸 일찍 알아채고 재빨리 속도를 떨어뜨리는가가 배터리 소모 절감을 결정합니다.


Ondemand, Conservative, Interactive, InteractiveX, Smartass, Performance, Powersave, Userspace등이 있습니다.


-Ondemand는 거의 모든 폰에 기본으로 설정되어있습니다.

CPU를 일정시간마다 체크해서, 사용량이 일정량을 넘어서면 필요한 속도를 계산해서 거기까지 속도를 올리지요.

그런데 속도를 계산해서 올렸는데 정작 프로그램은 낮은 속도에서 버벅대다 이미 끝나버렸을 가능성이 있습니다.

그래서 반응성에 약간 약점이 있습니다.


-Conservative는 Ondemand를 느리게 한 겁니다.

역시 CPU 사용이 일정량 이상이 되면 속도를 올리는데, 여기서 한 가지 다른 점은 한 단계씩 올린다는 거죠.

Ondemand가 100->800을 할 수 있다면, Conservative는 100->200->400->800으로 체크할 때마다 한단계씩 올립니다.

그만큼 빠르게 잠깐 실행할 때 필요한 반응성은 느리죠.

반대로 CPU 속도를 떨어뜨릴때도 천천히 떨어뜨립니다. 그래서 오랫동안 실행되는 어플을 사용할때 장점이 있습니다.

그리고 천천히 속도가 올라가기에, 낮은 속도에 자주 머물러서 배터리 절약에 좋은 편입니다.


-Interactive는 Ondemand의 약점을 해결하려한 방법입니다.

사용량이 일정량을 넘어가는게 아니라, 그냥 CPU를 사용하기 시작했다는 걸 체크하면 바로 최대속도로 올려버립니다.

무조건 1000까지 올려버린 이후에 점점 속도를 깎아내려 필요한 속도까지 줄입니다.

어플이 시작하자마자 최고 속도를 사용할 수 있어서 반응성이 좋아지는게 장점이지만...

반면에 CPU가 조금만 사용되어도 팍팍 올렸다 내렸다하니 배터리 소모가 많아집니다.

이걸 막으려 개선된 InteractiveX는 화면 꺼질때는 무조건 최소속도로 줄이도록 되어있습니다.

그런데 Interactive랑 InteractiveX는 제가 사용해보니 둘 다 버그가 있더군요. 속도가 줄어드는 중에 버벅이기 시작하는..


-Smartass는 Interactive의 개량형입니다. 마구 속도가 올라갔다 내려갔다 하는게 아니라, 필요할 때만 움직이게 했죠.

그래서 대부분의 시간은 낮은 속도에서 머물러있어서 배터리 소모량이 좋아집니다.

그리고 사용하지 않으면 역시 낮은 속도로 줄어듭니다.


그리고 아래 3가지는 아예 사용하지 않는게 좋습니다. 일반적인 사용 패턴을 벗어나는 Governor입니다.


-Performance는 무조건 최대속도로 고정입니다.

setcpu에서 1000-100 놓고 사용하시는 분 많이 봤는데, 쓸데없습니다. 이렇게 하면 무조건 최대속도라서 박대리 조퇴합니다.


-Powersave는 무조건 최소속도로 고정입니다.

setcpu에서 역시 이걸로 설정해놓으시는 분 많습니다. 800-100해봐야 항상 100으로 돌아갑니다. 슬립데스 ㄱㄱ

애초에 슬립데스 이전에 폰 화면 켜지는데 5~10초 걸려서 분통터지실 겁니다.


-Userspace는 그냥 쓸데없는 테스트용입니다.






그리고 이번엔 IO Scheduler 정리입니다.


IO Scheduler는 입출력 방식을 정리해주는 겁니다. 폰에서는 내부적으로 멀티태스킹이 많지요.

사용자가 쓰는 어플 하나에서도 여러개가 동시에 나오고, 그 와중에 시스템에서도 여러개를 멀티태스킹합니다.

그러면 요청 여러개가 오는데 누구부터 먼저 쓰게 해줄것이냐.... 그 교통정리를 IO Scheduler가 합니다.


CFQ, BFQ, Deadline, noop, SIO, VR 등이 있습니다.


-CFQ는 모든 요청에 똑같은 시간을 할애해주는 경우입니다. 시스템 몇 밀리초.. 사용자 프로그램 몇 밀리초..

그런데 그 몇 밀리초 안에 작업이 끝나버리면 그동안 그냥 놀아버릴 때가 있어서 문제가 있습니다.

이카루스 스피드모드 같은 커스텀 커널에서는 이 점을 수정하기도 했죠.

모든 폰에 기본으로 설정되어있습니다.


-BFQ는 모든 요청이 똑같은 만큼 일을 하도록 할애해줍니다. 어떤거 몇바이트.. 다른거 몇바이트...

Cyanogenmod은 이걸 기본으로 씁니다. 개인적으로는 사용할 때 느낌이 좀 무겁더라구요. 버벅버벅..


-Deadline은 하나한테 몰빵주고 몇초 기다리다가 안끝나면 걍 뺏고 다른애 몰빵주고...하는 식입니다.

한때 이걸로 바꾸는게 유행했었죠. 갤럭시 튜너 등등.. 반응성은 확실히 높습니다.

다만 몰빵을 주는 동안 폰이 암것도 안하고 멈춰있는 경우가 많더군요.


-noop는 그냥 먼저 오는대로 섞어서 받는 형태입니다. 스마트폰 같은 플래쉬 메모리의 경우 이게 유리하다고 합니다.

보통 다른 스케줄러는 하드디스크에서 헤드가 가까이 읽을 수 있는 곳을 찾아서 그 순서대로 읽습니다.

그런데 플래쉬메모리는 헤드가 움직이는 형태가 아니라서 막 섞어서 받아도 속도가 떨어지지 않습니다.


-SIO는 noop에다 Deadline의 몰빵을 접합한 형태입니다. 섞어서 받되 들어온 건 몰빵을 줍니다.

이게 요즘 해외에선 제일 인기가 많은 편인 것 같더군요.


-VR은 저도 스피드모드를 통해 처음 알았습니다. Deadline의 개량형인데, 위에 말한 순서 정렬 방식이 바뀐 것 같더군요.

이것도 점점 유명해지는 듯 합니다.








틀렸으면 지적해주세요~


도움이 되셨으면 춪천~

댓글 29
댓글 쓰기 권한이 없습니다.
분류 조회순 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
dcf 동영상 파일 재생 3 세상이만 29840 2012.04.20
rootcloak plus로 이제 루팅상태에서도 은행어플 가능하네요...ㅎㅎ 18 file 하으니다 6 29577 2014.01.23
[테마스토어] 테마스토어 기본어플 아이콘 변경하기 (맛클 강좌) 30 초콜렛왕 18 29473 2011.04.10
갤럭시 시리즈 순정 버전 쉽게 루팅하기 (오딘 필수) 40 file asman 7 29020 2012.05.25
강좌 부두패치와 테그라크 패치의 차이점. 24 요크 15 29020 2011.03.20
M110s에서 아이나비 3D 돌리는 방법... 113 file sungha 7 28759 2010.12.05
강좌 감사합니다 1 선영이다 1 28686 2019.07.25
[SK]갤3LTE IMSFrameWork가 중지되었습니다.뜰때 해결방법 8 타브 16 28469 2012.12.21
Font Creator 사용설명서 - 폰트수정하는방법 11 준오빠 2 28331 2013.06.06
강좌 [갤럭시S]루트익스플로러(Root Explorer) 어플 통한 테마 수동 변경 77 file 多勿將軍 29 28308 2010.12.28
강좌 Minimalistic Text (일명 미텍) 세이브파일 적용하기 82 file 뭐해™ 81 28300 2011.09.15
펌웨어 만큼은 제 nas에서 받으셔도 됩니다. 135 나대지마 60 28299 2011.01.11
갤럭시.루팅과 녹스 제거 간단히 하기. 순정으로 복구 방법. 36 마법의창 62 28244 2014.01.26
볼륨키 꾹눌러서 음악넘기기and상단바 수정하기(투명,색상변경) 143 file 쿤투 80 28193 2013.03.16
강좌 [안드로이드] 테마제작에 유용한 프로그램 모음 36 불멸[갤K] 61 28047 2011.02.26
강좌 유저노하우에 올렸던 순정독바변경!! 76 택이아빠 24 27844 2011.03.20
강좌 모든 전기종 Tinted Status Bar로 ios7처럼 어플의 상단바 배경색 바꾸기 35 Splendid™ 77 27836 2014.03.07
[롤리팝] 커널패치 루팅법 입니다! (킷캣,젤리빈에도 유용!!!) 193 file hsk 448 27573 2014.12.07
lte안심옵션 속도와 3g 속도의 차이 28 Godhand 7 27499 2013.06.25
강좌 [간단루팅]갤럭시S3 NI3 루팅하기! 54 file 5755084 117 27150 2014.10.07
강좌 갤럭시U(갤유,갤U) 진저브레드 VE20 루팅하는 방법 입니다. 100 file 곰봉이 13 27054 2011.05.18
[SK]갤3LTE IMSFrameWork가 중지되었습니다.뜰때 해결방법 8 타브 15 26991 2012.12.21
ext2, ext3, ext4 성능 한눈에 비교해드립니다. 11 file 이카루스 3 26649 2010.12.01
[SKT] 갤럭시 S4 LTE-A (SHV-E330S) 기본 어플 삭제시 자동회전 오류 11 은향류 4 26572 2015.01.31
KT용 갤럭시노트2 기본어플 삭제 목록 정리표 (4.1.2) 33 알케이오 42 26478 2012.12.15
KT용 갤럭시노트2 기본어플 삭제 목록 정리표 (4.1.2) 32 알케이오 41 26416 2012.12.15
[갤럭시K] 벽돌, 무한리부팅 복구 방법 (오딘 이용) 26 file NEO™ 13 26376 2010.12.27
SKT 갤럭시노트2 안드로이드 4.4.2 킷캣 기본 어플 삭제 목록 - 4차수정 30 젤리베리 65 26234 2014.06.05
(스샷)Android 4.0이상의 폰에 소프트키를 넣어보자! 201 file DeathstarS 5 26021 2012.06.06
강좌 초보님들에게 보내는 네번째 편지 ^^ 40 쎈빛 11 25939 2010.11.22
1 4 - 135