램없이 우분투를 사용할 수 있습니까?


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 당신이 맞아요. ARM Cortex-A 코어 "마이크로 컨트롤러"로 SoC를 호출하는 데 여전히 익숙하지만 오해의 소지가 있습니다. MMU가 있고 Linux를 실행할 수 있으며 일반적으로 부팅 코드에 필요한 내부 SRAM도 있지만 플래시에서 직접 코드를 실행할 수는 없다고 생각합니다. 글쎄, OP는 어쨌든 일반적인 PC를 생각하는 것 같습니다.
Philippos

1
나는 생각 S390 리눅스가 HDD에서 직접 코드를 실행할 수 있습니다. 이 기능은 S390이 31 비트 아키텍처이기 때문에 추가되었으며 코드 대신 데이터에 사용 가능한 모든 바이트를 만드는 것이 승리입니다. 그래도 기억이 안 나지만 패치 세트는 메인 프레임과 마이크로 컨트롤러 (예 : Linux 스케일링의 두 가지 극단적 인 끝)에 가치가 있지만 그 사이에는 관심이 없기 때문에 독특합니다.
Jörg W Mittag 2018 년

2
아, 그것은 XIP 기능 (eXecute In Place)입니다. 분명히 데이터에는 여전히 RAM이 필요합니다. 코드에 관한 것입니다.
Jörg W Mittag

1
@rackandboneman 임베디드 개발자 인 저는 RTOS를 통해 8 비트 컨트롤러에서 벌거 벗은 어셈블러부터 임베디드 Linux까지 모든 작업을 수행했습니다. 내가 만난 가장 적은 메모리는 3 개의 리턴 주소 스택을위한 메모리가있는 ATtiny였습니다. 그것 없이는 인터럽트조차 할 수 없었습니다! 이제이 스택 메모리가 램인지 레지스터인지 논쟁하지 마십시오 ... (-:
Philippos

1
@Philippos 왜 내가 논쟁하겠습니까-우리는 같은 것을 이야기하고 있습니다.
rackandboneman

7

/electronics//a/311839/111920 에는 http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2 링크가 포함되어 있습니다 . 최신 인텔 CPU의 부팅 프로세스가 매우 세부적입니다.

TL; DR : 아니요. 실제로 부팅하는 동안 RAM 칩이 사용되지 않고 임시 캐시 RAM으로 작동하는 내부 캐시만으로 프로세서가 실행되고있는 단계가 있습니다. 그러나 이것은 BIOS로드 프로세스의 초기 단계이며 BIOS가 수행하는 첫 번째 작업 중 하나는 RAM을 초기화하여 사용하는 것입니다. 거기에서 실행되는 머신 코드는 매우 전문적이고 매우 수작업으로 만들어졌습니다.

그 후 아주 초기 단계, RAM이 모두 필요합니다. 즉, RAM이 없어도 BIOS로 들어가거나 비디오 신호를 얻거나 어떤 매체에서도 부팅 할 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.