From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Given Subject: Re: [Fwd: Re: EDE - Personal Suggestions and Ideas] Date: Tue, 25 May 2004 18:10:10 +0100 Sender: linux-8086-owner@vger.kernel.org Message-ID: <200405251810.10165.dg@cowlark.com> References: <1085495001.3067.6.camel@talena.hsol.net> Mime-Version: 1.0 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: In-Reply-To: <1085495001.3067.6.camel@talena.hsol.net> Content-Disposition: inline List-Id: Content-Type: text/plain; charset="iso-8859-1" To: linux-8086@vger.kernel.org On Tuesday 25 May 2004 15:23, Miguel Bolanos wrote: [...] > > - swap support >=20 > Without protected mode that could get sticky. =A0How can it be done c= leanly > and in a stable manner? There's a difference between paging and swapping. Paging is when you use the page-level MMU to copy individual pages to a= nd from=20 disk on an on-demand basis. The application tries to access a page that= has=20 no mapping to physical memory; an exception is raised; the kernel alloc= ates a=20 page, reads it from disk, updates the virtual mapping, and the applicat= ion=20 continues. Swapping is when you read and write the entire application's address sp= ace=20 when the application get scheduled or descheduled. The application is w= aiting=20 for I/O; the kernel writes its data to disk and frees its memory; the I= /O=20 becomes available; the kernel reads the data back in again, updates the= =20 application's segment registers, and the application continues. Paging can only be done with a page-level MMU, which only the 386 and a= bove=20 had. Swapping can be done on any segmented processor, even the 8086. Swapping is slower, because you've got to read and write more memory, b= ut=20 given the maximum size of a segment on ELKS is 64kB and each process ca= n have=20 a maximum of two segments, you end up having to read a maximum of 128kB= per=20 process. Which is not a lot. If you can swap to a ramdisk of some descr= iption=20 --- EMS cards are ideal for this --- the delay is negligable. One interesting feature: remember that code is read-only. You don't nee= d to=20 swap out an applications' text segment, it won't change. Just throw it = away;=20 you can always reload it from the original binary when you need it... [...] > > - maybe ext2fs support. >=20 > Perhaps, but will ext2 perform as well as a simpler filesystem on the= se old > old machines? Nah. You may as well stick to the Minix filesystem. It's much, much sim= pler,=20 and the performance benefits of ext2 don't really apply on machines tha= t=20 small. [...] > > - A little "office" suite =46orget GUI and WYSIWYG packages; too big and complicated. If you want= a=20 kick-ass office suite done the Unix way, look into using troff for=20 typesetting. Weird, yes, but deceptively powerful and it runs on tiny=20 systems. (Don't believe me? On my Debian system: zcat /usr/share/man/man1/gcc.1.gz | groff -man -Tps > out.ps =2E..will typeset a 110-page book. groff is big and chunky, but there a= re much=20 smaller implementations available, such as the one on Minix.) =46or spreadsheets, look into sc. It's a character-cell spreadsheet tha= t's=20 portable to practically everything. =46or a database, use sc, or else use text files. You'd be amazed what = you can=20 do with a few lines of awk. You're not *going* to make an 8086 work the same way as a modern deskto= p.=20 There's just not enough room for a program that's a text entry applicat= ion=20 *and* a typesetting application *and* a graphical preview application *= and* a=20 file manager *and* a programming language, etc. Instead, divide and con= quer.=20 Your text entry application is vi or uemacs. Your typesetting applicati= on is=20 troff. Your graphical preview application is ditview. Your file manager= is=20 the shell. Your programming language is awk. Each tool is small enough = to run=20 on a small system, and simple enough that it will run *well* on a small= =20 system. [...] > Someone offer to help me learn C. The best way to learn is to do something. Kernel hacking's not a good p= lace to=20 start; it's too hard to debug, and there are too many knock-on effects = (you=20 run the risk of accidentally breaking things without realising it). Applications would probably be a good place to start. What tools do you= want=20 on ELKS? Anything there you'd want to try and write? --=20 +- David Given --McQ-+ "I love the way Microsoft follows standards. In | dg@cowlark.com | much the same manner that fish follow migrating | (dg@tao-group.com) | caribou." --- Paul Tomblin +- www.cowlark.com --+=20 - To unsubscribe from this list: send the line "unsubscribe linux-8086" i= n the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html