Android ใช้เคอร์เนลเดียวกันกับ Linux หรือไม่


25

ฉันอ่านจากที่ไหนสักแห่งที่ Android ใช้ Linux Kernel เป็นเรื่องจริงเหรอ? ฉันคิดว่า Linux Kernel นั้นใช้สำหรับระบบปฏิบัติการเดสก์ท็อป


12
เคอร์เนลลินุกซ์ที่ใช้ในจำนวนมากของอุปกรณ์ฝังตัว Android เป็นเส้นเขตแดนระหว่างที่ฝังตัวและเดสก์ท็อปมีอุปกรณ์ขนาดเล็กกว่าวิ่ง Linux
Gilles 'หยุดความชั่วร้าย'

15
โทรศัพท์สมัยใหม่นั้นเป็นเดสก์ท็อปที่มีหน้าจอขนาดเล็ก หากคุณเปรียบเทียบกับเดสก์ท็อปเมื่อสิบปีที่แล้ว (ซึ่งรัน Linux ได้ดี) คุณจะพบว่าโทรศัพท์เอาชนะเดสก์ท็อปรุ่นเก่าได้เกือบทุกสเปค
David Schwartz

2
อาจมีความสำคัญในการเน้นสามสิ่ง - 1) การปรับแต่งของเคอร์เนล Linux - มีจำนวนมากที่สามารถกำหนดค่าแตกต่างกันตามการใช้งานที่คาดหวังหรือละเว้นหากไม่ต้องการและ 2) เคอร์เนลเป็นเพียงองค์ประกอบเดียว (แม้ว่าใกล้หรือเป็น ส่วนประกอบ "ระดับล่าง") ในกลุ่มซอฟต์แวร์ที่มีความรับผิดชอบสูงสุดต่อประสบการณ์การใช้งานของผู้ใช้ไม่ว่าจะเป็นเดสก์ท็อป, โทรศัพท์, เซิร์ฟเวอร์หรืออะไรก็ตาม ส่วนใหญ่สิ่งที่ทำให้ Android "Android" ไม่ใช่เคอร์เนลอย่างที่คุณสามารถบอกได้จากด้านล่างและ 3) ฮาร์ดแวร์โทรศัพท์มีประสิทธิภาพมากในทุกวันนี้
LawrenceC

@ultrasawblade กล่าวว่าเคอร์เนลมีหน้าที่รับผิดชอบต่อประสบการณ์การใช้งานของผู้ใช้ นี่ไม่เป็นความจริง. ผู้ใช้ดูที่สแต็กส่วนประกอบที่ด้านล่างสุดจะถูกซ่อนไว้ ใน Debian Gnu + Linux ที่ได้รับความนิยมคุณสามารถใช้เคอร์เนล bsd สร้าง Gnu + bsd มันไม่ได้เปลี่ยนแปลงอะไรมากนักจากมุมมองของผู้ใช้ ผู้ดูแลระบบอาจเห็นความแตกต่างหากเครื่องมือของเธอไม่ซ่อนความแตกต่างนี้ไว้ให้เธอ
ctrl-alt-delor

ฉันบอกว่า "เคอร์เนลเป็นเพียงองค์ประกอบเดียวในสแต็กของซอฟต์แวร์ที่รับผิดชอบในที่สุดต่อประสบการณ์การใช้งานของผู้ใช้" - ไม่ได้หมายความว่าเคอร์เนลรับผิดชอบทั้งหมด แต่เพียงแค่เล่นส่วนหนึ่ง
LawrenceC

คำตอบ:


40

สถาปัตยกรรมของ Android

ป้อนคำอธิบายรูปภาพที่นี่

Android พึ่งพา Linux สำหรับบริการระบบหลักเช่นความปลอดภัย, การจัดการหน่วยความจำ, การจัดการกระบวนการ, สแต็กเครือข่ายและรุ่นไดรเวอร์ เคอร์เนลยังทำหน้าที่เป็นชั้นนามธรรมระหว่างฮาร์ดแวร์และส่วนที่เหลือของสแต็กซอฟต์แวร์

Android รุ่นล่าสุดรัน Linux เวอร์ชัน3.10 ( แหล่งที่มา )

และความคิดเห็นของฉันในประโยคที่สองของคุณคือ Linux Kernel ไม่ได้มีไว้สำหรับระบบปฏิบัติการเดสก์ท็อปเท่านั้น กรณีการใช้งานแตกต่างกันไปจาก Desktop OS ไปยังเซิร์ฟเวอร์เมนเฟรมและซูเปอร์คอมพิวเตอร์ไปยังอุปกรณ์สมองกลฝังตัว

Linux เป็นเคอร์เนลระบบปฏิบัติการที่ใช้พอร์ตกันอย่างแพร่หลาย เนื่องจากต้นทุนต่ำและความสะดวกในการปรับแต่งเองเคอร์เนล Linux จึงถูกนำไปใช้ในสถาปัตยกรรมคอมพิวเตอร์หลากหลายรูปแบบ: ในอุปกรณ์พกพาและระบบเมนเฟรมในอุปกรณ์ต่าง ๆ ตั้งแต่โทรศัพท์มือถือไปจนถึงซูเปอร์คอมพิวเตอร์

ในหมายเหตุอื่น ๆ : Palm (ซื้อโดย HP ในภายหลัง) ใช้ระบบปฏิบัติการที่มาจาก Linux, webOSซึ่งใช้เป็นสายของสมาร์ทโฟน Palm Pre ไฟร์วอลล์และเราเตอร์เครือข่ายหลายตัวจากผู้ผลิตเช่น Cisco / Linksys ใช้เคอร์เนลลินุกซ์ที่กำหนดเอง มีตันมีอุปกรณ์ออกมีที่กำลังใช้ลินุกซ์ฝังตัว


2
ฉันไม่รู้ว่าทำไมพูดว่าเคอร์เนลไม่ได้มีไว้สำหรับระบบปฏิบัติการเดสก์ท็อป มันใช้งานได้ดีกับอุปกรณ์เดสก์ท็อป มันยังใช้งานได้ดีกับอุปกรณ์ประเภทอื่น ๆ ดังนั้นคุณอาจจะบอกว่ามันไม่ได้เป็นอุปกรณ์เดสก์ท็อปโดยเฉพาะ
Richm

@ Richm ขอบคุณที่ชี้ให้เห็น ฉันได้แก้ไขมันในคำตอบ
Sachin Divekar

บนแพลตฟอร์ม Linux / UNIX เดสก์ท็อปคือชุดของแอปพลิเคชันที่ใช้บริการเคอร์เนล ทำให้เพิ่มสลับหรือลบเดสก์ท็อปได้ง่าย เซิร์ฟเวอร์มักจะแทนที่เดสก์ท็อปด้วยเทอร์มินัลเชลล์
BillThor

ไม่ใช่ "โทรศัพท์" เพียงรูปแบบเดสก์ท็อปบางรูปแบบใช่ไหม :-p
johannes

โปรดทราบว่าในตอนแรก Android ใช้เคอร์เนลรุ่นลินุกซ์ที่ได้รับการดัดแปลงอย่างหนัก แต่ตั้งแต่ 3.5 นั้นมีฟีเจอร์เด่นมากมายที่ถูกผสานกลับเข้าไปในเคอร์เนลหลัก ปัจจุบัน Android 4.4 ทำงานบนเคอร์เนล Linux 3.4 ที่ได้รับการแพตช์น้อยกว่า (มีการเปิดตัวในระยะยาว)
dtech

6

ใช่เช่นเดียวกับอุปกรณ์ฝังตัวอื่น ๆ อีกมากมาย เราเตอร์หลายตัวยังใช้ระบบปฏิบัติการบน Linux เช่นเดียวกับ Sachin กล่าวว่าสามารถปรับแต่งได้ง่าย

นี่คือภาพหน้าจอ Xubuntu ของฉัน, รัน mksh และ Android เคอร์เนล 3.0.8+ (จากแหล่งที่มาของ Android x86) Xubuntu ใช้ mksh และเคอร์เนล Android 3.0.8+


3

ใช่และไม่ใช่ (ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย Linux)

มีความสับสนมากมายเกี่ยวกับชื่อ Linux; ถ้าใช้เพื่ออ้างถึงสองสิ่งที่แตกต่างกัน

  • มันเป็นกรณีของ Android และกรณีอื่น ๆ มันอ้างถึงเคอร์เนลชื่อ Linux ส่วนเล็ก ๆ แต่สำคัญของระบบปฏิบัติการ เคอร์เนลควบคุมฮาร์ดแวร์และให้บริการกับระบบที่เหลือ (ดูคำตอบไดอะแกรมที่ดีของ @Sachin Divekar)

  • ในกรณีของระบบเดสก์ท็อปเกือบทั้งหมดมันหมายถึง X11 + Gnu + Linux ดูแผนภาพอีกครั้ง แต่ลบการอ้างอิงทั้งหมดไปยังโทรศัพท์โทรศัพท์และ Android ตอนนี้เปลี่ยน Application Framework เป็น Gnu Tools เพิ่มเลเยอร์ชื่อ X11 และอีกอันเรียกว่า Gnome หรือ Kde เป็นต้นจากนั้นนำแอปพลิเคชันกลับมาอยู่ด้านบน สำหรับเซิร์ฟเวอร์โดยทั่วไปจะไม่มี X11 หรือ Kde / Gnome เนื่องจากส่วนต่อประสานผู้ใช้แบบกราฟิกเป็นทรัพยากรที่มีประโยชน์

Android ไม่ได้ใช้ X11 (แม้ว่าจะทำได้ แต่ไม่สามารถเรียกใช้แอพ android) หรือเครื่องมือ Gnu อย่างไรก็ตามเช่น Gnu + Linux บางไลบรารีเป็น Gnu

บ่อยครั้งที่ยากที่จะรู้ว่าใครมีความหมายเมื่อพูดว่า นี่คือเหตุผลที่แนะนำให้พูด“ Gnu / Linux” เมื่อคุณหมายถึง Gnu + Linux และ“ เคอร์เนล Linux” อย่างที่คุณทำสำหรับเคอร์เนล อย่างไรก็ตามอย่าบอกว่าเคอร์เนลเว้นแต่คุณจะรู้ว่ามีใคร (ฉันเคยได้ยินคนเพิ่มคำว่าเคอร์เนลหน้า Linux (เพราะพวกเขาบอกว่าเป็นคำที่ถูกต้อง) เดิมพันที่พวกเขาใช้เพื่ออ้างถึง Gnu + Linux


2

มันไม่ได้เป็นเพียงแค่การฝังตัวและเดสก์ท็อปที่คุณจะพบเคอร์เนล Linux

  • 490 ใน 500 อันดับแรกของซูเปอร์คอมพิวเตอร์กำลังใช้งาน Gnu / Linux
  • เว็บเซิร์ฟเวอร์ประมาณ 80% ใช้ Gnu / Linux
  • โครงสร้างพื้นฐานอินเทอร์เน็ตส่วนใหญ่ใช้ Gnu / Linux หรือเป็นอุปกรณ์ฝังตัว ของอุปกรณ์ฝังตัวเหล่านี้สัดส่วนขนาดใหญ่จะมีเคอร์เนลชื่อ Linux

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