3 memory mgmnt

23
2008 Chapter-8 L 5: "Em bedded Systems - Architecture, Programming and Design" , Raj Kamal, Publs.: McGraw-Hill, Inc. 1 REAL TIME OPERATING SYSTEMS Lesson-5: Memory Management Functions

Upload: dugguz

Post on 29-May-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 Memory Mgmnt

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

Page 2: 3 Memory Mgmnt

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

Page 3: 3 Memory Mgmnt

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

Page 4: 3 Memory Mgmnt

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

Page 5: 3 Memory Mgmnt

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

Page 6: 3 Memory Mgmnt

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

Page 7: 3 Memory Mgmnt

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

Page 8: 3 Memory Mgmnt

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.

Page 9: 3 Memory Mgmnt

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

Page 10: 3 Memory Mgmnt

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 

Page 11: 3 Memory Mgmnt

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

Page 12: 3 Memory Mgmnt

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

Page 13: 3 Memory Mgmnt

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.

Page 14: 3 Memory Mgmnt

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

Page 15: 3 Memory Mgmnt

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.

Page 16: 3 Memory Mgmnt

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

Page 17: 3 Memory Mgmnt

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

Page 18: 3 Memory Mgmnt

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.

Page 19: 3 Memory Mgmnt

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

Page 20: 3 Memory Mgmnt

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

Page 21: 3 Memory Mgmnt

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

Page 22: 3 Memory Mgmnt

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

Page 23: 3 Memory Mgmnt

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