링커

링커는 언어 번역프로그램이 생성한 목적 프로그램들과 라이브러리, 

또 다른 실행 프로그램(로드 모듈) 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어이다

연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행 수행되는 작업을 링킹이라고 한다.


로더

로더는 컴퓨터 내부로 정보를 들여오거나 로드 모듈을 디스크 등의 

보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어이다.






로더의 기능


할당

 - 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간을 확보하는 기능


연결

 - 부 프로그램 호출 시 그 프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능


재배치

 - 디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억장소의 실제 주소로 배치시키는 기능


적재

 - 실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능









로더의 종류


Compile And Go 로더

 - 별도의 로더 없이 언어 번역 프로그램이 로더의 기능까지 수행하는 방식

 - 연결 기능은 수행하지 않고 나머지 기능은 언어 번역 프로그램이 담당한다.


절대 로더

 - 목적 프로그램을 기억장소에 적재시키는 기능만 수행하는 로더로, 로더 중 가장 간단한 프로그램으로 구성

 - 기억장소 할당이나 연결을 프로그래머가 직접 지정하며 한번 지정한 주기억장소의 위치는 변경이 어렵다.

 - 할당/연결(프로그래머), 재배치(언어 번역 프로그램), 적재(로더)


직접 연결 로더

 - 일반적인 기능의 로더로, 로더의 기능 네 가지를 모두 수행하는 로더이다.


동적 적제 로더

 - 프로그램을 한꺼번에 적재하는 것이 아니라 실행 시 필용한 부분만을 적재하고, 

나머지 부분은 보조기억장치에 저장해두는 것으로 호출시 적재라고 한다.




'ComputerScience > OperatingSystem' 카테고리의 다른 글

프로세서 스케줄  (0) 2017.10.10
프로세스  (0) 2017.10.10
매크로  (0) 2017.10.10
운영체제의 개요  (0) 2017.10.10
시스템 소프트웨어의 구성  (0) 2017.10.10


프로그램 작성 시 한 프로그램 내에서 동일한 코드가 반족될 경우 반복되는 코드를 한 번만 작성하여 

특정 이름으로 정의한 후 그 코드가 필요할 때마다 정의된 이름을 호출하여 사용하는 것이다.


매크로 정의 인식 ▶ 매크로 정의 저장 ▶ 매크로 호출 인식 ▶ 매크로 확장과 인수 치환







매크로와 부 프로그램


매크로

 - 개방 서브루틴(Opened Sub-routine)

 - 주 프로그램의 매크로 호출 명령이 있는 위치마다 매크로 내용을 삽입하여

확장된 프로그램을 만들어 놓고 연속으로 실행함


부 프로그램

 - 폐쇄 서브루틴(Closed Sub-routine)

 - 부 프로그램이 호출될 때마다 제어가 부 프로로그램으로 넘어갔다가

다시 주 프로그램으로 복귀됨


둘 모두 중복된 코드를 제거해 더 깔끔한 코드를 만들 수 있다.

부프로그램은 매크로에 비해 프로그램의 크기가 작아지고, 

기억장소가 절약되지만 실행시간은 약간 느려짐








매크로 처리 과정




'ComputerScience > OperatingSystem' 카테고리의 다른 글

프로세서 스케줄  (0) 2017.10.10
프로세스  (0) 2017.10.10
링커와 로더  (0) 2017.10.10
운영체제의 개요  (0) 2017.10.10
시스템 소프트웨어의 구성  (0) 2017.10.10


컴퓨터 시스템의 자원들을 효율적으로 관리하여, 사용자가 컴퓨터를 편리하고

효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임

// Windows, MS-DOS, UNIX, Linux 등






성능 평가 기준


처리능력(Throughput)

 - 일정 시간 내에 시스템이 처리하는 일의 양


반환시간(Turn Around Time)

 - 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간


사용 가능도(Availability)

 - 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도


신뢰도(Reliability)

 - 시스템이 주어진 문제를 정확하게 해결하는 








운영체제 운용 기법 및 발달 과정


일괄처리      다중프로그래밍/다중처리/시분할/실시간처리      다중 모드      분산처리


일괄처리

 - 한꺼번에 처리

 - 반환(응답) 시간이 늦지만 하나의 작업이 모든 자원을 독점하므로 CPU 유휴시간이 줄어듦

 - 급여 계산, 지불 계산, 연말 결산 등


다중 프로그래밍

 - 하나의 CPU와 주기억장치를 이용하여 여러개의 프로그램을 동시에 처리하는 방식

 - 싱글코어에서도 여러개의 프로그램을 실행하는 것을 기억하면 될 듯


시분할 시스템

 - 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리해

줌으로써 각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 것이며 라운드 로빈 방식이라고도 함


다중 처리

 - 여러 개의 CPU와 하나의 주기억장치를 이요하여 여러 개의 프로그램을 동시에 처리


실시간 처리

 - 데이터 발생 즉시, 데이터 처리요구가 있는 즉시 처리하여 결과를 산출하는 방식

 - 은행의 온라인 업무, 좌석 예약 업무, 인공위성 등의 제어 업무 등 

시간에 제한을 두고 수행되어야 하는 작업에서 사용됨


다중 모드 처리

 - 일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공


분산처리

 - 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식

 - 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있음




'ComputerScience > OperatingSystem' 카테고리의 다른 글

프로세서 스케줄  (0) 2017.10.10
프로세스  (0) 2017.10.10
링커와 로더  (0) 2017.10.10
매크로  (0) 2017.10.10
시스템 소프트웨어의 구성  (0) 2017.10.10

+ Recent posts