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>