Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!news.iecc.com!.POSTED.news.iecc.com!not-for-mail From: John Levine Newsgroups: comp.arch Subject: Re: base and bounds, Why I've Dropped In Date: Mon, 16 Jun 2025 02:33:37 -0000 (UTC) Organization: Taughannock Networks Message-ID: <102nvq1$2ig9$1@gal.iecc.com> References: <0c857b8347f07f3a0ca61c403d0a8711@www.novabbs.com> <102n693$137tt$1@dont-email.me> <102n7r9$2cog$1@gal.iecc.com> <102nehq$152np$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 16 Jun 2025 02:33:37 -0000 (UTC) Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="84489"; mail-complaints-to="abuse@iecc.com" In-Reply-To: <0c857b8347f07f3a0ca61c403d0a8711@www.novabbs.com> <102n693$137tt$1@dont-email.me> <102n7r9$2cog$1@gal.iecc.com> <102nehq$152np$1@dont-email.me> Cleverness: some X-Newsreader: trn 4.0-test77 (Sep 1, 2010) Originator: johnl@iecc.com (John Levine) According to Stephen Fuld : >> Multics had segments of variable size, with each segment paged. >> That worked, give or take the inevitable problem of running out of >> address bits. > >I didn't know that about Multics. Thanks John. ISTM that their >approach is the opposite of Unisys's approach. They put the pages >within the base and bounds, whereas Unisys puts the base and bounds >"over" the pages. I think the Mill's approach is to put them "side by >side". The Intel 386 has a fairly pessimal approach with a bunch of segments of arbitrary size up all mapped into a single 32 bit linear address space, and they page the linear address space. Each segment has a base address and size, so you'd think you could use them like Unisys did. But the segment sizes are 32 bits so each segment can in principle be up to 4GB except that all of the currently addressable segments (up to six since there are six segment registers) have to fit into the 4GB linear address space, which means some pretty fancy allocation strategies if you don't want to get into situations where the active segments don't fit and they're thrashing in and out. I believe that all Unix-ish operating systems create full size segments for code, data, and stack, map them all at location 0 in the linear address space, and in practice make the segments go away. -- Regards, John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies", Please consider the environment before reading this e-mail. https://jl.ly