CMSC 621 Advanced Operating Systems Nilanjan Banerjee University
CMSC 621: Advanced Operating Systems Nilanjan Banerjee University of Maryland Baltimore County nilanb@umbc. edu http: //www. csee. umbc. edu/~nilanb/teaching/621/ Advanced Operating Systems 1
Advanced OS is another name for Distributed OS • An operating system (OS) is: – a software layer to abstract away and manage details of hardware resources – a set of utilities to simplify application development Applications OS Hardware • Think about an OS across multiple computers – a software layer to abstract away and manage details of multiple hardware resources – a set of utilities to simplify application development on multiple computers 2
Distributed OS is an OS that works across multiple independent computers
Home Automation System is a Distributed System Tasks (software) Energy monitori ng Alerts w/Phot os Climate control Keyless entry Distributed OS Devices (hardware) Slide credit: Ratul Mahajan, An Operating System for the Home Remote lock
Body Sensor Networks for Healthcare is a Distributed System 5
Large-scale Computing/Networking Testbeds are Distributed Systems 6
Designing distributed operating system requires thorough understanding of basic operating systems Concurrent Programming MMU File Systems Scheduling Distributed Concurrent Programming Distributed Versions of these hardware Additional Requirements: Networking 7
Designing Distributed Systems is challenging! • Concurrency Control • Threads, Parallelism, Ordering, Race Condition • Communication in Distributed Systems • Clock Synchronization • Transactions • Fault Tolerance • Distributed Storage • Security 8
Is this course for me? • Should be proficient in basic operating systems concepts • Concurrent programming, file systems, memory management, • we will test some of these concepts in the first few lectures, and the first project. • Should be proficient in C++ 9
How will I be graded? • • • Homeworks (3 total) (15 points) Programming Projects (3 -4 total) (30 points) Midterm (20 points) Finals (30 points) In Class Discussions and Participation (5 points) 10
Assignments • Theoretical Questions on Distributed Systems • With short programming questions • Review of research papers • Classic papers in Distributed systems/Operating systems 11
Projects • Groups of 2 (max) • Programming Assignment • Both members have to state their contributions. • 30 points for (3 -4 project) 12
Midterm • In-class midterm • Design and coding problems • Grading • 20 points towards final grade 13
Finals • In-class finals • Design and coding problems (cumulative) • Grading • 30 points towards final grade 14
Resources you will need • Linux machine or a virtual machine with linux installed Distributed Systems Tanenbaum and Steen 2 nd Edition 15
Administrivia… • Course webpage and reading list • www. csee. umbc. edu/~nilanb/teaching/621/ • My email id: nilanb@umbc. edu • Grades will be on Blackboard • Discussion Group • Piazza (piazza. com/umbc/fall 2015/cmsc 621/home) • Class hours: 4: 00 pm – 5: 15 pm (Mon, Wed) • Office hours: 3: 00– 4: 00 (Mon, Wed) or by appointment • TA: Sandeep Narayanan • Email: sand 7@umbc. edu • Office hours: TBD. • Come and talk to me if you have any questions 16
Quiz based on a Basic OS course 17
- Slides: 17