Có thể sử dụng Ubuntu mà không cần ram không?


15

Nếu tôi đặt giá trị của swappiness thành 100 và thử khởi động ổ cứng đã cài đặt Ubuntu trong máy tính của bạn tôi không có RAM, tôi có thể khởi động máy tính mà không cần Ram không?



31
Bạn có nghĩa là máy tính của bạn của bạn không có RAM? Bạn có chắc đó là máy tính không?
terdon

5
@terdon Đó là một ấm trà .
mèo

Câu trả lời:


47

Không. CPU không thể thực thi mã từ trao đổi. Hoán đổi hoạt động bằng cách di chuyển nội dung RAM vào đĩa và các nội dung đĩa khác vào RAM, nhưng thực thi luôn là từ RAM.

Và không, không có cách nào để chuyển mã hoặc dữ liệu từ đĩa trực tiếp vào bộ đệm CPU. Bạn không thể bỏ qua RAM.

Ngay cả các kiến ​​trúc vi điều khiển có thể thực thi mã trực tiếp từ flash flash cũng cần RAM cho ngăn xếp, ít nhất là một số SRAM tích hợp như một số bộ điều khiển có.


1
@ LưuViênPhúc Bạn nói đúng. Tôi vẫn quen gọi những SoC đó bằng lõi ARM Cortex-A là "vi điều khiển", mặc dù điều này có thể gây hiểu nhầm. Những người có MMU, có thể chạy Linux và thường có SRAM nội bộ đó (cần cho mã khởi động), nhưng tôi không nghĩ những người đó có thể thực thi mã trực tiếp từ flash. Dù sao, OP dường như nghĩ về một PC bình thường.
Philippos

1
Tôi nghĩ S390 Linux có thể thực thi mã trực tiếp từ ổ cứng. Tính năng này đã được thêm vào vì S390 là kiến ​​trúc 31 bit và làm cho mọi byte có sẵn cho dữ liệu thay vì mã là một chiến thắng. Mặc dù vậy, tôi có thể đánh giá sai, nhưng bộ bản vá rất đáng nhớ, bởi vì nó có sự khác biệt duy nhất là có giá trị cho cả máy tính lớn và bộ vi điều khiển (tức là hai đầu cực lớn của Linux) nhưng không quan tâm đến bất cứ điều gì ở giữa.
Jörg W Mittag

2
À, tìm thấy rồi, đó là tính năng XIP (eXecute In Place). Rõ ràng, bạn vẫn cần RAM cho dữ liệu. Nó chỉ là về mã.
Jörg W Mittag

1
@rackandboneman Là một nhà phát triển nhúng, tôi đã làm mọi thứ, từ trình biên dịch mã trần trên các bộ điều khiển 8 bit qua RTOS đến nhúng Linux. Bộ nhớ ít nhất tôi gặp là một ATtiny với bộ nhớ cho ngăn xếp địa chỉ ba trả về. Không có điều đó, bạn thậm chí không thể bị gián đoạn! Bây giờ xin đừng tranh luận liệu bộ nhớ ngăn xếp này là ram hay đăng ký ... (-:
Philippos

1
@Philippos tại sao tôi lại tranh luận - CHÚNG TÔI đang nói điều tương tự.
rackandboneman

7

/electronics//a/311839/111920 chứa liên kết http://www.drdobbs.com/abul/boote-an-intel-arch architecture-system-par / 32300699? pgno = 2 mô tả quá trình khởi động của CPU Intel hiện đại với nhiều chi tiết.

TL; DR: Không. Thực sự có một pha trong khi khởi động mà các chip RAM không được sử dụng và bộ xử lý chỉ chạy với bộ đệm trong của nó hoạt động như RAM tạm thời. Nhưng điều này là rất sớm trong quá trình tải BIOS và một trong những điều đầu tiên mà BIOS làm là khởi tạo RAM, để có thể sử dụng nó. Mã máy chạy ở đó rất chuyên dụng, rất thủ công.

Sau giai đoạn rất sớm đó, RAM là cần thiết cho mọi thứ. Điều này có nghĩa là bạn thậm chí sẽ không thể truy cập BIOS, nhận tín hiệu video hoặc khởi động ít hơn từ bất kỳ phương tiện nào, không có RAM.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.