From owner-java@jp.FreeBSD.org Mon Sep  9 23:31:56 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g89EVup08971;
	Mon, 9 Sep 2002 23:31:56 +0900 (JST)
	(envelope-from owner-java@jp.FreeBSD.org)
Received: from pooh.softalia.com (pooh.softalia.com [65.161.202.173])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g89EVo308966
	for <java@jp.FreeBSD.org>; Mon, 9 Sep 2002 23:31:51 +0900 (JST)
	(envelope-from kkonaka@softalia.com)
Received: from tigger.softalia.com (tigger.softalia.com [65.161.202.175])
	by pooh.softalia.com (8.9.3+Sun/3.7W-isfs) with ESMTP id KAA10236;
	Mon, 9 Sep 2002 10:31:38 -0400 (EDT)
Received: from tigger.softalia.com (kkonaka@tigger.softalia.com [65.161.202.175])
	by tigger.softalia.com (8.11.4/3.7W-isfs) with ESMTP id g89EVbZ21742;
	Mon, 9 Sep 2002 10:31:37 -0400
Message-ID: <sqb1y831bgf.wl@nue.mac.com>
From: kkonaka@mac.com
To: java@jp.FreeBSD.org
In-Reply-To: <20020830.152855.846933591.shudoh@localhost>
References: <20020828113650.7bc6d4f7.daichi@jp.freebsd.org>
        <20020828.135007.730550306.shudoh@localhost>
        <20020829131407.4f3c16ad.daichi@jp.freebsd.org>
        <20020830.152855.846933591.shudoh@localhost>
User-Agent: Wanderlust/2.6.0 (Twist And Shout) SEMI/1.14.3 (Ushinoya)
 FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 Emacs/20.7
 (i586-pc-linux-gnu) MULE/4.0 (HANANOEN)
MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: java@jp.FreeBSD.org
Precedence: list
Date: Mon, 09 Sep 2002 10:31:28 -0400
X-Sequence: java 220
Subject: [java 220] Re: Java Memory Model
Errors-To: owner-java@jp.FreeBSD.org
Sender: owner-java@jp.FreeBSD.org
X-Originator: kkonaka@mac.com
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020902

> $B$^$?!"(Bmprotect(2) $B$r8F$s$G!"(B
> $B%F%-%9%H%;%0%a%s%H$r=q$-9~$_2DG=$K$9$k$3$H$b$G$-$k$h$&$G$9!#(B
> Linux (2.4.20-pre5) $B$H(B FreeBSD (4.6 8$B7n>e=\$/$i$$$N(B STABLE) $B$G;n$7$^$7$?!#(B

{per thread and/or $BDL>o(B} $B$N(B stack segment $B$K(B PROT_EXEC 
$B$,$D$$$F$$$k$N$O$J$<$J$N$G$7$g$&$M!)(B (buffer overrun 
$B$J$I$N(B security $BLdBj$+$i8+$k$H$H$F$b2x$7$$@_Dj(B) $B$H0JA0(B
$BJ9$$$?$i(B - $B$?$H$($P(B sigtramp $B$GMW$k$+$i(B - $B$H$$$&$3$H$@$C(B
$B$?$N$G$9$1$I!"$=$l$G$b$J$*2x$7$$$h$&$J46$8$,$7$F$7$^$$$^$9!#(B

- $B$?$H$($P(B glibc-linuxthreads $B$@$H$3$s$J46$8(B:
  map_addr = mmap(NULL, stacksize + guardsize,
                  PROT_READ | PROT_WRITE | PROT_EXEC,
                  MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);

java $B$H$O4X78$J$$$h$&$J5$$b$J$s$H$J$/$9$k$N$G$9$,!"$7(B
$B$+$7!";n$7$K!"J9$$$F$_$k$H!"<B$O$d$C$Q$j4X78$"$j(B - $B$@$C(B
$B$?$j$9$k$G$7$g$&$+!)(B


$B$3$J$+(B

--
($B$^$($N(B
http://www.cs.rice.edu/~weimin/ Java/DSM
$B$J$s$+$G$O$d$C$Q$j(B mprotect() $B$"$?$j$,(B
$B=P$F$/$k$N$G$9$1$I!"$b$C$HIaDL$N4D6-$G$b(B
$B4X78$"$C$?$j$9$k$G$7$g$&$+!)(B)
