The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search

Android operating system

Android operating system

Android operating system

( โครงสรา้ งของระบบแอนดรอยด)์

ระบบปฏบิ ตั กิ ารแอนดรอยด์ ถกู พฒั นามาจาก
บรษิ ทั แอนดรอยด์ (Android Inc.) เมอ่ื ปี พ.ศ 2546
โดยมนี าย แอนด้ี รบู นิ (Andy Rubin) ผใู้ หก้ าเนิด
ระบบปฏบิ ตั กิ ารน้ี และถกู บรษิ ทั กเู กล้ิ ซ้อื กจิ การเมอ่ื
เดอื นสงิ หาคม ปี พ.ศ 2548 โดยบรษิ ทั แอนดรอยด์ ได้
กลายเป็นมาบรษิ ทั ลกู ของบรษิ ทั กเู กล้ิ และยงั มนี าย
แอนด้ี รบู นิ ดาเนินงานอยใู่ นทมี พฒั นาระบบปฏบิ ตั กิ าร
ตอ่ ไป

ระบบปฏิบตั ิการแอนดรอยด์ เป็นระบบปฏบิ ตั กิ ารทพ่ี ฒั นามาจากการ
นาเอา แกนกลางของระบบปฏบิ ตั กิ ารลนิ ุกซ์ (Linux Kernel) ซง่ึ เป็น
ระบบปฏบิ ตั กิ ารทอ่ี อกแบบมาเพอ่ื ทางานเป็นเครอ่ื งใหบ้ รกิ าร (Server) มา
พฒั นาต่อ เพอ่ื ใหก้ ลายเป็นระบบปฏบิ ตั กิ ารบนอุปกรณ์พกพา (Mobile
Operating System)

ต่อมาเมอ่ื เดอื น พฤศจกิ ายน ปี พ.ศ 2550 บรษิ ทั กเู กล้ิ ไดท้ าการกอ่ ตงั้
สมาคม OHA (Open Handset Alliance, ttp://www.openhandsetalliance.com)
เพอ่ื เป็นหน่วยงานกลางในการกาหนดมาตรฐานกลาง ของอุปกรณ์พกพาและ
ระบบปฏบิ ตั กิ ารแอนดรอยด์ โดยมสี มาชกิ ในชว่ งกอ่ นตงั้ จานวน 34 รายเขา้ รว่ ม
ซง่ึ ประกอบไปดว้ ยบรษิ ทั ชนั้ นาทด่ี าเนินธุรกจิ ดา้ การสอ่ื สาร เชน่ โรงงานผลติ
อุปกรณ์พกพา, บรษิ ทั พฒั นาโปรแกรม, ผใู้ หบ้ รกิ ารสอ่ื สาร และผผู้ ลติ อะไหล่
อุปกรณ์ดา้ นสอ่ื สาร

ประเภทของระบบปฎิบตั ิการ Android

เน่ืองจากระบบปฎกิ าร android เป็น ซอฟตแ์ วรเ์ ปิด จงึ อนุญาตใิ หน้ ักพฒั นา
หรอื ผทู้ ส่ี นใจ สามารถดาวน์โหลด Sorce Code ได้ ทาใหม้ ผี พู้ ฒั นาจากหลายๆ
ฝ่ายนา Source Code มาปรบั แตว่ และพฒั นาสรา้ งแอพพลเิ คชนั่ บนระบบ
Android ในแบบฉบบั ของตนเองมากขน้ึ โดยมาสามารถแยง่ ประเภทของระบบ
android ออกเป็นกลุม่ ๆ ได3้ ประเทาดงั ต่อไปน้ี

Android Open Sorce Project (AOSP) เป็นระบบ Open Handset Mobile (OHM) เป็นแอน
Android ประเภทแรกทท่ี างบรษิ ทั google เปิดใหส้ ามารถ
นา Source Code ไปตดิ ตงั้ และใชง้ านในอุปกรณ์ ไดโ้ ดย ดรอยท์ ไ่ี ดร้ บั การพฒั นากบั กลมุ่ Open Handset
ไมต่ อ้ งไปเสยี คา่ ใชจ่ า่ ย ALLiances (OHM) ซง่ึ บรษิ ทั เหลา่ น้จี ะพฒั นา
ระบบ Android ในแบบฉบบั ของตนเอง โดยมี
Cooking หรอื Customize เป็น ระบบ Android ท่ี รปู รา่ ง หน้าตาการแสดงผล และฟังกชื นั การใช้
นกั พฒั นานาเอาซอรส์ โคต้ จากแหลง่ ต่างๆ มาประบแต่ง งานทแ่ี ตกต่างกนั รวมไปถงึ อาจจะมคี วามเป็น
ใหอ้ ยใุ่ นแบบฉบยั ของตนเอง ซง่ึ การพฒั นาจะตอ้ งปลดลอ็ ก เอกลกั ษณ์ และรปู แบบการใชง้ านเป็นของงแต่ละ
สทิ ธิ ์ ในการใชง้ านอุปกรณ์ (Unlock) เสยี กอ่ นจงึ จะสามารถ บรษิ ทั และ program Android ประเภทน้กี จ็ ะ
ตดิ ตงั้ ได้ ทงั้ น้รี ะบบ Android ประเภทน้ี ถอื ไดว้ า่ เป็น ไดร้ บั สทิ ธิ ์บรกิ ารเสรมิ ตา่ งๆ จาก Google ท่ี
ประเภททม่ี คี วามสามารถสงู ทส่ี ดุ เน่อื งจากจะไดร้ บั การ เรยี กวา่ GMS (Google Mobile Service) ซง่ึ เป็นบิ
ปรบั แต่งขดี ความสามารถตา่ งๆ ใหม้ เี ขา้ กนั ไดก้ บั อุปกรณ์ การเสรมิ ท่ี ทาใหร้ ะบบ Android มปี ระสทิ ธภิ าพ
นนั้ ๆ จากผใู้ ชง้ านจรงิ ขน้ึ นนั้ เอง

สถาปัตยกรรมของระบบแอนดรอยด์ ( โครงสร้างของระบบแอนดรอยด)์

ลนิ ุกซเ์ คอรเ์ นล

ภายใตส้ ว่ นใหญ่ของชนั้ ทงั้ หมดเป็นลนิ ุกซ์ - รวมประมาณ 115 แพทช์ 3.6 ลนิ ุกซ์ มนั มฟี ังกช์ นั ่
ระบบพน้ื ฐานเชน่ การจดั การกระบวนการการจดั การหน่วยความจาการจดั การอปุ กรณ์ (เชน่
กลอ้ งแป้นพมิ พจ์ อภาพ) ในขณะทล่ี นิ ุกซเ์ คอรเ์ นลจดั การทุกการทางานทด่ี แี ละมากของอุปกรณ์
ดงั กลา่ วเป็นไดรเวอรเ์ ครอื ขา่ ยในการสงั่ ซอ้ื เพอ่ื หลกี เลย่ี งการเป็นจานวนมากของการตดิ ต่อกบั
ฮารด์ แวรต์ อ่ พ่วงเขา้ กนั ไดใ้ นความไมส่ ะดวก

หอ้ งสมดุ

ในชนั้ บนของเคอรเ์ นลเป็นชดุ ของหอ้ งสมดุ รวมทงั้ เปิดแหล่งทม่ี า Webkit เครอ่ื งยนตเ์ วบ็ เบรา
เซอรท์ ร่ี จู้ กั กนั ในหอ้ งสมดุ libc สาหรบั คลงั ขอ้ มลู และฐานขอ้ มลู SQLite โปรแกรมประยกุ ต์
รว่ มกนั สาหรบั การเลน่ , การบนั ทกึ เสยี งและหอ้ งสมดุ วดิ โี อ หอ้ งสมดุ SSL สาหรบั การรกั ษา
ความปลอดภยั เครอื ขา่ ย

หอ้ งสมดุ Android

ประเภทน้ีรวมถงึ การพฒั นาเป็นพเิ ศษสาหรบั หอ้ งสมดุ Android Java-based ตวั อยา่ ง
ของประเภทน้ี ไดแ้ ก่ หอ้ งสมดุ หอ้ งสมดุ กรอบใบสมคั รเชน่ การกอ่ สรา้ งสว่ นตดิ ต่อผูใ้ ชก้ ราฟและ
การเขา้ ถงึ ฐานขอ้ มลู บางคนพฒั นา Android หอ้ งสมดุ หลกั Android ทใ่ี ชไ้ ดม้ รี ายละเอยี ด
ดงั ต่อไปน้ี:

android.app - ใหก้ ารเขา้ ถงึ รปู แบบการประยกุ ตใ์ ชเ้ ป็นรากฐานทส่ี าคญั ของการใชง้ าน Android ทงั้ หมด
android.content - ระหวา่ งการใชง้ านสะดวกสบายในการเขา้ ถงึ เน้ือหาระหว่างสว่ นประกอบการประยกุ ตใ์ ชเ้ ผยแพรข่ อ้ ความ
android.database - ใชใ้ นการเขา้ ถงึ ขอ้ มลู ทอ่ี อกโดยผใู้ หบ้ รกิ ารเน้ือหารวมทงั้ SQLite ระดบั การจดั การฐานขอ้ มลู
android.opengl - OpenGL ES 3 มติ กิ ารแสดงผลภาพ API สาหรบั อนิ เตอรเ์ ฟซ Java
android.os - ความสามารถในการทาเครอ่ื งหมายเพอ่ื ใหเ้ ขา้ ถงึ การประยกุ ตใ์ ชใ้ นการดาเนินงานการใหบ้ รกิ ารระบบรวมถงึ การส่งขอ้ ความระหว่างการ
ใหบ้ รกิ ารของระบบและการส่อื สาร
android.text - การแสดงผลและการจดั การของขอ้ ความทแ่ี สดงบนอปุ กรณ์
android.view - อนิ เตอรเ์ ฟซผใู้ ชแ้ อพลเิ คชนั การก่อสรา้ งตกึ
android.widget - ชดุ สมบรู ณ์ของชน้ิ ส่วนตดิ ต่อผใู้ ชท้ ต่ี งั้ ไวร้ วมทงั้ ป่มุ , ป้าย, รายการ, ผจู้ ดั การรปู แบบปุ่มและอ่นื ๆ
android.webkit - ชดุ ของคอลเลกชนั ของการเรยี นทช่ี ว่ ยใหเ้ พอ่ื ใหส้ รา้ งความสามารถในการท่องเวบ็ ไปยงั โปรแกรมประยกุ ตข์ องคณุ
อ่าน Java-based หอ้ งสมดุ หลกั Android ทใ่ี ชภ้ ายในชนั้ มนั เป็นเวลาทจ่ี ะมองไปท่ี Android หอ้ งสมดุ ซอฟแวรส์ แตค็ ขน้ึ อยกู่ บั C / C ++ เป็น

Runtime Android

คอื สว่ นทส่ี ามของสถาปัตยกรรมดา้ นลา่ งชนั้ ทส่ี อง สว่ นน้ีจะมอี งคป์ ระกอบสาคญั ทเ่ี รยี กวา่
Dalvik เครอ่ื งเสมอื นคลา้ ยกบั โปรแกรม Java Virtual Machine แตก่ ารออกแบบและการเพม่ิ
ประสทิ ธภิ าพโดยเฉพาะสาหรบั Android

Dalvik เครอ่ื งเสมอื นทาใหม้ นั เป็นไปไดท้ จ่ี ะใชค้ ณุ สมบตั เิ คอรเ์ นลใน Java เชน่ การจดั การ
หน่วยความจาและแบบมลั ตเิ ธรด Dalvik เครอ่ื งเสมอื นดงั ทท่ี กุ การประยกุ ตใ์ ช้ Android ทางาน
ในตวั เองทแ่ี ยกตา่ งหากกระบวนการเครอ่ื งเสมอื น

Android มชี ว่ งของหอ้ งสมดุ หลกั ทางานในเวลาเดยี วกนั ทจ่ี ะใชพ้ ฒั นาโปรแกรมหุ่นยนต์
มาตรฐานภาษา Java ในการเขยี นโปรแกรมหนุ่ ยนต์



Application Framework

Activity Manager: เป็นตวั จดั การเกย่ี วกบั กจิ กรรมทงั ้ หมดใน Life cycle ของการพฒั นา

Android Applications

• Content Providers: เป็นสว่ นทใ่ี ชค้ วบคมุ การเขา้ ถงึ ขอ้ มลู ทม่ี กี ารใชง้ านรว่ มกนั (Share
data) ระหวา่ ง Applications ทแ่ี ตกต่างกนั เช่น ขอ้ มลู ผตู้ ดิ ต่อ (Contact), รปู ภาพ
• Telephony Manager: เป็นตวั จดั การเกย่ี วกบั การโทรและการเขา้ ถงึ ขอ้ มลู การใชง้ าน
การโทร (voice calls, access voice calls, telephony applications ).
• Location Manager: เป็นสว่ นทจ่ี ดั การเกย่ี วกบั ค่าตาแหน่งของเครอ่ื งอปุ กรณพ์ กพา
เคลอ่ื นท่ี (GPS)
• Resource Manager: เป็นสว่ นทจ่ี ดั การขอ้ มลู ต่างๆ ทไ่ี ม่ใช่สว่ นของโคด้ โปรแกรม เช่น
รปู ภาพ, localized strings, layout ซง่ึ จะอยใู่ นไดเรค็ ทอรี res
• View System : เป็นสว่ นทใ่ี ชใ้ นการควบคมุ การทางานสาหรบั การสรา้ งแอพพลเิ คชนั เช่น
lists, grids, text boxes, buttons และ embeddable web browser

การประยกุ ตใ์ ชง้ าน

ชนั้ บนสดุ ทม่ี กี ารใชง้ าน Android ทงั้ หมด คณุ เขยี นโปรแกรมจะถูกตดิ ตงั้ ในชนั้ น้ี โปรแกรม
เหล่าน้ีรวมรายชอ่ื เบราวเ์ ซอร,์ เกมส์

Quiz

ระบบ Android นัน้ ถกู สรา้ งบนพืน้ ฐานของระบบปฏิบตั ิการอะไร?

• Android Architecture มกี ่ี Layer และมี Layer อะไรบา้ ง?
• Android Runtime อยใู่ น Layer อะไรของ Android Architecture?
• อะไรเป็นตวั จดั การกจิ กรรม (Activity) ทงั้ หมดใน Life cycle และตวั การ
กจิ กรรม (Activity) อยใู่ น Layer อะไรของ Android Architecture?
• Surface Manager ใช้ อะไรและอยใู่ น Layer อะไร?
• Display Driver อยใู่ น Layer อะไร?


Click to View FlipBook Version