Skip site navigation (1)Skip section navigation (2)
Date:      07 Jun 1999 12:20:56 -0700
From:      Arun Sharma <adsharma@home.com>
To:        Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: linux and freebsd kernels conceptually different?
Message-ID:  <m3wvxf4y1z.fsf@c62443-a.frmt1.sfba.home.com>
In-Reply-To: Christoph Kukulies's message of "Mon, 7 Jun 1999 17:58:47 %2B0200 (CEST)"
References:  <199906071558.RAA17138@gil.physik.rwth-aachen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE> writes:

Comments from someone who's studied Linux for a while and has started
studying FreeBSD only recently.

> Could one say that Linux vs. FreeBSD kernels are conceptually
> different what task scheduling, queueing, interrupt handling,
> driver architecture, buffer caching, vm etc. is concerned?

- task scheduling

	- Linux uses a linear linked list of runnable processes and
	  recalculates priorities on every reschedule.

	- FreeBSD uses multilevel runqueues

- Buffer caching

	- Linux hasn't achieved the perfect integration between the
	  page cache and the buffer cache yet. write(2) goes through
	  the buffer cache, read(2) goes through the page cache. Also,
	  buffers are cached based on <device, phys_blkno> basis. But
	  an IOlite style buffer caching scheme is in the works.

	- FreeBSD seems to avoid data replication by a better
	  integration of the page and buffer caches. Also, buffers are
	  cached based on <vnode, logical_blkno> basis

- VM

	- Linux uses a 3 level page table as a generic data structure
	  at the low level and data structures similar to SVR4 for
	  high level mapping info. Also, Linux avoids chaining of ptes
	  mapping the same data completely.

	- FreeBSD separates machine dependent and independent data
	  using the pmap abstraction. FreeBSD also uses pv_table to
	  keep track of multiple ptes mapping same data. FreeBSD VM is
	  based on Mach.

But for the most part, they are based on the same principles
documented in early UNIX internals text books. So it would be unfair
to say they are conceptually very different.

I'd say most of the differences are in implementation and development
methodology. Linux camp seems to be proud of breaking traditions and
concepts invented after lengthy research. I haven't seen that many
iconoclasts in my short encounter with FreeBSD.

Hope that helps,

	-Arun


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?m3wvxf4y1z.fsf>