SlideShare a Scribd company logo
1 of 8
Download to read offline
jslinux



  Linux emulator by Javascript
                Hiro Yoshioka
    YLUG – Yokohama Linux Users Group
                 @hyoshiok
           hyoshiok at gmail.com
       http://d.hatena.ne.jp/hyoshiok
   http://bellard.org/jslinux/
   What is it?
   Linux Emulator
   It is written in Javascript
   Developed by Fabrice Bellard
       QEMU
       2700 billion decimal digits of Pi
       FFMPEG
       TCC, QEmacs, and more
Javascript PC Emulator

   This PC emulator is written in Javascript.
   32 bit x86 compatible CPU
   8259 Programmble Interrupt Controller
   8254 Programmble Interrupt Timeer
   16450 UART
   Real Time Clock
CPU Emulation

   QEMU (developed by Fabrice Bellard)
   Some restrictions
       No FPU/MMX/SSE
       No segment limit and right checks when accessing
        memory.
       No CS/DS/ES/SS segment overrides.
       missing instruction (BCD operations, BOUND, …)
       No single stepping
       No real mode
       No 16 bit protected mode
Device

   No synchronization between PIT and the real
    time
   Clipboard device /dev/clipboard – exchange of
    data between the emulator andf out side world.
Linux Distribution

   2.6.20 linux kernel
   Buildroot
   Busybox
   Tinycc
   qemacs
Javascript

   V8 is slower than Jaeger Monkey
What's the use?

   Benchmarking
   Learning to use command line Unix

More Related Content

What's hot

µCLinux on Pluto 6 Project presentation
µCLinux on Pluto 6 Project presentationµCLinux on Pluto 6 Project presentation
µCLinux on Pluto 6 Project presentationedlangley
 
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapUWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapedlangley
 
Comparison between grub-legacy ,lilo and grub -2
Comparison between grub-legacy ,lilo and grub -2Comparison between grub-legacy ,lilo and grub -2
Comparison between grub-legacy ,lilo and grub -2iamumr
 
LSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMLSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMMarian Marinov
 
Video game console specs 2
Video game console specs 2Video game console specs 2
Video game console specs 2gks1996
 
Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2While42
 
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry code
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry codeKernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry code
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry codeAnne Nicolas
 
PS5 vs XBOX SERIES X
PS5 vs XBOX SERIES XPS5 vs XBOX SERIES X
PS5 vs XBOX SERIES XGARFGAMER
 
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...Torsten Seemann
 
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
Vitaly  ̈_Vi ̈ Shukela - My FOSS projectsVitaly  ̈_Vi ̈ Shukela - My FOSS projects
Vitaly ̈_Vi ̈ Shukela - My FOSS projectsMinsk Linux User Group
 
Description and basics of lilo
Description and basics of liloDescription and basics of lilo
Description and basics of liloiamumr
 
Running Linux On The PlayStation3
Running Linux On The PlayStation3Running Linux On The PlayStation3
Running Linux On The PlayStation3Donald Burr
 
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaBajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaCodemotion
 
อ้อย (2)
อ้อย (2)อ้อย (2)
อ้อย (2)ooyjai
 
อ้อย (2)
อ้อย (2)อ้อย (2)
อ้อย (2)ooyjai
 

What's hot (20)

µCLinux on Pluto 6 Project presentation
µCLinux on Pluto 6 Project presentationµCLinux on Pluto 6 Project presentation
µCLinux on Pluto 6 Project presentation
 
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheapUWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
UWE Linux Boot Camp 2007: Hacking embedded Linux on the cheap
 
Comparison between grub-legacy ,lilo and grub -2
Comparison between grub-legacy ,lilo and grub -2Comparison between grub-legacy ,lilo and grub -2
Comparison between grub-legacy ,lilo and grub -2
 
LSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMLSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVM
 
Video game console specs 2
Video game console specs 2Video game console specs 2
Video game console specs 2
 
Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2Qemu - Raspberry | while42 Singapore #2
Qemu - Raspberry | while42 Singapore #2
 
One plus 5t architecture
One plus 5t architectureOne plus 5t architecture
One plus 5t architecture
 
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry code
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry codeKernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry code
Kernel Recipes 2016 - entry_*.S: A carefree stroll through kernel entry code
 
Pres
PresPres
Pres
 
PS5 vs XBOX SERIES X
PS5 vs XBOX SERIES XPS5 vs XBOX SERIES X
PS5 vs XBOX SERIES X
 
Uclinux
UclinuxUclinux
Uclinux
 
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...Parallel computing in bioinformatics   t.seemann - balti bioinformatics - wed...
Parallel computing in bioinformatics t.seemann - balti bioinformatics - wed...
 
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
Vitaly  ̈_Vi ̈ Shukela - My FOSS projectsVitaly  ̈_Vi ̈ Shukela - My FOSS projects
Vitaly ̈_Vi ̈ Shukela - My FOSS projects
 
Description and basics of lilo
Description and basics of liloDescription and basics of lilo
Description and basics of lilo
 
Running Linux On The PlayStation3
Running Linux On The PlayStation3Running Linux On The PlayStation3
Running Linux On The PlayStation3
 
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaBajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
 
From fermi to kepler
From fermi to keplerFrom fermi to kepler
From fermi to kepler
 
Spesifikasi server
Spesifikasi serverSpesifikasi server
Spesifikasi server
 
อ้อย (2)
อ้อย (2)อ้อย (2)
อ้อย (2)
 
อ้อย (2)
อ้อย (2)อ้อย (2)
อ้อย (2)
 

Similar to Linux Emulator in Javascript

Embedding Linux On The Encore Simputer
Embedding Linux On The Encore SimputerEmbedding Linux On The Encore Simputer
Embedding Linux On The Encore SimputerSatpal Parmar
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practicalMoabi.com
 
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...PROIDEA
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAlan Renouf
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOSICS
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopQuey-Liang Kao
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slidesMoabi.com
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Akihiro Hayashi
 
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMUSFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMULinaro
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation Jiann-Fuh Liaw
 
RTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftRTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftJou Neo
 
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]RootedCON
 
Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Scala Italy
 
emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08Neil Pittman
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machinesAnne Nicolas
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleAlison Chaiken
 
PowerDRC/LVS 2.0.1 released by POLYTEDA
PowerDRC/LVS 2.0.1 released by POLYTEDAPowerDRC/LVS 2.0.1 released by POLYTEDA
PowerDRC/LVS 2.0.1 released by POLYTEDAAlexander Grudanov
 

Similar to Linux Emulator in Javascript (20)

Embedding Linux On The Encore Simputer
Embedding Linux On The Encore SimputerEmbedding Linux On The Encore Simputer
Embedding Linux On The Encore Simputer
 
[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical[Defcon] Hardware backdooring is practical
[Defcon] Hardware backdooring is practical
 
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
CONFidence 2017: Escaping the (sand)box: The promises and pitfalls of modern ...
 
QEMU in Cross building
QEMU in Cross buildingQEMU in Cross building
QEMU in Cross building
 
Advanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtopAdvanced performance troubleshooting using esxtop
Advanced performance troubleshooting using esxtop
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slides
 
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
Exploring Compiler Optimization Opportunities for the OpenMP 4.x Accelerator...
 
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMUSFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
SFO15-202: Towards Multi-Threaded Tiny Code Generator (TCG) in QEMU
 
QEMU - Binary Translation
QEMU - Binary Translation QEMU - Binary Translation
QEMU - Binary Translation
 
RTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draftRTOS on ARM cortex-M platform -draft
RTOS on ARM cortex-M platform -draft
 
Video Drivers
Video DriversVideo Drivers
Video Drivers
 
The Spectre of Meltdowns
The Spectre of MeltdownsThe Spectre of Meltdowns
The Spectre of Meltdowns
 
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]
Jaime Peñalba - Kernel exploitation. ¿El octavo arte? [rooted2019]
 
Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64
 
emips_overview_apr08
emips_overview_apr08emips_overview_apr08
emips_overview_apr08
 
Developping drivers on small machines
Developping drivers on small machinesDevelopping drivers on small machines
Developping drivers on small machines
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
 
PowerDRC/LVS 2.0.1 released by POLYTEDA
PowerDRC/LVS 2.0.1 released by POLYTEDAPowerDRC/LVS 2.0.1 released by POLYTEDA
PowerDRC/LVS 2.0.1 released by POLYTEDA
 

More from Hiro Yoshioka

Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Hiro Yoshioka
 
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Hiro Yoshioka
 
不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにかHiro Yoshioka
 
続・人生100年時代の学び方
続・人生100年時代の学び方続・人生100年時代の学び方
続・人生100年時代の学び方Hiro Yoshioka
 
人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活Hiro Yoshioka
 
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Hiro Yoshioka
 
人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性があるHiro Yoshioka
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7Hiro Yoshioka
 
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演Hiro Yoshioka
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】Hiro Yoshioka
 
未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_studyHiro Yoshioka
 
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Hiro Yoshioka
 
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56Hiro Yoshioka
 
理科系の作文技術
理科系の作文技術理科系の作文技術
理科系の作文技術Hiro Yoshioka
 
Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Hiro Yoshioka
 
質問される力 #TechGirls
質問される力 #TechGirls質問される力 #TechGirls
質問される力 #TechGirlsHiro Yoshioka
 
Oracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるOracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるHiro Yoshioka
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureHiro Yoshioka
 
Project Based Learning using by PaaS
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaSHiro Yoshioka
 

More from Hiro Yoshioka (20)

Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
 
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
 
不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか
 
続・人生100年時代の学び方
続・人生100年時代の学び方続・人生100年時代の学び方
続・人生100年時代の学び方
 
人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活
 
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
 
人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
 
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
 
未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study
 
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
 
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
 
理科系の作文技術
理科系の作文技術理科系の作文技術
理科系の作文技術
 
Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015
 
質問される力 #TechGirls
質問される力 #TechGirls質問される力 #TechGirls
質問される力 #TechGirls
 
Oracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるOracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考える
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker culture
 
Be Hacker
Be HackerBe Hacker
Be Hacker
 
Project Based Learning using by PaaS
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaS
 

Recently uploaded

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Recently uploaded (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Linux Emulator in Javascript

  • 1. jslinux Linux emulator by Javascript Hiro Yoshioka YLUG – Yokohama Linux Users Group @hyoshiok hyoshiok at gmail.com http://d.hatena.ne.jp/hyoshiok
  • 2. http://bellard.org/jslinux/  What is it?  Linux Emulator  It is written in Javascript  Developed by Fabrice Bellard  QEMU  2700 billion decimal digits of Pi  FFMPEG  TCC, QEmacs, and more
  • 3. Javascript PC Emulator  This PC emulator is written in Javascript.  32 bit x86 compatible CPU  8259 Programmble Interrupt Controller  8254 Programmble Interrupt Timeer  16450 UART  Real Time Clock
  • 4. CPU Emulation  QEMU (developed by Fabrice Bellard)  Some restrictions  No FPU/MMX/SSE  No segment limit and right checks when accessing memory.  No CS/DS/ES/SS segment overrides.  missing instruction (BCD operations, BOUND, …)  No single stepping  No real mode  No 16 bit protected mode
  • 5. Device  No synchronization between PIT and the real time  Clipboard device /dev/clipboard – exchange of data between the emulator andf out side world.
  • 6. Linux Distribution  2.6.20 linux kernel  Buildroot  Busybox  Tinycc  qemacs
  • 7. Javascript  V8 is slower than Jaeger Monkey
  • 8. What's the use?  Benchmarking  Learning to use command line Unix