로더란?

당신이 원할 수 있는 거의 모든 소프트웨어와 원하지 않는 많은 소프트웨어를 인터넷에서 찾을 수 있습니다. 하지만 거기에서 그다지 좋은 것은 아닙니다. 프로그램을 실행하려면 먼저 다운로드하여 설치해야 합니다. 소프트웨어가 하드 드라이브에 저장되면 실행할 수 있습니다.

문제는 스토리지 미디어, 심지어 고속 SSD도 CPU에 비해 ​​상당히 느리고 수용 가능한 성능에 대해 충분히 빠른 데이터를 제공할 수 없다는 것입니다. 소프트웨어를 실행하려면 실행할 코드를 메모리에 로드해야 합니다. 이것이 로더의 역할입니다.

로더는 운영 체제의 구성 요소입니다. 프로그램을 메모리에 로드하고 실행할 준비를 하기 때문에 모든 응용 프로그램을 시작하는 데 필수적입니다. 로더는 항상 메모리에 보관되므로 프로그램을 최대한 빨리 로드할 수 있습니다.

부팅하려면 운영 체제를 시스템 메모리에 로드해야 합니다. 이것은 부트 로더라고 하는 특정 유형의 로더의 작업입니다. 임베디드 시스템은 반드시 로더를 사용하지 않을 수 있습니다. 이것은 일반적으로 스토리지 미디어(일반적으로 EPROM 또는 플래시 메모리)에서 직접 코드를 실행하는 운영 체제가 없는 저수준 시스템의 경우입니다.

엣지 케이스

가상 메모리는 시스템과 프로그램에서 데이터의 물리적 주소를 숨기는 최신 운영 체제의 기능입니다. 여기서 중요한 이점은 운영 체제가 물리적 RAM에서 일부 메모리를 "페이징"할 수 있다는 것입니다. 대신 하드 드라이브에 저장합니다.

페이징은 일반적으로 컴퓨터의 RAM이 부족할 때만 수행됩니다. 이것은 컴퓨터가 가지고 있는 것보다 더 많은 RAM을 사용할 수 있게 해주기 때문에 유용합니다. 이 프로세스가 없으면 필요한 데이터를 저장할 수 없기 때문에 적어도 하나의 프로그램이 충돌합니다. 단점은 스토리지 미디어가 여전히 느리기 때문에 이동된 데이터가 필요한 경우 성능에 큰 영향을 미친다는 것입니다. 그러나 이것으로 로더는 약간의 속임수를 쓸 수 있습니다. 필요한 데이터를 RAM에 로드하는 대신 가상 메모리 공간을 만들어 하드 드라이브의 데이터 위치에 매핑할 수 있습니다.

이렇게 하면 완료되지는 않았지만 프로그램이 즉시 로드된 것처럼 보일 수 있습니다. 프로그램이 그렇게 보일 수 있지만 지금은 사용할 준비가 되지 않았습니다. 이는 불필요한 백그라운드 작업에 대한 문제가 아닐 수도 있지만 사용자가 사용하려는 응용 프로그램인 경우 문제가 됩니다. 이 경우 트릭은 이점을 제공하지 않습니다.

또 다른 이유는 일반적으로 프로그램이 열릴 때 시스템에 충분한 RAM이 있다는 것입니다. 대부분의 사람들은 컴퓨터를 99% RAM 사용량으로 계속 실행하지 않습니다. 그렇게 하는 사람들도 실제로 방금 로드한 프로그램이 작동하기를 원할 것이고 다른 프로그램이 페이징되는 것을 선호할 것입니다.

로더의 책임

로더의 정확한 단계는 해당 운영 체제에 따라 다릅니다. 기본 UNIX 로더에는 다섯 가지 주요 기능이 있습니다. 첫 번째는 유효성 검사를 수행하는 것입니다. 여기에는 사용 가능한 충분한 물리적 메모리와 필요한 권한이 포함됩니다. 다음으로 로더는 실제로 데이터를 메모리 매핑합니다. 일반적으로 이것은 데이터를 주 메모리로 전송하여 수행됩니다. 위에서 언급했듯이 메모리는 이론적으로 핀치의 드라이브 위치에 매핑될 수 있습니다.

응용 프로그램은 명령줄 인수로 실행할 수 있습니다. 기본적으로 활성화되지 않은 특정 동작 또는 기능을 나타내는 선택적 플래그입니다. -h 플래그는 프로그램을 실행하는 대신 텍스트 기반 도움말 파일을 인쇄하는 데 자주 사용됩니다. 이러한 인수도 메모리에 로드해야 합니다. 스택 포인터와 같은 레지스터를 초기화해야 합니다. 마지막으로 로더는 프로그램을 실행하기 위해 프로그램의 첫 번째 명령어로 점프합니다.

결론

로더는 운영 체제의 일부입니다. 스토리지에서 시작하여 메인 메모리로 애플리케이션을 로드하는 역할을 합니다. 그 책임은 프로그램 실행 시작까지 확장됩니다. 이는 레지스터를 초기화하고 프로그램의 첫 번째 명령을 호출해야 함을 의미합니다. 로더가 운영 체제 자체를 로드할 때 이를 부트 로더라고 합니다.



Leave a Comment

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 케이스에서 충전되지 않을 때 해야 할 일

Powerbeats Pro가 충전되지 않으면 다른 전원 소스를 사용하고 귀마개를 청소하세요. 귀마개를 충전하는 동안 케이스를 열어 두세요.

3D 프린팅 기본: 필수 유지보수 체크리스트

3D 프린팅 기본: 필수 유지보수 체크리스트

장비를 좋은 상태로 유지하는 것은 필수입니다. 다음은 3D 프린터를 최상의 상태로 유지하기 위한 유용한 팁입니다.

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220: 잉크 없이 스캔하기

Canon Pixma MG5220에서 잉크가 없을 때 스캔을 활성화하는 방법입니다.

노트북 과열의 5가지 이유

노트북 과열의 5가지 이유

노트북이 과열되는 몇 가지 가능한 이유와 이 문제를 피하고 장치를 시원하게 유지하는 팁과 요령을 알아보세요.

데스크탑 및 노트북 PC에 SSD 설치하는 방법

데스크탑 및 노트북 PC에 SSD 설치하는 방법

PC의 내부 저장 공간을 업그레이드하기 위해 SSD를 구입했지만 설치 방법을 모르겠습니까? 지금 이 기사를 읽어보세요!

GeForce Now 오류 코드 0xC272008F 수정 방법

GeForce Now 오류 코드 0xC272008F 수정 방법

게임의 밤을 준비하고 있으며, "Star Wars Outlaws"를 GeForce Now 스트리밍 서비스에서 플레이하려고 합니다. Ubisoft 게임을 다시 시작할 수 있도록 GeForce Now 오류 코드 0xC272008F를 수정하는 방법을 알아보세요.

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린팅 기초: 3D 프린터 유지보수 팁

3D 프린터를 효과적으로 유지하는 것은 최상의 결과를 얻는 데 매우 중요합니다. 기억해야 할 중요한 팁을 소개합니다.

프린터의 IP 주소 찾는 방법

프린터의 IP 주소 찾는 방법

프린터의 IP 주소를 찾는 데 어려움이 있습니까? 우리는 그것을 찾는 방법을 보여줄 것입니다.

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에서 AirPods 사용하기

Samsung 휴대폰에 AirPods 구입 여부를 고민하고 있다면, 이 가이드가 도움이 될 것입니다. 가장 간단한 질문은 호환성 여부입니다.

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.