'system'에 해당되는 글 1건
- 2007.11.23 Hive 가반의 Registry..
2007. 11. 23. 10:41
Hive 가반의 Registry..
2007. 11. 23. 10:41 in Windows Embedded/Windows Embedded CE 6.0
'Windows CE'는 처음부터 Portable기기에 적합하도록 설계되었고, 'Object Store'의 수용공간으로 RAM을 이용하게 되었다.
Object Store란 OS가 사용하는 기본 저장장소로 File, DataBase, Registry가 담기는 저장소이며, Windows CE의 모든 File System의 Root Directory("/")로 사용된다. 쉽게 말해 일반 PC의 HDD정도로 생각하면 된다.
RAM을 기반으로 Object Store가 구현된 Windows CE기기들은 RAM의 특정상 전원공급이 중단되면, 저장되었던 모든 File과 Data 및 Registry가 사라지게 된다(휘발성).
이를 보안하고자 나온 대안이 'Hive Registry'이다
Hive 기반의 Registry는 System Registry를 File로 저장하여 사용하도록 설계된 것이다.
Ram 기반의 Registry와는 다르게 OAL에 구현해 주어야 하는 code가 요구되지 않고, Windows CE에서 인식한 어떠한 File System 저장장치에 Registry를 영구적으로 저장할 수 있는 기능을 제공한다.
"Boot.hv", "Default.hv", "User.hv" 등 세가지의 registry file을 사용한다.
Boot.hv
저장장치에 file로 저장 되어있는 "Default.hv"와 "User.hv"를 읽어오기 위해 필요한 Device Driver와 File System을 로드하기 위한 정보가 담겨있다. 또한 "Default.hv"와 "User.hv"의 위치정보도 포함되어 있다.
이 file은 절대 변경되지 않고, 항상 OS image(NK.bin)에 있는 것을 사용한다.
Default.hv
OS에 관련된 대부분의 System registry 정보를 담고 있다.
OS image에 포함되어 있는 registry에서 변경된 부분만 저장장치에 저장한다.
크게 아래 세 가지 root registry key안에 모든 registry 정보를 포함한다.
- HKEY_LOCAL_MACHINE
- HKEY_CLASS_ROOT
- HKEY_USER
사용자별 registry 정보를 포함한다.
HKEY_CURRENT_USER root key안의 각각의 사용자별 경로를 저장한다.
Hive 기반의 registry 환경에서의 System 초기화 과정은 아래와 같다.
Hive based registry system init process
- NK.exe(Kernel)이 Filesys.exe를 실행.
- Filesys.exe가 Boot.hv를 OS Image로부터 로드.
- Filesys.exe가 Device.exe(Device Driver Manager)를 실행.
- Device.exe는 Boot.hv의 registry설정에 따라 Driver들을 로드.
- Block Device driver와 관련 File system로드.
- Filesys.exe는 System.hv를 로드.
- Filesys.exe는 대기상태이고, System.hv의 registry설정에 따라 Kernel 재 초기화.
- Kernel이 Filesys.exe에 신호발생하여 Filesys.exe가 Device.exe를 실행.
- Device.exe에 "BootPhase2" event를 보내 driver들을 로드, re-enunerate.
'Windows Embedded > Windows Embedded CE 6.0' 카테고리의 다른 글
Windows CE Ship Build (0) | 2007.11.30 |
---|---|
부트로더(Bootloader) (0) | 2007.11.28 |
[MS e-seminar] 비휘발성 Object Store구현과 Hive based registry (0) | 2007.11.22 |
Windows Embedded CE 6.0에서 한글 폰트 설정 (2) | 2007.11.22 |
Windows Embedded CE 6.0 R2 릴리즈 & 설치 (0) | 2007.11.16 |