dongdorodongdong
System S/W 본문
S/W 분류
- 시스템 S/W
- 제어 프로그램
- 처리 프로그램 - 유틸리티
- 압축
- 디스크 관리
- 백신 등 - 응용 S/W
- 통신용 프로그램
- 그래픽 프로그램
- 멀티미디어 등
시스템 S/W
- 시스템 전체를 작동시키는 프로그램(OS + 언어번역 프로그램 등)
- 제어 프로그램
- 감시 프로그램
"각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시 및 감독"
- 작업 제어 프로그램
"업무를 처리하고 다른 업무로의 이행을 수행하기 위한 준비 및 완료를 담당하는 프로그램"
- 자료 관리 프로그램
"주기억장치, 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지 보수 기능을 수행하는 프로그램" - 처리 프로그램 (제어 프로그램의 지시를 받아 문제를 해결하는 프로그램)
- 언어 번역 프로그램
"원시 프로그램을 기계어 형태의 목적 프로그램으로 번역하는 프로그램"
"어셈블러, 컴파일러, 인터프리터"
- 서비스 프로그램
"컴퓨터를 효율적으로 사용할 수 있는 사용빈도가 높은 프로그램"
- 문제 프로그램
"특정 업무 및 해결을 위해 사용자가 작성한 프로그램"
언어 번역 및 실행
- 원시 프로그램
- 번역
- 목적 프로그램 생성
- 링크
- 로드
- 실행
어셈블러
- 저급언어를 기계어로 번역
- 두 개의 pass로 구성
- 어셈블리어
- 프로그램을 읽고 이해하기 쉬움
- 프로그램의 주소가 기호 번지
- 프로그램에 데이터를 사용하기 쉬움
컴파일러 vs 인터프리터
구분 |
컴파일러 |
인터프리터 |
역할 |
고급언어를 기계어로 번역 |
|
번역 단위 |
전체 |
줄 단위 |
목적 프로그램 생성 |
생성 O |
생성 X |
실행 속도 |
빠름 |
느림 |
링커
- 정의
- 언어 번역 프로그램이 생성한 목적 프로그램, 라이브러리, 또 다른 실행 프로그램 등을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어
- 연결 가능만 수행하는 로더의 한 형태 - 링킹
- 링커에 의해 수행되는 작업
로더
- 로드 모듈을 주기억장치에 적재하여 실행 가능하도록 해주는 시스템 프로그램
- 기능
- Allocation(할당)
"기억장치 내에 옮겨놓을 공간을 확보하는 기능"
- Link(연결)
"부프로그램 호출 시 그 부프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능"
- Relocation(재배치)
"보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억장소의 실제 주소로 배치하는 기능"
- Load(적재)
"실행 프로그램을 할당된 기억장소에 실제로 옮기는 기능"
- Compile은 X - 종류
- Compile-and-Go 로더
"언어번역프로그램이 로더의 역할까지 담당 (링크는X)"
- Absolute 로더
"Load 기능만 하는 간단한 로더"
"할당, 연결은 프로그래머가
"재배치는 언어번역프로그램이"
- Relative 로더(Direct Linking / Relocation Loader)
"메모리 할당, 연결, 재배치, 적재 기능 모두 수행"
"가장 일반적임"
- Dynamic Loading 로더(Load-On-Call)
"필요한 일부분만 로드"
"미사용 중인 프로그램은 보조기억장치에 저장"
매크로
- 정의
- 프로그램 작성 시 반복되는 코드를 한 번만 작성하여 특정 이름으로 정의한 후 호출하여 사용 - 특징
- 매크로 정의 내에 또 다른 매크로를 정의할 수 있음 - 매크로 프로세서
- 원시 프로그램에 존재하는 매크로 호출 부분에 매크로 프로그램을 삽입하여 확장된 원시 프로그램을 생성하는 시스템 소프트웨어
- 처리 과정
1. 매크로 정의 인식
2. 매크로 정의 저장
3. 매크로 호출 인식
4. 매크로 확장, 인수 치환
'Operating System' 카테고리의 다른 글
컴퓨터 시스템 구조 (0) | 2019.06.10 |
---|---|
UNIX (0) | 2019.04.12 |
Disk (0) | 2019.04.12 |
분산 처리 시스템 (0) | 2019.04.12 |
기억장치의 관리 (0) | 2019.04.12 |