1 / 35

미리보는 Windows CE 6.0

미리보는 Windows CE 6.0. 어드밴텍 테크놀로지스 기술지원팀 백승철. Macallan Windows CE 5.0 8/2004. Yamazaki Windows CE 6 H2/2006. Alder Windows CE 1.0 11/1996. Cedar Windows CE 3.0 4/2000. Talisker Windows CE .NET 4.0 1/2002. Birch Windows CE 2.0 11/1997. 현재 까지의 Windows CE 의 로드맵. Tomatin NMD FP.

matt
Download Presentation

미리보는 Windows CE 6.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 미리보는 Windows CE 6.0 어드밴텍 테크놀로지스기술지원팀 백승철

  2. MacallanWindows CE 5.0 8/2004 YamazakiWindows CE 6 H2/2006 AlderWindows CE 1.0 11/1996 Cedar Windows CE 3.0 4/2000 TaliskerWindows CE .NET 4.0 1/2002 BirchWindows CE 2.0 11/1997 현재 까지의 Windows CE의 로드맵 Tomatin NMD FP McKendric 4.2 Jameson 4.1 SP1 2.11 SP2 2.12

  3. Windows CE 6 가능 디바이스 • 디바이스 종류 • HD-DVD players • Networked Media Devices • IP Set-Top boxes • VoIP phones • Thin clients • Windows Mobile • Windows Automotive • Windows Mobile for Automotive • Portable Media Players • 기타

  4. Windows CE 6 베타 BSP

  5. Windows CE 5.0 가상메모리 구조

  6. Windows CE 5.0 가상메모리 구조 • 가상메모리 구조 • 2 GB (커널) • 2 GB (프로세서) • 최대 32 프로세스 • 각각의 프로세스는 최대 32 MB • 32개의 슬롯구조 • 메모리 공유 • 유저 공간의 상위 반을 공유 메모리로 쓴다 • 모든 프로세서들에 의해 읽거나 쓰는 공간

  7. Windows CE 5.0 가상메모리 구조 Kernel 2 GB커널 공간 Shared Memory 2 GB 프로세서 Slot 32 Slot 31 :: 32 프로세서 슬롯 Slot 7 Slot 7 – Services.exe Slot 5 – GWES.exe Slot 4 – Device.exe Slot 3 – Filesys.exe Slot 2 – NK.exe 실행되는 슬롯 Slot 1 – ROM DLLs Slot 0 – Execution

  8. Windows CE 6.0 가상메모리 구조

  9. WindowsCE6.0의 ”신규 커널” • 프로세서당 2 GB의 가상메모리 지원 • 최대 32,000 프로세서 지원 • 통합커널 • 핵심적인 OS 요소들을 커널 공간으로 이동 • 시스템 성능 향상

  10. User VMMemory Mapped files User DLLs Process Code User VM Windows CE 6.0 메모리 모델 KernelFilesystemGWESDrivers 2 GB커널공간 . . . . . . 프로세서당 2 GB 32 K프로세서

  11. 사용자 공간 0x80000000 Shared System Heap 255 MB RAM Backed Mapfiles 256 MB Shared User DLLs512 MB 각각의 2GB에 대한 상세 구조 0x40000000 Process space 1 GB per process 0x00000000

  12. 커널 공간 0xFFFFFFFF CPU Specific VM Kernel VM(if supported by CPU) 256 MB Kernel VM256 MB 커널공간 2GB에대한 상세구조 Object Store (128MB) Kernel XIP DLLs (128 MB) Static Mapped Uncached 512 MB Static Mapped Cached512 MB 0x80000000

  13. KernelFilesystemGWESDrivers 메모리 비교:Windows CE 5.0 대 Windows CE 6 Kernel 2 GBkernelspace Shared memory Memory mapped files Slot 34 프로세서당 2 GB 모든 프로세서상 2GB 가상 메모리 Slot 33 User DLLs Slot 32 . . . . . . . . Slot 31 32 개 프로세스 :: Process code Slot 6 Slot 5 – Services.exe Slot 4 – GWES.exe Slot 3 – Device.exe Slot 2 – Filesys.exe Slot 1 – ROM DLLs 32K프로세서 Slot 0 – Execution 실행 공간

  14. 새로운 OS 구조 • 커널로 이동(중요 드라이버, 파일시스템, graphical window manager) • 장점 • 시스템 오버헤드 감소 • 유저스페이스와 커널스페이스간의 잦은 이동으로인한 오버헤드 감소

  15. 새로운 OS 구조

  16. 성능 및 크기 • 프로세스 스위칭 시 성능향상 기대 • 같은 성능 • Thread Switching • Memory Allocation • System Calls • 성능 감소 (내부 프로세스 호출) • 약 5%의 크기증가

  17. Windows CE 5.0 시스템 호출 구조 App Service • 어플리케이션에 의한 Call • PSL에 의한 커널간의 의사소통 • 커널 • 파라미터 유효성 검사 • 슬롯0으로 서비스 매핑하기 • 캐쉬 플러시(Cache Flush) • 서비스(Service) 호출 • 서비스 • 실행 • 커널으로 복귀 • 커널 • 슬롯0으로 서비스 매핑하기 • 캐쉬 플러시(cache flush) • 어플리케이션으로 복귀 Kernel

  18. Windows CE 6.0 시스템 호출 구조 App • 어플리케이션에 의한 Call • PSL에 의한 커널간의 의사소통 • 커널 • 파라미터 유효성 검사 • 서비스 호출 • 서비스 • 실행 • 어플리케이션으로 바로 복귀 Kernel Service

  19. 호환성

  20. CPU 요구사항 • Windows CE 5.0와 동일함 • ARMV4I • MIPSII • x86 • SH4

  21. 호환성 • 어플리케이션 호환 가능 • 일반적인 OS구조는 유지 • CoreDLL의 호환성유지 • 공유 DLL • SDK 기반의 어플리케이션 • 최소한의 작업이 필요하거나 없을수 있음 • 일반적 이지 않은 기법을 사용한 어플리케이션 • 변환 작업이 필요 • 예) 프로세스 사이에 포인터 또는 핸들로 함수 파라미터 넘기기

  22. 드라이버 • 두가지 타입의 드라이버 지원 • 커널 모드(Kernel Mode) • 사용자 모드(User Mode)

  23. OAL에서 바뀐 사항 • 커널과 OAL의 분리 • NKLoader에 의해 합체 • 독립적으로 업데이트 가능 • 전체적인 OAL 구조는 같다 • OEM 함수 • 커널 접근은 커널 인터페이스를 통해서 가능 • 주요 바뀐점 OAL • 새로운 메모리 모델 적용

  24. 커널과 OAL의 분리 Windows CE 5.0 Windows CE 6.0 kern.exe kernel.dll Kernel Kernel oal.exe OAL OAL

  25. Windows CE 6.0 BSP • 새로운 커널 지원 • 쉬운 BSP 개발 및 포팅 • PQOAL 지원 • OAL, Kernel 그리고 KITL 독립성 지원

  26. PQOAL • PQOAL • Windows CE 5.0부터 지원 • Windows CE 6.0에서도 필수 사항은 아님 • PQOAL을 사용하면 쉽게 업그레이드 가능 • 권장사항 (PQOAL)

  27. WindowsCE5.0 PQOAL 구조 Common code directory BSP code directory platform\common\src inc ARM common cache memory ARM720T ARM920T Intel Samsung S3C2410 inc interrupt power RTC startup timer MIPS, SHx, x86 common platform\<BSP_name> cesysgen files intltrns 0409 … src bootloader kernel OAL kern kernkitl kernkitlprof inc common startup debug drivers pcmcia

  28. WindowsCE6.0 PQOAL 구조 Common code 폴더: 변경 없음 BSP code 폴더: 추천 변경 platform\<BSP_name> cesysgen files intltrns 0409 … src bootloader oal oallib oalexe kitl inc common startup debug drivers pcmcia platform\common\src inc ARM common cache memory ARM720T ARM920T Intel Samsung S3C2410 inc interrupt power RTC startup timer MIPS, SHx, x86 common

  29. Windows CE 5.0 BSP 디렉토리구조 \Platform\<Platform Name> subdirectory Cesysgen Files Src \Bootloader \Common \Drivers \Inc \Kernel\oal \Kernel\kern \Kernel\kernkitl \Kernel\kernkitlprof

  30. Windows CE 6.0 BSP 디렉토리구조 \Platform\<Platform Name> subdirectory Cesysgen Files Src \Bootloader \Common \Drivers \Inc \OAL\OALlib \OAL\OALexe \KITL

  31. Kernel • Windows CE 5.0 • OAL + Kernel = kern.exe • OAL + Kernel + KITL = kernkitl.exe • OAL + Kernel + KITL + Profiler = kernkitlprof.exe • Windows CE 6.0 • OAL = oal.exe • Kernel = kernel.dll • KITL = kitl.dll

  32. Windows CE 6.0 PQOAL 디자인 kernel.dll NKGLOBAL KITL IOCTL oal.exe kitl.dll OEMGLOBAL OS Timer library Cache library Startup library Interrupt library IOCTL library RTC library RTC Timers Caches Hardware USB port Ethernet port Serial port

  33. Startup 실행 순서 kernel.dll Bootloader/startup NKGLOBAL KITL IOCTL oal.exe kitl.dll OEMInit Globals() Startup library OEMGLOBAL

  34. WindowsCE6.0 새로운 프로세스 및 메모리 보기

  35. 세션 요약 • WindowsCE6.0은 새로운 통합 커널로 변경 된다. • WindowsCE6.0은 32 개 프로세서 및 메모리 제한이 제거된다. • WindowsCE6.0의 OAL 은 커널과 OAL이 분리된다. • 새로운 WindowsCE6.0 디바이스 드라이버는 사용자 모드 및 커널 모드로 나누어진다. • WindowsCE5.0BSP 에서 WindowsCE6.0 로 포팅하는 데 시간이 오래 걸리지 않고 쉽게 개발할 수 있다.

More Related