Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Sep 2000 12:46:48 +0900
From:      Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
To:        Steve Kargl <sgk@troutmask.apl.washington.edu>, Dag-Erling Smorgrav <des@ofug.org>
Cc:        freebsd-hackers@freebsd.org, freebsd-emulation@freebsd.org
Subject:   Re: PEACE - Portable Executable win32 API Compatible Environment.
Message-ID:  <200009190346.MAA78539@shidahara1.planet.sci.kobe-u.ac.jp>
In-Reply-To: Your message of "Mon, 18 Sep 2000 14:23:10 MST." <200009182123.OAA15595@troutmask.apl.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200009182123.OAA15595@troutmask.apl.washington.edu>, Steve Kargl wrote:
>Dag-Erling Smorgrav wrote:
>> Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp> writes:
>> > PEACE is Win32 API Compatible environment for (Originally) NetBSD.
>> > It consist of three parts:
>> > Kernel part to load PE format executable onto process memory space.
>> > Dynamic Linker to link with PE format DLL.
>> > Libraries to translate Win32 API call to NetBSD native system call.
>>
>> What is the difference between PEACE and WINE?
>>
>
>Wine is actually trying to completely replace MS windows (include
>win3.1, win95, win98, and winnt).  SO, wine includes code  for the
>old 16 bit API(s) and it is trying to replace all on the MS
>dll's with built-in dll.

Yes ,but more essential difference is the way the executable binaries
are treated.

In FreeBSD Linux ABI support,executable binariies are treated as a
executable text and kernel translate system calls so static Linux
binaries can be run.

      +--------+
      |Linux   |
      | binary |
      |+ Lib   |
      |        |
      +--^-----+
	 |
    -----v-------KERNEL----
     |Linux Syscall|
     |Entry        |
     +-------------+

In Wine, Wine behaves as operation system that runs under FreeBSD and
from FreeBSD, Windows executable is treated as data file.


     +----Wine--------+
     | +--------+     |
     | |Windows |     |
     | |App.+lib|     |
     | +^-------+     |
     |  |      	      |
     +--v-------------|
     | Internal Lib   |
     +----^-----------+
	  |
  --------v------KERNEL------------
        (Native system entry)


In PEACE,kernel execute PE executable (NE Win16 Binaries and DOS application
is not supported) directry and prepare library imprementing win32 API by
FreeBSD native system call and replace some win32 library by it.


    +----------+
    |Win32 Exec|
    |+some native
    |Lib. +----+
    |     |    |
    +-----+    |
    |replaced lib
    +---^------+
	|
        |
  ------v----KERNEL-----------
    (Native sysent)

That is my understanding.

Takanori Watanabe
<a href="http://www.planet.sci.kobe-u.ac.jp/~takawata/key.html">;
Public Key</a>
Key fingerprint =  2C 51 E2 78 2C E1 C5 2D  0F F1 20 A3 11 3A 62 2A 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009190346.MAA78539>