Skip to main content

UNIX Memory Management

  • Chapter
  • 4642 Accesses

Abstract

In this chapter, we will focus on the memory management in UNIX, which is one of the most important services of UNIX kernel. In a computer system, CPU must cooperate with the memory to accomplish any computing. The main memory has scarce space and cannot contain all the programs on the disk. However, a process cannot execute if it is not brought in memory. Thus, the memory management becomes quite important, especially when the sizes of application programs become fairly large. And the memory management has a close relationship with the process management. We will introduce the outline of memory management, process swapping in UNIX, and demand paging in UNIX in this chapter.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   99.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Bach MJ (2006) The design of the UNIX operating system. China Machine Press, Beijing

    Google Scholar 

  • Bartels G, Karlin A, Anderson D et al (1999) Potentials and limitations of fault-based Markov prefetching for virtual memory pages. SIGMETRICS’99: The 1999 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, Atlanta, Georgia, June 1999: 206–207

    Google Scholar 

  • Bays C (1977) A comparison of next-fit, first-fit, and best-fit. Commun ACM 20(3): 191–192

    Article  Google Scholar 

  • Belay LA, Nelson RA, Shedler GS (1969) An anomaly in space-time characteristics of certain programs running in a paging machine. Commun ACM 12(6): 349–353

    Article  Google Scholar 

  • Braams J (1995) Batch class process scheduler for UNIX SVR4. SIGMETERICS’ 95/PERFORMANCE’95: The 1995 ACM SIGMETERICS Joint International Conference on Measurement and Modeling of Computer Systems, Ottawa, 1995, Canada. ACM, pp 301–302

    Google Scholar 

  • Brawn BS, Gustavson FG, Mankin ES (1970) Sorting in a paging environment. Commun ACM 13(8): 483–494

    Article  MATH  Google Scholar 

  • Christensen C, Hause AD (1970) A multiprogramming, virtual memory system for a small computer. AFIPS’70 (spring): Spring Joint Computer Conference, Atlantic City, New Jersey, 5–7 May 1970: pp 683–690

    Google Scholar 

  • Cmelik RF, Gehani NH, Roome WD (1989) Experience with multiple processor versions of concurrent C. IEEE T Software Eng 15(3): 335–344

    Article  Google Scholar 

  • Denning PJ (1968) Thrashing: its causes and prevention. AFIPS’68 (Fall, part I): Fall Joint Computer Conference, part I, San Francisco, California, 9–11 December 1968: pp 915–922

    Google Scholar 

  • Denning PJ (1970) Virtual memory. ACM Compt Surv 2(3): 153–189

    Article  MATH  Google Scholar 

  • Denning PJ (1983) The working set model for program behavior. Commun ACM 26(1): 43–48

    Article  Google Scholar 

  • Iftode L, Blumrich M, Dubnicki C et al (1999) Shared virtual memory with automatic update support. ICS’99: The 13th International Conference on Supercomputing, Rhodes, Greece, May 1999, ACM: 175–183

    Google Scholar 

  • McKusick MK, Neville-Neil GV (2005) The design and implementation of FreeBSD operating system. Addison-Wesley, Boston

    Google Scholar 

  • Midorikawa ET, Piantola RL, Cassettari HH (2008) On adaptive replacement based on LRU with working area restriction algorithm. ACM SIGOPS Operating Systems Review 42(6): 81–92

    Article  Google Scholar 

  • Park Y, Scott R (1996) Virtual memory versus file interfaces for large, memory-intensive scientific applications. Supercomputing’96: The 1996 ACM/IEEE Conference on Supercomputing (CDROM), Pittsburgh, Pennsylvania, November 1996, IEEE computer society: Article No.: 53

    Google Scholar 

  • Peachey DR, Bunt RB, Williamson CL et al (1984) An experimental investigation of scheduling strategies for UNIX. SIGMETRICS’84: ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, August 1984, 12(3): pp 158–166

    Article  Google Scholar 

  • Quarterman JS, Silberschatz A, Peterson JL (1985) Operating systems concepts, 2nd edn. Addison-Wesley, Reading, Massachusetts

    Google Scholar 

  • Rashid R, Tevanian A, Michael JR et al (1988) Machine-independent virtual memory management for paged uniprocessor and multiprocessor architectures. IEEE T Comput 37(8): 896–908

    Article  Google Scholar 

  • Ritchie DM, Thompson K (1974) The Unix time-sharing system. Commun ACM 17(7): 365–375

    Article  Google Scholar 

  • Stallings W (1998) Operating systems: internals and design principles, 3rd edn. Prentice Hall, Upper Saddle River, New Jersey.

    Google Scholar 

  • Weizer N, Oppenheimer G (1969) Virtual memory management in a paging environment. Spring Joint Computer Conference, ACM, Boston, Massachusetts, 14–16 May 1969: pp 249–256

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Higher Education Press, Beijing and Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Liu, Y., Yue, Y., Guo, L. (2011). UNIX Memory Management. In: UNIX Operating System. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-20432-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-20432-6_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-20431-9

  • Online ISBN: 978-3-642-20432-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics