CS703 - Advanced Operating Systems

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Carnegie Mellon 1 Dynamic Memory Allocation: Basic Concepts : Introduction to Computer Systems 17 th Lecture, Oct. 21, 2010 Instructors: Randy Bryant.
Dynamic Memory Allocation (also see pointers lectures) -L. Grewe.
Dynamic Memory Allocation I Topics Simple explicit allocators Data structures Mechanisms Policies CS 105 Tour of the Black Holes of Computing.
Dynamic Memory Allocation I Topics Basic representation and alignment (mainly for static memory allocation, main concepts carry over to dynamic memory.
Carnegie Mellon 1 Dynamic Memory Allocation: Basic Concepts / : Introduction to Computer Systems 18 th Lecture, March 24, 2015 Instructors:
Chris Riesbeck, Fall 2007 Dynamic Memory Allocation Today Dynamic memory allocation – mechanisms & policies Memory bugs.
Dynamic Memory Allocation I October 16, 2008 Topics Simple explicit allocators Data structures Mechanisms Policies lecture-15.ppt “The course that.
Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Dynamic Memory Allocation I Nov 5, 2002 Topics Simple explicit allocators Data structures Mechanisms Policies class21.ppt “The course that gives.
Chapter 13 Embedded Systems
Multiprocessor and Real-Time Scheduling Chapter 10.
Dynamic Memory Allocation I November 1, 2006 Topics Simple explicit allocators Data structures Mechanisms Policies class18.ppt “The course that.
Inter-Process Communication  most OSs provide several abstractions for inter- process communication: message passing, shared memory, etc.  communication.
Memory Layout C and Data Structures Baojian Hua
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
COP 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
Operating System Chapter 7. Memory Management Lynn Choi School of Electrical Engineering.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Virtual & Dynamic Memory Management Summer 2014 COMP 2130 Intro Computer Systems Computing Science Thompson Rivers University.
University of Washington Today Lab 5 out  Puts a *lot* together: pointers, debugging, C, etc.
Chapter 10 Multiprocessor and Real-Time Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Page 1 2P13 Week 9. Page 2 Table 9.2 Scheduling Criteria User Oriented, Performance Related Turnaround time This is the interval of time between the submission.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
University of Washington Today Finished up virtual memory On to memory allocation Lab 3 grades up HW 4 up later today. Lab 5 out (this afternoon): time.
1 Dynamic Memory Allocation: Basic Concepts. 2 Today Basic concepts Implicit free lists.
Dynamic Memory Allocation April 9, 2002 Topics Simple explicit allocators Data structures Mechanisms Policies Reading: 10.9 Problems: and class21.ppt.
For a good summary, visit:
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Embedded Real-Time Systems
Real-Time Operating Systems RTOS For Embedded systems.
Multiprocessor, Multicore, and Real-Time Scheduling Chapter 10
Introduction to Kernel
REAL-TIME OPERATING SYSTEMS
Processes and threads.
Dynamic Memory Allocation I
CS 6560: Operating Systems Design
Topics Covered What is Real Time Operating System (RTOS)
Memory Management I: Dynamic Storage Allocation Oct 7, 1999
Processes David Ferry, Chris Gill
Dynamic Memory Allocation I October 28, 2003
Dynamic Memory Allocation: Basic Concepts CS220: Computer Systems II
The Hardware/Software Interface CSE351 Winter 2013
Real-time Software Design
Memory Management I: Dynamic Storage Allocation March 2, 2000
More examples How many processes does this piece of code create?
COP 4600 Operating Systems Spring 2011
Dynamic Memory Allocation I
Memory Allocation CS 217.
CS703 - Advanced Operating Systems
Dynamic Memory Allocation
Dynamic Memory Allocation I
Lecture Topics: 11/1 General Operating System Concepts Processes
Multiprocessor and Real-Time Scheduling
Operating System Chapter 7. Memory Management
Dynamic Memory Allocation November 2, 2000
LINUX System : Lecture 7 Lecture notes acknowledgement : The design of UNIX Operating System.
Dynamic Memory Allocation: Basic Concepts CSCI 380: Operating Systems
Dynamic Memory Allocation I
Operating Systems: A Modern Perspective, Chapter 6
CS703 - Advanced Operating Systems
Real-Time Process Scheduling Concepts, Design and Implementations
CS703 – Advanced Operating Systems
Processes David Ferry, Chris Gill, Brian Kocoloski
Buddy Allocation CS 161: Lecture 5 2/11/19.
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

CS703 - Advanced Operating Systems By Mr. Farhan Zaidi

Lecture No. 19

Characteristics of Real-Time Operating Systems Reliability Degradation of performance may have catastrophic consequences Fail-soft operation Ability of a system to fail in such a way as to preserve as much capability and data as possible Stability

Features of Real-Time Operating Systems Fast process or thread switch Small size Ability to respond to external interrupts quickly Multitasking with inter-process communication tools such as semaphores, signals, and events

Features of Real-Time Operating Systems Use of special sequential files that can accumulate data at a fast rate Preemptive scheduling base on priority Minimization of intervals during which interrupts are disabled Delay tasks for fixed amount of time Special alarms and timeouts

Real-Time Scheduling Static table-driven Determines at load or even compile time when a task begins execution Static priority-driven preemptive Traditional priority-driven scheduler is used Dynamic planning-based Feasibility determined at run time Dynamic best effort No feasibility analysis is performed

Deadline Scheduling Information used Ready time Starting deadline Completion deadline Processing time Resource requirements Priority Subtask scheduler

Rate Monotonic Scheduling Assigns priorities to tasks on the basis of their periods Highest-priority task is the one with the shortest period

Dynamic Memory Allocation Application Dynamic Memory Allocator Heap Memory Explicit vs. Implicit Memory Allocator Explicit: application allocates and frees space E.g., malloc and free in C Implicit: application allocates, but does not free space E.g. garbage collection in Java, ML or Lisp Allocation In both cases the memory allocator provides an abstraction of memory as a set of blocks Gives out free memory blocks to application

Process Memory Image Allocators request additional heap memory kernel virtual memory memory invisible to user code stack %esp Memory mapped region for shared libraries Allocators request additional heap memory from the operating system using the sbrk function. the “brk” ptr run-time heap (via malloc) uninitialized data (.bss) initialized data (.data) program text (.text)

Assumptions Memory is word addressed (each word can hold a pointer) Free word Allocated block (4 words) Free block (3 words) Allocated word

Constraints Applications: Can issue arbitrary sequence of allocation and free requests Free requests must correspond to an allocated block Allocators Can’t control number or size of allocated blocks Must respond immediately to all allocation requests i.e., can’t reorder or buffer requests Must allocate blocks from free memory i.e., can only place un-allocated blocks in free memory Must align blocks so they satisfy all alignment requirements 8 byte alignment for GNU malloc (libc malloc) on Linux machines