Cooperative Linux
-
Soeben habe ich ein ziemlich cooles Projekt entdeckt: coLinux
Kurz: es lässt Linux in einem Win32 Prozess laufen, ist also viel schneller als in einer VMWare oder Cygwin.
Hat das jemand von euch schon einmal ausprobiert?
-
Linux-User schrieb:
Hat das jemand von euch schon einmal ausprobiert?
ich verwende es.
-
es lässt Linux in einem Win32 Prozess laufen, ist also viel schneller als in einer VMWare oder Cygwin
WTF?
Diese Formulierung ("ist also") impliziert dass da irgendein Zusammenhang bestehen würde. Ganz davon abgesehen dass ich sowieso schonmal bezweifle *dass* es überhaupt so ist.
-
hustbaer schrieb:
Diese Formulierung ("ist also") impliziert dass da irgendein Zusammenhang bestehen würde. Ganz davon abgesehen dass ich sowieso schonmal bezweifle *dass* es überhaupt so ist.
Es gab schon häufiger Projekte, die versucht haben, den Linux-Kernel auf Win32 zu portieren. Und dass ein nativer Kernel in einem Windows-Programm schneller ist als ein emulierter, ist auch einleuchtend.
Ein weiteres solches Projekt ist zum Beispiel andLInux.
http://www.andlinux.org/EDIT: ich sehe gerade, andLinux basiert auf coLinux...
-
Heinzelotto schrieb:
Und dass ein nativer Kernel in einem Windows-Programm schneller ist als ein emulierter, ist auch einleuchtend.
Jaja blub. Ein emulierter Kernel.
----
Wie soll bitte etwas "viel schneller" sein als Linux unter VMware, wenn Linux auf VMware bloss minimal langsamer läuft als Linux auf "bare metal".
Ich will das coLinux ja garnicht schlecht reden, bloss dass es "viel schneller" als ein unter VMware laufendes System ist ist wohl ... kompletter Unfug.
-
ob die messungen irgendwas aussagen, weiß ich nicht. aber ich mess mal ein wenig drauflos:
ich weiß nicht, wieviel ram man einem linux in VMWare geben mußt
mein gentoo frißt beim idlen nach dem booten ... moment, mal messen...
vorher 255MB
nachher 293MB
mein gentoo frißt beim idlen nach dem booten 38MB.ich lasse ich es auch immer mitlaufen, die 38M gönne ich mir.
jetzt starte ich noch eine konsole, damit zugang zum gentoo habe.
296MBmal ein wenig daten lesen.
localhost ~ # ls -lR / | wc -l
die platte rödelt, der speicherverbrauch steigt, windows reagiert noch normal.
ausgabe: 265084localhost ~ # time ( ls -lR / | wc -l )
real 0m3.690s
user 0m1.760s
sys 0m1.930slocalhost ~ # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor 3000+
stepping : 2
cpu MHz : 1799.000
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow
pni lahf_lm ts fid vid ttp tm stc
bogomips : 22701.67
clflush size : 64speicherstatus jetzt: 537MB
colinux allokiert also speicher erst bei bedarf und gibt ihn nicht einfach so zurück. man kann natürlich einstellen, wieviel ram es benutzen darf.localhost ~ # uname -a
Linux localhost 2.6.22.18-co-0.8.0 #1 PREEMPT Sun Nov 30 23:32:39 UTC 2008 i686
AMD Sempron(tm) Processor 3000+ AuthenticAMD GNU/Linuxoh, weie. das ist aber ein altes image. habe das aktuelle vor ein paar tagen gelöscht beim festplattenumbau. auf dem neuen war die gcc aktuell, auch mit mingw.
so, genug gespielt. ich mache
> halt
9 sekunden.
-
falls es von euch auch jemand ausprobieren mag, wird es hilfreich sein, meine einstellungen zu sehen.
starten mit
colinux-daemon.exe -d @gentoo.conf
die gentoo.conf
kernel=C:\Programme\coLinux\vmlinux #cobd1=C:\Programme\coLinux\data\gentoo.old #cobd2=C:\Programme\coLinux\data\gentoo.img #sdc1=:cobd2 cobd1=C:\Programme\coLinux\data\gentoo.img #cofs0=C:\src # setcobd=async root=/dev/cobd1 # Initrd installs modules into the root file system. # Need only on first boot. initrd=initrd.gz mem=500 eth0=tuntap,"coLinux",12:34:56:78:9A:BC eth1=ndis-bridge,"LAN",12:34:56:78:9A:BD # Run an application on colinux start (Sample Xming, a Xserver) #exec0=C:\Programs\Xming\Xming.exe,":0 -clipboard -multiwindow -ac"
und die gentoo-installationsbefehle
wget -c http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/releases/x86/current/stages/stage3-i686-2008.0.tar.bz2 wget -c http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/snapshots/portage-latest.tar.bz2 mkfs.ext3 /dev/cobd2 ! mkdir /mnt/gentoo mount -o noatime /dev/cobd2 /mnt/gentoo tar xvjpf stage3-*.tar.bz2 -C /mnt/gentoo tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr cp -L /etc/resolv.conf /mnt/gentoo/etc/ mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev chroot /mnt/gentoo /bin/bash env-update source /etc/profile #emerge --sync rm /etc/locale.gen echo en_US ISO-8859-1 >> /etc/locale.gen echo en_US.UTF-8 UTF-8 >> /etc/locale.gen echo de_DE ISO-8859-1 >> /etc/locale.gen echo de_DE@euro ISO-8859-15 >> /etc/locale.gen locale-gen cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime rm /etc/make.conf echo 'CHOST="i686-pc-linux-gnu"' >> /etc/make.conf echo 'CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"' >> /etc/make.conf echo 'CXXFLAGS="${CFLAGS}"' >> /etc/make.conf echo 'ACCEPT_KEYWORDS="~x86"' >> /etc/make.conf emerge --unmerge sys-libs/ss emerge --unmerge sys-fs/e2fsprogs emerge --unmerge sys-libs/com_err emerge -uDN world echo -5 | etc-update emerge -e world echo -5 | etc-update rm /etc/fstab echo -e "/dev/cobd1 / ext3 noatime 0 1" >> /etc/fstab echo -e "shm /dev/shm tmpfs nodev,nosuid,noexec 0 0" >> /etc/fstab rm /etc/conf.d/net echo 'config_eth0=("192.168.200.2/24")' >> /etc/conf.d/net echo 'routes_eth0=("default via 192.168.0.1")' >> /etc/conf.d/net echo 'config_eth1=("192.168.1.252/24")' >> /etc/conf.d/net echo 'dns_servers_eth1=( "192.168.1.253" )' >> /etc/conf.d/net cd /etc/init.d ln -s net.lo net.eth0 ln -s net.lo net.eth1 rc-update add net.eth0 default rc-update add net.eth1 default echo "127.0.0.1 cokirk.volkard.lan cokirk localhost" > /etc/hosts sed -i -e 's/HOSTNAME.*/HOSTNAME="cokirk"/' /etc/conf.d/hostname hostname cokirk passwd sed -i -e 's/rc_parallel=.*/rc_parallel="YES"/' /etc/rc.conf sed -i -e 's/RC_PARALLEL_STARTUP=.*/RC_PARALLEL_STARTUP="yes"/' /etc/conf.d/rc rc-update del consolefont boot rc-update add sshd default exit halt