• Linus Torvalds's avatar
    [PATCH] Linux-0.97 (August 1, 1992) · ddc733f4
    Linus Torvalds authored
    Move <xxx.h> to <linux/xxxx.h>
    
    Variable-sized buffer blocks and dynamic buffer cache allocation. The VM
    knows how to shrink it automatically!
    
    Add support for "fast" interrupt handlers for serial lines.
    
    Update copyrights to say 1992 too.
    
    Remove broken VESA video card handling.
    
    Separate out partition handling code ("genhd").
    
    Make init unkillable.
    
    Norwegian keyboard map.
    
    Future Domain SCSI controller driver by Rik Faith.
    
    Changes in 0.97:
    
     - The VESA-support was removed.  I'd be happy to put it back once it
       works on all hardware.  Instead of the VESA-code, I finally put in
       the automatic SVGA setup patches.  See the top-level Makefile.
    
     - The IRQ code has solidified, and should work on all machines.  Not
       all of the SCSI drivers use it yet, so I expect patches for that..
    
     - Serial interrupts are handled slightly differently, and performance
       should be up.  I've sent out a few alpha-releases, and testing seems
       to indicate that's actually true this time.  Reactions have ranged
       from "nice" to "wonderful" :-)
    
     - The buffer-cache and memory management code has been edited quite a
       bit.  ps/free etc programs that reads kernel memory directly no
       longer work, and even a recompilation won't be enough.  They actually
       need editing before they work.
    
       The buffer-cache now grows and shrinks dynamically depending on how
       much free memory there is.  Shift+PrintScreen will give some memory
       statistics.  (Ctrl+PrSc gives task-info, ALT+PrSc gives current
       register values).
    
       The mm code changes removed some race-conditions in the VM code, and
       I also tried to make the Out-of-swapspace error less severe (better
       thrashing-detection etc).
    
     - The super-block code has been cleaned up.  Especially the extended fs
       needs to be edited a bit to take advantage of the new setup, and I
       expect Remy Card will have a patch out eventually.
    
     - include-files have been moved around some more: there are still some
       names that clash with the standard headers, but not many.
    
     - Unswappable processes implemented: by default only 'init' is
       unswappable.  This is a bit safer in low-memory conditions, as at
       least init won't die due to low memory.  I also made killing init
       impossible: if init doesn't recognize a signal, it simply won't get
       it.  Some other changes ("while (1) fork();" won't kill the machine
       for non-root users etc)
    
     - The new SCSI drivers are in.  These make the kernel noticeably
       bigger, but you can leave them out if you don't want them.
    
     - The floppy- and hd-drivers print out more debugging-info in case of
       errors: this might be irritating if you have hardware that works, but
       often gives soft-errors.  On the other hand, some old debugging-info
       was removed - notably for user-level protection errors etc.
    
     - Various minor fixes.  I haven't made cdiffs (and I haven't gotten any
       requests for them, so I probably never will), but they would be
       pretty big.
    
    Things that I didn't have time for:
    
     - I wanted to rewrite the tty drivers to be more "streams-like" (ie not
       an actual streams-implementation, but some of the ideas from
       streams).  I never got around to it: there was simply too much else
       to do.
    
     - I got a lot of patches, and some went in, others didn't.  If you
       think your patch was important, please re-send it relative to the new
       version.
    
    I'd like comments on the new system: performance / clarity of code etc.
    0.97 should correct all known bugs (at least the ones I know about), but
    I guess that's just wishful thinking.
    
    Note that the dynamic buffer-code also handles differently-sized
    buffers, but that the rest of the system (block device drivers,
    filesystem code etc) cannot yet take advantage of this - there is still
    some coding needed.
    
    		Linus
    ddc733f4
dup.c 150 Bytes