-
[시스템프로그래밍] 1강 컴퓨터의 구성, 사용자 프로그램의 처리과정프로그래밍/시스템프로그래밍 2014. 4. 24. 04:07반응형
* 컴퓨터의 구성
초기의 컴퓨터 시스템은 수치계산 용도로 개발, 최근에는 다양한 정보를 제공
컴퓨터 시스템은 하드웨어, 소프트웨어로 구성
하드웨어는 물리적인 기기, 소프트웨어는 하드웨어를 동작시키고 제어하는 역할을 하는 명령어들의 집합으로 시스템 소프트웨어와 응용 소프트웨어가 있다.
1.컴퓨터 하드웨어 개요
컴퓨터 하드웨어는 중앙처리장치, 주기억장치, 보조기억장치, 입력장치, 출력장치로 구성
중앙처리장치 : CPU라고 부르며 컴퓨터에 장착되어 있는 장치들을 제어하는 명령어를 해독하고 실행하는 장치로 제어장치(CU)와 연산장치(ALU), 레지스터들로 구성되어 있다.
기억장치 : 기억장치는 실행 중인 프로그램과 프로그램에 필요한 데이터를 저장하는 장치를 말하며, 주기억장치, 보조기억장치, 캐시기억장치로 분류할 수 있다.
주기억장치 : 주기억장치는 실행중인 프로그램과 실행에 필요한 데이터를 일시적으로 저장하는 장치로서 일반적으로 ROM과 RAM으로 구분
ROM(Read Only Memory)는 읽을수만 있는 기억장치로 부팅할 때 동작하는 바이오스 프로그램을 저장하는데 사용하는 장치
RAM(Random Access Memory)는 실행 중인 프로그램과 실행에 필요한 데이터를 저장하는 장치로 일반적으로 주기억장치라고 하면 이것을 말한다, 전원이 차단되면 모든 내용이 지워진다, 휘발성 기억장치
보조기억장치 : 컴퓨터 시스템에 필요한 프로그램을 영구히 저장해놓을수 있도록 만든장치, 저장장치가 이에 해당
캐시 기억장치 : 주기억장치의 접근시간과 중아처리장치와의 속도차이를 줄이기 위하여 캐시 메모리가 사용, 휘발성 기억장치
입력장치 : 입력하는 장치
출력장치 : 프린터, 모니터등
2.컴퓨터 소프트웨어 개요
컴퓨터 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 분류
시스템 소프트웨어 : 응용 소프트웨어를 컴퓨터 시스템에서 쉽게 처리할 수 있도록 지원하는 소프트웨어로서 대표적인 시스템 소프트웨어로는 운영체제와 언어번역 프로그램
운영체제 : 컴퓨터의 하드웨어와 소프트웨어를 제어
언어번역 프로그램 : 프로그래머가 작성한 프로그램을 번역하여 컴퓨터가 이해할수 있는 기계어로 번역해주는 프로그램
응용 소프트웨어 : 컴퓨터 시스템을 어느 응용분야에 사용하기 위하여 특별히 제작된 소프트웨어
3.하드웨어와 소프트웨어의 연관성
응용 소프트웨어>시스템 소프트웨어>하드웨어
* 사용자 프로그램의 처리과정
1.소스 프로그램
- 프로그래밍 언어 : 기계어-사람이 이해할 수 있는 언어
고급언어 : 인간의 언어 표현에 가까운 프로그래밍 언어 C, C++, JAVA등
저급언어 : 기계어와 일대일 대응이 되는 언어, 기계중심적, 어셈블리어
기계어 : 0과 1
2.오브젝트 프로그램
원시 프로그램을 컴파일러에 의해 번역된 프로그램으로 기계어로 번역된 프로그램을 말한다
3.적재 모듈(Linker&Loader)
링커는 시스템의 자원을 연결할 수 있는 시스템 라이브러리를 결합하는 과정으로 실행 가능한 모듈로 목적 프로그램을 변환
로더는 실행해야 할 프로그램을 메모리로 적재하는 프로그램으로 링커를 통해 실행 가능한 모듈로 변환된 프로그램을 실행하기 위하여 메모리로 적재하는 역할을 한다
4.처리 순서
고급언어로 제작한 소스 프로그램을 번역기인 컴파일러에 의해 기계어인 목적 프로그램으로 번역하고 번역된 프로그램을 로더에 의해 메모리에 적재시켜 실행할수 있는 실행파일을 만든다.
* 시스템 프로그램의 발전
1.어셈블러(Assembler)
어셈블리 언어로 작성된 프로그램을 기계어로 번역하는 프로그램
2.매크로 프로세서(Macro Processor)
반복되는 일련의 명령들을 하나의 이름으로 정의해 놓고 프로그래머가 쉽게 이요할 수 있도록 만든 언어
작업순서 : 정의 인식, 정의 저장, 호출의 인식, 호출 확장과 인수 치환
3.로더(Loader)
실행해야할 목적 프로그램을 주기억장치로 적재하는 프로그램. Linker에 의해 시스템 자원을 연결
4.인터프리터(Interpreter)
고급언어로 작성된 원시 프로그램을 한 줄씩 번역하여 실행하는 프로그램
목적프로그램은 생성하지 않는다.
5.컴파일러(Complier)
고급언어로 작성된 원시 프로그램의 소스 전체를 목적프로그램으로 번역하는 프로그램이다. 목적 프로그램을 생성
6.운영체제(OS : Operating System)
사용자가 컴퓨터를 쉽게 사용할수 있도록 다양한 인터페이스를 제공하기 위한 프로그램의 집합
기능에는 컴퓨터의 초기화, 자원의 관리, 편의성 제공, 오류로부터의 회복이 있다.
운영체제의 주요 관리 자원에는 프로세스, 주기억장치, 파일, 주변장치, 주변장치 관리가 있다
운영방식에 따른 운영체제 종류에는 단일, 일괄, 다중, 시분할, 분산처리, 가상시스템이 존재한다.
반응형'프로그래밍 > 시스템프로그래밍' 카테고리의 다른 글
[시스템프로그래밍] 6강 매크로, 매크로의 기능, 매크로 프로세서의 설계 (0) 2014.04.26 [시스템 프로그래밍] 5강 어셈블러 개요, 이중 패스 어셈블러, 이중 패스 어셈블러의 설계, 다중 패스 어셈블러, 테이블 처리 (0) 2014.04.26 [시스템프로그래밍] 4강 어셈블리어 개요, 어셈블리 명령어, 어셈블러 지시어(의사 명령어) (0) 2014.04.26 [시스템프로그래밍] 3강 기계 명령어의 구성, 주소지정방식 (0) 2014.04.25 [시스템프로그래밍] 2강 정보의 단위, 진법, 컴퓨터 조직, 주기억장치의 작동, 명령어 수행 사이클, 데이터의 표현, 인터럽트 (0) 2014.04.25