Preparation for the Final Exam -- Weaving the threads together ECEN5043 Software Engineering of Multi-Program Systems University of Colorado, Boulder.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computer Systems/Operating Systems - Class 8
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1: Operating Systems Overview
Concurrency CS 510: Programming Languages David Walker.
Memory Management, File Systems, I/O How Multiprogramming Issues Mesh ECEN 5043 Software Engineering of Multiprogram Systems University of Colorado, Boulder.
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
Operating Systems CSE 411 CPU Management Sept Lecture 11 Instructor: Bhuvan Urgaonkar.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
1 Operating System Overview Chapter 2 Advanced Operating System.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Kernel, processes and threads Windows and Linux. Windows Architecture Operating system design Modified microkernel Layered Components HAL Interacts with.
ENG3640 Micro Computer Interfacing General Information Handout Fall 2012, September 7 th ENG3640 Fall
ECE 353 Introduction to Microprocessor Systems Michael J. Schulte Week 1.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
1 Welcome! CSI 3310: Operating System Principles Mario Marchand
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
CE342 :OPERATING SYSTEM. I nstructor: Prof Dr. Saleh Shehaby Office Hours: E622 Thursday 10:30-2:30 Teacher Assistant.
1 Threads, SMP, and Microkernels Chapter 4. 2 Process Resource ownership: process includes a virtual address space to hold the process image (fig 3.16)
Processes Introduction to Operating Systems: Module 3.
Chapter 3: Operating Systems
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
1: Operating Systems Overview 1 Jerry Breecher Fall, 2004 CLARK UNIVERSITY CS215 OPERATING SYSTEMS OVERVIEW.
Unit 9: Distributing Computing & Networking Kaplan University 1.
Operating Systems CSE 411 Revision and final thoughts Revision and final thoughts Dec Lecture 33 Instructor: Bhuvan Urgaonkar.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Computer Programming for Engineers CMPSC 201C Fall 2000.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Concepts and Structures. Main difficulties with OS design synchronization ensure a program waiting for an I/O device receives the signal mutual exclusion.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
Introduction to Operating Systems
Advanced Operating Systems CIS 720
Chapter 3: Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
INTERNATIONAL BURCH UNIVERSITY
Threads, SMP, and Microkernels
Chapter 15, Exploring the Digital Domain
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
CGS 3763 Operating Systems Concepts Spring 2013
CGS 3763 Operating Systems Concepts Spring 2013
Lecture 4- Threads, SMP, and Microkernels
Operating Systems : Overview
Chapter 3: Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 3: Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Chapter 3: Operating Systems
Chapter 3: Operating Systems Computer Science: An Overview
Operating Systems : Overview
Chapter 3: Operating Systems
Operating Systems : Overview
CS510 Operating System Foundations
Presentation transcript:

Preparation for the Final Exam -- Weaving the threads together ECEN5043 Software Engineering of Multi-Program Systems University of Colorado, Boulder

Basic constraints You should bring: –paper for writing the exam (and something to write with!) :-) –you may bring a laptop computer for writing the essay. Texts –Notes and any ECEN5043 web site handouts you want These may be electronic but you should not access homework (graded or otherwise) or go to other sources during the exam. –A calculator in case there is an RMA problem –A means of telling time and noting the halfway point... :-)) You should NOT bring -- homework, any other web-accessible device Final exam sessions are 2.5 hrs One part will be essay -- we’ll look at samples today The other part will be based on homework assignments

Help availability Students taking the test on campus -- –Exam is Tuesday, May 8, 4:30 p.m. – 7:00 p.m. in the Circuits Lab, ECEE 275 –Extended office hours: Monday, May 7, 2:00 to 4:00 p.m. Tuesday, May 8, 10:00 – 11:30 a.m. By appointment, if needed. Students taking the test off-campus with a proctor –I will be available for extended office hours and web site discussion-thread help up to the morning before the exam. –I will give you phone numbers where you can reach me if you have questions while you are taking the exam.

If you are a distance student... and you are planning to take the exam on-campus. –Tell me so that I do not send a copy of the exam to your educational officer

Multi-program issues aka Concurrency issues 1.Shared resources a.Support mutually exclusive access b.Avoid deadlock between multiple interacting processes/programs. c.Avoid starvation or unnecessary delay 2.Support condition synchronization or asynchronous exec. 3.Communication -- shared data or message passing 4.Non-determinism -- Produce consistent results despite interleaving of program instructions by the operating system or the CPU. 5.Partial failure (in a single CPU context); e.g. a thread is killed 6.Asynchronous events – interrupts, signals, et al. 7.The CPU and operating system are shared resources

Multi-program issues aka Concurrency issues 8.In general, resource contention impacts responsiveness & scalability. 9. Security requires defensive interface classes. 10.Essential to evaluate architecture quality early in development. 11.Multi-program testing issues 8.Need for sampling -- Analogy to path testing at multi- program system level 9.Some components are not possible to modify -- some legacy programs, off-the-shelf components 10.Can only test at system level what you can verify at system level 11.Some component interactions are too complex to set up at test driver level

Software Engineering Topics a.Requirements engineering --  requirements, constraints, derived requirements;  specification notation adapted to multi-program system level  Elicitation at system level; at component level  Traceability b.Process design  Creation, termination, states  Interprocess communication  User threads vs. kernel threads

Software Engineering Topics (continued) c.System Impact  Scheduling and real time scheduling  Memory management  I/O software and file systems d.Performance e.Security f.Design methodology (development process) g.Notations for communication among project staff h.Testing –  static testing  test planning of dynamic testing  testing interactions at different levels of integration

Sample essay question Pick a topic from the Issues list. For example: –“In a multi-program system, programs/components may be a combination of new, legacy, and off-the-shelf programs.” What considerations does that introduce in sw engineering areas? –Requirements: elicitation, specification notation, traceability –Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication –Testing: kinds of testing; managing the complexity

Another sample essay question Pick a topic from the Issues list. For example: –“In a multi-program system, some of the programs share a resource.” What considerations does that introduce in sw engineering areas? –Requirements: elicitation, specification notation, traceability –Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication –Testing: kinds of testing; managing the complexity

Yet another sample essay question Pick a topic from the Issues list. For example: –“ In general, resource contention impacts responsiveness & scalability.” What considerations does that introduce in sw engineering areas? –Requirements: elicitation, specification notation, traceability –Design: security, performance, process communication, synchronization & scheduling, memory management, file management, i/o, inter-team communication, intra-team communication –Testing: kinds of testing; managing the complexity