컴퓨터언어/운영체제

로더 - 프로그램을 보조기억장치에서 주기억장치로 적재해주는 시스템소프트웨어

bbanpro 2020. 7. 5. 18:36
728x90
반응형

 

👍 로더의 4가지 기능 - 할당 -> 연결 -> 재배치 -> 적재

 

운영체제 같은 시스템 소프트웨어든, 게임 같은 응용 소프트웨어든 "프로그램"은 모두 사용자의 조작으로 SSD나 HHD라는 보조기억장치에 영구저장 되어있다.

그리고 이런 프로그램을 실행한다는 것은 보조기억장치로부터 주기억장치로 불러와서 CPU가 접근하여 연산하는 것이다.

이처럼 원래 주기억장치에 있지 않은 프로그램을 주기억장치로 불러와 "적재"하는 것을 담당하는 시스템 소프트웨어가 "로더"다.

로더가 프로그램을 적재하기 위해서는 먼저 할당 -> 연결 -> 재배치의 과정을 거쳐야 한다.

 

로더의 대표적인 예로 부트로더가 있다.

컴퓨터에 전원을 넣으면 ROM에서 POST와 BIOS가 실행되어 주변장치 검사를 담당하며, 이상이 없으면 ROM의 부트로더가 보조기억장치에 있는 운영체제 핵심파일부터 주기억장치로 적재시켜서 모든 통제권을 운영체제에게 넘긴다.

부트로더 말고도 일반적인 "로더"는 평소 다른 프로그램들을 적재시키는 역할을 한다.

현대 다중프로그래밍은 각 프로그램이 동시에(사실은 사람이 인지할 수 없을 정도로 짧게 시분할 처리) 실행될 수 있도록 메모리도 쪼개서 각 프로그램에게 페이지 프레임을 할당해준다.

이것이 로더의 또다른 기능인 "할당"이다.

 

그리고 이제는 프로그램의 크기가 너무 크기 때문에, 하나의 파일로 구성되기엔 무리가 있다.

그래서 로더는 하나의 프로그램을 구성하는 여러 파일들을 통합하기 위해 "연결"도 해야 하고,

서로 다른 프로그램들이 실행되고 종료되는 과정에서, 제한된 메모리를 효율적으로 사용하기 위해 기존 프로세스의 주소를 옮기는 "재배치"도 담당하게 된다.


👍 정리

 

  1. 할당 : 여러 개로 분할된 주기억장치의 한 영역을 할당받으며, 적재할 공간이 없을 경우에는 주기억장치를 할당 받을 수 없으며 다른 프로그램이 종료될 때까지 기다려야 한다.
  2. 연결 : 여러 개로 분할된 프로그램들을 하나로 합침.
  3. 재배치 : 제한된 주기억장치의 공간을 효과적으로 사용하기 위해, 이미 적재되어 있는 프로그램이 다른 공간으로 이동하는 경우의 정보를 관리.
  4. 적재 : 할당->연결->재배치가 완료되면 보조기억장치에 있는 프로그램 파일이 주기억장치로 적재된다.
728x90
반응형