Apakah mungkin menggunakan ubuntu tanpa ram sama sekali?

15

Jika saya menetapkan nilai swappiness ke 100 dan mencoba mem-boot hard drive yang diinstal ubuntu di komputer teman saya yang tidak memiliki RAM, dapatkah saya mem-boot komputer tanpa Ram sama sekali?

pio123498765
sumber
31
Apa maksudmu komputer temanmu tidak memiliki RAM? Apakah Anda yakin itu komputer?
terdon
5
@terdon Ini teko .
kucing

Jawaban:

47

Tidak. CPU tidak dapat menjalankan kode dari swap. Swapping berfungsi dengan memindahkan konten RAM ke disk dan konten disk lainnya ke RAM, tetapi eksekusi selalu dari RAM.

Dan tidak, tidak ada cara untuk mentransfer kode atau data dari disk langsung ke cache CPU. Anda tidak dapat mem-bypass RAM.

Bahkan arsitektur mikrokontroler yang dapat mengeksekusi kode langsung dari NOR flash memerlukan RAM untuk stack, setidaknya beberapa SRAM bawaan seperti yang dimiliki beberapa pengontrol.

Filipos
sumber
1
@ LưuVĩnhPhúc Anda benar. Saya masih terbiasa memanggil orang-orang SoC dengan inti ARM Cortex-A "mikrokontroler", meskipun ini mungkin menyesatkan. Mereka yang memiliki MMU, dapat menjalankan Linux dan biasanya juga memiliki SRAM internal (diperlukan untuk kode boot), tetapi saya tidak berpikir mereka dapat mengeksekusi kode langsung dari flash. Yah, OP sepertinya memikirkan PC biasa.
Philippos
1
Saya pikir S390 Linux dapat menjalankan kode langsung dari HDD. Fitur ini ditambahkan karena S390 adalah arsitektur 31 bit, dan membuat setiap byte tersedia untuk data alih-alih kode adalah kemenangan. Saya bisa saja salah mengingat, tetapi set patchnya mudah diingat, karena memiliki perbedaan unik karena bernilai baik untuk mainframe dan mikrokontroler (yaitu dua ujung ekstrem penskalaan Linux) tetapi tidak tertarik pada apa pun di antaranya.
Jörg W Mittag
2
Ah, menemukannya, itu adalah fitur XIP (eXecute In Place). Jelas, Anda masih membutuhkan RAM untuk data. Ini hanya tentang kode.
Jörg W Mittag
1
@rackandboneman Sebagai pengembang tertanam, saya melakukan segalanya mulai dari assembler telanjang pada pengontrol 8 bit melalui RTOS hingga Linux tertanam. Memori paling sedikit yang saya temui adalah ATtiny dengan memori untuk tumpukan alamat tiga. Tanpa itu, Anda bahkan tidak dapat memiliki interupsi! Sekarang tolong jangan berdebat apakah memori tumpukan ini adalah ram atau register ... (-:
Philippos
1
@ Pilipos mengapa saya berdebat - KAMI berbicara hal yang sama.
rackandboneman
7

/electronics//a/311839/111920 berisi tautan http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2 yang menjelaskan tentang proses booting dari CPU Intel modern dalam detail yang luar biasa.

TL; DR: Tidak. Memang ada fase selama boot di mana chip RAM tidak digunakan, dan prosesor hanya berjalan dengan cache internal yang berfungsi sebagai RAM sementara. Tapi ini sangat awal dalam proses memuat BIOS dan salah satu hal pertama yang dilakukan BIOS adalah menginisialisasi RAM, untuk dapat menggunakannya. Kode mesin yang berjalan di sana sangat khusus, sangat buatan tangan.

Setelah tahap yang sangat awal, RAM diperlukan untuk semuanya. Ini berarti Anda bahkan tidak akan bisa masuk ke BIOS, mendapatkan sinyal video, atau bahkan boot lebih sedikit dari media apa pun, tanpa RAM.

AnoE
sumber