add directory study
This commit is contained in:
81
study/sabre/os/articles/MemoryManagement/...htm
Normal file
81
study/sabre/os/articles/MemoryManagement/...htm
Normal file
@@ -0,0 +1,81 @@
|
||||
<html><head><title>OSRC: The Operating System Resource Center </title></head>
|
||||
|
||||
<body BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#0000FF ALINK=#107010>
|
||||
<center>
|
||||
<font size=2>the</font><br>
|
||||
<font face='Verdana,Helvetica' size=7><b>Operating System</b></font><br>
|
||||
<font size=2>resource center</font>
|
||||
</center><p><TABLE WIDTH='100%'>
|
||||
<TR>
|
||||
<TD VALIGN=TOP WIDTH='50%'>
|
||||
<hr size=1><CENTER><FONT SIZE=6>...Software...</FONT></CENTER><hr size=1>
|
||||
<ol><font size=-1><font size=+2><li><a href="../TheBootProcess/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/TheBootProcess/">The Boot Process</a></font>
|
||||
<ul>Boot sectors, bootable CD-ROMs, examples..</ul>
|
||||
<font size=+2><li><a href="../Partitions/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/Partitions/">Partitions</a></font>
|
||||
<ul>Partition Table Layout, Partition IDs..</ul>
|
||||
<font size=+2><li><a href="../FileSystems/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/FileSystems/">File Systems</a></font>
|
||||
<ul>EXT/[23], Reiser, Joliet, FAT32, HPFS..</ul>
|
||||
<font size=+2><li><a href="index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/MemoryManagement/">Memory Management</a></font>
|
||||
<ul>EMS, XMS + Techniques..</ul>
|
||||
<font size=+2><li><a href="../ProtectedMode/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/ProtectedMode/">Protected Mode</a></font>
|
||||
<ul>VCPI, DPMI, GEMMIS, VDS, VOODOO, etc..</ul>
|
||||
<font size=+2><li><a href="../ExecutableFileFormats/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/ExecutableFileFormats/">Executable File Formats</a></font>
|
||||
<ul>.com, .exe, .lib, .obj, a.out, ELF, LE, PE..</ul>
|
||||
<font size=+2><li><a href="../PlugandPlaySpecs/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/PlugandPlaySpecs/">Plug and Play Specs</a></font>
|
||||
<ul>BIOS, Serial, Parrellel, ISA, Firewire..</ul>
|
||||
<font size=+2><li><a href="../DeviceDriverInterfaces/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/DeviceDriverInterfaces/">Device Driver Interfaces</a></font>
|
||||
<ul>Uniform Driver Interface, linux drivers..</ul>
|
||||
<font size=+2><li><a href="../MiscellaneousSoftware/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/MiscellaneousSoftware/">Miscellaneous Software</a></font>
|
||||
<ul>OS FAQ, overall design, VM design, threads..</ul>
|
||||
</font></ol></TD>
|
||||
<TD VALIGN=TOP WIDTH='50%'>
|
||||
<hr size=1><CENTER><FONT SIZE=6>...Hardware...</FONT></CENTER><hr size=1>
|
||||
<ol><font size=-1><font size=+2><li><a href="../ProcessorArchitecture/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/ProcessorArchitecture/">Processor Architecture</a></font>
|
||||
<ul>IA64, MMX, 3D-Now!, KNI, copro, optimization..</ul>
|
||||
<font size=+2><li><a href="../InterconnectBuses/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/InterconnectBuses/">Interconnect Buses</a></font>
|
||||
<ul>ATA-2,3, Floppy, PCI, AGP, USB, SCSI, FC-AL..</ul>
|
||||
<font size=+2><li><a href="../DiskandDiscDrives/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/DiskandDiscDrives/">Disk and Disc Drives</a></font>
|
||||
<ul>Floppys, Hard Drive Ports, CHS, CD-ROM..</ul>
|
||||
<font size=+2><li><a href="../HumanInterfaceDevices/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/HumanInterfaceDevices/">Human Interface Devices</a></font>
|
||||
<ul>Keyboard, Mouse, Joystick, Gamepad..</ul>
|
||||
<font size=+2><li><a href="../SoundDevices/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/SoundDevices/">Sound Devices</a></font>
|
||||
<ul>SB, SB16, GUS, PAS, PC-Speaker, MIDI, OPL..</ul>
|
||||
<font size=+2><li><a href="../CommunicationDevices/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/CommunicationDevices/">Communication Devices</a></font>
|
||||
<ul>Serial, Parallel [SPP, EPP, ECP]..</ul>
|
||||
<font size=+2><li><a href="../NetworkingDevices/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/NetworkingDevices/">Networking Devices</a></font>
|
||||
<ul>NE2000..</ul>
|
||||
<font size=+2><li><a href="../MiscellaneousDevices/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/MiscellaneousDevices/">Miscellaneous Devices</a></font>
|
||||
<ul>PIC, PIT, DMA, RTC, ..</ul>
|
||||
<font size=+2><li><a href="../OtherHardware/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/OtherHardware/">Other Hardware</a></font>
|
||||
<ul>Legos, ATX, NetPC's..</ul>
|
||||
</font></ol></TD>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<Font size=+1 Face=Verdana>7/15/2002 Update:</font><p><ul>
|
||||
Well our upgrade officially did not go well at all. Apache 2.0.x hates PHP and
|
||||
our new hard drive crashed and did all kinds of bad things. Nondot is back up
|
||||
and running on it's old drive, and OSRC seems to be working again. Sorry for
|
||||
the interruption, thanks for all of those who let me know! :)<p>
|
||||
|
||||
-<a href="mailto:sabre@nondot.org">Chris</a>
|
||||
</ul><hr>
|
||||
<TABLE ALIGN=RIGHT BORDER=0><TR><TD><center>
|
||||
Copyright © 1995-2002 <i><a href='mailto:sabre@nondot.org'>Chris Lattner</a></i><br>
|
||||
This page last modified:11/20/01<br>View <a href="../../../../sabre" tppabs="http://www.nondot.org/sabre">the rest</a> of this site...<br>
|
||||
</center></TD></TR></TABLE>
|
||||
|
||||
<font size=-1>
|
||||
[about] [faq]
|
||||
[<a href="../../Updates/index.htm" tppabs="http://www.nondot.org/~sabre/os/Updates/">updates</a>]
|
||||
[<a href="../../Stats/index.htm" tppabs="http://www.nondot.org/~sabre/os/Stats/">stats</a>]
|
||||
[<a href="../../AuthorRecognition.html" tppabs="http://www.nondot.org/~sabre/os/AuthorRecognition.html">author recognition</a>]
|
||||
[<a href="../../submit/index.htm" tppabs="http://www.nondot.org/~sabre/os/submit/">contributing</a>]
|
||||
[<a href="../PendingQueue/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/PendingQueue/">pending submissions</a>]
|
||||
[feedback]
|
||||
[<a href='mailto:sabre@nondot.org'>email</a>]
|
||||
[<a href="../index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/">up</a>]
|
||||
</font><p>
|
||||
<font size=-1>
|
||||
<font color=#FF0000>(new!)</font> sections have been updated in the last week...
|
||||
<font color=#808000>(recent)</font> sections have been updated in the last two weeks...<br>
|
||||
</font>
|
||||
44
study/sabre/os/articles/MemoryManagement/index.htm
Normal file
44
study/sabre/os/articles/MemoryManagement/index.htm
Normal file
@@ -0,0 +1,44 @@
|
||||
<html><head><title>OSRC: Memory Management </title></head>
|
||||
|
||||
<body BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#0000FF ALINK=#107010>
|
||||
<center><font face=Verdana size=7><b>Memory Management</b></font></center><blockquote>EMS, XMS + Techniques..</blockquote><table width="100%" cellpadding=0 cellspacing=0 border=0>
|
||||
<tr><td width="33%" align=left></td>
|
||||
<td width='33%' align=center></td>
|
||||
<td width='33%' align=right><font size=2>[<a href="...htm" tppabs="http://www.nondot.org/~sabre/os/articles/MemoryManagement/..">Up</a>]</font></td></tr>
|
||||
</table><hr><p><ul><DL>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/LIMEMS41.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/LIMEMS41.txt">Expanded Memory Specification</a></font> - by Lotus, Intel & Microsoft<br>
|
||||
<DD>"Expanded memory is memory beyond DOS's 640K-byte limit. The LIM specification supports up to 32M bytes of expanded memory. Because the 8086, 8088, and 80286 (in real mode) microprocessors can physically address only 1M bytes of memory, they access expanded memory through a window in their physical address range."<p>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/XMS30.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/XMS30.txt">Extended Memory Specification v3.0</a></font> - by Lotus, Intel, Microsoft, & AST Research<br>
|
||||
<DD>"XMS allows DOS programs to utilize additional memory found in Intel's 80286 and 80386 based machines in a consistent, machine independent manner. With some restrictions, XMS adds almost 64K to the 640K which DOS programs can access directly. Depending on available hardware, XMS may provide even more memory to DOS programs. XMS also provides DOS programs with a standard method of storing data in extended memory."<p>
|
||||
<ul><DL>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/XMS20.txt" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/XMS20.txt">Extended Memory Specification v2.0</a></font> - by Lotus, Intel, Microsoft, & AST Research<br>
|
||||
<DD>Older standard version of above standard.<p>
|
||||
</DL></ul>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/SlabAllocator.pdf" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/SlabAllocator.pdf">The Kernel Slab Allocator</a></font> - by <a href='mailto:bonwick@eng.sun.com'>Jeff Bonwich</a><br>
|
||||
<DD>"This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of object-caching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are space-efficient and fast. The allocator<6F>s object caches respond dynamically to global memory pressure, and employ an object-coloring scheme that improves the system<65>s overall cache utilization and bus balance. The allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system."<p>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/LEA.html" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/LEA.html">Doug Lea's Malloc</a></font> - by <a href='mailto:dl@gee.cs.oswego.edu'>Doug Lea</a><br>
|
||||
<DD>"Memory allocators form interesting case studies in the engineering of infrastructure software. I started writing one in 1987, and have maintained and evolved it ever since. This allocator provides implementations of the the standard C routines malloc(), free(), and realloc(), as well as a few auxiliary utility routines."<p>
|
||||
<DT><font size=+1><a href="../../../../sabre/os/files/MemManagement/DynamicStorageAllocationSurvey.pdf" tppabs="http://www.nondot.org/sabre/os/files/MemManagement/DynamicStorageAllocationSurvey.pdf">A Survey of Malloc Implementations</a></font> - by Wilson, Johnstone, Neely & Boles<br>
|
||||
<DD>"Dynamic memory allocation has been a fundamental part of most computer systems since roughly 1960, and memory allocation is widely considered to be either a solved problem or an insoluble one. In this survey, we describe a variety of memory allocator designs and point out issues relevant to their design and evaluation. We then chronologically survey most of the literature on allocators between 1961 and 1995. (Scores of papers are discussed, in varying detail, and over 150 references are given.)"<p>This is an excellent Survey on the state of the art in memory allocation techniques. It talks about fragmentation, scalablilty, and different ways to implement malloc. Also included is a detailed survey of scholarly papers on memory allocation techniques.<p>
|
||||
</DL></ul>
|
||||
<hr>
|
||||
<TABLE ALIGN=RIGHT BORDER=0><TR><TD><center>
|
||||
Copyright © 1995-2002 <i><a href='mailto:sabre@nondot.org'>Chris Lattner</a></i><br>
|
||||
This page last modified:11/04/03<br><a href="...htm" tppabs="http://www.nondot.org/~sabre/os/articles/MemoryManagement/..">Go up a level</a><br>
|
||||
</center></TD></TR></TABLE>
|
||||
|
||||
<font size=-1>
|
||||
[about] [faq]
|
||||
[<a href="../../Updates/index.htm" tppabs="http://www.nondot.org/~sabre/os/Updates/">updates</a>]
|
||||
[<a href="../../Stats/index.htm" tppabs="http://www.nondot.org/~sabre/os/Stats/">stats</a>]
|
||||
[<a href="../../AuthorRecognition.html" tppabs="http://www.nondot.org/~sabre/os/AuthorRecognition.html">author recognition</a>]
|
||||
[<a href="../../submit/index.htm" tppabs="http://www.nondot.org/~sabre/os/submit/">contributing</a>]
|
||||
[<a href="../PendingQueue/index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/PendingQueue/">pending submissions</a>]
|
||||
[feedback]
|
||||
[<a href='mailto:sabre@nondot.org'>email</a>]
|
||||
[<a href="../index.htm" tppabs="http://www.nondot.org/~sabre/os/articles/">up</a>]
|
||||
</font><p>
|
||||
<font size=-1>
|
||||
<font color=#FF0000>(new!)</font> sections have been updated in the last week...
|
||||
<font color=#808000>(recent)</font> sections have been updated in the last two weeks...<br>
|
||||
</font>
|
||||
44
study/sabre/os/articles/MemoryManagement/index.html
Normal file
44
study/sabre/os/articles/MemoryManagement/index.html
Normal file
@@ -0,0 +1,44 @@
|
||||
<html><head><title>OSRC: Memory Management </title></head>
|
||||
|
||||
<body BGCOLOR=#FFFFFF TEXT=#000000 LINK=#0000FF VLINK=#0000FF ALINK=#107010>
|
||||
<center><font face=Verdana size=7><b>Memory Management</b></font></center><blockquote>EMS, XMS + Techniques..</blockquote><table width="100%" cellpadding=0 cellspacing=0 border=0>
|
||||
<tr><td width="33%" align=left></td>
|
||||
<td width='33%' align=center></td>
|
||||
<td width='33%' align=right><font size=2>[<a href='..'>Up</a>]</font></td></tr>
|
||||
</table><hr><p><ul><DL>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/LIMEMS41.txt'>Expanded Memory Specification</a></font> - by Lotus, Intel & Microsoft<br>
|
||||
<DD>"Expanded memory is memory beyond DOS's 640K-byte limit. The LIM specification supports up to 32M bytes of expanded memory. Because the 8086, 8088, and 80286 (in real mode) microprocessors can physically address only 1M bytes of memory, they access expanded memory through a window in their physical address range."<p>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/XMS30.txt'>Extended Memory Specification v3.0</a></font> - by Lotus, Intel, Microsoft, & AST Research<br>
|
||||
<DD>"XMS allows DOS programs to utilize additional memory found in Intel's 80286 and 80386 based machines in a consistent, machine independent manner. With some restrictions, XMS adds almost 64K to the 640K which DOS programs can access directly. Depending on available hardware, XMS may provide even more memory to DOS programs. XMS also provides DOS programs with a standard method of storing data in extended memory."<p>
|
||||
<ul><DL>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/XMS20.txt'>Extended Memory Specification v2.0</a></font> - by Lotus, Intel, Microsoft, & AST Research<br>
|
||||
<DD>Older standard version of above standard.<p>
|
||||
</DL></ul>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/SlabAllocator.pdf'>The Kernel Slab Allocator</a></font> - by <a href='mailto:bonwick@eng.sun.com'>Jeff Bonwich</a><br>
|
||||
<DD>"This paper presents a comprehensive design overview of the SunOS 5.4 kernel memory allocator. This allocator is based on a set of object-caching primitives that reduce the cost of allocating complex objects by retaining their state between uses. These same primitives prove equally effective for managing stateless memory (e.g. data pages and temporary buffers) because they are space-efficient and fast. The allocator<6F>s object caches respond dynamically to global memory pressure, and employ an object-coloring scheme that improves the system<65>s overall cache utilization and bus balance. The allocator also has several statistical and debugging features that can detect a wide range of problems throughout the system."<p>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/LEA.html'>Doug Lea's Malloc</a></font> - by <a href='mailto:dl@gee.cs.oswego.edu'>Doug Lea</a><br>
|
||||
<DD>"Memory allocators form interesting case studies in the engineering of infrastructure software. I started writing one in 1987, and have maintained and evolved it ever since. This allocator provides implementations of the the standard C routines malloc(), free(), and realloc(), as well as a few auxiliary utility routines."<p>
|
||||
<DT><font size=+1><a href='http://www.nondot.org/sabre/os/files/MemManagement/DynamicStorageAllocationSurvey.pdf'>A Survey of Malloc Implementations</a></font> - by Wilson, Johnstone, Neely & Boles<br>
|
||||
<DD>"Dynamic memory allocation has been a fundamental part of most computer systems since roughly 1960, and memory allocation is widely considered to be either a solved problem or an insoluble one. In this survey, we describe a variety of memory allocator designs and point out issues relevant to their design and evaluation. We then chronologically survey most of the literature on allocators between 1961 and 1995. (Scores of papers are discussed, in varying detail, and over 150 references are given.)"<p>This is an excellent Survey on the state of the art in memory allocation techniques. It talks about fragmentation, scalablilty, and different ways to implement malloc. Also included is a detailed survey of scholarly papers on memory allocation techniques.<p>
|
||||
</DL></ul>
|
||||
<hr>
|
||||
<TABLE ALIGN=RIGHT BORDER=0><TR><TD><center>
|
||||
Copyright © 1995-2002 <i><a href='mailto:sabre@nondot.org'>Chris Lattner</a></i><br>
|
||||
This page last modified:11/05/03<br><a href='..'>Go up a level</a><br>
|
||||
</center></TD></TR></TABLE>
|
||||
|
||||
<font size=-1>
|
||||
[about] [faq]
|
||||
[<a href='/sabre/os/articles/../Updates/'>updates</a>]
|
||||
[<a href='/sabre/os/articles/../Stats/'>stats</a>]
|
||||
[<a href='/sabre/os/articles/../AuthorRecognition.html'>author recognition</a>]
|
||||
[<a href='/sabre/os/articles/../submit/'>contributing</a>]
|
||||
[<a href='/sabre/os/articles/PendingQueue/'>pending submissions</a>]
|
||||
[feedback]
|
||||
[<a href='mailto:sabre@nondot.org'>email</a>]
|
||||
[<a href='../'>up</a>]
|
||||
</font><p>
|
||||
<font size=-1>
|
||||
<font color=#FF0000>(new!)</font> sections have been updated in the last week...
|
||||
<font color=#808000>(recent)</font> sections have been updated in the last two weeks...<br>
|
||||
</font>
|
||||
Reference in New Issue
Block a user