flat assembler
Message board for the users of flat assembler.

Index > High Level Languages > Crazy but can be amazing...

Author
Thread Post new topic Reply to topic
flash



Joined: 11 Mar 2006
Posts: 55
Location: Cuba
flash 06 Nov 2007, 17:41
Hi everybody:
I was thinking (I mean seriously thinking) about the posibility of a vary big but interesting project.
Java is one of the most referenced languajes on the world, if the hardware could suport it directly, it probably could be the natural languaje that we use for computer programming, but it is not.
On the other hand, we got pretty things like Menuet, SolarOS or Kolibrí.
Idea What if we implement some kind of Low Level Virtual Machine, something capable of make directly translations of JVM bytecodes to Intel architecture for example? We could make a very thin assembler software layer for Intel architecture in order to support JVM. The posibilities of that implementation could be incredibles. And looking to what is made (multitasking and multithreading Solar, Menuet and Kolibrí) the work seems to be not unrecheable.
Who can comment it?. I am very interestend on it but I am not a guru on JVM
I am waiting... Question

_________________
i don't hate goto
Post 06 Nov 2007, 17:41
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4081
Location: vpcmpistri
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.
Post 06 Nov 2007, 21:06
View user's profile Send private message Visit poster's website Reply with quote
flash



Joined: 11 Mar 2006
Posts: 55
Location: Cuba
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
Post 06 Nov 2007, 22:49
View user's profile Send private message Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4081
Location: vpcmpistri
bitRAKE 06 Nov 2007, 22:58
Some people have done that with Forth language. Thanks for clarifying.
Post 06 Nov 2007, 22:58
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 06 Nov 2007, 23:03
flash: so you basically want FASM-written virtual machine / operating system?
Post 06 Nov 2007, 23:03
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
flash



Joined: 11 Mar 2006
Posts: 55
Location: Cuba
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? Smile As far as I know I can not do that alone...

_________________
i don't hate goto
Post 09 Nov 2007, 03:59
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
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" ?
Post 09 Nov 2007, 04:20
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
flash



Joined: 11 Mar 2006
Posts: 55
Location: Cuba
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
Post 09 Nov 2007, 06:21
View user's profile Send private message Reply with quote
treeform



Joined: 09 Jul 2007
Posts: 6
treeform 30 Nov 2007, 00:21
java already compiles to native code during just-in-time compiler step... you probably will not save anything.
Post 30 Nov 2007, 00:21
View user's profile Send private message Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
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.
Post 01 Dec 2007, 02:10
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 02 Dec 2007, 18:22
Microsoft has already done a dotNET experimental/research kernel, don't have a link ready, but try google.
Post 02 Dec 2007, 18:22
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
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
Post 08 Jan 2008, 08:26
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 08 Jan 2008, 13:00
There's also the [url=http://www.arm.com/products/esd/jazelle_home.html}ARM Jazelle[/url] stuff...
Post 08 Jan 2008, 13:00
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
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)
Post 08 Jan 2008, 15:40
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.