리눅스 커널이 왜“이미지”라고 불리는가?


62

사람들이 Linux 커널을 Linux 커널 이미지라고 언급하는 경우가 종종 있는데, 검색 엔진에서 이미지라고하는 이유에 대한 답변을 찾지 못하는 것 같습니다.

이미지를 생각할 때 디스크 사본이나 사진 중 하나만 생각할 수 있습니다. 지옥은 사진 이미지가 아니기 때문에 왜 이미지라고 불리는가?


10
또한 RAM 영역 (커널의 경우 IMHO)의 복사본 일 수 있습니다.
Romeo Ninov

답변:


60

유닉스 부팅 프로세스는 프로그램을 지능적으로로드하는 기능 (이전, 라이브러리로드 등)이 제한적입니다. 따라서 초기 프로그램은 디스크에 저장된 정확한 이미지로, 메모리에로드되고 커널로 이동하기 위해 "호출"되어야했습니다.

(압축 해제) 압축과 같은 훨씬 나중에 만 추가되었으며 더 강력한 부트 로더가 설치되었지만 이미지 이름이 붙어 있습니다.


1
압축 및 압축 해제는 "이미지"라고하는 것과 관련이 없습니다. 여전히 메모리의 특정 지점에로드되어 옛날처럼 직접 호출됩니다. 중재 부팅 로더도 항상 존재했습니다. 커널 자체는 여전히 이미지이며 메모리의 특정 지점에로드되어 직접 호출됩니다.
phyrfox 2016 년

정확하게는 OP가 IMO를 혼란스럽게 한 이유입니다. 이미지의 압축 버전은 더 이상 이미지처럼 보이지 않으며 (압축되지 않은 상태로 볼 경우) 이미지라고하지 않습니다. 그러나 커널은 여전히 ​​이미지라고합니다.
Anthon

TBH는 당신이 그것의 기원에 대해 옳다는 것을 확신하지 못하지만, 당신의 설명은 너무 많이 이해되어야합니다. IMHO 압축 이미지는 여전히 이미지입니다. 이미지를 검색하는 방법은 관련이 없습니다. 이미지입니다. 그것은 당신이 말하는 것을 분명히하고 아마도 그것이 가장 중요한 것입니다.
akostadinov 2016 년

흥미 롭군 따라서 커널과 같은 많은 함수를 포함하는 객체의 텍스트가 포함 된 Javascript 파일이 있고 NodeJS 측에서 XMLHttpRequest를 통해로드하고 평가하여 NodeJS 서버를 사용하여 요청을 통해 상호 작용하는 경우이를 호출 할 수 있습니다 javascript file a Kernel Image : O
Dmitry

31

단어 이미지 에는 "실제 작업 복사본을 만드는 데 필요한 모든 정보가 들어있는 파일"이라는 정의도 있습니다.


3
디스크의 실제 이미지를 참조하기 위해 "이진", "실행 가능", "프로그램"등과 같은 용어로 뒤섞 일 필요가없는 멋진 용어입니다.
Thomas

3
이미지는 메모리의 스냅 샷입니다.
ikegami

2
전체가 아님-완전한 시스템 상태를 (재) 생성하기에 충분한 정보가 필요합니다. 메모리 덤프가 충분하면 암시 적 지식 (시작 주소, 초기 시스템 상태)이 있습니다. 충분하지 않으면 메모리 덤프를 이미지 로 참조하지 않습니다 .
Simon Richter

20

"이미지"가 디스크의 1 : 1 복사본이라는 의미는 아닙니다. 사진은 현실을 나타내는 것처럼 정확하게 는, 실행 프로그램 (또는 커널)의 이미지를 촬영할 때와는 시스템 메모리에로드 (또는 압축 해제) 할 수있는 상태에서 프로그램 나타내는 정확히를 그 다음과 같이 그것에 통제권을주었습니다. 그러면 해당 프로그램이 해당 상태에서 일관된 방식으로 실행을 시작할 수 있습니다. 따라서 Linux 커널 이미지는 Linux 커널 이미지를 제어 한 후 스스로 실행할 수있는 이미지 (상태 그림)입니다.

오늘날 부트 로더는 하드 디스크의 파일 시스템에서 이러한 이미지를로드하고 (드라이버가 필요함) 이미지를 대체하여 제어합니다. 컴퓨터의 부팅 프로세스는 운영 체제가 마지막으로 실행될 때까지 여러 번 수행됩니다. 이것을 체인 로딩 이라고 합니다. 또는 더 작은 프로그램 (체인)이 더 복잡한 프로그램을로드하는 경우이를 부트 스트랩 이라고 합니다.

BIOS는 이미지 인 부트 로더를로드합니다 (예 : boot.img의 경우에 호출 됨) grub. 이것은 boot.img파일이 아닙니다 (grub이 설치된 경우). MBR (Master Boot Record)에있는 부품의 이름입니다. 파일로 덤프하면 디스크에 기록되지 않고 파일에 기록 된 파일 형태의 이미지가됩니다. 이것은 또한 grub나머지 자체를로드 할 수 있는 가장 초기 상태의 표현 (이미지)입니다 . grub그런 다음 다른 이미지를로드하여 완전히로드하는 방법에 대한 자체 메커니즘이 있습니다. 이는의 여러 단계로 표시 됩니다 grub. 그 후, 부트 로더는 자신을 해당 파일의 추출 된 내용으로 대체하여 커널 이미지를로드합니다.


7

고대 역사. 이미지라는 용어는 컴파일러-> 링커의 출력에 대한 이전 Digital Equipment Corporation 용어에서 유래 한 것입니다. 이 파일은 링커를 통해 코드 등을 해석하여 만든 이미지로 디자인의 실행 가능한 "이미지"를 만듭니다.


1
참조 링크를 추가 한 경우
공감

Digital Equipment Corporation의 "RSX-11M + 시스템 참조 매뉴얼"DEC 1981을 참조하십시오. 그 이후로 업계를 통해 전파되었습니다
SkipBerne

5

수학에서 커널은 일부 맵 이미지의 하위 집합에 대한 역상입니다. 하위 집합은 codomain의 identity 요소와 같습니다. 나는이 이름들이 수학의 다양한 분야에서 상당히 관련되어 있기 때문에 수학 개념에서 유래 한 것이 확실합니다. 유닉스가 학업 환경에서 파생되었다는 것을 고려하면이 단어의 커널과 이미지의 사용이 동일 할 수 있습니다.

"완전한"OS에 대한 정보 수준을 나타내는 세트가있는 경우 해당 정보가 그룹을 형성하는 경우 해당 세트에서 그룹 동형화를 정의하거나 기본적으로 크기가 다른 다른 세트에 맵핑 할 수 있습니다. 그것들을 그룹으로 만든 원래 세트의 구조를 "존중"합니다. 세트를 더 작은 세트 또는 서브 세트가 더 작은 일부 세트의 서브 세트에 맵핑하는 것이 유리하다는 것을 알 수 있습니다.

이미지-그룹 동형의 이미지와 일반적인 기능 및 맵은 요소가 실제로 매핑되는 일부 집합의 일부입니다. 이 함수는 모든 단일 요소에 매핑되지 않을 수 있으며 해당 요소는 이미지에 포함되지 않습니다.

커널-기본적으로 원본 세트의 이미지 만 이미지에 매핑되지만 이미지의 identity 요소에만 매핑됩니다. 기본적으로 이미지의 것과 같은 0으로 매핑되는 요소.

이미지의 크기가 원본 세트보다 작 으면 여러 항목이 하나의 단일 요소에 매핑되어야 함을 알 수 있습니다. 예를 들어 커널에서 이미지로 매핑되는 여러 요소가있을 수 있으며 이미 0으로 매핑되어야한다는 것을 알고 있습니다.

원래 세트를 이진 또는 1과 0의 유한 시퀀스로 선택하고 코 도메인 (매핑 된 세트)을 이진의 시퀀스로 선택하면 적절한 그룹 구조 인 경우에만 그러한 것들을 구성 할 수 있습니다. 정의 될 수있다 (이것은 깊이 있고 질문과 무관).

따라서 우리는 OS의 "커널"과 "이미지"가 완전히 정의되고 수학적 의미를 가지고 있음을 완전히 확신합니다. 다른 용어 사용과는 독립적입니다.


기본적으로 커널은 운영 체제의 '얇은'버전 또는 중요하고 '추상'될 수있는 운영 체제의 일부일 수 있습니다. 전체 이미지. 데이터 압축 방법은 용어 "커널"과 "이미지"에서 유래 한 것 같습니다. 그러나 실제로는 잘 알려진 수학적 개념에서 비롯됩니다.
마샬 크래프트

3
안녕 마샬 댓글을 추가하는 대신 게시물을 수정하여 게시물을 개선하는 것이 좋습니다.
Anthony G-Monica

4
나는의 컴퓨팅 사용을 믿고 커널 로부터 온다 " 하드 쉘이 제거 된, 특히 한 번 너트의 중심 (일반적으로 식용) 부분. (참조" 위키 낱말 사전을 ) - 그것은 운영 체제의 작은 내부입니다; 모든 "외부 레이어"(GUI, 명령 셸,로드 가능한 드라이버)를 제거한 후에는 하드웨어가 유용한 방식으로 작동하게하는 데 필요한 (최소한) 부분입니다.
TripeHound

와우 기초없는 추론. TripeHound가 맞았습니다. 마샬 크래프트가 방금 추측했습니다.
Joshua

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