운영체제 개념과 종류

Download Report

Transcript 운영체제 개념과 종류

프로그래밍 언어
2013학년도 1학기
(Chapter10)
Chapter 10. 프로그래밍 언어
I. 개념과 종류
•
프로그램 작성(개발)
- 컴퓨터에게 사용자가 원하는 동작을 하고 명령하는 행위
- 컴퓨터는 기계이므로 단순히 사람이 시키는 대로 동작하게끔 설계됨
- 컴퓨터가 원하는 대로 움직여주지 않는 것은 소프트웨어 작성자의 책임
•
프로그래밍
- 자료구조(data structure) + 알고리즘(algorithm) -> 논리(logic)를 구현하는 작
업
- 표본조사 결과를 통해 통계를 내는 프로그래밍 작업 예
1. 표본 조사 결과들을 저장한 변수 결정(정수? 실수? 다른 구조) -> 자료구조
2. 통계를 위한 수식 사용 결정(정규분포? 포아송 분포) -> 알고리즘
3. 위를 바탕으로 궁극적으로 구현하는 것은 사용자가 원하는 결과에 이르는
논리
컴퓨터활용
Page 2
Chapter 10. 프로그래밍 언어
I. 개념과 종류
• 프로그램
- 통칭적인 의미를 가지며 소프트웨어와 유사한 개념
- 소프트웨어가 하드웨어에 대비되는 큰 분류로서의 의미
- 프로그램이란 구체적으로 작성된 실행 코드나 패키지를 의미
- 프로그램 = 시스템 프로그램(운용체제 등) + 사용자 프로그램(응용 프로그램)
- 모든 장치들은 운영체제가 제어 및 관리를 하기 때문에 프로그래밍 환경은 운
영체제에 종속되고 하드웨어가 다르더라도 운영체제가 같으면 사용자는 하드
웨어에 무관하게 프로그램을 작성할 수 있음
•
프로세스
- 실행 코드가 컴퓨터에서 수행될 경우 프로세스(process)라 함
•
프로세서(processor)
- 프로그램을 이용하여 조정할 수 있는 연산제어 장치(CPU)
컴퓨터활용
Page 3
Chapter 10. 프로그래밍 언어
I. 개념과 종류
• 프로그램 과정(소프트웨어 공학)
- 어떤 기능을 수행할 것인지 결정. 프로그램을 수행시켰을 때 컴퓨터가
어떻게 반응해 주기를 바라는지 구체적으로 기술
- 어떠한 프로그래밍 언어를 것이며 어떠한 개발 환경에서 작업할 것인
지 결정
- 프로그래밍 전 자신의 의도를 논리화하여 체계화 함. 사람 위주 생각 > 기계 위주
- 자료 구조를 설정
- 세부적인 알고리즘을 결정
- 편집기(Edit)를 이용하여 직접 코딩함
- 컴파일 과정을 통해 오류를 정정하고 결과를 확인
- 확인된 기능 위에 자신이 원하는 기능을 자꾸 더해가며 반복
컴퓨터활용
Page 4
Chapter 10. 프로그래밍 언어
I. 개념과 종류
• 프로그램 언어의 선택
- 초보자에게 어울리는 언어란?
중요한 것은 사고의 체계. 일반적으로 널리 쓰이는 언어. 꾸
준함이 중요
- C 언어는 전문가용인가?
프로그래밍 언어는 단지 도구일 뿐, 중요한 것은 논리 이다
• 프로그래밍 언어의 종류
- 어셈블리어 : 기계어를 문자화 시킨 언어
- 포트란(FORTRAN) : 복잡한 수학계산/과학기술계산에는 용이하
나 사무용으로는 불리
- 코볼(COBOL) : 사무용으로 널리 사용된 언어. 파일 처리에 용이
- 파스칼(PASCAL) : 교육적인 언어로 사용됨. 완성도가 높은 언어
컴퓨터활용
Page 5
Chapter 10. 프로그래밍 언어
I. 개념과 종류
- C 언어
유닉스 OS 개발에 사용. 범용 언어이며 이식성/확장성/유연성이 뛰어남
구조화 프로그래밍에 적합한 제어문을 가지고 있음/ 비트 단위의 연산이 가
능
포인터를 사용하여 자료 값을 조작할 수 있음
함수들의 집합으로 구성
오류검사 기능이 약함
포인터가 과다 사용 될 경우 오류 발생의 원인을 발견하기 어려움
밀집된 표현으로, 읽기가 어려운 프로그램이 될 수 있음
- C++ : 객체지향 언어. C와 유사한 점이 많음. 그러나 다른 언어라고 보는게 옳
음
- 자바(JAVA)
객체지향 언어이며 범용언어
C++에 비해 배우기 쉽다(x)
JIT 컴파일러 / VM에서 동작
자바스크립트 언어와는 전혀 다른 언어
컴퓨터활용
Page 6
Chapter 10. 프로그래밍 언어
I. 개념과 종류
- C#
객체지향 언어이며 범용언어
닷넷(.NET) 플랫폼에서 동작
자바 언어와 비슷
- 기타 언어 : 비주얼베이직, LISP, 프롤로그,
델파이, 파워빌더 등
컴퓨터활용
Page 7
Chapter 10. 프로그래밍 언어
II. 번역 기법
• 컴파일러
- 특정 프로그램 언어로 작성된 문장을 처리하여 기계어 또는 컴퓨터가 사용할 수 있는 코
드로 변경시켜주는 특수한 용도의 프로그램
•
컴파일러 실행 과정
- 소스코드의 모든 문장을 먼저 구분적으로 분해
- 만일 다른 문장을 참조하는 경우 문장이 정확히 참조될 수 있도록 여러 번의 연속적인 상
태에서 결과 코드를 생성(목적코드:object code)
- 목적코드가 동시에 실행되고 서로의 명령이나 데이터를 상호 참조하게 될 때, 그 명령어
나 데이터들 간의 상대적 위치를 정함(링크 편집: Linkage editing)
* 자바 언어는 목적코드를 바이트 코드로 생산(어떤 플랫폼에서도 동작될 수 있도록)
컴퓨터활용
Page 8