1 / 25

Introduction and a few OS research problems

Introduction and a few OS research problems. CS523 Roy H. Campbell. Objectives and Outcomes. Learning Objectives Principles underlying the functioning of research and new operating systems; Awareness of the major technical challenges in operating systems design and implementation;

samson
Download Presentation

Introduction and a few OS research problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction anda few OS research problems CS523 Roy H. Campbell

  2. Objectives and Outcomes Learning Objectives • Principles underlying the functioning of research and new operating systems; • Awareness of the major technical challenges in operating systems design and implementation; • Expose students to new and modern technology used in operating systems and their software; • Expose students to past and new research issues in the field of operating systems; • Provide experience in the implementation of typical algorithms used in new operating systems. Learning Outcomes • Explain what an operating system is, why you would design an operating system, and what the desired properties of such systems are; • List the principles underlying the functioning of an operating system, describe the problems and challenges associated with these principles, and evaluate the effectiveness and shortcomings of their solutions; • Recognize how the principles are applied in new operating system design, explain how they affect the software design, and be able to identify features and design decisions that may cause problems; • Design an operating system that fulfills requirements with regards to key operating systems properties (such as scalability, transparency, dependability etc.), be able to recognize when this is not possible, and explain why; • Build operating system software. An in-depth engagement with the relevant disciplinary knowledge in its inter-disciplinary context, the capacity for analytical and critical thinking and for creative problem solving, and the skills of effective communication.

  3. Match the OS approaches on the left against the OS needs on the right • Apply solution recursively • All problems in CS can be solved by another level of indirection • Separation of Concerns • Capabilities versus Access Lists • Naming – hierarchies and graphs • Redundancy • Least surprise • Distributed File Systems • Multiprocessing • Scalability • User friendliness • Security • Fault-tolerance • Peer to Peer • Atomicity • Scheduling • Memory

  4. OS Research • A sample of problems from the research areas • Not meant to be comprehensive!

  5. Dependability • A system is dependable if it satisfies its requirements and only its requirements and behaves predictably and reliably • Problems: • Resilience to bugs in software and device drivers • Debugging of concurrent programs

  6. Security Confidentiality, Integrity, Availability. Protecting the system from malicious attackers • Protection again common attacks • e.g., memory randomization • Isolation • e.g., virtualization • Detection of attacks • e.g., malware detection, malware analysis • “new OS” security • Browser security • Mobile phone security • Datacenter security

  7. System Configuration Modern operating systems are complex entities. How do we manage that complexity? • Configuration errors • Dependencies between applications and libraries • Isolation? • jails • VMs • How do we configure the management of resources in a datacenter?

  8. System Extensions Extensible systems can adapt to many situations • Management and security nightmare • Bad device drivers • Bad browser extensions

  9. Multi-processor Programming • Modern CPUs already have many cores • Future CPUs might have hundreds of cores • How do we write an operating system that can take advantage of such hardware? • GPUs?

  10. Distributed Operating System • A distributed operating system is the logical aggregation of operating system software over a collection of independent, networked, communicating, and physically separate computational nodes. • What is the extent to which distributed decision making can be aggregated to make a coherent system for users?

  11. Cloud Computing • The OS is the entity that manages resources • Resource management is critical in large-scale systems • How do we build a “datacenter OS?” • What aspects of a Cloud OS make the Cloud more economic for its users?

  12. Scalable Computing • As resources are added to a system, the system improves its service to its users. • Memory, # processors, networks, network and I/O bandwidth, clock speed, cache, disk, power. • Performance, size of program, complexity of program, # users, #services, response time, security, reliability.

  13. Forensics • How do we detect malware? • After an attack, how do we know what happened?

  14. Power • How does an OS use power to optimize: • Response time • Longevity • Consumption of resources • Performance • Maintenance • Availability • Dependability

  15. Introduction to the Class • In this class, you will analyze the solutions to (some of) these problems that have been proposed in the literature, however … • … none of them is perfect and complete, we need more solutions! • You are going to do something about it

  16. Class Resources • Wiki page: • https://wiki.engr.illinois.edu/display/cs523fa12/Home • Lecture info and assigned readings • Office hours: • Instructor: 4-5 Tu, Th, Fri, or by appointment • Lync: rhc@illinois.edu • TA (Mirko Montanari): 5-6.30 Tu, 11-12 Th • Lync: mmontan2@illinois.edu • Discussions • https://piazza.com/class#fall2012/cs523

  17. Analyzing problems and solutions Discussions • Lectures on Tuesdays and Thursdays • Papers assigned on the website before the lecture. • https://wiki.engr.illinois.edu/display/cs523fa12 • Read the paper before the lecture • Post a short review and discussion questions on Piazza by 5pm the previous day • The lecture time will be mostly spend in discussing the papers

  18. Before Class: Review and Discussion Questions • Include: • Very short summary of the main points of the paper (one – two phrases at most) • A short set of “pros” • A short set of “cons” • include suggestion on what could be done to improve the paper • (important!) A set of discussion questions

  19. During Class: Moderating the Discussion in Class • You will be moderating two classes during the semester. • Form a group of two people • The moderating group will prepare a presentation (qual style, everybody knows the paper) • Outline the major contributions of the paper • Analyze drawbacks of the approach • Compare the approach with related work (both previous work and newer work) • Guide the discussion by preparing a set of discussion questions to propose to the class • You can look at Piazza for inspiration, and choose new questions • More info on the wiki page • Everybody should participate in the discussion!

  20. After the class: Discussion Summary • Within a week after the class, the moderating group should post a summary of the discussion on the wiki for reference. • The discussion can be used to review the material at a later date.

  21. Research Project • Form groups of two or three people • Project should: • Identify a management research problem in the area of operating systems • Provide a possible solution • Evaluate the efficacy of the solution through experiments

  22. Project Timeline • Sept 11: Send group information and initial project topic The email should contain a rough idea of the project topic that you are interested in pursuing. • Sept 18: Send project proposal • Oct 16-18: Midterm presentations. The groups will provide a short presentation to the class of initial results of their research project.  • Oct 25: Send midterm report. The report should summarize the initial results and provide an overview of the expected final results • Nov 29 - 4 - 6: Project presentations to the entire class. • Dec 11: final paper due.

  23. Grading • The final grade for the class is composed of the following: • Participation and post of paper comments: 15% • Moderation of two sessions: 30% • Research Project: 55% • The project grade is split as following:  • Project proposal 5% • Midterm report and presentation 10% • Final presentation 10% • Final paper  with experimental results: 25% • Peer evaluation: 5%

  24. Action time • Start forming groups. You can use Piazza to connect with each other and with online students • Signup for student presentations. Please go on the wiki and put your name in the schedule. • Topic list already on the wiki page. Papers will be assigned later. • Topics and paper suggestions are welcome. • Please complete the student information sheet: • http://www.surveymonkey.com/s/YS5NRM3 • Link is on Piazza • Next time: • Tell us (very briefly) about your interest in operating system

More Related