신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

시스템 프로그래밍

프로그래밍언어를 이용하여 프로그램을 만들기위해 반드시 알아야하는 부분

시스템은 크게 2가지로 이루어진다.

컴퓨터 구조 + 운영체제

 

응용 소프트웨어 개발과의 차이점

시스템 프로그래밍은 모든 응용 프로그램에 포함된다.

(응용 소프트웨어가 시스템 프로그래밍보다 더 큰 범위)

 

컴퓨터 시스템의 범위

하드웨어 + 운영체제

 

시스템 프로그래밍

컴퓨터 시스템을 이용하여 소프트웨어를 개발

운영체제 기능을 활용하여 프로그래밍

 

컴퓨터 시스템의 주요 구성요소

시스템은 크게 2가지로 컴퓨터구조, 운영체제로 나눠진다

컴퓨터 구조와 운영체제는 각각 위와 같이 관리를 한다.

컴퓨터 구조 : CPU, 캐쉬

운영체제 : 메인 메모리 관리, (하드디스크 : 파일 I/O)

 

 

하드웨어 구성

CPU, 컨트롤 유닛(Control Unit)

연산이 이루어지는 곳

중앙처리 장치 (Central Processing Unit)

 

  • ALU

  • Control Unit (CU) : CPU 모든 요소를 제어함

  • 레지스터(Register Set)

  • 버스 인터페이스 (Bus Interface)

크게 3가지로 이루어진다.

 

 

메인 메모리(Main Memory)

램 RAM, 프로그램 실행

 

I/O 입출력 버스(I/O BUS)

데이터 송수신이 이루어짐

 

 

수많은 I/O장치들(키보드, 모니터, 하드디스크 등등)

(각각의 장치들은 입출력 버스 인터페이스들이 존재함)

 

 

덧셈기능 역할을 예를들어보자

  1. 명령어를 실행하면 하드디스크로부터 메인메모리로 이동

  2. 연산을 위해 버스인터페이스를 통해 메모리로부터 CPU로 이동

  3. 연산이 많아질경우 잠시 보관해둘 저장공간이 필요하다. 그래서 CPU내부의 레지스터에 저장을 해둔다.

  4. 덧셈은 컨트롤유닛으로 이동 (무슨 연산을 해야하는지 CU에게 알려줌)

  5. ALU에는 데이터들이 이동

  6. 그리고 덧셈 결과를 레지스터 안에 저장해둔다.

 

클럭신호(Clock Pulse)

동작 타이밍

클럭발생기의 클럭

클럭을 이용해서 동작 타이밍을 정해준다.

 

클럭신호에 따라 연산을 수행한다.

하지만, 연산을 빠르게 하기위해

클럭을 높이면 열이 높아지고, 시스템이 불안해진다.

 

 

필요성

요소들의 동기화

 

모든 하드웨어들이 클럭이 같은건 아니다.

 

 

관련 글

2018/05/10 - [System/System programing] - 프로그램이 생성 및 실행되는 순서, 컴퓨터 구조

 

프로그램이 생성 및 실행되는 순서, 컴퓨터 구조

프로그램이 생성되는 순서 생성 단계는 크게 5단계로 나눠진다. 전처리기 : #으로 시작되는 지시자 (c언어에서 #include, #define 등등) 컴파일러 어셈블러 : 명령어를 바이너리 코드로 바꿔주는 역할 (예를들어,..

hongku.tistory.com

2018/05/10 - [System/System programing] - 문자셋의 종류(SBCS, MBCS, WBCS)와 유니코드, 시스템 프로그래밍

 

문자셋의 종류(SBCS, MBCS, WBCS)와 유니코드, 시스템 프로그래밍

문자셋의 종류 SBCS 1바이트 사용, 아스키코드도 SBCS 문자 형태 MBCS 한글은 2바이트, 영어는 1바이트를 사용하는 형태 WBCS 모든 문자를 2바이트로 사용, 유니코드가 WBCS 문자 형태 요즘은 컴퓨터의 사양이 좋..

hongku.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기