ทำไมถึงยังไม่สามารถติดตั้ง Android เป็นระบบปฏิบัติการปกติได้


11

มีเหตุผลทางเทคนิคหรือเหตุผลอื่น ๆ ที่ทำให้ Android ยังคงเป็นเฟิร์มแวร์และไม่ใช่ระบบปฏิบัติการที่สามารถติดตั้งได้โดยไม่ต้องยุ่งยากอะไรมาก?

เหตุใดจึงไม่มีอิมเมจสากลที่สามารถตรวจจับไดรเวอร์ที่เหมาะสม (โมดูลเคอร์เนล) พาร์ติชัน NAND ด้วยวิธีมาตรฐานและกำหนดค่าบูตโหลดเดอร์ให้บูตระบบปฏิบัติการที่อัพเดตแล้ว?

อะไรทำให้ Google ไม่สร้างระบบปฏิบัติการจริง (เหมือนเฟิร์มแวร์น้อยกว่า) (ระบบปฏิบัติการสำหรับอุปกรณ์ขนาดเล็ก ARM, x86 ฯลฯ )


1
เป็นที่น่าสังเกตว่านี่ไม่ใช่เอกสิทธิ์ของ Android ระบบปฏิบัติการอื่น ๆ ที่มุ่งเน้นไปที่อุปกรณ์ ARM (แม้แต่ Windows 8 RT ของ Microsoft) ไม่สามารถติดตั้งบนเครื่อง ARM เครื่องอื่นได้ แต่จะได้รับการปฏิบัติเหมือนเฟิร์มแวร์มากกว่า
GAThrawn

มันเป็นส่วนหัวของไฟล์: theregister.co.uk/2011/03/29/...
Thufir

คำตอบ:


11

อะไรทำให้ Google ไม่สามารถสร้างระบบปฏิบัติการจริง (ระบบปฏิบัติการสำหรับอุปกรณ์ขนาดเล็ก ARM, x86 ฯลฯ )

มันเป็นระบบปฏิบัติการ "ของจริง"

เหตุใดจึงไม่มีภาพสากลที่สามารถตรวจจับไดรเวอร์ที่เหมาะสม

คุณตรวจหาไดรเวอร์ที่ไม่มีอยู่ได้อย่างไร บางคนต้องเขียนมัน แตกต่างจากพีซีฮาร์ดแวร์โทรศัพท์แตกต่างกันไปอย่างมากส่วนใหญ่เป็นเพราะมันเป็นไปไม่ได้สำหรับผู้ใช้ในการสร้างของตัวเองจากข้อ จำกัด ชิ้นส่วนและขนาด ชิ้นส่วนที่ปรับแต่งได้เองแทนที่จะเป็นชิ้นส่วนที่เปลี่ยนแทนได้และชิปเซ็ตพิเศษหมายถึงต้องการไดรเวอร์ที่เฉพาะเจาะจงและระบบปฏิบัติการไม่สามารถจัดส่งชิ้นส่วนเริ่มต้นได้ ลองจินตนาการถึงการขยายตัวด้วยเช่นกัน - ใครบางคนที่มีโทรศัพท์ HTC ราคาถูกที่มีขนาด 20 MB สำหรับแอปไม่มีพื้นที่สำหรับโฮสต์ไดรเวอร์ที่พวกเขาไม่ต้องการ

และกำหนดค่าบูตโหลดเดอร์ให้บู๊ตระบบปฏิบัติการที่อัพเดต

Bootloaders ยังแตกต่างกันอย่างดุเดือดระหว่างอุปกรณ์; คุณจะต้องให้ผู้ผลิตทั้งหมดเข้ามาใช้งานเพื่อใช้งานเครื่องเดียวและผู้ผลิตไม่น่าจะต้องการเลิกใช้พลังงานในพื้นที่นั้น


3
… แต่พวกเขาสามารถทำการแจกจ่ายด้วยเคอร์เนลแบบโมดูลาร์มากแล้วติดตั้งสิ่งที่ต้องการ ฮาร์ดแวร์ของพีซีก็แตกต่างกันไปตั้งแต่เพ็นเที่ยมกับรถบั๊กกี้ CMD640 IDE ถึง Core i7 พร้อม usb3 พวกเขาสามารถสร้างโปรแกรมติดตั้งซึ่งอ่าน VendorIS: DeviceID จากระบบปฏิบัติการที่มีอยู่บนอุปกรณ์จากนั้นเพียงแค่รวบรวมเคอร์เนลบน QEMu จากนั้นก็โอนไปยังอุปกรณ์ด้วยสิ่งใหม่ ๆ ฉันเดาว่าคุณถูกต้องแม้ว่าจะเป็นไปได้ที่คน ๆ หนึ่งจะใช้ menuconfig ในการสร้างเคอร์เนลที่ดีพอสำหรับอุปกรณ์เฉพาะซึ่งแทบจะไม่สามารถสร้างขึ้นโดยอัตโนมัติด้วยสคริปต์
Alex Bolotov

1
@OleksandrBolotov: โปรดจำไว้ว่าเคอร์เนล Linux ยังมีการใช้งานไดรเวอร์โอเพนซอร์ซจำนวนมากที่รวบรวมเมื่อคุณรันบิลด์ ไดรเวอร์ส่วนใหญ่ที่ใช้โดยอุปกรณ์พกพานั้นมีกรรมสิทธิ์ดังนั้นแม้ว่าคุณจะสามารถสร้าง Android จากแหล่งที่มาสำหรับอุปกรณ์ใดก็ตามที่มีเวลาเพียงพอ แต่คุณจะต้องใช้ไดรเวอร์ทั้งหมด นอกจากนี้ Google อาจดำเนินการตามข้อตกลงด้านทรัพย์สินทางปัญญาหากพวกเขาทำสิ่งนี้ด้วยตนเอง (ฉันไม่รู้แน่นอน แต่อาจอยู่ในสัญญากับผู้ผลิตหลายราย)
eldarerathis

2
@OleksandrBolotov ฉันเห็นด้วยอย่างแน่นอนว่าพวกเขาสามารถทำบางสิ่งบางอย่างเพื่อบรรเทาปัญหา แต่เราสามารถสรุปได้ว่าปัญหานั้นเป็นสาเหตุที่พวกเขาไม่ทำเท่านั้น) ฉันคิดว่าการคาดเดาเพิ่มเติมจะเกินขอบเขตของเรา
Matthew อ่าน

2
ใช่มันเป็นปัญหาของคนขับ บางคนต้องทำให้ไดรเวอร์
ไบรอันเดนนี่

โดยการออกแบบหรือสถานการณ์ที่สมบูรณ์แบบต่อเคอร์เนลจะมีไดรเวอร์ทั้งหมดในขณะที่ Android OS เป็นสากลทั้งสองสามารถถูกแยกแฟลชหรือรวมกันเป็นกลุ่มเป็นเฟิร์มแวร์หุ้น (ซึ่งเราเห็นมากในวันนี้) หากเคอร์เนลถูกแยกออกจากระบบปฏิบัติการเราสามารถแฟลช AOSP ที่ไม่มีเคอร์เนลลงบนอุปกรณ์ใด ๆที่มีเคอร์เนลของผู้ผลิตกระพริบก่อนหรือไม่? บางทีนี่อาจมีอยู่แล้ว? Idk
Aaron Gillion

3

เพื่อให้สิ่งที่คุณดูเหมือนว่าจะขอเลเยอร์เพิ่มเติม (หรือที่มีประสิทธิภาพมากขึ้น) ของสิ่งที่เป็นนามธรรมจะต้องถูกเพิ่มเข้าไปในระบบปฏิบัติการเพื่อที่มันจะได้รับการผนวกเข้ากับฮาร์ดแวร์น้อยลง การเพิ่มสิ่งนี้จะต้องใช้หน่วยความจำมากขึ้นและใช้ CPU รอบมากขึ้นบนแพลตฟอร์มที่มีน้อย


2

คดีความต่อเนื่องของ Google กับ Oracle!

Google มีแผนที่จะนำ Android เข้าสู่พีซี แต่ก็ไม่ใช่สิ่งที่คุณคาดคิด: Google ต้องการเพิ่มสภาพแวดล้อมการทำงานของ Android ลงใน Chrome Android สามารถใช้งานได้มาก - โดยทำให้สามารถติดตั้งบนพีซีได้ แต่การนำไปใช้กับ Chrome แทนหมายความว่าสามารถนำไปใช้กับคอมพิวเตอร์ทุกเครื่องได้ทันที 25% (25% เป็นส่วนแบ่งการตลาด ~ ของ Chrome)

หากคุณไม่เชื่อฉันให้ดูอีเมลปืนสูบบุหรี่ที่ Google กำลังต่อสู้เพื่อให้พ้นจากการถูกดำเนินคดี - หมายถึง Google ที่ต้องการ Java for Chrome

ฉันไม่ได้แนะนำว่า Google กำลังจะวางจู่ ๆ จู่ ๆ ถ้าพวกเขาทำคดีความ - พวกเขามีความมุ่งมั่นที่จะทำ Java - แต่อย่างน้อยพวกเขาต้องการที่จะรู้ว่าเงื่อนไขของการใช้ Java จะเป็นอย่างไรก่อน พวกเขาใช้ขั้นตอนที่จะเพิ่มการพึ่งพามันอย่างมีนัยสำคัญ


1
Google เพิ่งประสบกับการตัดสินใจที่ไม่ดีเกิดขึ้นเมื่อนานมาแล้วโดย Android Inc. นั่นเป็นความคิดที่น่ากลัวที่จะใช้ Java สำหรับการพัฒนาแอพในระบบปฏิบัติการใหม่ ไม่ชัดเจนเพียงพอที่ Java เป็นเพียงกับดักที่เป็นกรรมสิทธิ์และพวกเขาไม่จำเป็นต้องสร้าง VM bytecode ที่ไม่ใช่จาวาสำหรับ Dalvik ฉันเดาว่าพวกเขามีเพียงคนทรยศในการจัดการที่อธิบายทุกอย่าง
Alex Bolotov

1
ดูเหมือนว่าการเพิ่มสภาพแวดล้อมการทำงาน Android ลงใน Chrome อาจไม่ใช่เรื่องยากหากนี่คือสิ่งที่ต้องทำโดย ... bluestacks.com - แอป Android ที่ทำงานบนเดสก์ท็อป Windows!
กัปตันคางคก

2
คุณมีหลักฐานใด ๆ สำหรับสิ่งนี้ทั้งหมดหรือคุณแค่เก็งกำไรอย่างดุเดือด?
Dan Hulme

แน่นอนมีการเปลี่ยนแปลงมากมายตั้งแต่ฉันเขียนคำตอบนี้ ที่สำคัญที่สุดคือ Pachai แทนที่ Rubin และ re-org ที่เกี่ยวข้องที่ Google สัญญาณทั้งหมดดูเหมือนจะเปลี่ยนไปหลังจากนั้นและ IO13 แตกต่างจาก IO12 อย่างชัดเจน: ตอนนี้พวกเขากำลังผลัก Chrome เป็นแพลตฟอร์มมือถือในตัวเองดังนั้นฉันไม่เชื่อว่าพวกเขาจะนำ Android มาสู่ Chrome อีกต่อไป
Tom

1

คนอื่นที่ไม่ใช่ Google กำลังทำงานเพื่อย้ายระบบไปยังแพลตฟอร์ม x86 แล้ว หากคุณตรวจสอบโครงการAndroid-x86คุณสามารถเห็นบิวด์ต่าง ๆ ที่มีอยู่แม้ว่าจะมีอุปกรณ์ฮาร์ดแวร์จำนวน จำกัด ฉันพยายามดาวน์โหลดรูปภาพสองสามรูปและทำให้มันทำงานใน VirtualBox บนคอมพิวเตอร์ของฉัน (CrunchBang Linux ที่ใช้ Debian บน Dell Latitude D520) แต่ไม่สามารถโหลดได้ คุณอาจจะสามารถ GL!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.