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

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


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







매크로와 부 프로그램


매크로

 - 개방 서브루틴(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


제어프로그램


감시 프로그램

 - 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시감독하는 프로그램


작업제어 프로그램

 - 어떤 업무를 처리하고 다른 업무로의 이행을 자동으로 수행하기 위한

준비 및 그 처리에 대한 완료를 담당하는 프로그램

 

자료 관리 프로그램

 - 주기억장치와 보조기억장치 사이에 데이터 전송과

보조기억장치의 자료 갱신 및 유지 보수 기능을 수행하는 프로그램








처리프로그램


언어번역 프로그램

 - 원시 프로그램을 기계어 형태의 목적 프로그램으로 번역하는 프로그램

// 어셈블러, 컴파일러, 인터프리터


서비스 프로그램

 - 컴퓨터를 효율적으로 사용할 수 있는 사용빈도가 높은 프로그램


문제 프로그램

 - 특정 업무 및 해결을 위해 사용자가 작성한 프로그램








컴파일러와 인터프리터


컴파일러

 - 고급언어로 작성된 소스 프로그램 전체를 목적 프로그램으로 번역한 후,

링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성함

 - 번역 과정이 번거롭고, 번역 시간이 오래 걸리지만 실행 속도가 빠름

// FORTRAN, COBOL, PASCAL, C, C++, PL/1

인터프리터

 - 고급언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고,

번역과 동시에 프로그램을 한줄 단위로 즉시 실행시키는 프로그램

 - 줄 단위로 번역 실행되기 때문에 시분할 시스템에 유용함

 - 프로그램이 직접 실행되므로 목적 프로그램이 실행되지 않음

 - 번역 속도는 빠르지만 실행 속도는 느림

// BASIC, SNOBOL, LISP, APL








어셈블러


어셈블리어를 기계어 형태의 오브젝트 코드로 해석해주는 컴퓨터 언어 번역프로그램

어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데

사용할 수 있는 비트 패턴으로 변환시키는 프로그램

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

프로세서 스케줄  (0) 2017.10.10
프로세스  (0) 2017.10.10
링커와 로더  (0) 2017.10.10
매크로  (0) 2017.10.10
운영체제의 개요  (0) 2017.10.10

+ Recent posts