Performance Analysis for Improved RAM Utilization for Android Applications

Size: px
Start display at page:

Download "Performance Analysis for Improved RAM Utilization for Android Applications"

Transcription

1 Performance Analysis for Improved RAM Utilization for Android Applications Deepali Kayande #1, Urmila Shrawankar #2 # Department of Computer Science & Engineering G. H. Raisoni College of Engineering, Nagpur, India 1 kayande.deepali@ieee.org, 2 urmila@ieee.org Abstract-- Memory management is a vital parameter in efficient working of any operating system. In the mobile devices, internal memory plays an important role in managing the running of process, services and applications which are either installed by the user or which are already present in the device. Thus this paper aims towards giving an approach for better utilization of the internal memory present in Android operating system for mobile phones. The memory architecture for the Android device has been studied and has been observed that the device comes loaded with many applications which require high RAM consumption for efficient working. Thus taking into consideration running of so many applications processes and services, it is important to efficiently use and manage the internal memory space present inside the mobile operating system. For this purpose, a dictionary based application called SMSLingo has been developed for compression of SMS texting. This application requires less memory space and less RAM consumption as compared to the default SMS messaging service provided by Android. Memory management of Android system has been compared with the one in Linux System. It has been observed that Mapped Memory, Anonymous Memory and Slab Memory is present in Android which is used for allotting temporary storage space for the data frequently used. Keywords: Linux Kernel, Dalvik Virtual Machine, Android Memory management, Android operating system, SMS text Compression, SMS language I. INTRODUCTION When mobile operating systems are considered, memory management plays the key role. As the mobile devices are constrained about the hardware part, special care has to be taken for the memory management. Android operating system is based on the Linux kernel which mainly has the paging system. The memory is categorised as internal memory, swap memory, external memory, etc. each having its own features and usage. The internal memory is used to store data like the text messages, multimedia messages, call logs, calendar activities, etc., unless and until the storage location is not changed and the by default settings are used. Efficient working of any operating system is based on its process management, device management and memory management. Out of these three issues, this paper talks about the memory management. As the name suggests, memory management helps in managing the system memory. The most important feature present in memory management is to enable dynamic allocation of portions of memory to the requesting processes. Memory management and memory optimization plays the most important role in any operating system, be it monolithic system or any mobile operating system. Various applications and approaches have been proposed in achieving the optimized use of memory in the operating system. This paper proposes one such application that aims at utilizing the internal memory of Android Mobile Operating System in an optimized fashion. Basic Android mobile phones support 150 MB of internal memory. Apart from the internal memory, mobile phones have an option of using the external memory which can be extended depending on the brand or type of the mobile phone handset. Thus the user can shift the desired applications from the internal memory to the external memory also. But basically the optimized and efficient use of the internal memory is a matter of concern. For the experimentation purpose, SMS application is being targeted, because by default all the SMS are stored inside the internal memory unless and until the storage location is not changed [2]. Thus the amount of memory saved after the optimization can be used for better functions [3]. Android device supports UTF-8 encoding of text characters in SMS application. Thus as compared to other mobile devices, Android consumes double amount of bytes while storing the SMS in inbox. Also, many Android devices do not support storing SMS in the external memory viz LG-C660. So, an application with less memory size and RAM requirement is developed in order to optimize the internal memory consumption during SMS texting is carried out on the device. The Experimental results are evaluated using 3 text compression techniques, Huffman Coding, RLE and SMS Lingo on few sample text data. Increase of 8-10% in compression ratio is achieved using the SMS Lingo compression algorithm in comparison with other available methods. Also this application is reasonably smaller in size as compared to the size of default SMS application present on Android platforms and smaller in comparison with the other SMS compressor

2 applications present for the platform. The RAM and cache memory consumption is around 3 MB for this application and the default Messaging application requires around 8 MB RAM size for its operation. Thus the proposed hybrid technique is reasonable with respect to RAM as well as cache memory consumption. II. LINUX KERNEL vs ANDROID OS Android OS is nearly similar to the Linux Kernel but not completely alike. It is directly derived from the Linux kernel that is why it is very much similar to it. Taking into consideration the mobile environment and the limitations of the system, Android OS has enhanced its features by adding more custom libraries to the already existing ones in order to support better system functionalities. For example, one enhancement is that Android devices are based on the Last-seen-first-killed design process. This process kills the least recently used process in order to make room for the new processes. Thus this process is similar to the Least-recently-used process present in Linux system. Also android come with task manager which helps in managing and killing of any unwanted applications, services or processes manually. Thus this feature helps in better utilization of RAM and the internal storage. A custom C Library is implemented in Android which is again derived from the standard C Library. This custom library is developed because it is finely suited for Android mobile platform having limited CPU and memory available. Even though Android is based on Java, JVM is not used in the android devices. Instead, Dalvik Virtual Machine is developed as the specific virtual machine for the android devices. DVM is specifically developed taking into consideration the memory constraints present in Android mobile devices. The conversion of.class file to.dex format is done by the system itself. Kernel is the central part of any operating system. It is an important part of the operating system which directly interrelates with the hardware. The specifications of the kernel depend upon the hardware on which it runs [10]. The basic facilities run by the kernel are Process Management, Memory Management, Device Management and System Calls [9]. Thus, Android also supports all these features. The brief description for these is as follows: A. Process management The execution of the applications is allowed by the kernel along with hiding of all the undesirable hardware details from the user. B. Memory Management It is the kernel responsibility to allow the processes running in the system access the memory as they require it. C. Device Management It is the kernel duty to enable the operating system to interact with the hardware peripherals. D. System Management This is the mechanism which is used by the application program to call a service from the system as and when needed. Fig 1: The Kernel Relation with Hardware and Applications III. ANDROID INTERNAL MEMORY A. Memory Architecture As computer operating system, memory in mobile operating system is also categorized as RAM, ROM and extended memory. Basic Android mobile phones have 256 MB RAM, 512 MB ROM and the external memory can be extended up to 32 GB with 600 MHz processor. Whereas, the basic android tablet supports 1 GB RAM and external memory can be extended up to 64 GB with 1 GHz processor. RAM supports swap memory, registers, paging system, etc. this memory is used to read and over write the data being used in mobile operating system. RAM is a temporary storage place for the operating system and the applications running on the device. Android, however, starts and stores many applications in the RAM which are not even used by the user. Thus, due to these unwanted applications, huge amount of RAM is consumed unnecessarily. This affects the system memory to run slow and requires manual turning off of such unwanted applications. Thus it becomes necessary to take care of proper utilization of RAM in order to prevent system from running on low memory. The concept was virtual memory is not present in Android OS and the cache memory can be erased manually but cannot be allotted by the user. The applications which

3 are stored in cache are decided by the system. But the cache memory engaged in various applications can be erased manually. ROM basically supports the start-up activities which are performed during the device are turned on. The start-up activities are vital and the data required for its functioning is non-volatile. Thus the important and nonerasable data is stored in ROM. Fig 2: The memory relationship interaction including drivers and memory management, while a set of APIs provides access to all of the underlying services, features, and hardware[12]. Linux kernel basically performs maximum work related to memory management inside the android operating system. Android supports page based memory management, typically the demand paging. Demand paging is a mechanism in which a page is brought into the working memory only when it is in demand, that is, only when it is needed. The advantages of supporting demand paging in mobile operating system is that, it requires lesser input output. Memory requirement in this mechanism is less. Also the response rate amongst the applications is faster. In demand paging, when a page is needed or demanded, it is referenced by the system. If the referenced page is invalid, the reference is aborted and a new reference is made. After referencing if the page is not found in memory, then it is brought into the memory for further functioning. B. Memory Management Android is a stack comprising of software meant for mobile devices which includes an operating system, middleware and applications. Android is a Linux based OS with 2.6.x kernel, which uses native open source C libraries. The Linux Kernel handles all the basic OS operations like device management, process management, memory management, and so on. The working of Android s process and memory management is uncommon. Android uses its own dedicated run time and virtual machine to manage application memory, similar to JAVA and.net. Android run time also manages the process lifetimes. This feature is missing in Java and.net frameworks [13]. Android confirms application receptiveness by stopping and killing processes as needed to free resources for higher-priority applications. Each Android application runs in a separate process within its own Dalvik instance and all the responsibility for memory and process management is charged over to the Android run time, which breaks and kills processes as needed to manage resources [6, 8]. Dalvik and the Android run time assemble on top of a Linux kernel that handles low-level hardware IV. MEMORY CONFIGURATION OF ANDROID DEVICE The Android operating system manages released applications which are working in the background. Thus it is the system responsibility to kill the applications when the system is in need of more memory. But, in this scenario Android system leaves too many applications and processes running in the background. This causes slackness in the system s performance. In order to avoid this inconvenience, advanced task managers are available in the Android system to improve the working of jobs. The task manager shows the details regarding the applications, processes and the services running in the background. Manually users can also delete any application, service or process if in case it is not needed. The memory configuration for Linux System and an Android device has been studied and the results are shown in the following tables. The memory configuration details of a Linux machine and for an Android Device LG-C660 are given in Table I. TABLE I Comparison for the Memory Configuration Details of Linux Machine and an Android Device Memory Details (kb) Entry Description Linux Android Machine Device MemTotal Total usable RAM MemFree Total free RAM memory Buffers Buffer cache memory Cached Memory in PageCache minus SwapCached SwapCached Memory in swapfile which is used as cache memory Active Memory that is active in use Inactive Memory that is free Active(anon) Anonymous memory that is active in use Inactive(anon) Anonymous memory that is free

4 Active(file) Memory related to file which is active Inactive(file) Memory related to file which is free Unevictable These are the pages that cannot be paged because the page might belong to a ramdisk Mlocked Memory consumed by the locked pages HighTotal Total memory which is not mapped into the kernel space Not Present HighFree Free memory which is not mapped into the kernel space 2496 Not Present LowTotal Total memory which is mapped into the kernel space Not Present LowFree Free memory which is mapped into the kernel space Not Present SwapTotal Total swap memory SwapFree Swap memory which is free Dirty Memory which is waiting and need to be written back on the disk Writeback memory which is active and is being written back on the disk 0 0 AnonPages Memory details regarding Anonymous memory Mapped Memory details regarding the mapped memory which allows communication among various files through a shared file. Shmem Memory occupied by the shared memory which is used in Inter Process Communication Slab Memory occupied by the in-kernel cache SReclaimable Memory which is a part of slab, and can be reclaimed SUnreclaim Memory which is a part of slab, and cannot be reclaimed KernelStack Memory occupied by the Stack Kernel PageTables Memory which is allotted to the lowest level of page tables NFS_Unstable NFS pages which are sent to the server but are not committed to stable storage. 0 0 Bounce Memory used by block device 0 0 WritebackTmp Memory used for temporary writeback buffers 0 0 CommitLimit Memory which is currently available to be allocated on the system Committed_AS Entry representing the worst case scenario in the device VmallocTotal Memory occupied by vmalloc VmallocUsed Memory used by vmalloc VmallocChunk Free memory of vmalloc HugePages_Total Total memory consumed by the huge pages 0 Not Present HugePages_Free Free memory of the huge pages which are not yet mapped 0 Not Present HugePages_Rsvd Memory reserved by the pages and not yet mapped 0 Not Present HugePages_Surp Surplus memory above the normal value of the huge pages 0 Not Present Hugepagesize Memory consumed by the huge page 4096 Not Present DirectMap4k Memory which is mapped using the page size 4k Not Present DirectMap4M Memory which is mapped using the page size 4M Not Present The table shows that High Memory and Low Memory are not present in the Android OS. High Memory is the memory which is referred by the kernel indirectly, if in case the userspace translation is not created in physical memory by the system. Whereas, Low Memory is the memory which has direct mapping present in the kernel. In Linux, multiple page sizes of the hardware can be accessed using the technique called Hugepages. This feature is absent in Android because the hardware present is limited in comparison with the Linux system hardware. The virtual memory statistics of a Linux machine and for an Android Device LG-C660 are given in Table II. The results in Table II below show that the concept of Swap Memory, Buffered Memory and Cache Memory is not present in Android OS whereas Mapped Memory, Anonymous Memory and Slab Memory are present in Android OS. The concept of Swap Memory has been replaced by Anonymous Memory in Android. Thus, when Anonymous Memory is requested by the system, reservation of this memory is made in place of Swap Memory and respective mapping is done to access the requested memory. Slab Memory is the concept which allots temporary space for the data which is allotted and freed again and again depending on the frequent use of the data. Linux kernel 2.6 is chosen as the base for Android OS because of its promising driver model, all the existing drivers, strong memory and process management, network support and all the other functionalities which are supported by an operating system. Android OS has added numerous libraries to enhance the working of the system [15]. The entries in Table I and Table II are derived after executing the memory related commands on Linux desktop and Android OS. These commands were run and tested in order to understand the similarities and the differences present in Linux and Android system which have nearly same, but not completely same kernel structure. Many similarities are observed in the results which are obtained. These similarities are present because Android is directly derived from the Linux kernel.

5 TABLE II Comparison of Virtual Memory Statistics of Linux Machine and an Android Device Platform Field Entry Description Linux Android Machine Device Procs r Processes waiting to enter run-time Yes Yes Uninterruptable b sleeping processes Yes Yes swpd Swap area in memory Yes No free Idle memory Yes Yes buff Buffered memory Yes No Memory cache Fast memory Yes No mapped Mapped memory No Yes anon Anonymous memory No Yes slab Contiguous memory No Yes Interrupts occurring in per second Yes Yes System Context switches cs occurring per second Yes Yes flt Page faults occurring No Yes us User time Yes Yes sy System time Yes Yes CPU id Idle time Yes Yes wa Wait time Yes Yes V. COMPARISON OF MEMORY CONFIGURATION OF SMSLINGO WITH OTHER APPLICATIONS Taking into consideration the high RAM consumption, limited CPU and memory availability, Android has become preferred platform for the developers for developing innovative applications. SMSLingo is one such application which aims towards less RAM consumption and better utilization of the internal memory in Android platform. The comparison of SMSLingo application with the default messaging service and other third party applications is shown in the above table. Parameters related to memory configuration are taken for comparison. Application size (.apk), data size and RAM requirement are the parameters which are tested. Among all the applications, SMSLingo has shown the most promising results. Thus taking into consideration the measly RAM behaviour in Android phones, SMSLingo application can be a promising replacement for the SMS texting application. Results obtained for memory optimization are better using SMSLingo because; the SMS is in readable format even after compressing thus the need for decompressing the SMS lessens after using SMSLingo application. Thus the internal memory required for storing the SMS is optimised promisingly using SMSLingo application. And the saved internal memory can be used for other better applications in return. TABLE III Comparison of Memory Statistics of SMSLingo application with the default Messaging service in an Android Device and also with few third party applications for SMS texting. Name SMSLingo Messaging PackSMS KyshMysh (developed Service (third party (third party SMS (provided SMS SMS compressor by compressor compressor application Android) application) application) Parameters for testing) Total memory 520 KB 420 KB 1.79 MB 88 KB Application size 512 KB (.apk) 392 KB 1.78 MB 76 KB Data size 12 KB 28 KB KB 12 KB RAM requirement (approx) 8.88 MB 15.5 MB 8.66 MB 3.49 MB Text Compression No Yes Yes Yes SMS readability (without decompression) No No No Yes Memory optimization No Yes Yes Yes TABLE IV Comparison of Compression Ratio achieved using Huffman, Run Length and SMSLingo Algorithm SMS Original Size (in Bytes) Compr -essed Size Huffman Run Length Hi, good morning! How are you doing? The meeting with principal has been postponed. It will be scheduled in next week most probably. The timing for the same will be conveyed later. Keep all your work ready so as to give your best. Take care. Bye! Hi! wish you many many happy returns of the day dear :) hope you have a wonderful birthday and a beauiful life ahead :) may God bless you today and forever. may all your wishes come true and you get all the success you deserve. hope to meet you in evening if you manage to steal some time for us. let us know the time and venue for party. have a nice day dear! take care :)

6 Compr -ession Ratio SMSLingo Huffman Run Length 44.76% 47.14% 71.84% 73.42% SMSLingo 82.92% 83.64% Table IV is showing a comparison between Huffman, Run Length and SMSLingo algorithm. Among these three, SMSLingo is showing the most promising results with approximately 10% rise in the compression ratio. Thus, using this hybrid compression technique for text compression helps in optimising the space required per text file while storing in the internal memory. VI. CONCLUSION Android device supports UTF-8 encoding for the text in SMS. This encoding consumes double number of bytes as compared to the regular character encoding which is supported by rest of the mobile operating systems. Thus the space required in storing the SMS in internal memory is doubled and thus it reduces the space which can rather be used for other applications. Thus SMSLingo helps in optimizing the internal storage usage and RAM consumption on the Android device. The experimental results have shown that the RAM consumption of SMSLingo is least in comparison with the default messaging service present in Android and the other third party applications for SMS services. Apart from promising results in RAM consumption, SMSLingo is also better in the compression ratio achieved after processing the text files. Thus the amount of internal memory saved after compressing and saving the text files using SMSLingo is better as compared to the other text file compressor applications available for Android. This application can be extended for large text files and thus better optimization can be achieved for the storage space required for these files. The space preserved in the internal memory after using the compression technique, can be used for the storage of other applications. 5. S.R. Kodituwakku and U. S.Amarasinghe, Comparison Of Lossless Data Compression Algorithms For Text Data, Indian Journal of Computer Science and Engineering, Vol 1 No 4, Shane Conder and Lauren Darcey, Android Wireless Application Development, Pearson Education, Inc, Liu Pu, Performance Analysis of Short Message Service, International Symposium on Intelligent Ubiquitous Computing and Education, Reto Meire, Professional Android 2Application Developmen, Wiley Publishing, Inc, Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, 3 rd Edition, O Reilly Publications, Mel Gorman, Understanding the Linux Virtual Memory Manager, Pearson Education, Java Virtual Machine [online], available Memory Management in Android [online], available David Ehringer, The Dalvik Virtual Machine Architecture, [online], available Machine.pdf 14. A Brief Overview of Dalvik Virtual Machine [online], available, Frank Make1 and Yu-Hsuan Chan, A Survey on Android vs. Linux. REFERENCES 1. Ningde Xie, et al., Using Lossless Data Compression in Data Storage Systems, IEEE Transactions on Computers, Vol. 60, No. 3, March Ahmad Affandi, et al., The Application of Text Compression to Short Message Service Using Huffman Table, Jurnal Generic, Indonesia, Stefan Böttcher, et al., Search and Modification in Compressed Texts, Data Compression Conference, Zigurd Mednieks, et al., Programming Android, O Reilly Publications, 2011

Tvheadend - Bug #2309 Another memory leak?

Tvheadend - Bug #2309 Another memory leak? Tvheadend - Bug #2309 Another memory leak? 2014-09-19 08:12 - Thomas Knoll Status: Fixed Start date: 2014-09-19 Priority: Normal Due date: Assignee: % Done: 0% Category: Estimated time: 0.00 hour Target

More information

The Linux Virtual Memory System

The Linux Virtual Memory System The Linux Virtual Memory System Patrick Ladd Technical Account Manager pladd@redhat.com / pmladd@gmail.com NY Red Hat Users Group June 8, 2016 Slides are available at http://people.redhat.com/pladd/ Topics

More information

Critical Issues. Troubleshooting Linux Performance and Crashes. Mike Latimer. Mike Hasleton. Virtualization Engineer

Critical Issues. Troubleshooting Linux Performance and Crashes. Mike Latimer. Mike Hasleton. Virtualization Engineer Critical Issues Troubleshooting Linux Performance and Crashes Mike Latimer Virtualization Engineer mlatimer@suse.com Mike Hasleton Senior Support Engineer mhasleton@suse.com Rich Brunt Senior Support Engineer

More information

rhincodon.org - index

rhincodon.org - index rhincodon.org - index web author 20160909-222837 UTC 目次 1 Server 2 1.0.1 Place........................... 2 1.0.2 CPU............................ 2 1.0.3 Memory.......................... 3 1.0.4 HDD............................

More information

PERFORMANCE IMPLICATIONS OF NUMA WHAT YOU DON T KNOW COULD HURT YOU! CLAIRE CATES SAS INSTITUTE

PERFORMANCE IMPLICATIONS OF NUMA WHAT YOU DON T KNOW COULD HURT YOU! CLAIRE CATES SAS INSTITUTE PERFORMANCE IMPLICATIONS OF NUMA WHAT YOU DON T KNOW COULD HURT YOU! CLAIRE CATES SAS INSTITUTE AGENDA Terms What Testers need to know about NUMA What Developers need to know about NUMA What SysAdmins

More information

OPERATING SYSTEM. PREPARED BY : DHAVAL R. PATEL Page 1. Q.1 Explain Memory

OPERATING SYSTEM. PREPARED BY : DHAVAL R. PATEL Page 1. Q.1 Explain Memory Q.1 Explain Memory Data Storage in storage device like CD, HDD, DVD, Pen drive etc, is called memory. The device which storage data is called storage device. E.g. hard disk, floppy etc. There are two types

More information

Bash. About Bash. Guidelines and Limitations. Accessing Bash

Bash. About Bash. Guidelines and Limitations. Accessing Bash About, on page 1 Guidelines and Limitations, on page 1 Accessing, on page 1 Escalate Privileges to Root, on page 2 Examples of Commands, on page 5 Managing RPMs, on page 6 Persistently Daemonizing an SDK-

More information

Troubleshooting Memory

Troubleshooting Memory This chapter contains the following sections: About, page 1 General/High Level Assessment of Platform Memory Utilization, page 2 Detailed Assessment of Platform Memory Utilization, page 2 User Processes,

More information

Downloaded from: justpaste.it/o09s

Downloaded from: justpaste.it/o09s Downloaded from: justpaste.it/o09s Pogoplug:~$ cat /proc/cpuinfo Processor : ARM926EJ-S rev 1 (v5l) BogoMIPS : 1192.75 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE

More information

Linux-tiny And Directions For Small Systems

Linux-tiny And Directions For Small Systems Linux-tiny And Directions For Small Systems Matt Mackall mpm@digeo.com July, 2004 The Problem: Kernel Bloat The Problem: Kernel Bloat 1994: 0.99 kernel 16MHz 386SX 4MB of RAM The Problem: Kernel Bloat

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

If I Send a Special Message to. Richard F. Lewis IBM

If I Send a Special Message to. Richard F. Lewis IBM If I Send a Special Message to Linux Will it Answer? - 14591 Richard F. Lewis IBM rflewis@us.ibm.com Trademarks The following are trademarks of the International Business Machines Corporation in the United

More information

SAS Viya 3.4 Administration: Operations Infrastructure

SAS Viya 3.4 Administration: Operations Infrastructure SAS Viya 3.4 Administration: Operations Infrastructure Operations Infrastructure: Overview............................................................ 2 Operations Infrastructure: Collectors...........................................................

More information

何时放入常规 bin? 释放时先放到无序 bin 下次执行 malloc 时, 放入所属的常规 bin

何时放入常规 bin? 释放时先放到无序 bin 下次执行 malloc 时, 放入所属的常规 bin 何时放入常规 bin? /* Place the chunk in unsorted chunk list. Chunks are not placed into regular bins until after they have been given one chance to be used in malloc. */ 释放时先放到无序 bin 下次执行 malloc 时, 放入所属的常规 bin

More information

Section 9: Cache, Clock Algorithm, Banker s Algorithm and Demand Paging

Section 9: Cache, Clock Algorithm, Banker s Algorithm and Demand Paging Section 9: Cache, Clock Algorithm, Banker s Algorithm and Demand Paging CS162 March 16, 2018 Contents 1 Vocabulary 2 2 Problems 3 2.1 Caching.............................................. 3 2.2 Clock Algorithm.........................................

More information

WLAN on DILNetPC DNP9200 External SWAP Device on DNP9200

WLAN on DILNetPC DNP9200 External SWAP Device on DNP9200 WLAN on DILNetPC DNP9200 External SWAP Device on DNP9200 Picture 1: DNP9200 + eval board SK23, external mini USB2.0 Hub with a 11Mbps WLAN USB Adapter and 1GB high speed(192x) USB SWAP device. Attention:

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

Lecture 8 Memory Management Strategies (chapter 8)

Lecture 8 Memory Management Strategies (chapter 8) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 8 Memory Management Strategies (chapter 8) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The

More information

CS 3733 Operating Systems:

CS 3733 Operating Systems: CS 3733 Operating Systems: Topics: Memory Management (SGG, Chapter 08) Instructor: Dr Dakai Zhu Department of Computer Science @ UTSA 1 Reminders Assignment 2: extended to Monday (March 5th) midnight:

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 02 Lecture 06 Virtual Memory Hello. In this video, we

More information

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming

More information

Chapter 8. Virtual Memory

Chapter 8. Virtual Memory Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:

More information

Input/Output Management

Input/Output Management Chapter 11 Input/Output Management This could be the messiest aspect of an operating system. There are just too much stuff involved, it is difficult to develop a uniform and consistent theory to cover

More information

CS450/550 Operating Systems

CS450/550 Operating Systems CS450/550 Operating Systems Lecture 4 memory Palden Lama Department of Computer Science CS450/550 Memory.1 Review: Summary of Chapter 3 Deadlocks and its modeling Deadlock detection Deadlock recovery Deadlock

More information

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College CISC 7310X C08: Virtual Memory Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/22/2018 CUNY Brooklyn College 1 Outline Concepts of virtual address space, paging, virtual page,

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

3. Memory Management

3. Memory Management Principles of Operating Systems CS 446/646 3. Memory Management René Doursat Department of Computer Science & Engineering University of Nevada, Reno Spring 2006 Principles of Operating Systems CS 446/646

More information

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has

Swapping. Operating Systems I. Swapping. Motivation. Paging Implementation. Demand Paging. Active processes use more physical memory than system has Swapping Active processes use more physical memory than system has Operating Systems I Address Binding can be fixed or relocatable at runtime Swap out P P Virtual Memory OS Backing Store (Swap Space) Main

More information

Chapter 3 - Memory Management

Chapter 3 - Memory Management Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping

More information

Today. Process Memory Layout. CSCI 4061 Introduction to Operating Systems. Where does the memory come from?

Today. Process Memory Layout. CSCI 4061 Introduction to Operating Systems. Where does the memory come from? Today CSCI 4061 Introduction to Operating Systems OS Management Virtual Paging and Swapping Instructor: Abhishek Chandra 2 Process Layout Where does the memory come from? High Address Args, environment

More information

Operating System Concepts

Operating System Concepts Chapter 9: Virtual-Memory Management 9.1 Silberschatz, Galvin and Gagne 2005 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped

More information

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1

Memory Allocation. Copyright : University of Illinois CS 241 Staff 1 Memory Allocation Copyright : University of Illinois CS 241 Staff 1 Recap: Virtual Addresses A virtual address is a memory address that a process uses to access its own memory Virtual address actual physical

More information

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging

Memory Management Outline. Operating Systems. Motivation. Paging Implementation. Accessing Invalid Pages. Performance of Demand Paging Memory Management Outline Operating Systems Processes (done) Memory Management Basic (done) Paging (done) Virtual memory Virtual Memory (Chapter.) Motivation Logical address space larger than physical

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In

More information

Viewing ACE Hardware and Software Configuration Information

Viewing ACE Hardware and Software Configuration Information CHAPTER 5 Viewing ACE Hardware and Software Configuration Information This chapter describes how to view ACE hardware and software configuration information. The ACE CLI provides a comprehensive set of

More information

Module 1. Introduction:

Module 1. Introduction: Module 1 Introduction: Operating system is the most fundamental of all the system programs. It is a layer of software on top of the hardware which constitutes the system and manages all parts of the system.

More information

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358

Memory Management. Reading: Silberschatz chapter 9 Reading: Stallings. chapter 7 EEL 358 Memory Management Reading: Silberschatz chapter 9 Reading: Stallings chapter 7 1 Outline Background Issues in Memory Management Logical Vs Physical address, MMU Dynamic Loading Memory Partitioning Placement

More information

Basic Memory Management

Basic Memory Management Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it

More information

File Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure.

File Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure. File Systems I/O Management Hard Drive Management Virtual Memory Swap Memory Management Storage and I/O Introduction CSI3131 Topics Process Management Computing Systems Memory CPU Peripherals Processes

More information

ECE 598 Advanced Operating Systems Lecture 14

ECE 598 Advanced Operating Systems Lecture 14 ECE 598 Advanced Operating Systems Lecture 14 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 22 March 2018 HW#6 was due. Announcements HW#7 will be posted eventually. Project

More information

Operating Systems Design Exam 2 Review: Spring 2011

Operating Systems Design Exam 2 Review: Spring 2011 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes

More information

Chapter 9: Virtual-Memory Management. Operating System Concepts 8 th Edition,

Chapter 9: Virtual-Memory Management. Operating System Concepts 8 th Edition, Chapter 9: Virtual-Memory Management, Silberschatz, Galvin and Gagne 2009 Chapter 9: Virtual-Memory Management Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped

More information

CS152 Computer Architecture and Engineering Lecture 17: Cache System

CS152 Computer Architecture and Engineering Lecture 17: Cache System CS152 Computer Architecture and Engineering Lecture 17 System March 17, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http//http.cs.berkeley.edu/~patterson

More information

Introduction to Virtual Memory Management

Introduction to Virtual Memory Management Introduction to Virtual Memory Management Minsoo Ryu Department of Computer Science and Engineering Virtual Memory Management Page X Demand Paging Page X Q & A Page X Memory Allocation Three ways of memory

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the basic organization of computer systems To provide a grand tour of the major

More information

CS 416: Opera-ng Systems Design March 23, 2012

CS 416: Opera-ng Systems Design March 23, 2012 Question 1 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes

More information

Greg Smith's Note Magnet

Greg Smith's Note Magnet Teilen 0 Mehr Nächstes Blog» Blog erstellen Anmelden Greg Smith's Note Magnet Sunday, August 3, 2008 A Linux write cache mystery One happy coincidence for me last month is that I discovered a friend of

More information

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah The kinds of memory:- 1. RAM(Random Access Memory):- The main memory in the computer, it s the location where data and programs are stored (temporally). RAM is volatile means that the data is only there

More information

Memory Management. Contents: Memory Management. How to generate code? Background

Memory Management. Contents: Memory Management. How to generate code? Background TDIU11 Operating systems Contents: Memory Management Memory Management [SGG7/8/9] Chapter 8 Background Relocation Dynamic loading and linking Swapping Contiguous Allocation Paging Segmentation Copyright

More information

CS 333 Introduction to Operating Systems Class 2 OS-Related Hardware & Software The Process Concept

CS 333 Introduction to Operating Systems Class 2 OS-Related Hardware & Software The Process Concept CS 333 Introduction to Operating Systems Class 2 OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State University 1 Lecture 2 overview OS-Related Hardware

More information

CIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018

CIS Operating Systems Memory Management Cache and Demand Paging. Professor Qiang Zeng Spring 2018 CIS 3207 - Operating Systems Memory Management Cache and Demand Paging Professor Qiang Zeng Spring 2018 Process switch Upon process switch what is updated in order to assist address translation? Contiguous

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

JBOX2 (Saturn Ring) Appliance General Guide

JBOX2 (Saturn Ring) Appliance General Guide JBOX2 (Saturn Ring) Appliance General Guide Rev Revisions Date Approval A Gianfranco D'Aleo 17 April 2008 rel 3.1.0 JBOX2 Appliance - General Guide NOTE The information contained in this document is subject

More information

Memory management: outline

Memory management: outline Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray

More information

Memory management: outline

Memory management: outline Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Chapter 8 Virtual Memory Contents Hardware and control structures Operating system software Unix and Solaris memory management Linux memory management Windows 2000 memory management Characteristics of

More information

Perform page replacement. (Fig 8.8 [Stal05])

Perform page replacement. (Fig 8.8 [Stal05]) Virtual memory Operations and policies Chapters 3.4. 3.7 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka ) Where to place the new

More information

Memory and multiprogramming

Memory and multiprogramming Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson

More information

Week 2: Tiina Niklander

Week 2: Tiina Niklander Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

CS 5523 Operating Systems: Memory Management (SGG-8)

CS 5523 Operating Systems: Memory Management (SGG-8) CS 5523 Operating Systems: Memory Management (SGG-8) Instructor: Dr Tongping Liu Thank Dr Dakai Zhu, Dr Palden Lama, and Dr Tim Richards (UMASS) for providing their slides Outline Simple memory management:

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Multiprogramming Memory Management so far 1. Dynamic Loading The main Program gets loaded into memory Routines are stored in Relocatable Load format on disk As main program (or

More information

Memory Management. Fundamentally two related, but distinct, issues. Management of logical address space resource

Memory Management. Fundamentally two related, but distinct, issues. Management of logical address space resource Management Fundamentally two related, but distinct, issues Management of logical address space resource On IA-32, address space may be scarce resource for a user process (4 GB max) Management of physical

More information

Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1

Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9 Memory Management Main Memory Operating system concepts. Sixth Edition. Silberschatz, Galvin, and Gagne 8.1 Chapter 9: Memory Management Background Swapping Contiguous Memory Allocation Segmentation

More information

CS 333 Introduction to Operating Systems. Class 2 OS-Related Hardware & Software The Process Concept

CS 333 Introduction to Operating Systems. Class 2 OS-Related Hardware & Software The Process Concept CS 333 Introduction to Operating Systems Class 2 OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State University 1 Administrivia CS333 lecture videos are

More information

Operating System Services

Operating System Services CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories

More information

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2015

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2015 CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2015 Previous class What is logical address? Who use it? Describes a location in the logical address space Compiler and CPU

More information

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017

CIS Operating Systems Memory Management Cache. Professor Qiang Zeng Fall 2017 CIS 5512 - Operating Systems Memory Management Cache Professor Qiang Zeng Fall 2017 Previous class What is logical address? Who use it? Describes a location in the logical memory address space Compiler

More information

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections )

Lecture 8: Virtual Memory. Today: DRAM innovations, virtual memory (Sections ) Lecture 8: Virtual Memory Today: DRAM innovations, virtual memory (Sections 5.3-5.4) 1 DRAM Technology Trends Improvements in technology (smaller devices) DRAM capacities double every two years, but latency

More information

OPERATING SYSTEM. Chapter 9: Virtual Memory

OPERATING SYSTEM. Chapter 9: Virtual Memory OPERATING SYSTEM Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory

More information

Page Replacement. 3/9/07 CSE 30341: Operating Systems Principles

Page Replacement. 3/9/07 CSE 30341: Operating Systems Principles Page Replacement page 1 Page Replacement Algorithms Want lowest page-fault rate Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number

More information

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3. OVERVIEW Last Week: Scheduling Algorithms Real-time systems Today: But if frequency of high priority task increases temporarily, system may encounter overload: Yet another real-time scheduling algorithm

More information

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses. 1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and

More information

Operating Systems, Fall

Operating Systems, Fall Policies and methods Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page

More information

Address spaces and memory management

Address spaces and memory management Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address

More information

Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems

Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems Topics: Memory Management (SGG, Chapter 08) 8.1, 8.2, 8.3, 8.5, 8.6 CS 3733 Operating Systems Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San Antonio Office: NPB

More information

Memory Management. Dr. Yingwu Zhu

Memory Management. Dr. Yingwu Zhu Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory

More information

Processes and Tasks What comprises the state of a running program (a process or task)?

Processes and Tasks What comprises the state of a running program (a process or task)? Processes and Tasks What comprises the state of a running program (a process or task)? Microprocessor Address bus Control DRAM OS code and data special caches code/data cache EAXEBP EIP DS EBXESP EFlags

More information

CIT 470: Advanced Network and System Administration. Topics. What is performance testing? Performance Monitoring

CIT 470: Advanced Network and System Administration. Topics. What is performance testing? Performance Monitoring CIT 470: Advanced Network and System Administration Performance Monitoring CIT 470: Advanced Network and System Administration Slide #1 Topics 1. Performance testing 2. Performance tuning. 3. CPU 4. Memory

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole OS-Related Hardware & Software 2 Lecture 2 Overview OS-Related Hardware & Software - complications in real systems - brief introduction to memory protection,

More information

Operating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France

Operating Systems Memory Management. Mathieu Delalandre University of Tours, Tours city, France Operating Systems Memory Management Mathieu Delalandre University of Tours, Tours city, France mathieu.delalandre@univ-tours.fr 1 Operating Systems Memory Management 1. Introduction 2. Contiguous memory

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

MEMORY MANAGEMENT/1 CS 409, FALL 2013

MEMORY MANAGEMENT/1 CS 409, FALL 2013 MEMORY MANAGEMENT Requirements: Relocation (to different memory areas) Protection (run time, usually implemented together with relocation) Sharing (and also protection) Logical organization Physical organization

More information

Preview. Memory Management

Preview. Memory Management Preview Memory Management With Mono-Process With Multi-Processes Multi-process with Fixed Partitions Modeling Multiprogramming Swapping Memory Management with Bitmaps Memory Management with Free-List Virtual

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory 9.1 Background 9.2 Demand Paging 9.3 Copy-on-Write 9.4 Page Replacement 9.5 Allocation of Frames 9.6 Thrashing 9.7 Memory-Mapped Files 9.8 Allocating

More information

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 8 & Chapter 9 Main Memory & Virtual Memory Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array

More information

CS 261 Fall Mike Lam, Professor. Virtual Memory

CS 261 Fall Mike Lam, Professor. Virtual Memory CS 261 Fall 2016 Mike Lam, Professor Virtual Memory Topics Operating systems Address spaces Virtual memory Address translation Memory allocation Lingering questions What happens when you call malloc()?

More information

Chapter 5. Introduction ARM Cortex series

Chapter 5. Introduction ARM Cortex series Chapter 5 Introduction ARM Cortex series 5.1 ARM Cortex series variants 5.2 ARM Cortex A series 5.3 ARM Cortex R series 5.4 ARM Cortex M series 5.5 Comparison of Cortex M series with 8/16 bit MCUs 51 5.1

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 21 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Why not increase page size

More information

Chapter 8: Memory Management. Operating System Concepts with Java 8 th Edition

Chapter 8: Memory Management. Operating System Concepts with Java 8 th Edition Chapter 8: Memory Management 8.1 Silberschatz, Galvin and Gagne 2009 Background Program must be brought (from disk) into memory and placed within a process for it to be run Main memory and registers are

More information

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory TDIU Operating systems Overview: Virtual Memory Virtual Memory Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality [SGG7/8/9] Chapter 9 Copyright Notice: The

More information

Chapters 9 & 10: Memory Management and Virtual Memory

Chapters 9 & 10: Memory Management and Virtual Memory Chapters 9 & 10: Memory Management and Virtual Memory Important concepts (for final, projects, papers) addressing: physical/absolute, logical/relative/virtual overlays swapping and paging memory protection

More information

Modeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems

Modeling Page Replacement: Stack Algorithms. Design Issues for Paging Systems Modeling Page Replacement: Stack Algorithms 7 4 6 5 State of memory array, M, after each item in reference string is processed CS450/550 Memory.45 Design Issues for Paging Systems Local page replacement

More information

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems File system internals Tanenbaum, Chapter 4 COMP3231 Operating Systems Architecture of the OS storage stack Application File system: Hides physical location of data on the disk Exposes: directory hierarchy,

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Memory Management Virtual Memory

Memory Management Virtual Memory Memory Management Virtual Memory Part of A3 course (by Theo Schouten) Biniam Gebremichael http://www.cs.ru.nl/~biniam/ Office: A6004 April 4 2005 Content Virtual memory Definition Advantage and challenges

More information

CS 450 Fall xxxx Final exam solutions. 2) a. Multiprogramming is allowing the computer to run several programs simultaneously.

CS 450 Fall xxxx Final exam solutions. 2) a. Multiprogramming is allowing the computer to run several programs simultaneously. CS 450 Fall xxxx Final exam solutions 1) 1-The Operating System as an Extended Machine the function of the operating system is to present the user with the equivalent of an extended machine or virtual

More information