BGM용 세이라디오
열기▼       고정
전체
글목록

컴퓨터의 본질과 '추상화'

토요일, 2월 01, 2014

지금 이 글도 브라우저로 보고 있을 것이다. 브라우저의 복잡한 기능은 하위로 내려가면 결국 엄청나게 많은 0과 1의 연속으로 분해된다. 컴퓨터를 켜는 것조차도 미리 준비된 프로그램인 BIOS같은 프로그램에 의해 이루어진다.(불을 지피듯이 작은 프로그램에서 기하급수적으로 고급 소프트웨어를 실행한다.) 컴퓨터는 곧 오르골이 전기로 돌아가고 엄청 커진 것이라고 봐도 된다.

컴퓨터의 본질은 결국 천공카드에 가깝다.
촬영자 Arnold Reinhold
이렇게 하위와 상위의 괴리가 엄청난 컴퓨터는 추상화의 연속이다. 이용자가 일일이 CPU에 10101010110101010...을 보낼 필요 없이 클릭과 키보드 입력만 해주면 화면을 송출해주고 계산도 해주는 등 다양한 기능을 수행한다.

(전문 용어는 ''로 묶는다)
'추상화(Abstraction)'은 하위 특징에서 상위로 옮겨가는 과정으로, 'Bottom-Up' 방식이므로 '객체 지향'과 유사하다. 컴퓨터의 동작 하나하나를 다루지 않고 "입력" "저장" "곱하기" 등의 추상적이고 상급인 개념으로 옮김으로써 보다 다루기 쉬워진다.

컴퓨터는 명령어의 연속이다. 그동안 컴퓨터의 규모가 눈덩이처럼 커지면서 0과 1의 기계어가 어셈블리어로, C언어 등의 상급 언어로 발달하였다. 추상화의 독특한 예가 바로 프로그래밍 언어인 것이다. 프로그래밍 언어는 명령어를 작성하기 위해 스스로에 의해 만들어지고 스스로를 발전시킨 새로운 언어와 엔진을 만들어냈다는 점이 특수하다고 볼 수 있다.
인터넷이 활성화되고 브라우저를 비롯한 웹 환경이 발달하면서 요즘은 '웹앱'이라는 용어도 탄생했다. 인터넷을 기반으로 탄생한 '앱'이기 때문이다. 포털과 인터넷 쇼핑몰, 카페 등이 대표적이다.

하드웨어 장치의 '드라이버'도 추상화의 대표적 예다. 흔히 폰을 컴퓨터에 연결할 때 드라이버를 설치하는데, 서로 다른 OS와 하드웨어때문에 생기는 환경차이를 접목시키는 역할을 한다. 마치 해외에 방문한 사람들을 위해 말을 해석, 전달해주는 통역사같은 역할을 하는 것이다.
첫 댓글을 써주세요!

댓글을 인용하려면 @![댓글 ID]!@와 같이 쓰시면 됩니다. "@!" 와 "!@"를 쓰시려면 "+@+!+", "+!+@+"와 같이 써주세요.

페이스북 댓글
.post-outer{ -webkit-transform:none; transform:none; display:inline; padding:0; margin:0; border-width:0; } .hentry>div{ display:none; }