From: Jeff D. <jd...@ka...> - 2000-10-19 20:47:46
|
mi...@me... said: > I've made the Linux application runner utility for Windows that I was > working on over the summer available on the web. Very cool. I'll fiddle with my site some to add pointers to your stuff. > The basic difference between them is that 'Version1' executes the > syscalls in the Linux application's process space and 'Version2' > executes the syscalls in the monitor's process space. With UML, it has to be in the app. You had only one thread, so you could do syscalls wherever you wanted. The UML tracing thread has to serve all threads in the kernel, so when a syscall sleeps, it has to be in the app. > Only a very small subset of the Linux syscalls have actually been > implemented and the ones that have been implemented are buggy! That's OK. I've already got the system calls covered :-) I'm curious as to why, once you had decided to do this, you didn't just link the kernel in to get the real system calls. That would have resulted in a completely independent implementation of UML... On Windows, no less... > It's > somewhat embarrassing releasing code in such a pre-alpha condition :P You should have seen some early versions of UML... In retrospect, I'm glad I didn't get slasdotted until last week. Much earlier, and a lot of people could have been turned off by bugs, things that didn't work, and things that weren't there. Now, the bugs aren't that noticable, there aren't that many missing things, and I can claim that those are on the way. The one downside of having it happen last week was that was the middle of the stack overflow thing, but most slashdotters are probably running 2.2, and didn't notice that. Jeff |
From: Michael V. <mi...@me...> - 2000-10-19 21:57:23
|
On Thu, 19 Oct 2000, Jeff Dike wrote: > Very cool. I'll fiddle with my site some to add pointers to your stuff. Thanks > I'm curious as to why, once you had decided to do this, you didn't just link > the kernel in to get the real system calls. That would have resulted in a > completely independent implementation of UML... On Windows, no less... That's sortof what I was working towards when I got swamped with real work and had to stop. You can see that with the source for 'version2', how it's more laid out like the real kernel source. But the fact that the kernel is quite gcc specific was a real pain considering I was using VC++. I know cygwin would have been the logical choice, but I prefer the VC++ debugger over gdb :) > In retrospect, I'm glad I didn't get slasdotted until last week. I was actually really surprised by how long it took. You should have been slashdotted half a year ago IMO Mike |
From: Erik P. <epa...@cs...> - 2000-10-19 22:07:04
|
On Thu, Oct 19, 2000 at 05:57:09PM -0400, Michael Vines wrote: > On Thu, 19 Oct 2000, Jeff Dike wrote: > > > Very cool. I'll fiddle with my site some to add pointers to your stuff. > > Thanks > > > I'm curious as to why, once you had decided to do this, you didn't just link > > the kernel in to get the real system calls. That would have resulted in a > > completely independent implementation of UML... On Windows, no less... > > That's sortof what I was working towards when I got swamped with real work > and had to stop. You can see that with the source for 'version2', how > it's more laid out like the real kernel source. But the fact that the > kernel is quite gcc specific was a real pain considering I was using VC++. > I know cygwin would have been the logical choice, but I prefer the VC++ > debugger over gdb :) Cygwin requires that all the cygwin dll's be installed on the executing machine though, right? So ideally, a UML port to NT would be with VC (which I realize would be a tremendous pain in the ass) -Erik |
From: Michael V. <mi...@me...> - 2000-10-19 22:11:37
|
On Thu, 19 Oct 2000, Erik Paulson wrote: > Cygwin requires that all the cygwin dll's be installed on the executing > machine though, right? So ideally, a UML port to NT would be with VC > (which I realize would be a tremendous pain in the ass) I think the only DLL you really need is cygwin.dll, which just needs to be located in the same directory as the executable. However you only need the cygwin dll's if you are using the Cygwin libraries. You can use Cygwin to build normal Win32 applications that do not depend on cygwin.dll at all. Mike |