1. 전자 계산기 프로그래밍

1. 프로그래밍의 이해 #

1-1. 프로그래밍의 일반 #

절차적 프로그래밍

  • 컴퓨터에 저장된 명령어들이 순차적으로 실행되는 프로그래밍 방식
    종류설명
    C- UNIX에서 사용하기 위해 개발한 언어
    - 모든 컴퓨터 시스템에서 사용 가능
    - 시스템 프로그래밍에 가장 적합한 언어
    코볼- 사무용으로 설계된 언어
    - 2002년부턴 객체지향 언어
    베이직- 교육용으로 개발된 언어의 문법이 쉬운 프로그래밍 언어
    - 서로 다른 종류 사이의 소스 코드는 호환되지 않음
    포트란- 과학계산에서 필수적인 벡터, 행렬 계산 등이 내장된 과학 기술 전문 언어

객체지향 프로그래밍

  • OOP는 객체 간의 메시지 통신을 이용해 프로그래밍하는 방식
  • OOP는 클래스와 객체를 통해 재사용성을 높인 방식
  • C++, C#, Java

함수형 프로그래밍

  • 프로그램을 기억장소의 상태변화 및 이에 대한 조작으로 기술하는 것이 아닌, 입력과 출력의 함수만 사용해 프로그래밍하는 방식

논리형 프로그래밍

  • 논리 문장을 이용해 프로그램을 표현하고 계산을 수행하는 개념에 기반한 프로그래밍

프로그램 분류 #

응용 프로그램

  • 어떤 문제를 해결하거나 자료처리를 위해 고급 언어등을 이용해 사용자가 직접 작성한 프로그램
  • word processor, db 등

시스템 프로그램

  • 응용 프로그램을 실행하기 위한 플랫폼을 제공하고 컴퓨터 하드웨어를 동작, 접근할 수 있도록 설계된 프로그램
    종류설명
    OS사용자가 hw를 쉽게 사용할 수 있도록 interface 제공하는 sw
    Editoredit txt
    Loader실행 파일을 읽고 main mem에 저장하는 program
    Linker목적 파일들을 합쳐서 하나의 실행 파일을 만드는 program
    Debugger사용자가 작성한 프로그램 오류를 검토 및 수정할 수 있는 program
    언어 번역 프로그램원시 프로그램을 목적 프로그램으로 변환

Loader란? 적할 재연(적재 / 할당 / 재배치 / 연결)

기능설명
적재- 실제 프로그램과 데이터를 주기억장소에 적재
- 적재할 모듈을 주기억장치로 읽어들임
할당- 목적 프로그램이 적재될 주기억장소 내의 공간 확보
재배치- 목적 프로그램을 실제 주기억장소에 맞춰 재배치
- 상대 주소들을 수정해 절대주소로 변경
연결- 필요한 경우 여러 프로그램들 링크 작업
- 외부기호 참조 시, 주소값들 연결

로더 종류

  • 링킹 로더
  • 재배치 로더
  • 절대 로더
  • 컴파일 즉시 로더
  • 부트스트래핑 로더

프로그래밍 작성 절차


1-2.객체지향 일반 #

객체지향은 실세계의 개체를 속성 연산이 결합한 형태의 객체로 표현하는 기법

구성 요소 #

2. 프로그래밍 언어 #

2-1. C언어 #

2-2. PC 어셈블리어 #