용어정리

아키텍처[Architecture]

컴퓨터 아키텍처라고도 한다. 처리단위인 어장, 기억방법인 어드레스방식, 데이터의 형식 등 기본적 요소의 조합으로 컴퓨터의 용도, 처리속도 등이 크게 달라진다.

 바이너리[Binary]<- 2진수
본래는 2진수로 표시되는 데이터의 의미지만, 일반적으로 바이너리라고 한다. 텍스트 동의 문자로서의 의미를 가진 데이터에 대하여 프로그램의 동작을 결정하는것, 또는 일정한 포맷에 따라 기록되는 데이터를 말한다.

라이브러리[Library]
이용자가 필요에 따라서 사용하는 표준화된 프로그램 및 서브루틴의 모임을 만한다.
제공형태응 유저 프로그램의 속에서 서브루틴으로서 사용되는 서브모듈형과 일련의 처리가 라이브러리의 속에서 완결하는 패킷형으로 크게 나누어지는데 이것을 달리 프로그램 라이브러리라고도 한다.

패킷[Packet]<-데이터를나눠서 넘겨주는것
패키지(Package)와 버킷(Bucket)의 합성어. 우체국에서 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는것에 접목하여 표현.
즉, 데이터 전송에서 송신측과 수신측에 의하여 하나의 단위로 취급되어 전송되는 집합체를 의미한다.  전자우편이나 HTML, GIF 등 어떤 종류의 파일에도 적용할 수가 있다. 이때 분할된 각각의 패킷에는 별도의 번호가 붙여지고 목적지의 인터넷 주소가 기록되며, 에러 체크 데이터도 포함된다.

파일을 분할해서 전송하지만 수신하는 곳에서는 원래의 파일로 다시 재조립된다. 헤더와 데이터,테레일러로 이루어져 있는데, 헤더에는 데이터가 전달될 주소와 순서 등이 기록되고, 테레일러에는 에러 정보가 기록된다. 보통 2계층으로 내려가기 전까지 3~4계층의 데이터 단위는 패킷이라고 하고, 1~2계층의 데이터 단위는 프레임이라고 한다. 일반적으로 128바이트가 표준이지만 32,64,256바이트와 옥텟 등 편의에 따라 크기를 바꿀 수 있다.

내부에 상대방의 주소를 갖고 있기 때문에 신뢰도가 높으며, 에러를 체크하는 등고품질의 전송을 제공할 수 있는 장점이 있다. 또 통신망을경제적으로 구성할 수 있고, 전송속도와 코드를 바꿀 수 있으므로 서로 다른 기종을 사용하는 사용자들끼리도 통신이 가능하다.

프로토콜[Protocol]<-단말기 사이의 통신규약
정보기기 사이 즉 컴퓨터끼리 또는 컴퓨터와 단말기 사이 등에서 정보교환이 필요한 경우, 이를 원활하게 하기 위하여 정한 여러 가지 통신규칙과 방법에 대한 약속 즉, 통신의 규약을 의미한다.

통신규약이라 함은 상호간의 접속이나 전달방식, 통신방식, 주고받을 자료의 형식, 오류검출방식, 코드변환방식, 전송속도 등에 대하여 정하는 것을 말한다. 일반적으로 기종이 다른 컴퓨터는 통신규약도 다르기 때문에, 기종이 다른 컴퓨터간에 정보통신을 하려면 표준 프로토콜을 설정하여 각각 이를 채택하여 통신망을 구축해야 한다. 대표적인 표준 프로토콜의 예를 든다면 인터넷에서 사용하고 있는 TCP/IP가 이에 해당된다.

포로토콜이라는 규약의 집합 속에는 이러한 오류에 대응하기 위한 약속이 대단히 중요하다. 또한 정보를 정확하고 효율적으로 전송하기 위해서는 송수신 개체 간에 서로 정보의 전송 시점을 맞추는 일(동기화)도 수행해야 하고, 정보 흐름의 양을 조절하는 흐름 제어방법도 역시 사전에 약속하여 프로토콜 속에 포함해야 한다.

구성파일[configuration file]
응용 프로그램을 설치할 때 사용자가 선택한 시스템 구성 요소의 조건이나 설정한 특성 등을 보관한 파일. 응용 프로그램측에서 생성되며, 사용자가 응용 프로그램을 시동할 때 사용할 수 있다.

검사함[Checksum]<-통신이 잘 되고 있나 확인하는거
데이터의 정확성을 검사하기 위한 용도로 사용되는 합계. 오류 검출 방식의 하나이다. 대개는 데이터의 입력이나 전송 시에 제대로 되었는지를 확ㅇ딘하기 위해 입력 데이터나 전송 데이터의 맨 마지막에 앞서 보낸 모든 데이터를 다 합한 함계를 따로 보내는 것이다. 데이터를 받아들이는 측에서는 하나씩 받아들여 합산한 다음 이를 최정적으로 들어온 검사 합계와 비교하여 착오가 있는지를 점검한다.

인터럽트[Interrupt]<- 경고창, 경고음 등
프로세서(CPU, 중앙처리장치)의 즉각적인 처리를 필요로 하는 이벤트를 알리기 위해 발생하는 주변 하드웨어나 소프트웨어로부터 요청을 말한다. 인터럽트가 발생하면 그 순간 운영체계 내의 제어프로그램에 있는 인터럽트 처리 루틴이 작동하여 응급사태를 해결하고 인터럽트가 생기기 이전의 상태로 복귀시킨다.

인터럽트의 목적은 다음과 같다

-CPU 자원의 효율적 이용 : 주변 장치의 속도가 CPU 속도보다 훨씬 느리기 때문에 주변 장치가 처리를 수행하는 동안 CPU는 다른 작업을 수행하고, 처리 종류 후 이를 알리기 위해 사용된다. 프로그래밍 방식에는 인터럽트 방식과 폴링방식이 있는데 정기적으로 CPU상태를 확인하는 폴링 방법을 사용하게 되면 폴링을 위해 다른 처리의효율이 떨어진다. 따라서 인터럽트 방식을 사용할경우 처리 종료 인터럽트를 받을 때까지 CPU는다른작업에   집중할수있다.
-응답성향상 : 키보드, 마우스 등의 사용자 인터페이스는 입력 지연 혹은 누설 없이 이를 안정적으로 처리해야 한다.
-예외 처리의 효율화 : 주변 장치에 이상이 발생한 경우 인터럽트를 이용하여 장애를 신속하게전달할 수 있게 한다.
-정확한 타이밍 제어 : 이미지 표시, 음악 연주 및 시계 등의 타이밍을 처리를 위해 기기가 탑재하는 타이머에 의한 인터럽트를 이용해 CPU 타이밍을 제어한다.

인터럽트는 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나뉜다. 일반적으로 인터럽트는 하드웨어 인터럽트를 가리키는 경우가많고 후자를 SWI(WoftWare Interrupt)라고 구별하기도 한다.하드웨어 인터럽트는 CPU외부의 디스크 컨트롤러나 주변장치로부터 요구되는 것으로, 운영체제의 처리를 요하는 상황을 알리기 위해 전기적인 신호를 사용해 구현된다.

하드웨어 인터럽트가 발생하는 예로는 프로그램을 실행하는 도중 갑작스런 정전이나 컴퓨터 자체 내에서기계적인 문제가 발생한 경우(기계검사 인터럽트), 오퍼레이터나 타이머에 의해 의도적으로 프로그램이 중단된 경우(외부 인터럽트), 입출력의 종료나 입출력의 오류에 의해 CPU의 기능이 요청되는 경우(입출력 인터럽트), 프로그램 실행 중 보호된 기억공간내에 접근하거나 불법적인 명령 수행과 같은 프로그램의 문제가 발생한 경우(프로그램검사 인터럽트)등이 있다.

어플리케이션[Application]
운영 체제 상에서 실행되는 모든 소프트웨어. 컴퓨터 프로그램 집함체 일반적으로 응용프로그램이라 한다. 보다 넓은 의미의 애플리케이션은 컴퓨터 장비인 시스템을 이용하여 목적 업무를 수행하기 위한 프로그램을 일컫는다.

배열[Array]
1개 이상의 데이터 요소를 나열한 것으로서 각 요소는 크기와 성격이 일정하다. 이는 배열명으로 식별되고 구성요소는 배열명에 괄호를 붙여 그 안에 첨자로서 식별된다. 배열의 종류는 1차원, 2차원, 3차원 배열이 사용된다.

시리얼[Serial]
한 번에 한 가지 일만 일어나는 것.
한 번에 여러 가지 일이 일어나는 병렬(Parallel)과 반ㄴ대되는 개념으로 우리말로는 직렬이라고 한다. 가격이 저렴하며 접속이 쉽기 때문에 컴퓨터와 주변기기를 연결하는 방식으로 많이 사용된다. 마우스,키보드, 모뎀 등은 대표적인 시리얼 방식이다. 이 밖에도 접속이나 전송 등에 많이 채용되며,컴퓨터 내부에도 데이터를 시리얼로 전송하는 회로들이 많이 있다.

COM포트[COM port]
DOS에서 컴퓨터네서 사용되는 직렬 통신 포트를 가르치는 장치명. COM은 모두 대문자로 표기되지만 두 문자어는 아니다. 그것은 communication의 줄임말로 PC의 시리얼 포트를 나타내는 데 쓰인다. COM은 일반적으로 숫자를 붙여서 COM1, COM2, COM3, COM4처럼 쓰인다.

모뎀[MODEM]
컴퓨터 시스템에서 중앙 처리 장치(CPU)와 단말 장치와의 데이터 전송에 아날로그 전화 회선을 이요할 때 직병렬 변환을 하지 않으면 회선에 접속할 수 없다. 이 직병렬 변환 및 그 제어 장치를 말한다.

[네이버 지식백과]

FIFO[First In First Out]
대기행렬에서의 선입선처리 제어방식이다. 복수의 신호 혹은 잡이 처리대기로 되어 있을 경우 처리의 우선순위를 붙이지 않고 먼저 도착한 순서로 처리하는 방식이다.

CMOS[complementary metal-oxide semiconductor]
p 태널의 MOS 트랜지스터와 n 채널을 그것을 서로 절연하여 동일칩에 만들어 넣어 양자가 상보적으로 동작하도록 한 것. 소비 전력은 micro W 정도이고 동작은 고속, 잡음 배제성이 좋다. 전원 전압의 넓은 범위에서 동작하고, TTL에 적합하며 동일 회로 내에서 공존 가능하다. 팬아웃 용량도 크다

소스코드[Source code]
컴퓨터 프로그램을 (사람이 읽을 수 있는) 프로그래밍 언어로 기술한 글을 말한다. 한 개, 또는 여러 개의 텍스트 파일로 구성되어 있다. 현대 소프트웨어 개발에서 기계어는 극히 일부 영역에서만 쓰이며,, 대부분 고급 언어로 된 소스 코드를 컴파일하여 개발한다. 소프트웨어와 이에 동반하는 소스 코드는 일반적으로 크게 자유 소프트웨어와 사유 소프트웨어 가운데 하나의 라이센스를 지닌다.
소스 코드는 주로 실행 프로그램을 만드는 과정을 입력하는 데 이용된다. (이를테면 컴파일이나 해석 과정)또, 사람들 사이에 알고리즘을 주고 받는 방식으로 이용되기도 한다. 프로그래머는 프로그래밍 기술을 배우려면 기존에 있던 소스 코드를 살펴보는 것이 도움이 된다. 개발자들 사이의 소스 공유는 프로그래밍 기술의 성숙 요소에 기여하는 역할을 하며 자주 인용된다. 소프트웨어를 다른 컴퓨터 플랫폼에 포팅하는 것은 일반적으로 소스 코드 없이는 불가능하다. 이진 번역(ㅂ바이너리)과 원본 플랫폼의 에뮬리이션과 같이 이요할 수 있는 포팅 옵션들이 있다. 실행 프로그램의 디컴파일은 고급 언어에서나 어셈블리어로 소스 코드를 만들어내는 데 쓰인다.

빌드[build]
컴퓨터 소프트웨어 분야에서 소프트웨어 빌드(software build)는 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정을 말하거나 그에 대한 결과물을 일컫는다. 소프트웨어 빌드에 있어 가장 중요한 단계들 가운데 하나는 소스 코드 파일이 실행 코드로 변환되는 컴파일 과정이다.



댓글

이 블로그의 인기 게시물

EBIMU-9axis

CMAKE 문법

Gyro sensor