본문 바로가기
목차
CE

Machine 이란?

by ds31x 2026. 3. 3.
728x90
반응형

Machine이란 무엇인가?

컴퓨터를 정의할 때 다음과 같이 말한다.

컴퓨터는 program(= set of instructions)을
실행하는 electronic machine 임.

 

이 문서는 machine이라는 용어를 좀 더 자세히 소개한다.


1. 공학적 의미의 Machine ***

공학에서 machine은 다음과 같이 정의할 수 있다.

energy 또는 information 또는 signal 을 입력받아
물리적 법칙에 따라 변환 하고
출력을 생성하는 physical system

핵심 구조는 다음과 같다.

Input → Internal Transformation → Output

이 관점에서 machine은 transformation system 임.

 

힘의 방향 및 크기 등을 변환하는 lever(지레) 가 전형적인 Machine이라고 볼 수 있음.

https://dsaint31.tistory.com/285

 

Lever : 인체지레

인체에서 인체 지레(lever) 형태로 moment of force의 작용을 확인할 수 있음. Lever(지레) : 축을 중심으로 회전 또는 힘을 전달하는 도구나 장치 위 그림은 2종 지레의 한 예로서 발꿈치 끝으로 서 있는

dsaint31.tistory.com


2. 계산 이론에서의 Machine

Computer Science에서 machine이라는 용어는 좀 더 추상화된다.

대표적인 예가 Alan Turing의 Turing Machine이다.

 

여기서 machine은 물리적 장치라기보다는 다음을 의미함:

정의된 rule에 따라
state를 transition시키며
computation을 수행하는 abstract computational model

 

 

Turing Machine은

  • 실제 하드웨어를 전제하지 않음.
  • 계산 가능성(computability)을 정의하기 위한 mathematical model 임.
  • computation의 한계를 분석하기 위한 이론적 도구.

 

중요한 구성 요소는 다음과 같다.

  • state: 현재 machine이 어떤 상태에 있는지를 나타냄
  • transition function: 현재 state와 input에 따라 다음 state를 결정하는 규칙
  • tape: 데이터를 저장하는 무한한 길이의 저장 공간
  • read/write head: tape에서 데이터를 읽고 쓰는 장치

즉, machine은 본질적으로 state transition system 이다.


3. Automaton과 Turing Machine

관련된 좀 더 일반화된 용어로는 Automaton(오토마톤)이 있음.

 

Automaton은 일반적으로 다음과 같이 정의된다.

input에 따라 state를 전이시키는 formal state transition model.

여기서 formal은 수학적 기호와 규칙으로 정의 됨을 의미함.

 

쉽게 말해,

Automaton은 입력을 받으면 정해진 규칙에 따라 상태가 바뀌는 추상적인 기계이다.

 

대표적인 예는 다음과 같다.

  • Finite Automaton (유한 오토마톤): 상태의 수가 유한한 가장 단순한 형태
  • Pushdown Automaton (푸시다운 오토마톤): stack 메모리를 가진 형태

Automaton은 수학적으로 정의된 모델이며, 계산 능력에 따라 계층 구조를 형성함.

 

Turing Machine은 automaton의 한 종류이지만, 다음과 같은 점에서 다른 automata와 구별된다.

구분 일반 Automaton Turing Machine
메모리 제한적 또는 없음 무한 tape 가정
계산 능력 제한적 Turing-complete (모든 계산 가능)
목적 특정 패턴 인식 (language recognition) 일반 계산 모델 (general computation model)

 

즉,

  • 모든 Turing Machine은 automaton이다.
  • 그러나 모든 automaton이 Turing Machine은 아니다.

Turing Machine은 automaton 중 가장 강력한 계산 능력을 가진 모델 이라고 생각하면 된다.


참고: Truing Completeness

참고로, Turing Machine과 동등한 계산 능력을 가진 경우Turing-complete 라고 부름:
Turing Machine이 계산할 수 있는 모든 함수를 Turing-complete system은 계산할 수 있음.

 

일반적으로 다음 4가지를 만족하면 Turing-complete하며 이는 범용 프로그래밍 언어가 제공하는 기본적인 기능들에 해당함:

  • 변수/메모리: 데이터를 저장하고 읽을 수 있는가?
  • 조건문: if-else와 같은 분기가 가능한가?
  • 반복문/재귀: loop 또는 recursion이 가능한가?
  • 무한 실행 가능성: 이론적으로 무한히 실행될 수 있는가?

범용 프로그래밍 언어는
Turing-completeness를 만족해야 함
(HTML은 이 관점에서 범용프로그래밍 언어가 아님).

https://dsaint31.me/mkdocs_site/CE/ch08/ce08_programming_language/

 

BME

abstraction control structure high-level language low-level language programming Programming Language 어떤 주어진 문제를 해결하기 위해, 인간과 컴퓨터 사이에서 의사 소통을 가능케 하는 인공적인 언어 Natural Language(

dsaint31.me


4. Machine과 Physical Implementation

Turing Machine은 추상적 모델이며,
현대 computer는 이를 물리적으로 구현한 것이라고 볼 수 있음.

 

Computer는

  • input을 받고
  • program이라는 rule set을 적용하며
  • internal state를 변화시키고
  • output을 생성한다.

이는 Turing Machine의 계산 구조와 정확히 대응됨.


5. Virtual Machine의 위치

Virtual Machine(VM)은 software로 정의된 computer(=machine)이다.

2024.04.22 - [CE] - [CE] Virtual Machine, Web Browser and Bytecode.

 

[CE] Virtual Machine, Web Browser and Bytecode.

Virtual Machine (가상 머신) An abstract computer with an incredibly complicated instruction set (=Bytecode)implemented entirely in software 참고: bytecode란?2024.06.05 - [CE] - [CE] Bytecode (바이트코드) [CE] Bytecode (바이트코드)Bytecode

ds31x.tistory.com

 

예:

  • Java Virtual Machine (JVM)
  • Python Virtual Machine (PVM)
  • Web Browser

VM은 abstract machine이지만,
그 실행은 반드시 physical hardware 위에서 이루어진다.

Application
    ↓
Virtual Machine (software layer)
    ↓
Operating System
    ↓
Physical Hardware (actual machine)

6. 핵심 정리

  1. Machine은 transformation system이다. (입력 → 변환 → 출력)
  2. Machine은 state transition system이다. (상태가 규칙에 따라 변화)
  3. Automaton은 상태 전이를 수학적으로 정의한 formal model이다.
  4. Turing Machine은 가장 강력한 계산 능력을 가진 automaton이다.
  5. Computer는 Turing Machine을 물리적으로 구현한 것이다.

7. 요약

Computer Science에서 machine은 다음을 의미함:

rule에 따라 state를 변화시키며
computation을 수행하는
computational system

728x90

'CE' 카테고리의 다른 글

Modulation 의 여러 정의  (0) 2026.03.02
USENet-User's Network  (0) 2026.03.02
Theoretical Compilation Phases (이론적 컴파일 단계)  (0) 2026.03.02
context 란?  (0) 2026.02.25
Cryptography: From Symmetric-Key Encryption to TLS  (0) 2026.01.29