logo

운영 체제의 정적 및 동적 로딩

운영 체제는 다양한 프로그램을 실행하는 동안 기능 라이브러리를 로드합니다. 프로그램이 처리되면서 파일이 필요한 메모리로 이동됩니다. 로드 프로세스에는 두 가지 유형이 있습니다. 공전 그리고 동적 . 이 기사에서는 운영 체제의 정적 로딩 시스템과 동적 로딩 시스템의 차이점에 대해 알아봅니다. 그러나 차이점을 논의하기 전에 운영 체제의 정적 및 동적 로딩에 대해 알아야 합니다.

정적 로딩

정적 로딩 실행되기 전에 완전한 프로그램을 주 메모리에 로드하는 프로세스입니다.

동적 로딩

전체 프로그램과 모든 프로세스 데이터가 있어야 합니다. 물리적 메모리 프로세스를 실행합니다. 결과적으로 프로세스 크기는 사용 가능한 실제 메모리 양에 따라 제한됩니다. 동적 로딩은 다음을 보장하기 위해 활용됩니다. 최적의 메모리 소비 . 동적 로딩에서는 루틴이 호출될 때까지 루틴이 로드되지 않습니다. 모든 루틴은 디스크에 저장됩니다. 다시 로드할 수 있는 로드 형식 . 동적 로딩의 주요 장점은 새 루틴이 로드되지 않는다는 것입니다. 이 로딩은 효율적으로 처리하기 위해 엄청난 양의 코드가 필요할 때 유용합니다.

운영 체제의 정적 로딩과 동적 로딩의 주요 차이점

운영 체제의 정적 및 동적 로딩

여기서는 운영 체제의 정적 로딩과 동적 로딩의 주요 차이점을 알아봅니다. 운영 체제에서 정적 로딩과 동적 로딩의 주요 차이점은 다음과 같습니다.

  1. 정적 로딩은 프로그램 실행을 시작하기 전에 전체 프로그램을 주 메모리에 로드하는 프로세스입니다. 이와 대조적으로 동적 로딩은 요청 시 프로그램을 주 메모리에 로드하는 프로세스를 나타냅니다.
  2. 정적 로딩은 추가 소프트웨어 없이도 완전한 프로그램을 연결하고 구축합니다. 반면 동적 로딩에서는 모든 모듈이 동적으로 로드됩니다. 개발자는 이 모든 것을 참조하고 나머지 작업은 실행 시간에 완료됩니다.
  3. 정적 로딩은 다음과 같은 구조화된 프로그래밍 언어의 경우에만 수행됩니다. C 언어 . 대조적으로 동적 로딩은 다음과 같은 OOP 언어에서 발생합니다. C++, 자바,
  4. 정적 로딩은 프로세스 중에 파일이 수정되지 않기 때문에 처리 시간이 더 빠릅니다. 반면, 동적 로딩은 처리 시간에 파일이 업로드되기 때문에 처리 속도가 느려집니다.
  5. 정적 로딩에서는 코드가 메모리에 로드되면 실행될 수도 있고 실행될 수도 없습니다. 대조적으로, 동적 로딩에서는 필요할 때만 실행이 발생합니다.
  6. 링커는 개체 프로그램과 기타 개체 모듈을 결합하여 단일 정적 로딩 프로그램을 형성합니다. 반면, 동적 로딩에서는 연결 프로세스가 재배치 가능한 형태로 동적으로 발생합니다. 데이터는 프로그램에서 필요할 때만 메모리에 로드됩니다.
  7. 정적 로딩의 가장 큰 단점은 코드가 로드된 후에 실행될 수도 있고 실행되지 않을 수도 있기 때문에 메모리를 낭비한다는 것입니다. 반면에 동적 로딩은 효율적인 메모리 활용에 큰 이점을 줍니다.

운영 체제의 정적 로딩과 동적 로딩의 일대일 비교

여기에서는 운영 체제의 정적 로딩과 동적 로딩을 직접 비교하는 방법을 알아봅니다. 운영 체제의 정적 로딩과 동적 로딩 간의 직접적인 비교는 다음과 같습니다.

정적 로딩 동적 로딩
정적 로딩이란 프로그램을 실행하기 전에 프로그램 전체를 주 메모리에 로드하는 것을 말합니다. 동적 로딩은 요청 시 프로그램을 메인 메모리에 로딩하는 과정을 의미합니다.
C와 같은 구조적 프로그래밍 언어에서만 수행됩니다. 이는 C++, Java 등과 같은 OOP 언어에서 발생합니다.
정적 로딩은 추가 소프트웨어 없이 전체 프로그램을 링크하고 컴파일합니다. 모든 모듈은 동적으로 로드됩니다. 개발자는 이 모든 것을 참조하고 나머지 작업은 실행 시간에 완료됩니다.
링커는 개체 프로그램과 기타 개체 모듈을 결합하여 단일 정적 로딩 프로그램을 형성합니다. 연결 프로세스는 재배치 가능한 형태로 동적으로 발생합니다. 데이터는 프로그램에서 필요할 때만 메모리에 로드됩니다.
무제한의 데이터와 프로그램이 메모리에 로드되어 실행이 시작됩니다. 런타임에는 데이터와 정보가 조금씩 로드됩니다.
정적 로딩을 사용하는 경우 정적 링크도 사용됩니다. 동적 로딩을 사용하는 경우 동적 연결도 사용됩니다.
코드가 메모리에 로드되면 실행될 수도 있고 실행되지 않을 수도 있습니다. 필요한 경우에만 실행이 수행됩니다.
프로세스 중에 파일이 변경되지 않으므로 처리 시간이 더 빠릅니다. 동적 로딩의 경우 처리 시간에 파일이 업로드되기 때문에 처리 속도가 느려집니다.