เป็นไปได้ไหมที่จะใช้อูบุนตูโดยไม่ใช้ RAM เลย?


15

หากฉันตั้งค่า swappiness ให้เป็น 100 แล้วลองบู๊ตอูบุนตูติดตั้งฮาร์ดไดรฟ์ในคอมพิวเตอร์ของเพื่อนที่ไม่มี RAM ฉันสามารถบูตคอมพิวเตอร์โดยไม่ใช้ RAM ได้หรือไม่



31
คุณหมายถึงคอมพิวเตอร์ของเพื่อนไม่มี RAM? คุณแน่ใจหรือว่าเป็นคอมพิวเตอร์
terdon

5
@terdon มันเป็นกาน้ำชา
แมว

คำตอบ:


47

ไม่ CPU ไม่สามารถเรียกใช้รหัสจากการสลับได้ การสลับการทำงานโดยการย้ายเนื้อหา RAM ไปยังดิสก์และเนื้อหาดิสก์อื่น ๆ ไปยัง RAM แต่การดำเนินการนั้นมาจาก RAM เสมอ

และไม่ไม่มีวิธีถ่ายโอนรหัสหรือข้อมูลจากดิสก์โดยตรงไปยังแคช CPU คุณไม่สามารถข้าม RAM ได้

แม้แต่สถาปัตยกรรมของไมโครคอนโทรลเลอร์ที่สามารถรันโค้ดโดยตรงจาก NOR แฟลชนั้นต้องการ RAM สำหรับสแต็กอย่างน้อย SRAM ในตัวบางตัวก็มีตัวควบคุมบางตัว


1
@ LưuVĩnhPhúcคุณพูดถูก ฉันยังคงคุ้นเคยกับการเรียก SoC เหล่านั้นด้วย ARM Cortex-A cores "microcontrollers" ถึงแม้ว่าสิ่งนี้อาจทำให้เข้าใจผิด สิ่งเหล่านั้นมี MMU สามารถเรียกใช้ Linux และโดยทั่วไปจะมี SRAM ภายใน (จำเป็นสำหรับรหัสบูต) แต่ฉันไม่คิดว่าสิ่งเหล่านั้นสามารถเรียกใช้รหัสโดยตรงจากแฟลช ดูเหมือนว่า OP จะคิดว่าพีซีธรรมดา ๆ
Philippos

1
ฉันคิดว่า S390 Linux สามารถเรียกใช้รหัสโดยตรงจาก HDD ฟีเจอร์นี้ถูกเพิ่มเข้ามาเพราะ S390 เป็นสถาปัตยกรรม 31 บิตและการทำให้ทุก ๆ ไบต์พร้อมใช้งานสำหรับข้อมูลแทนที่จะเป็นโค้ดนั้นเป็นชัยชนะ ฉันอาจจะเข้าใจผิด แต่ชุดแพทช์นั้นน่าจดจำเพราะมันมีความแตกต่างที่เป็นเอกลักษณ์สำหรับทั้งเมนเฟรมและไมโครคอนโทรลเลอร์ (เช่นปลายทั้งสองของลินุกซ์สเกล) แต่ไม่สนใจอะไร
Jörg W Mittag

2
อ่าพบแล้วมันเป็นคุณสมบัติ XIP (eXecute In Place) เห็นได้ชัดว่าคุณยังต้องการ RAM สำหรับข้อมูล มันเป็นเพียงเกี่ยวกับรหัส
Jörg W Mittag

1
@rackandboneman ในฐานะนักพัฒนาที่ฝังตัวฉันทำทุกอย่างจากแอสเซมเบลอร์เปล่าบนคอนโทรลเลอร์ 8 บิตเหนือ RTOS ไปจนถึงลินุกซ์ฝังตัว หน่วยความจำน้อยที่สุดที่ฉันพบคือ ATtiny พร้อมหน่วยความจำสำหรับสแต็กที่อยู่ผู้ส่งสามครั้ง หากปราศจากสิ่งนั้นคุณจะไม่สามารถหยุดชะงักได้! ตอนนี้โปรดอย่าเถียงว่าหน่วยความจำสแต็กนี้เป็น ram หรือลงทะเบียน ... (-:
Philippos

1
@ ฟิลิปโปทำไมฉันจะเถียง - เรากำลังพูดในสิ่งเดียวกัน
rackandboneman

7

/electronics//a/311839/111920มีลิงค์http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2ซึ่งอธิบายถึง ขั้นตอนการบู๊ตของซีพียู Intel ที่ทันสมัยพร้อมรายละเอียดที่น่ายินดี

TL; DR: ไม่แน่นอนมีเฟสหนึ่งระหว่างการบู๊ตที่ชิป RAM ไม่ได้ใช้งานและโปรเซสเซอร์ทำงานด้วยแคชภายในที่ทำงานเป็น RAM ชั่วคราว แต่นี่เป็นช่วงเริ่มต้นของกระบวนการโหลด BIOS และหนึ่งในสิ่งแรกที่ BIOS ทำคือเริ่มต้น RAM เพื่อให้สามารถใช้งานได้ รหัสเครื่องที่ทำงานนั้นมีความพิเศษมากและทำขึ้นด้วยมืออย่างมาก

หลังจากนั้นมากในช่วงเริ่มต้น, RAM เป็นสิ่งจำเป็นสำหรับทุกอย่าง ซึ่งหมายความว่าคุณจะไม่สามารถเข้าสู่ไบออสรับสัญญาณวิดีโอหรือบูตได้น้อยจากสื่อทุกประเภทโดยไม่ต้องใช้ RAM

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