Upload
dugguz
View
226
Download
0
Embed Size (px)
Citation preview
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 1/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.1
REAL TIME OPERATING SYSTEMS
Lesson-5:Memory Management Functions
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 2/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.2
1. Memory allocation1. Memory allocation
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 3/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.3
Memory allocationMemory allocation
When a process is created, the memory
manager allocates the memory addresses
(blocks) to it by mapping the process-
address space.
Threads of a process share the memory
space of the process
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 4/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.4
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)
Memory Management after InitialMemory Management after Initial
AllocationAllocation
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 5/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.5
Memory Managing Strategy for a systemMemory Managing Strategy for a system
Fixed-blocks allocation Dynamic -blocks Allocation
Dynamic Page-Allocation
Dynamic Data memory Allocation
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 6/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.6
Memory Managing Strategy for a systemMemory Managing Strategy for a system
Dynamic address-relocation Multiprocessor Memory Allocation
Memory Protection to OS functions
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 7/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.7
2. Memory allocation in RTOSes2. Memory allocation in RTOSes
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 8/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
8
Memory allocation in RTOSesMemory 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.
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 9/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
9
Memory allocation in RTOSesMemory 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
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 10/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
10
Memory allocation in RTOSesMemory 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
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 11/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
11
3. Memory manager functions3. Memory manager functions
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 12/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
12
Memory Manager functionsMemory 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
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 13/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
13
Memory Manager functionsMemory 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 thenor optical.
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 14/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
14
4. Fragmentation Memory Allocation4. Fragmentation Memory Allocation
ProblemsProblems
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 15/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
15
Fragmented not continuous memoryFragmented not continuous memory
addresses in two blocks of a processaddresses in two blocks of a process
Time is spent in first locating next freememory address before allocating that tothe process.
A standard memory allocation scheme is toscan a linked list of indeterminate length tofind a suitable free memory block.
When one allotted block of memory is de-
allocated, the time is spent in first locatingnext allocated memory block before de-allocating that to the process.
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 16/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
16
Fragmented not continuous memoryFragmented not continuous memory
addresses in two blocks of a processaddresses 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 isfragmented.
In RTOS, this leads to unpredicatble task
performance
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 17/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
17
5. Memory management Example5. Memory management Example
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 18/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
18
RTOSRTOS COSCOS--IIII
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.
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 19/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
19
RTOSRTOS COSCOS--IIII
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
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 20/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
20
SummarySummary
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 21/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
21
We learntWe learnt
• Memory manager allocates memory to theprocesses and manages it with appropriate
protection.
• Static and dynamic allocations of memory.• Manager optimizes the memory needs and
memory utilization
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 22/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
22
We learntWe learnt
• An RTOS may disable the support to thedynamic 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
8/9/2019 3 Memory Mgmnt
http://slidepdf.com/reader/full/3-memory-mgmnt 23/23
2008 Chapter-8 L5: "Embedded Systems - Architecture, Programming
and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc.
23
End of Lesson 5 of Chapter 8End of Lesson 5 of Chapter 8