flat assembler
Message board for the users of flat assembler.
Index
> High Level Languages > Crazy but can be amazing... |
Author |
|
bitRAKE 06 Nov 2007, 21:06
The main reason for VM's is security, imho. People try to sell the portablity aspect, but that isn't really true. When software is a company's business there is great financial security in separating your product from the hardware implementation. This is the reason both Sun and MS have worked very hard to support languages that run on VMs. Even a company as large as IBM cannot afford to rest their software ventures on specific hardware - they need to be able to shift with emerging technologies (software and hardware).
There is tons of research done on emulation and dynamic complilation of bytes codes for VMs. Apparently, there is enough information about the intended task to optimize code at run-time to surpass native code in some cases. I am suspicious about the amount of overhead this entails, but can certainly imagine it matching compiled HLL code. I'm not familiar with JVM - just interested in code generation techniques - like Softwire an interesting project by Nicolas Capens, but it looks like it's been removed since being commercialized. |
|||
06 Nov 2007, 21:06 |
|
flash 06 Nov 2007, 22:49
The main idea is to obtain a Java based OS but translated "on hardware". I mean, the normal operation of JVM is on top of some guest Operating System, but could be possible to obtain more beneficts if it is closer to real hardware. If fasm is used to bring a thin but flexible and robust minimal abstraction layer ir order to work as in a real Java Machine then the speed, performance, and portability or some OS based and writed for java could be bigger than actuals OS.
I am talking about of some "Java Virtual Hardware Machine" because this new implementation could mannage real hardware. Of course, once the new "virtual hardware" is ready we must write some OS but this OS is fully portable due it runs over JVM architecture. I think it could have better performance than any available JVM because it will not be "an other process", it will be allmost the main process (and possible the only one) of some very basic assembler based OS(but it must support multithreading and multitasking). Please some one who write what about this idea. _________________ i don't hate goto |
|||
06 Nov 2007, 22:49 |
|
bitRAKE 06 Nov 2007, 22:58
Some people have done that with Forth language. Thanks for clarifying.
|
|||
06 Nov 2007, 22:58 |
|
vid 06 Nov 2007, 23:03
flash: so you basically want FASM-written virtual machine / operating system?
|
|||
06 Nov 2007, 23:03 |
|
flash 09 Nov 2007, 03:59
Yes this is a point of view. Fasm can be used to build some kind of VM but the main diference whit classicals is that it "recently named" VJHM will be designed for Java architecture. After that we got a new "hardware"...
The adventaje: we could use java to develop a portable OS. Essentialy we can develop a VM that must run faster because it runs closer at hardware. Theoricaly, all applications developed on that OS could run at others JVM over differents plattforms. And in any case we could have an fasmj to preserve the tradition and our assembly love. Who want to become crazy? As far as I know I can not do that alone... _________________ i don't hate goto |
|||
09 Nov 2007, 03:59 |
|
vid 09 Nov 2007, 04:20
Quote: Essentialy we can develop a VM that must run faster because it runs closer at hardware. which part of JVM exactly would profit from running "closer to hardware" ? |
|||
09 Nov 2007, 04:20 |
|
flash 09 Nov 2007, 06:21
No, no, excuse me if I do not explain well. You told me first about some VM / OS writed on fasm, continuing this idea I mean:
when we use JVM and any VM, it must deal with guest OS interruptions, events, system calls and memory limitations. In fact any VM runs as an other simple process. But my idea is to create a very basic OS in order to bring the VM closer to real hardware. We will made a "virtual hardware" (fasm-written VM) and once it is ready could be possible write a new OS. I am thinking about java because its popularity, wich can ensure at some point future development. And because it has well defined bytecodes. The real challenge is to model hardware mannagement like net cards, HDD and so. AS far as I know any VM uses guest OS APIS to access this resources but in practice it could be implemented over the thin software layer that abstracts real hardware over virtual hardware (that's fasm-written VM). I hope you understand and comment me your opinion |
|||
09 Nov 2007, 06:21 |
|
treeform 30 Nov 2007, 00:21
java already compiles to native code during just-in-time compiler step... you probably will not save anything.
|
|||
30 Nov 2007, 00:21 |
|
kohlrak 01 Dec 2007, 02:10
not reading all the replies, but my guess is that you can over-come the security feature by having a minimal OS to run the JVM. The purpose would be to give a simple file system and provide simple networking and even a security layer. Though in all reality, that'll make java programmers even more lazyer for now they don't have to be as careful when programming, for now the hardware can handle java better. It'd be like telling people to program efficiently for windows. Give people a speedy system, they will seemingly use up as much of that speed as they possibly can without regard for the existance of other programs. The problem with programming these days (in my opinion) is that programmers still program in a DOS mentality where only their program is running on the OS rather than a multi-tasking mentality where there is many processes fighting for resources.
|
|||
01 Dec 2007, 02:10 |
|
f0dder 02 Dec 2007, 18:22
Microsoft has already done a dotNET experimental/research kernel, don't have a link ready, but try google.
|
|||
02 Dec 2007, 18:22 |
|
MCD 08 Jan 2008, 08:26
Actually, there is hardware which can directly execute Java Bytecode, a kind of Java machine instruction.
just have a short look at this java microprocessor: http://ipr.ira.uka.de/komodo/komodoEng.html this has been a collaboration of the University of Augsburg and Karlsruhe |
|||
08 Jan 2008, 08:26 |
|
f0dder 08 Jan 2008, 13:00
There's also the [url=http://www.arm.com/products/esd/jazelle_home.html}ARM Jazelle[/url] stuff...
|
|||
08 Jan 2008, 13:00 |
|
LocoDelAssembly 08 Jan 2008, 15:40
http://www.sun.com/software/communitysource/processors/download_picojava.xml (You can download Verilog source of picoJava2)
http://www.jopdesign.com/perf.jsp (Another implementation in FPGA and also lists some others implementations including komodo and picoJava) |
|||
08 Jan 2008, 15:40 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.