1.시스템 프로그래밍
- 시스템 프로그래밍 : 컴퓨터 시스템을 동작시키키는 프로그램, 컴퓨터를 동작시키기 위해 필요한 프로그램(운영체제,컴파일러 등)
- 컴퓨터 시스템 : 하드웨어, 하드웨어가 실제 일을 하게끔 도와주는 운영체제도 포함
- 윈도우즈 시스템 프로그래밍 : 윈도우즈 운영체제 기반의 컴퓨터에게 일을 시키기 위한 프로그램을 구현하는 것
2.컴퓨터 시스템의 주요 구성 요소
컴퓨터 하드웨어의 구성
1. CPU(Central Processin Unit, 중 처리 장치)
- 프로그램 실행에 있어서 핵심적인 역할을 담당
1).ALU(Arithmetic Logic Unit)
- 연산을 담당하는 주체, 산술연산, 논리연산
2).컨트롤 유닛(Control Unit)
- CPU가 처리해야 할 명령어들을 해석, 해석된 결과에 따라 적절한 신호를 CPU의 다른 블록에 보내는 일을 함
3).CPU내부에 존재하는 레지스터들(Register Set)
- 임시적으로 데이터를 저장하기 위한 조그마한 메모리 공간
- CPU내부에 존재하는 2진 데이터 저장을 위한 저장장치
- CPU내부에 여러개가 존재 CPU의 종류에 따라서 그 개수와 형태가 다양
- 레지스터들은 각각의 용도가 정해져 있는것이 일반적, CPU가 연산을 하기 위해서 반드시 필요함
4).버스 인터페이스(Bus Interface)
- 버스가 어떻게 데이터를 전송하는지에 대한 프로토콜 또는 통신 방식을 알고 있는 것
- CPU는 버스 인터페이스를 통해 CPU 내부에 저장되어 있는 데이터를 I/O 버스에 실어 보내기도 하고, I/O 버스를 통해서 전송되어 오는 데이터를 수신하기도함.
5).클런 신호(Clock Pulse)
- CPU는 클럭이 발생될 때마다 그 클럭에 맞춰 일을 함
- CPU의 클럭 속도가 높으면 초당 처리하는 명령어의 개수가 많아지므로 컴퓨터의 전체적인 성능이 좋아짐
- 클럭 신호에 맞춰서 일을 해야하는 이유는 동기화를 위해서 임
2.메인 메모리
- 램(RAM), 컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역, 프로그램 실행을 위해 존재하는 메모리
3.입출력 버스(Input/Output Bus)
- 컴퓨터를 구성하는 구성 요소 사이에서 데이터를 주고 받기 위해 사용되는 경로
- 데이터의 종류와 역할에 따라 구분
프로그램 실행 과정, 하드웨어 구성 재접근
1. 실행 파일 생성 단계
(1).전처리기 : '#'으로 시작하는 지시자의 지시에 따라 소스 변경
(2).컴파일러 : 고급프로그래밍 언어로 작성된 소스코드가 컴파일러에 의해 어셈블리 코드로 번역
(3).어셈블러 : 어셈블리 코드를 CPU가 이해할 수 있는 바이너리 코드로 변경
(4).링커 : 프로그램 내에서 참조하는 함수나 라이브러리들을 하나로 묶는 작업
(5).실행파일 : 바이너리코드 + 라이브러리
'CS > OS' 카테고리의 다른 글
캐시 메모리 에 대한 탐구/캐시 메모리 - 사좋배 공유 (0) | 2019.08.13 |
---|---|
컴퓨터 부팅 과정/컴퓨터 부팅 절차 - 사좋배 공유 (0) | 2019.08.13 |