본문으로 이동

미디어위키 1.45 안정화가 거의 끝났습니다. 다만 Flow 확장 기능 관련 이슈가 있어서 대체하는 작업을 수행할 계획입니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

로더(소프트웨어)

큰숲백과, 나무를 보지 말고 큰 숲을 보라.
Senouis (토론 | 기여)님의 2023년 8월 19일 (토) 00:03 판


컴퓨터 운영체제에서 로더(Loader)란, 프로그램과 라이브러리를 RAM 등의 주 기억 장치에 적재하는 기능을 하는 코드 또는 프로그램이다.

로더는 크게 Relocation Loader와 Dynamic Linking Loader로 구분된다. 전자의 Relocation Loader는 Relocation Table을 이용해 디스크에 기록된 단일 프로그램을 읽은 후 적절하게 RAM에서 심볼과 오프셋으로 나타나는 코드와 데이터의 위치를 결정하고 배치하는 로더다. 후자의 Dynamic Linking Loader는 공유 라이브러리(Shared Library) 코드 파일을 읽은 후 다른 프로그램에 이를 연결하여 코드와 데이터를 적절히 합쳐 RAM에 배치한다.

프로그램 개발 및 실행 시에 수행하는 링커와 헷갈리면 안 된다. 보통 Dynamic Linking Loader가 Dynamic Linking을 수행하기 때문에 혼동이 올 수 있다. 소프트웨어 개발자의 관점으로 링커를, 소프트웨어 사용자의 관점으로 로더를 생각하면 어느 정도 구분이 가능하다.

로더의 주 기억 장치 관리 전략

한편 보조 기억 장치에서 주 기억 장치로 프로그램을 가져올 때 프로그램 코드/데이터를 배치할지 결정하는 전략은 3가지가 있다.

  • Fetch 전략: 프로그램을 언제 가져올지 결정하는 전략이다. 요구 반입과 예상 반입이 있다.
  • Placement 전략: 프로그램을 어디에 가져올지 결정하는 전략이다. 최초 적합(가장 먼저 만난 빈 영역)/최적 적합(가장 딱 맞는 영역)/최악 적합(가장 덜 맞는 영역, 프로그램의 총 메모리 할당량의 변동성이 크면 이것도 쓸 수 있다)
  • Replacement 전략: 새 프로그램을 실행한다면 페이지 교체/메모리 스왑이 필요한 상황에서 어떻게 메모리로 새 프로그램을 끌고 올지 결정하는 전략이다.
    • FIFO(선입선출 선택), OPT(가장 오랫동안 사용하지 않을 페이지를 교체하는 건데 현실적으로 불가능하다), LRU(가장 적게 쓴 페이지 선택), LFU(가장 자주 쓴 페이지 선택), NUR(참조 여부와 변형 여부를 보고 가장 덜 쓸 것 같은 페이지를 선택), FIFO를 보완한 SCR 등이 있다.