1. 시스템 소프트웨어(운영체제)
: 시스템 전체를 작동시키는 프로그램
: 프로그램을 주기억장치에 적재시키거나 인터럽트 관리, 장치 관리, 언어 변역 등을 기능
: 가장 대표적인 프로그램 - 운영체제
- 시스템 소프트웨어 구성
1) 제어 프로그램 (Control Program)
-> 시스템 전체의 작동 상태 감시, 작업 순서 지정, 작업에 사용되는 데이터 관리 등 수행
: 감시 프로그램 (Supervisor Program)
: 작업 관리 프로그램 (Job Control Program)
- (job Scheduler - 작업 준비, Master Scheduler - 시스템, 운영자 중재)
: 자료 관리 프로그램 (data management program)
2) 처리 프로그램 (Processing Program)
-> 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램
: 언어 번역 프로그램 - 어셈블러, 컴파일러, 인터프리터
* 원시프로그램 -> 번역 -> 목적프로그램 -> 링커 -> 로드모듈 -> 로더 -> 실행
: 서비스 프로그램 - 연결 편집기(링커), 정렬/병합 프로그램, 라이브러리, 유틸리티
: 문제 프로그램 - 특정 업무 및 문제 해결을 위해 사용자가 작성한 프로그램
2. 운영체제(OS; Operating System)
: 시스템의 자원을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램
: Window , Linux, Unix, Dos 등
- 운영체제의 목적
: 처리능력(Throughput) 향상
: 사용 가능도(Availability) 증대
: 신뢰도(Reliability) 향상
: 반환시간(Turn Around Time) 단축 , 처리시간
- 운영체제의 기능
: 프로세서, 기억장치, 입출력장치, 파일 및 정보 등 자원관리 (응용 프로그램 유지 관리X)
: 자원을 효율적으로 사용하기 위한 작업 스케쥴링
: 사용자와 시스템 간의 인터페이스 제공
: 각종 하드웨어와 네트워크 관리, 제어
: 시스템의 오류 검사 및 복구
: 데이터 및 자원의 공유 기능 제공
- 운영체제의 운용기법
1) 일괄 처리 시스템(Batch Processing System) ,1세대
: 일정량의 데이터를 모아서 한꺼번에 처리하는 방식
: 반환시간이 늦지만 하나의 작업이 모든 자원을 독점해서 CPU의 유휴시간이 줄어든다
: 급여계산, 연말결산 등
2) 다중 프로그래밍 시스템(Multi-Programming System)
: 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
3) 시분할 시스템(Time Sharing System)
: 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자의 프로그램을 돌아가면서 처리
: 그래서 각 사용자에서 독립된 컴퓨터를 사용하는 느낌을 줌 (라운드 로빈 방식)
: 하나의 CPU는 같은 시점에서 여러개의 작업을 동시에 할 수 없음으로, CPU의 사용시간을 작은 작업 시간량으로 나누어 처리
: 대화식 처리, H/W를 보다 능률적으로 사용할 수 있는 시스템
4) 다중 처리 시스템(Multi-Processing System)
: 여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리
: 하나의 CPU가 고장나더라도 다른 CPU를 이용하기 때문에 시스템의 신뢰성, 안정성 높음
5) 실시간 처리 시스템(Real Time Processing System)
: 데이터 발생시 즉시 처리하여 결과를 산출하는 방식
: 처리 시간이 단축되고, 처리 비용이 절감
: 교통 제어, 은행 온라인 업무 등에 사용
6) 분산 처리 시스템(Distributed Processing System), 4세대
: 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
3. 언어변역 프로그램
- 프로그래밍 언어 구분
1) 저급언어(Low Level Language)
: 기계어 - 컴퓨터가 직접 이해할 수 있는 언어
: 어셈블리언어 - 기계어와 1:1로 대응되는 기호로 이루어진 언어
: CPU에 내장된 명령들을 직접 사용하는 것으로 프로그램을 작성하고 이해하기 힘듬
: 하드웨어 제어에 주로 사용되며, 호환성이 없다
: 컴퓨터가 직접 이해할 수 없으므로 어셈블러를 사용하여 기계어로 번역
2) 고급언어(High Level Language)
: 인간이 실생활에서 사용하는 언어로 만들어진 언어
: 기계어로 번역하기 위해서 컴파일러, 인터프리터를 사용
: C, BASIC, COBOL , ALGOL 등 이 있다
- 컴파일러와 인터프리터 비교
- 컴파일러
: 고급언어로 작성된 프로그램 전체를 목적 프로그램으로 번역
: 한꺼번에 실행하기 때문에 실행속도는 빠르지만 번역속도는 느리다
- 인터프리터
: 고급언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고 바로 실행
: 줄 단위로 번역되고 바로 실행되므로 시분할 시스템에서 유리, 프로그램 변화에 반응 빠름
4. 매크로와 매크로 프로세서
: 프로그램에서 동일한 코드가 반복적으로 사용될 경우 코드를 한 번만 작성하여 특정 이름으로 정의 한 후 필요할 때 마다 호출하여 사용
: 부 프로그램으로 개방 서브루틴이라고 함
: 매크로 정의 내에 또 다른 매크로를 정의 가능
- 매크로 관련 용어
: 매크로 정의(Macro Define) - 매크로 작성
: 매크로 호출(Macro Call) - 정의된 매크로 기술
: 매크로 확장(Macro Extension) - 매크로 호출 부분에 정의된 매크로 코드 삽입
: 매크로 라이브러리 - 공통적으로 자주 사용되는 매크로들을 모아놓은 라이브러리
- 매크로 프로세서
: 매크로를 삽입해주는 시스템 소프트웨어
- 매크로 프로세서 처리과정(기본적인 기능)
1. 매크로 정의 인식: 원시 프로그램 내에 매크로 시작을 알리는 Macro 명령 인식
2. 매크로 정의 저장: 매크로를 확장하기 위해 매크로 이름과 내용을 메크로 테이블 저장
3. 매크로 호출 인식: 주 프로그램의 명령부에서 매크로 이름으로 매크로 호출 인식
4. 매크로 확장과 인수 치환: 주 프로그램의 매크로 이름 위치에 매크로 내용과 인수를 치환하여 확장된 원시 프로그램을 만듬
5. 링커와 로더
- 링커(Linker) = 연결 편집기(Linkage Editor) : 목적 프로그램 -> 로드 묘듈
: 언어 번역 프로그램이 생성한 목적 프로그램과 라이브러리, 또는 다른 실행 프로그램 등을 연결하여 실행 가능한 로드 묘듈을 만드는 시스템 소프트웨어
- 로더(Loader)
: 로드 묘듈을 주기억장치에 적재하는 시스템 소프트웨어
- 로더의 기능
: 할당(Allocation) - 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간 확보
: 연결(Linking) - 부 프로그램 호출시 기억장소의 시작주소를 호출한 부분에 등록하여 연결
: 재배치(Relocation) - 주기억장치에 각 주소들을 할당된 기억장소의 실제 주소로 배치
: 적재(Loading) - 실행 프로그램을 할당된 기억공간에 옮기는 기능
- 로더의 종류
1) Compile And Go 로더 - 할당, 재배치, 적재
: 별도의 로더없이 언어 번역 프로그램이 로더의 기능까지 수행하는 방식
: 연결 기능은 수행하지 않고, 할당, 재배치, 적재 작업을 담당
2) 절대 로더(Absolute Loader) - 적재
: 목적 프로그램을 기억장소에 적재시키는 기능만 수행하는 로더
: 기능별 수행 주체
- 할당, 연결: 프로그래머,
- 재배치: 언어 번역 프로그램,
- 적재: 로더
3) 직접 연결 로러(Direct Linking Loader) - 적재, 연결, 재배치, 적재
: 일반적인 기능의 로더
4) 동적 적재 로더(Dynamic Loading Loader) - 필요한 부분 적재, 호출시 적재
: 프로그램을 한꺼번에 적재하는 것이 아니라 필요한 부분만 적재하고 나머지는 보조기억장치에 저장해두는 것, 호출시 적재라고 한다.
: 프로그램의 크기가 주기억장치의 크기보다 클 경우 유리한 방법
: load-on-call
Popular Posts
-
1. 불 대수(G.Boole) : 0는 off, 1는 on // Switch 1) 기본적인 논리함수 2) 불 대수의 기본 공식 * 0과 1을 대입해서 옳고 그름을 판단하면 된다 3) 불 대수의 간소화 : ...
-
1. 데이터베이스 개념 : 업무 처리를 위해 사용자들이 공용으로 사용하기 위해 통합, 저장된 운영 데이터의 집합 : DBMS = DataBase Management System (데이터베이스 관리 시스템) -> crud : 사용자와 DBMS...
-
1. 다중 처리기(Multi-Processor) : 하나의 시스템에 여러 개의 처리기를 두어 하나의 작업을 각 처리기에게 할당하여 처리하는 것을 의미 : 프로세스간 상호작용이 밀접한 강결합 시스템 : 여러 작업을 동시에 처리하여 실행 시간이 감소...
Agapang. Powered by Blogger.
댓글 없음:
댓글 쓰기