Download Memory Management Functions

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
REAL TIME OPERATING SYSTEMS
Lesson-5:
Memory Management Functions
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
1
1. Memory allocation
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
2
Memory allocation


2008
When a process is created, the memory
manager allocates the memory addresses
(blocks) to it by mapping the processaddress space.
Threads of a process share the memory
space of the process
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
3
Memory Management after Initial
Allocation




2008
Memory manager of the OS─ secure, robust
and well protected.
No memory leaks and stack overflows
Memory leaks means attempts to write in
the memory block not allocated to a process
or data structure.
Stack overflow means that the stack
exceeding the allocated memory block(s)
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
4
Memory Managing Strategy for a system
 Fixed-blocks allocation
 Dynamic -blocks Allocation
 Dynamic Page-Allocation
 Dynamic Data memory Allocation
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
5
Memory Managing Strategy for a system
 Dynamic address-relocation
 Multiprocessor Memory Allocation
 Memory Protection to OS functions
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
6
2. Memory allocation in RTOSes
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
7
Memory allocation in RTOSes

RTOS may disable the support to the
dynamic block allocation, MMU support to
dynamic page allocation and dynamic
binding as this increases the latency of
servicing the tasks and ISRs.
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
8
Memory allocation in RTOSes


RTOS may not support to memory
protection of the OS functions, as this
increases the latency of servicing the tasks
and ISRs.
User functions are then can run in kernel
space and run like kernel functions
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
9
Memory allocation in RTOSes

RTOS may provide for disabling of the
support to memory protection among the
tasks as this increases the memory
requirement for each task
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
10
3. Memory manager functions
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
11
Memory Manager functions



(i) use of memory address space by a
process,
(ii) specific mechanisms to share the
memory space and
(iii) specific mechanisms to restrict sharing
of a given memory space
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
12
Memory Manager functions


(iv) optimization of the access periods of a
memory by using an hierarchy of memory
(caches, primary and external secondary
magnetic and optical memories).
Remember that the access periods are in the
following increasing order: caches, primary
and external secondary magnetic and then
or optical.
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
13
4. Fragmentation Memory Allocation
Problems
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
14
Fragmented not continuous memory
addresses in two blocks of a process



Time is spent in first locating next free
memory address before allocating that to
the process.
A standard memory allocation scheme is to
scan a linked list of indeterminate length to
find a suitable free memory block.
When one allotted block of memory is deallocated, the time is spent in first locating
next allocated memory block before deallocating that to the process.
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
15
Fragmented not continuous memory
addresses in two blocks of a process


The time for allocation and de-allocation of
the memory and blocks are variable (not
deterministic) when the block sizes are
variable and when the memory is
fragmented.
In RTOS, this leads to unpredicatble task
performance
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
16
5. Memory management Example
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
17
RTOS COS
COS--II




Memory partitioning
A task must create a memory partition or
several memory partitions by using function
OSMemCreate ( )
Then the task is permitted to use the
partition or partitions.
A partition has several memory blocks.
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
18
RTOS COS
COS--II




Task consists of several fixed size memory
blocks.
The fixed size memory blocks allocation
and de-allocation time takes fixed time
(deterministic).
OSMemGet ( )─ to provide a task a
memory block or blocks from the partition
OSMemPut ( ) ─ to release a memory block
or blocks to the partition
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
19
Summary
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
20
We learnt
• Memory manager allocates memory to the
processes and manages it with appropriate
protection.
• Static and dynamic allocations of memory.
• Manager optimizes the memory needs and
memory utilization
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
21
We learnt
• An RTOS may disable the support to the
dynamic block allocation, MMU support to
dynamic page allocation and dynamic
binding as this increases the latency of
servicing the tasks and ISRs.
• An RTOS may or may not support memory
protection in order to reduce the latency and
memory needs of the processes.
• An RTOS may provide of running user
functions in kernel space
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
22
End of Lesson 5 of Chapter 8
2008
Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
23