Performance Analysis for Improved RAM Utilization for Android Applications
|
|
- Philomena Jennings
- 6 years ago
- Views:
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? 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 informationThe 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 informationCritical 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 informationrhincodon.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 informationPERFORMANCE 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 informationOPERATING 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 informationBash. 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 informationTroubleshooting 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 informationDownloaded 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 informationLinux-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 informationCS399 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 informationFour 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 informationIf 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 informationSAS 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? /* 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 informationSection 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 informationWLAN 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 informationPROCESS 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 informationLecture 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 informationCS 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 informationIntroduction 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 informationBasic 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 informationChapter 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 informationInput/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 informationCS450/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 informationCISC 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 informationECE 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?
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 information3. 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 informationSwapping. 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 informationChapter 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 informationToday. 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 informationOperating 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 informationMemory 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 informationMemory 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 informationIntroduction 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 informationViewing 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 informationModule 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 informationMemory 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 informationBasic 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 informationFile 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 informationECE 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 informationOperating 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 informationChapter 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 informationCS152 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 informationIntroduction 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 informationChapter 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 informationCS 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 informationGreg 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 informationPharmacy 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 informationMemory 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 informationCS 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 informationCIS 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 informationVirtual 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 informationJBOX2 (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 informationMemory 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 informationMemory 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 informationChapter 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 informationPerform 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 informationMemory 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 informationWeek 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 informationCS 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 informationEmbedded 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 informationChapter 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 informationMemory 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 informationChapter 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 informationCS 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 informationOperating 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 informationCIS 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 informationCIS 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 informationLecture 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 informationOPERATING 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 informationPage 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 informationOVERVIEW. 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 informationAddresses 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 informationOperating 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 informationCS370 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 informationAddress 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 informationTopics: 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 informationMemory 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 informationProcesses 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 informationCIT 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 informationCS510 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 informationOperating 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 informationIntroduction. 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 informationMEMORY 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 informationPreview. 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 informationChapter 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 informationChapter 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 informationCS 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 informationChapter 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 informationCS370 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 informationChapter 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 informationVirtual 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 informationChapters 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 informationModeling 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 informationFile 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 informationCS370 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 informationMemory 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 informationCS 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