논문 요약 - WebLinux: a scalable in-browser and client-side Linux and IDE
Web/Backend

논문 요약 - WebLinux: a scalable in-browser and client-side Linux and IDE

 

(PDF) WebLinux: a scalable in-browser and client-side Linux and IDE

PDF | "WebLinux" is a web app tool providing a standard Linux OS and an IDE in the browser, including a terminal, a code editor and a file browser. It... | Find, read and cite all the research you need on ResearchGate

www.researchgate.net

ABSTRACT

Weblinux: 표준 LINUX OS/IDE를 제공하는 웹 앱 도구

  • 터미널, 코드 에디터, 파일 브라우저 기능 제공
  • JS emulated processor 기반으로 cline-side 오프라인 리눅스 환경 제공
  • 가상 머신 or 서버를 사용하지 않기 때문에 별도의 software 설치 없이 바로 사용 가능

INTRODUCTION

의의: 초보 학습자가 Linux 명령어를 배우고 시스템 수준 프로그래밍을 실습 해볼 수 있는 간단한 리눅스 환경을 제공하며, 원활한 C 및 Linux 교육을 위해 설계되었다고 볼 수 있음

기존의 clou9.io나 codeanyware.com 같은 무료 웹사이트가 있지만 이런 서비스들은 주로 코드 편집 기술에 집중해있고 완전한 리눅스 터미널/파일 시스템 환경을 지원하지는 않으므로 기대하는 교육적 목적에 부합하지 않음.

Weblinux는 브라우저에서 독립적으로 실행 가능한 Linux OS를 제공하고 (특히) 초보자들이 흔히 어려움을 겪는 리눅스 설치 문제를 해결해줌.

Server 측이 아닌 완전히 Client 측에서 직접 실행하기 때문에 잠재적인 보안 문제도 걱정하지 않아도 됨

무거운 가상 머신이나 원격 연결(서버)이 필요하지 않으며 오프라인으로도 실행이 가능하기 때문에 잠재적으로 발생할 수 있는 네트워크 연결 문제도 자연스레 해결됨

STATE OF THE ART

Emscripten: C를 비롯한 다른 언어들을 asm.js라는 형태로 컴파일을 해줌

⇒ 브라우저에서 가상 머신을 실행하고 모든 종류의 OS를 실행할 수 있음

ex) JSLinux, V86, Jor1k

CUI에 액세스하기 위한 웹 기반 터미널과 GUI 시각화를 위한 canvas 포함

브라우저 내에서 직접 Linux를 실행하는 또 다른 방법: Webassembly

ex) Browsix(마이크로 커널을 부팅하는 오픈 소스 도구)

Linux OS및 CUI에 대한 액세스를 제공하는 대부분의 기존 서비스는 실행 중인 Linux 서버가 필요하며 보완/유지 관리 비용이 추가적으로 요구됨.

CHOICES AND DEVELOPMENTS

Weblinux는 Jor1k의 개선된 버전임.

JSLinux: 오픈소스가 아님 + GCC 실행 불가

V86: 성능이 낮고 복잡함

Browsix: Webassembly 제약 조건 때문에 너무 제한되어 있음 + GCC 실행 불가

다른 제품들: 실행 중인 Linux 서버에 원격으로 연결해야만 함

MAIN FEATURES AND STRENGHTS

주요 기능: 확장성(Scalability)

클라이언드 측에서 실행되기 때문에 Github 페이지처럼 간단한 정적 http 서버에 설치할 수 있음

호스팅이나 보안/유지/관리 비용이 따로 발생하지 않기 때문에 비상업적 교육용으로 적절함

 

왼쪽: 코드 편집기/파일 브라우저

오른쪽: CUI

터미널 - Jor1k에 의해 부팅된 Linux OS에 연결됨

코드 편집기 - "ACE"(cloud9 팀에서 개발한 오픈 소스 프로젝트) 기반

파일 브라우저 - BrowserFS/localstorage API 기반(브라우저에서 zip 파일로 다운로드 하거나 github 저장소로 푸시할 수도 있음

인터넷 연결 없이도 Linux 명령어를 사용하여 C 코드를 컴파일 및 실행할 수 있음

ONLINE LEARNING USE-CASE

  • 프랑스의 IMT 대학에서 "Programmerc en C"라는 강좌에 사용

https://remisharrock.fr/sysbuild/#/VM

 

System Programming

To use this website you need to enable JavaScript in your browser. Your browser does not support the HTML5 canvas. Please upgrade your browser to improve your experience.

remisharrock.fr

DEMO: HANDS-ON TEST OF THE TOOL

Weblinux 데모: 오픈 소스로 공개되어 있음

GitHub - weblinux/weblinux

 

GitHub - weblinux/weblinux

Contribute to weblinux/weblinux development by creating an account on GitHub.

github.com

 

 

728x90