VM을 알아보자 02

in #sct5 years ago (edited)

이전편은 가상기계 VM의 기본지식에 대해서
알아봤습니다.

그로부터 바야흐로 꽤 지났죠-ㅅ-

많은 일이 있어서 그렇습니다.
사실 알트숏치겠다고는 했지만 생각해보니
알트숏을 칠려면 비트를 사야되요
근데 돈이 없으니까.. 비트 살려면
알트를 손절해야하잖아요?
에... 손절할 용기가 나지 않았어요
그래서 까짓꺼 내려가봤자 얼마나 내려가겠어
하고 존버했는데
존나게 내려가네요???
아이고 험한말 쓰면 안되는데 주의하겠습니다

이건 내가 쓴말이 아니니 괜찮죠?

또 전 나름대로 분산투자한답시고 분산했는데
분산하니까 골고루 망하더군요
역시 안될넘은 뭘해도 안된다는 교훈을
아주 사토시하게 얻었고요

지금이라면 나카모토 사토시씨를 만나서 면전에서
비트 불매운동을 벌일 수 있을거 같은
상큼한 기분이예요 ^^

뭐 어쩔 수 없죠. 설마 0 원 되겠음?
아.. 덴새X.. 아이고 말이 헛나왔네요 저도 모르게
본심이.. 여하튼 덴님께서 0원 발언을 하긴했군요

그래서 불안해서 잠시 손절을 했더니
칼같이 오르네요

제가 볼땐 이놈의 튤립개사기 폰지스캠 코인판은
글렀다고 봐요. 하지만 아직도 미련이 남았는지
재탑승 시기를 재고 있네요

휴..-ㅅ-..

사견은 됐고 계속해서 VM에 대한 설명이나
가겠습니다.


그럼 가상의 기계를 폭넓게 구현하는 것은 알았는데
그걸 왜 구현할까요

답은 꽤 단순합니다

'지금 내가 그 기계를 가지고 있지 않으니까요'

비슷한 예로 '가상의 여친' 이란게 있습니다

없으니까
가상의 여친이라도 만들려고 발버둥치는 것입니다아..;ㅁ;/

하지만 이건 너무 일반적인 답변이고
EOS가 VM 만들려는 것에 대한 이해랑은 동떨어져있습니다
그리고 딱히 우리가 스맛폰이 없어서
컴터에서 VM 돌려 폰겜을 키보드로하는게 아니죠

지금에와서 VM은 없어서 만든다는 것보다
상대방과 똑같은 기계를 만들었을때 혹은 공동으로 사용할때
발생하는 효과가 매우 좋다는 것에 의미가 있습니다

그 효과는 크게 두가지인데요.

첫째는,
어떤 환경에도 구애받지 않고 가상의 기기를 만들어서
자유롭게 사용하고 싶을때

둘째는,
어떤 환경에서도 똑같은 결과값이 나오는 것

요렇게 입니다.

첫째는 사용자쪽의 입장인데요

찢어지게 가난하여 윈도95를 쓰고 있지만
맥용 프로그램은 돌리고 싶은때 방법이 뭘까요

젤 좋은 방법은 맥소유자의 뒷통수를 때리고
기절했을때 맥을 가져가는 것입니다
이 경우는 완벽한 호환을 자랑하기에
그동안 돌리고 싶었던 맥프로그램을 실컷 돌릴 수 있습니다

하지만 맘이 약하신 분들은 그게 잘 안되죠 (범죄이기도하고..)

그럼 어떻게 할까

바로 가상의 여친처럼 가상의 맥기계를 만드는 것입니다
가상의 여친과 달리 이쪽은
프로그래밍으로 정말로 맥처럼 돌아가는 것을
만들 수 있기에

사용자들이 자신이 가진 기기에 구애받지 않고
가상 맥 컴퓨터를 마련하고
그 가상 맥 컴터안에 맥 프로그램을 깔아서
돌릴 수 있습니다.

이는 단순 사용자 문제를 넘어서
개발자가 각 기기별로 돌아가는 프로그램 만드느라
슈퍼 개노가다를 하는 것을 막아주는
매우 중대하고도 유용한 것입니다.

만약 아이폰에서 안드로이드VM 이 있다면
아이폰용 앱을 기다릴 필요없이 바로 안드로이드앱들을
깔아 할 수 있겠죠.

두번째는 개발자 입장에서 환경을 통합할 필요가
있기때문입니다.

'컴퓨터의 파란 전원버튼을 누르면 켜집니다'

같은 매우 원숭이적인 지시라도

'선생님 제컴은 파란 버튼이 없습니다'

라는 강력한 저항에 부딪칠 수 있는 것이
가혹한 컴맹의 세계입니다.

그래서 어느 클래스나 동일한 컴터들, 동일한 OS를
깔고 수업을 시작합니다.
두번다시 파란 버튼 핑계를 못대도록..

이렇게 환경을 동일하게 맞추면
동일한 행동에서 동일한 결과를 예상할 수 있고
'선생님 컴퓨터가 켜지지 않습니다' 라는 질문에
'나도 안켜진단다' 라는 자상한 대답을 할 수 있게 됩니다

하지만 여친이라면 몰라도
어디사는지도 모르는 타인한테
자기 컴이랑 똑같은 것을 선물하여 환경을 맞출 순 없습니다

그럴때...

활용할 수 있는 것이 바로 가상머신(VM)인 것입니다.
VM이라면 비용이 한푼도 나가지 않으므로
놀라운 아량으로 누구에게나 하사할 수 있죠

그렇게 VM을 나눠주고 일을 시작함으로써
모두가 동일한 환경에서 작업하는게 됩니다.

혹은 서버에 VM을 설치하고 모두가 그 VM에
접속하여 작업하게 할 수도 있습니다.

이더리움의 EVM이 그러한 원리입니다.

이더리움의 블록체인안에는
EVM이라는 거대한 가상 컴퓨터가 미리
설치되어 있습니다.

이더리움의 스마트 컨트렉트는 거기에 깔리는 프로그램이죠
누군가가 스마트 컨트렉트를 짜서 올리면
EVM에 설치가 됩니다.
그리고 사용은 EVM에 접속해서 실행시키면 됩니다.

이렇게 공용컴을 사용함으로써 똥컴, 슈퍼컴 차별없이
누구나 거지 같은 성능의 EVM을 단통법처럼
공평하게 사용할 수 있게 되었습니다.

모든 것을 종합하여 한줄로 정리하면

VM은 비물리적인 표준을 만들 수 있는 방법
이라고 할 수 있습니다.

물리적인 표준은 도면을 설계하고
모두가 그 도면에 맞춰서 물건을 제조하는 것이라면
(USB 구멍 같은거..)

VM은 가상머신을 만들어 베포하여
모두가 그 가상머신으로 물건을 만들게 하는 것이죠

Sort:  

역시 가상머신은 쉬운 말로도 이해하기가 어렵군요. 저는 가상머신으로 속도가 왜 빨라지는지만 이해할 수 있으면 좋겠어요.
아무튼 코인의 세계에서는 뭔가 새로운 것을 계속 알아야 하는 부담이 증가하네요.

현재 가상머신은 구형이고...
이후 신형으로 만들어서 빨라진다고 이해하시면 될겁니다.

크... 이제는 구닥다리 느낌이 나기도 하는
서버 가상화와 데스크탑 가상화 같은 것만 해봤는데
블록체인의 VM은 또 새로운 개념이구만요.
혹시 3편 나오나요?!

아뇽-ㅅ-; 아마 저보다 더 많이 아실듯;

써주소서...ㅠㅠ

글에서 깊은 빡침이 느껴져서 놀리지도 못하겠네요 ㅠㅠ
힘내세요!

진짜 숏을 쳐버릴까-ㅅ-;

EVM을 이해하기 위한 기나긴 여정이 덕분에 웃음으로 가득했습니다.
하지만.. 마찬가지로 깊은 분노가 느껴져 진중하게 댓글 달고 갑니다.