Friday, October 29, 2010

Andriod: A robot that looks like a real person?

วันนี้ผมจะมาพูดถึง"หุ่นยนต์" ตามที่จั่วหัวไว้...แต่คงจะยังไม่ใช่หุ่นยนต์ในความหมายว่า"หุ่นยนต์" งงไหมครับ?? ก็น่าจะงงอยู่หรอก เพราะผมยังมึนๆอยู่เหมือนกัน ^^

จริงๆแล้วท่านผู้หลงเข้ามาอ่าน เมื่อเห็นรูปที่ post ไว้กับ "บอก" นี้ก็คงจะทราบตั้งนานแล้วว่าผมกำลังจะพูดถึงอะไร ^^

ครับ..หุ่นยนต์ที่เหมือนคนจริงๆ!!!! ^^

ไม่ใช่ครับผมจะพูดถึง...หุ่นยนต์ที่เหมือนคนจริงๆ!!!! ^^ (มันยังไม่เลิกหน้าด้านแฮะ) ...เล่นพอแล้ว เดี๋ยวหมดเวลาพอดี ผมจะพูดถึงระบบปฏิบัติการที่ Google เขาเอาไปปักธงรบไว้ในสงครามตลาดมือถือ (เห็นได้ข่าวว่าอัตราการเติบโต ตามมาติดๆ กับ iPhone ของพี่ Steve Jobs เขาหละครับ) ดู market share ด้านล่างครับ


ตามข้อมูลข้างต้น แซง OSX ไปแล้วครับที่ Q1 2010 เข้าใกล้ RIM ที่ตกลงมาด้วยครับ!!
ว่าแล้วดูวีดีโอการโชว์พาว iPhone 4 Vs Samsung Galaxy S กันดีกว่า



 


ไอ้รูปลักษณะภายนอกมันก็น่าสนใจอยู่ แต่คนกระเป๋าแฟบอย่างผม ไม่มีปัญญาเป็นเจ้าของหรอกครับ
-_-" (ว่าจะเอาที่นาไปขายเพื่อไปถอย Samsung Galaxy S มารีดผ้าซะหน่อย บังเอิญก็ไม่มีนาซะอีก!!) ก็เอาเป็นว่ามาดูข้างในมันดีกว่าว่ามันคืออะไร? ประกอบด้วยอะไรบ้าง? เพื่อประดับความรู้ไว้ในโลกา ไม่ให้ฝรั่งมังค่าเขาดูถูกเอาได้ครับ

ก็ขอเริ่มจาก Andriod คืออะไร? 
มันก็เป็น Software บนมือถือ Smart Phone(เพราะมันฉลาดมากกว่า โทรออก-รับสาย) โดยตัว Andriod ประกอบด้วย ระบบปฏิบัติการ(Operating system), Middleware, และ Application ต่างๆ โดย Andriod มี Achitecture ตามรูปด้านล่างครับ


โดยส่วนล่างสุดของ Andriod Architecture คือ Linux Kernel ครับ ก็ให้บริการด้านต่างๆ ด้าน Core System Services ได้แก่ Security, Memory management, Process management, Network stack, and Driver เป็นหน้าด่าน (Abstraction layer) ติดต่อกับ Hardware (คือ hardware ตัวใดต้องการ build Andriod ก็ต้องสามารถลง Linux kernel ได้นั่นแหละครับ)

Layer ต่อมา คือ ส่วน Libraries และ Andriod Runtime

Andriod Runtime ประกอบด้วยสองส่วนคือ Core Library(ส่วนนี้คือ Java compiler นั่นเองครับ) และ DalvixVM(Dalvix Virtual Machine--สร้างโดย Dan Bornstein) กล่าวคือ Application ต่างๆใน Android สร้างด้วย Java language แล้วถูก compiling เป็น .dex format(โดย dx tool) แล้ว run บน DalvixVM โดยสามารถ run ได้หลาย VMs ในคราวเดียวกัน

Libraries ถูกพัฒนาโดยภาษา C/C++ และผู้พัฒนาโปรแกรม(Andriod Developer) สามารถเรียกใช้งานได้ผ่าน Andriod Application Framework โดย core libralies ประกอบด้วย
  • System C library คือ libc สำหรับ Embeded linux
  • Media Libraries คือ support files ด้าน media ต่างๆ (based on PacketVideo's OpenCORE) เช่น MPEG4, H.264, MP3, AAC, AMR, JPG, PNG
  • Surface Manager จัดการการเข้าถึงการแสดงผลต่างๆ
  • LibWebCore คือ web browser engine
  • SGL คือ 2D graphics engine
  • 3D libraries คือ สำหรับ optimizing 3D H/W (based on OpenGL ES 1.0 APIs)
  • FreeType จัดการ render bitmap และ vector font
  • SQLite คือ lightweight relational database engine
layer ต่อมาคือ Application Framework จริงๆแล้วก็ตือ Framework API  ที่ให้ Android Developer ติดต่อ/ใช้ resources ต่างๆในการสร้าง applications ประกอบด้วย
  • Activity Manager
  • Window Manager
  • Contents Provider
  • View System
  • Package Manager
  • Telephony Manager
  • Resource Manager
  • Location Manager
  • Notification Manager
ส่วน layer บนสุด Applications layer คือ applications พื้นฐานที่ Andriod มีมาให้ เช่น email client, SMS program, calendar, maps, browser, contacts และอื่นๆ

และทั้งหมดนี่คือ โครงสร้างพื้นฐานของ Andriod สำหรับผู้ที่ต้องการพัฒนาโปรแกรมบน Andriod ต้องเรียนรู้ไว้ครับ ^^

Aufwiedersen

No comments:

Post a Comment