From owner-freebsd-arch@FreeBSD.ORG Thu Jun 14 07:08:08 2007 Return-Path: X-Original-To: freebsd-arch@freebsd.org Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 55B7116A474 for ; Thu, 14 Jun 2007 07:08:08 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 43E2113C480 for ; Thu, 14 Jun 2007 07:08:07 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 5EFC51A4D80; Thu, 14 Jun 2007 00:07:41 -0700 (PDT) Date: Thu, 14 Jun 2007 00:07:41 -0700 From: Alfred Perlstein To: cadastrosonline cadastrosonline Message-ID: <20070614070741.GP96936@elvis.mu.org> References: <666957.96491.qm@web57302.mail.re1.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <666957.96491.qm@web57302.mail.re1.yahoo.com> User-Agent: Mutt/1.4.2.2i Cc: freebsd-arch@freebsd.org Subject: Re: Memory mannagment X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jun 2007 07:08:08 -0000 * cadastrosonline cadastrosonline [070613 23:42] wrote: > First of all, > > "Each process has its own private address space. The address space is initially divided > into three logical segments: text, > data, and stack. " > > But if the address is just something like 343556 then how does it really work? The memory is divided into segments is that what it means? Each process has a seperate virtual vmspace, this means that address 343556 in process A can map to a different physical address in process B. > "The data segment contains the initialized and uninitialized data portions of a program" > > Is it talking about multithreading? I COULDNT FIND anything talking about how freebsd deals with multithreading, just found out it does it by man pthread. The data segment has nothing to do with multithreading other than as a shared memory space for use by multiple threads. > Tell me anything else interesting to know about memory mannagment, does it use any algorithm to substitute a page when out of pages in memory? such as "second chance" "fifo" "lru" (last recently used) "nfu" (not frequently used) and so on? I am studying freebsd but sometimes I am out of ways to find out, yes I am reading the handbook about memory mannagment as you can see my quotes but sometimes I don't understand. FreeBSD uses a LRU. If you want to learn more I would advise you to purchase "The Design and Implementation of the FreeBSD Operating System" by McKusick. You can also use the FreeBSD mailing lists if you so desire. Good luck and enjoy. (btw, FreeBSD is how I learned most of my deeper OS level concepts, so you're in the right place.) -- - Alfred Perlstein