2011년 5월 18일 수요일

브라우저에서 동작하는 자바스크립트 리눅스

재미있는 것을 하나 소개하고자 한다. 그것은 바로 브라우저에서 동작하는 리눅스이다.
일단, 몇 마디 보다도 직접 사이트를 방문해서 사용해 보는 것이 가장 좋을 것이다. 사이트는
http://bellard.org/jslinux/ 이며, 동작하게 되면 아래와 같은 화면을 볼 수 있다.


리눅스 부팅되는 화면을 볼 수 있으며, 램디스크가 설정되고 Welcome to JS/Linux 을 볼 수 있다. 커서가 깜빡이며 명령어를 사용할 수 있으며, 사용된 커널은 2.6.20 이다.

~ # uname -a                                                                  
Linux (none) 2.6.20 #3 Sat May 14 19:08:30 CEST 2011 i586 GNU/Linux            
~ # df -k                                                                      
Filesystem           1K-blocks      Used Available Use% Mounted on            
/dev/root                 2011      1467       442  77% /                      
tmpfs                    15224         0     15224   0% /tmp                  
~ #                                                                            
~ #      

이 모든 것이 자바스크립트로 구현되었다는 것이 놀라울 따름이다. 이것을 사용하기 위해서는
파이워폭스 4, 구글 크롬 11 버전이 필요하다.

자바스크립트 리눅스에서 컴파일도 가능한데 살펴보면 아래와 같다.
                                               
~ # ls                                                                        
hello.c                                                                        
~ #                                                                            
~ # ls                                                                        
hello.c                                                                        
~ # tcc hello.c                                                                
~ # ls -l                                                                      
total 4                                                                        
-rwxr-xr-x    1 root     root          1940 May 18 13:51 a.out                
-rw-r--r--    1 root     root           214 May 18 13:51 hello.c              
~ # ./a.out                                                                    
Hello PacketInside                                                            
http://packetinside.com                                                        
~ #                    

리눅스가 브라우저 안으로까지 들어왔다는 놀라운 사실. 그렇다면 이게 뜻하는 것은 무엇일까?
앞으로 계속 발전되면 더욱 다양한 것들이 동작할 수 있게 될 것이고, 브라우저만 있으면
많은 것들을 할 수 있게 된다. 다만, 아직 아쉬운 것은 네트워크 관련한 부분은 가능하지 않다.
네트워크 인터페이스가 없기 때문이다. 설마 이 안에서 네트워크 패킷 덤프까지 가능해진다면 ? 그건 상상에 맡기고, 한번 사용해 보기 바란다.

P.S TOP 명령어도 사용가능하다. 이렇게 동작하는거 보면 진짜 동작하는게 맞다 :-)

[참고]
1. 자바스크립트 리눅스 기술적 배경
http://bellard.org/jslinux/tech.html        
2. JavaScript: Linux in a browser 기사
http://us.generation-nt.com/emulator-linux-javascript-bellard-news-2922501.html          

댓글 없음:

댓글 쓰기