특정 목적 os 부팅 속도 최적화
글쓴이: fivestar / 작성시간: 목, 2012/02/16 - 5:22오후
안녕하세요
특정 리눅스 배포판을 수정하여 특정 기능만 이용하려고 합니다.
따라서 불필요한 프로세스 모두 제거 하고 커널 모듈도 모두 제거 하였습니다.
이외에 커널 소스레벨 단에서 부팅 속도를 줄일만한 작업이 뭐가 있을까요?
생각같아서는 크롬os 같은 속도까지 줄이고 싶은데..
조사를 해보니 크롬 os의 경우에는 부트로더도 없고 전체적인 부팅프로세스 구조가 일반적인 os의 부팅프로세스 구조가 다르던데...
일반 리눅스 배포판을 부트로더가 없을수도 없으니 다른 방면으로 뭔가 줄일만한 요인이 있을까요?
뭔가 도움이 될만한 힌트좀 주시면 감사하겠습니다.
Forums:
http://forum.falinux.com/zbxe
http://forum.falinux.com/zbxe/?document_srl=561345
이런거 찾으세요?
피할 수 있을때 즐겨라! http://melotopia.net/b
일단 임베디드 리눅스는 아니고 우분투계열의 우분투로
일단 임베디드 리눅스는 아니고 우분투계열의 우분투로 작업하고 있습니다. 저정도까진 아니더라도 어떤식으로 접근하면 부팅속도를 최대한 줄일 수 있을까요?
접근 힌트나 자료 알고계신것이 있다면 조언부탁드립니다.
노트북에서 쓰이는 하이버네이션 같은게 아닐까요? 매번
노트북에서 쓰이는 하이버네이션 같은게 아닐까요?
매번 지난번 종료상황으로 돌아가는게 아니라 원하는 상태를 flash메모리에 가지고 있다가 그대로 메모리에 올려서 부팅하는...
하이버네이션이죠...
기술도 여러 가지 있는데, 커널 단에서 가장 많이 속도를 줄이는 것은 하이버네이션 이미지를 Nand에 저장해서 갖고 있다가,
부팅 시에 부트로더에 올려서 그대로 실행시키는 것이 가장 빠르죠... iPHONE도 이와 비슷한 기술이 들어 있습니다.
하이버네이션도 잘 최적화시키면 램 사이즈를 많이 줄일 수도 있습니다.
그 이외에는 플랫폼의 라이브러리를 먼저 올려서 수행시키는 것이 있는데, Preload라고 하는 기술도 있죠...
이 기술은 안드로이드에 잘 적용되어 있습니다... 많이 사용하는 라이브러리의 일부를 page fault로 라이브러리를 로딩 시키기 이전에 올리는 것이죠...
커널 단에서 속도를 줄이는 것이야, 커널 로그 찍히는 것을 제거하셔도 많이 줄일 수 있습니다.
그리고 글 쓰신 것 중에서 오해가 있으신 부분이 있는 것 같아서, 적는데...
모듈로 로딩하는 것은 커널의 부팅 속도만 줄이시는 것이라면, 커널에 전체 모듈을 넣는 것보다 모듈로 따로 빼서 로딩하는 것이 더 빠릅니다.
일반 리눅스의 부트로더는 CMOS입니다.
Embedded Linux의 Bootloader가 CMOS+GRUB이라고 생각하시면 될 듯 싶습니다.
-_- _-_ -_-
커널 단에서 작업하신다면...
커널 단에서 작업을 하시는 거라면, cramfs나 j2fs같은 것을 root filesystem으로 사용하시는 것 보다,
ramfs를 사용하시는 것도 단축이 됩니다.
재밌는 거 하시네요~ ^^
-_- _-_ -_-