상대로더
-
링커, 로더, 번역기(Translator), 프로그램 실행과정전공/시스템프로그래밍 2020. 6. 6. 20:19
링커 원래의 프로그램이 너무 크면 여러 개의 모듈로 잘라서 어셈블러에 의해 기계어로 변환된다. 이때 모듈별로 서로 다른 object 모듈이 생성되고, 얘들이 보조기억장치에 저장된다. 목적 모듈들을 실행시킬 때는 개별이 아닌 한 묶음으로 실행되어야 하는데, 이 때 링커를 통해 목적모듈들을 연결한다. 로더 링커를 통해 합쳐진 하나의 프로그램은 로더를 통해 메모리에 적재되고 실행할 준비를 마치게 된다. 어셈블러가 로더의 역할을 대신할 수도 있지만 그러려면 어셈블러가 기억장소의 공간을 사용해야 된다. 어셈블러의 크기가 로더보다 훨씬 더 크기 때문에 비효율적이다. 그래서 로더라는 새로운 프로그램을 쓰는 것이다. 로더는 이전에도 언급했듯이 링킹이 없으면 모듈로더, 있으면 상대로더라고 했다. ..
-
로더의 4단계전공/시스템프로그래밍 2020. 6. 6. 19:17
수업 시작한지 얼마 안되서 부프로그램이 뭔지 몰라 쪽을 당했다.. 부프로그램이란 하나의 프로그램을 작은 프로그램들로 나눈 것인데, 거의 함수와 비슷하게 쓰인다. 이걸 몰라가지고 교수님께서 나보고 C에서 부프로그램 안써봤냐고 하시길래 '저.. 저는 비주류 언어를 공부해가지고 잘 모르겠습니다' 라는 쌉소리를 해버렸다.. 시스템 프로그램 시스템프로그램은 어플리케이션 프로그램을 실행시켜주기 위한 시스템이다. H/W 위에 S/W가 탑재되는 건 자명한 사실이다. 여기서 S/W 안에서 두 계층(시프/어플)으로 나뉜다. 로더 로더는 프로그램을 메모리에 적재하는 역할을 한다. 이러한 과정은 4단계로 나뉜다. 1. Allocation(할당) 프로그램을 할당할 수 있을만한 공간을 찾는다. 2. ..