Naver linuxkernel 26 e 2 g 1234naver com

  • Slides: 23
Download presentation
구글 안드로이드 개요 Naver linuxkernel 26 운영자 : 박 철 (e 2 g 1234@naver.

구글 안드로이드 개요 Naver linuxkernel 26 운영자 : 박 철 (e 2 g 1234@naver. com)

Android ü Software platform developed by Google for mobile phone p p p Free

Android ü Software platform developed by Google for mobile phone p p p Free of charge Open source (Apache License except for kernel) Packaging OS to upper layer applications such as browser Initial screen Browser http: //code. google. com/android/ http: //www. openhandsetalliance. com/ cafe. naver. com/linuxkernel 26 Map

SW platform 별 smart phone cafe. naver. com/linuxkernel 26 출처 : omok. tistory. com

SW platform 별 smart phone cafe. naver. com/linuxkernel 26 출처 : omok. tistory. com

SW platform별 비교 cafe. naver. com/linuxkernel 26 출처 : omok. tistory. com

SW platform별 비교 cafe. naver. com/linuxkernel 26 출처 : omok. tistory. com

Program model #include <stdio. h> loading Memory(DDR) CPU(S 3 C 6410) Excute int main()

Program model #include <stdio. h> loading Memory(DDR) CPU(S 3 C 6410) Excute int main() Write back { printf(“Hello~ n”); return 0; } “Stack” Section hello. c (Source) “BSS” Section Reg Memory access arm-gcc (Compiler) excute “Data” Section Decode “Text” Section hello (ELF) cafe. naver. com/linuxkernel 26 PC runtime fetch

Smart phone이 등장하기 까지 전화 삐삐 Smart phone 무선전화 cafe. naver. com/linuxkernel 26 핸드폰

Smart phone이 등장하기 까지 전화 삐삐 Smart phone 무선전화 cafe. naver. com/linuxkernel 26 핸드폰

Program model – firmware/muti-thread Firmware “Stack” Section ……… Multi-Thread(RTOS) Stack ……………… BSS “BSS” Section

Program model – firmware/muti-thread Firmware “Stack” Section ……… Multi-Thread(RTOS) Stack ……………… BSS “BSS” Section “Data” Section Text “Text” Section scheduler cafe. naver. com/linuxkernel 26 Text

Program model – Multi-process Multi-Process(linux) Multi-Process(android) application application Framework & VM middleware & Library

Program model – Multi-process Multi-Process(linux) Multi-Process(android) application application Framework & VM middleware & Library scheduler kernel cafe. naver. com/linuxkernel 26 scheduler kernel

안드로이드 구조 cafe. naver. com/linuxkernel 26

안드로이드 구조 cafe. naver. com/linuxkernel 26

안드로이드 시스템의 구조 Application Area App 1 App 2 App 3 Appn Application framework

안드로이드 시스템의 구조 Application Area App 1 App 2 App 3 Appn Application framework JAVA Core library Dalvik VM Middle ware Area C/C++ library bionic libc SW Interrupt System Call Interface Virture File System(VFS) Kernel Area Device file system General file system Socket file system Buffer Cache Network Subsystem Network Character Block Device Driver Device Interface Hardware cafe. naver. com/linuxkernel 26 Device Inet(AF_INET) Transport(TCP, UDP ) Network(IP)

bionic libc ü ü 독자적으로 만들어진 linker와 libc 사용 스탠다드 glibc, uclibc를 사용하지 않음

bionic libc ü ü 독자적으로 만들어진 linker와 libc 사용 스탠다드 glibc, uclibc를 사용하지 않음 C++ STL(Standard Templete Library) 지원하지 않음 bionic libc의 장점 라이센스: user application에서 GPL문제 회피 p size: 약 200 k, glibc(GNU version of libc)의 절반크기 p speed: 제한된 CPU power에서 동작 p cafe. naver. com/linuxkernel 26

Memory Map of User Space 0 x 00008000 app_process 0 x 40000000 Java apps

Memory Map of User Space 0 x 00008000 app_process 0 x 40000000 Java apps and resource data etc. ; *. apk, *. jar, *. ttf etc. Shared libraries in native code; libc and libwecore etc. *. so files 0 x. B 0000000 /system/bin/linker Stack 0 x. BEFFFFFF cafe. naver. com/linuxkernel 26 No memory with execution attribute File mapping direction Some memory are of execution attribute File mapping direction

안드로이드 파일시스템 / var tmp 작업용 파일군 system bin Linux로써 사용 할 때의 shell

안드로이드 파일시스템 / var tmp 작업용 파일군 system bin Linux로써 사용 할 때의 shell 등의 커맨드군 cafe. naver. com/linuxkernel 26 app 어플리케이션 프로그램 proc framework sys lib Java의 라이브러리군 sbin etc data root usr, fonts, media etc, sounds lost+found system, dalvik, cache drm, logs, download data, app등 네이티브 코드 라이브러리군 저작권 관리정보 로그 다운로드 결과 어플리케이션 데이터

Android on Real target cafe. naver. com/linuxkernel 26

Android on Real target cafe. naver. com/linuxkernel 26

감사합니다. http: //cafe. naver. com/linuxkernel 26

감사합니다. http: //cafe. naver. com/linuxkernel 26