Abhijit Mondal Sumitro Bhaumik Bishakh Ghosh

Slides:



Advertisements
Similar presentations
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
Advertisements

Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
Course Overview Sarah Diesburg  Bobby Roy COP 5641 / CIS 4930.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
SKU3033 / SKF3033 NETWORK & SYSTEM ADMINISTRATOR.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
Advanced Computer and Network Security Fall 2014 Instructor: Haining Wang.
Course Overview Mark Stanovich COP 5641 / CIS 4930.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
CS614: Advanced Course in Computer Systems (Spring’04) Instructor: Ken Birman TA: non assigned (yet)
Course Information Andy Wang COP 5611 Advanced Operating Systems.
CS533 Concepts of Operating Systems Jonathan Walpole.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Course Information Andy Wang COP 5611 Advanced Operating Systems.
Course Information Andy Wang COP 5611 Advanced Operating Systems.
Course Information Andy Wang COP 5611 Advanced Operating Systems.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
COMPSCI 110 Operating Systems
Computer Network Fundamentals CNT4007C
Introduction to Operating Systems
Welcome to SSE3044 Operating Systems!
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Introduction to the Course
Operating Systems : Overview
Computer Networks CNT5106C
Andy Wang COP 5611 Advanced Operating Systems
Advanced Operating Systems (CS 202)
CS 854: Advanced Topics in Operating Systems
Course Information Mark Stanovich Principles of Operating Systems
Operating Systems and Systems Programming
Lecture Note 0: Course Introduction
Neeraj Mittal September 29, 2017
Operating Systems : Overview
ECE 751: Embedded Computing Systems Prof
CS 39006: Computer Networks Lab – Day 1
Andy Wang Operating Systems COP 4610 / CGS 5765
Introduction to Operating Systems
EECE 310 Software Engineering
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Operating Systems : Overview
Proposal for Term Project Operating Systems, Fall 2018
CSSE 340 Operating Systems (First class)
Andy Wang Operating Systems COP 4610 / CGS 5765
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Multithreaded Programming
Subject Name: Operating System Concepts Subject Number:
Operating Systems Lecture 1.
CSC227: Operating Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
ECE 8823: GPU Architectures
Lecture Note 0: Course Introduction
CS114B Introduction to Computer Science II
Andy Wang Operating Systems COP 4610 / CGS 5765
Sarah Diesburg Operating Systems CS 3430
CS533 Concepts of Operating Systems Class 1
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

CS 60038: Advances in Operating Systems Design Lecture 1: Course Introduction

Abhijit Mondal Sumitro Bhaumik Bishakh Ghosh Teaching Assistants Abhijit Mondal abhimondal@iitkgp.ac.in Office: Systems and Mobile Research Lab Sumitro Bhaumik sumitros@gmail.com Office: Systems and Mobile Research Lab Bishakh Ghosh ghoshbishakh@gmail.com Office: Research Scholar Lab (Annex)

Pre-requisite for this course Undergraduate Operating System Concepts Process and Threads Process life cycle Process Scheduling Process Synchronization (Semaphores) Memory Management (Memory mapping) Virtual Memory Management (Page tables, Demand Paging) File Systems, IO Systems An Assignment 0 has been posted in the course website to recap the core of the above concepts. Please solve them individually and independently.

What We’ll Cover In This Course Topic 1: OS Design  The UNIX Timesharing System (https://people.eecs.berkeley.edu/~brewer/cs262/unix.pdf)  Exokernel (https://pdos.csail.mit.edu/6.828/2008/readings/engler95exokernel.pdf)  Linux Kernel Architecture Process Management and Scheduling Memory management and virtual process memory  Interrupts Threading, Hyperthreading  Some recent research works on OS Design  Drowsy power management, SOSP 2015 Light-Weight Contexts: An OS Abstraction for Safety and Performance, OSDI 2016 HawkEye: Efficient Fine-grained OS Support for Huge Pages, ASPLOS 2019

What We’ll Cover In This Course Topic 2: Virtualization  Xen and Art of Virtualization (https://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf)  Memory Management in Virtualization (Example: VMWare) - https://www.vmware.com/pdf/usenix_resource_mgmt.pdf Lightweight virtualization - http://www.cs.unc.edu/~porter/pubs/p291-porter.pdf Container Virtualization  Some recent research works on virtualization  My VM is Lighter (and Safer) than your Container, SOSP 2017 NEVE: Nested Virtualization Extensions for ARM, SOSP 2017

What We’ll Cover In This Course Topic 3: File System  Unix File System - https://people.eecs.berkeley.edu/~brewer/cs262/FFS.pdf Log Structured File System - https://people.eecs.berkeley.edu/~brewer/cs262/LFS.pdf Networked File System (NFS) - http://www.cs.ucf.edu/~eurip/papers/sandbergnfs.pdf Data Center File System (Google File System) - https://static.googleusercontent.com/media/research.google.com/en//archive/gfs- sosp2003.pdf Some recent researches on file systems Strata: A Cross Media File System, SOSP 2017 Pocket: Elastic Ephemeral Storage for Serverless Analytics, OSDI 2018

What We’ll Cover In This Course Topic 4: Some More Advanced and Recent Topics Trusted Execution Environments, ARM TrustZone System aspects of Blockchain -- Distributed Consensus  Automated Log Analysis  Machine learning on System Research  More Research Papers SeClaok: ARM Trustzone-based Mobile Peripheral Control, MobiSys 2018 Canopy: An End-to-End Performance Tracing And Analysis System, SOSP 2017 XFT: Practical Fault Tolerance beyond Crashes, OSDI 2016

Recent research papers from top OS conferences and journals Reading Materials "Professional Linux Kernel Architecture", Wolfgang Mauerer -- https://cse.yeditepe.edu.tr/~kserdaroglu/spring2014/cse331/termproject/B OOKS/ProfessionalLinuxKernelArchitecture-WolfgangMauerer.pdf Recent research papers from top OS conferences and journals ACM Symposiums on Operating Systems Principles (SOSP) Usenix Operating Systems Design and Implementation (OSDI) Architecture Support for Programming Languages and Operating Systems (ASPLOS) ACM Transactions on Computer Systems ACM Transactions on Storage Relevant materials will be published in the course website periodically

What You Can Expect from the Course In-depth knowledge of the very recent topics in the design of modern operating systems Virtualization technologies Distributed storage architecture (Ex. Google File System) Blockchain based system developments Embedded system concepts (ARM TrustZone) Hands-on experience of various system platforms Kernel compiling and debugging Handling hypervisors for VM setup and optimization Container management - Kubernetes Blockchain management -- Hyperledger platform

What the Instructor Expects from You Attending the classes regularly and making the classes interactive Feel free to stop me whenever you have a question in your mind You’ll recap the basic concepts of undergraduate OS course You’ll solve the assignments on time and by your own -- take help of the TAs (also the instructors) if required. Keep on browsing the recent research papers published in conferences like SOSP, OSDI, ASPLOS etc. (Check DBLP) Regularly participate in the term projects (we’ll discuss later in details). Make your hand dirty by exploring the “nasty” codes of Linux Kernel

Evaluation and Grading Mid Semester: 25% End Semester: 35% Term Project (TP): 25% Assignments: 15% Mid and end semester examinations will contain conceptual questions. You may score very high just by Participating in the classes Solving the assignments Expected course load per week -- 3 hours (Classes) + 1 hour (Assignments) + 1 hour (Reading) + 3 hours (TP) + 1 hour (Meeting with the mentor for TP)

Every team will be assigned a topic and a mentor Term Projects We’ll form some teams -- number of team members will be decided based on the number of students registered in the course Every team will be assigned a topic and a mentor The topics are broadly some parts of the current system researches we are doing at our lab Remote memory management Container state management Exploring Trusted Execution Environments (TEE) OS state management at distributed environments Blockchain based system management

Term Projects The objective will be to get a hands-on experience of recent system researches Meet weekly with your mentor to discuss about the project The team will divide the tasks among the team members, every member of the team is expected to contribute in the project -- this is crucial for evaluation If you work regularly and mark significant contribution at the project, you can expect a research paper out of it at some good system conference.

To Start With ... How to Read a Paper - http://ccr.sigcomm.org/online/files/p83-keshavA.pdf How (and How Not) to Write a Good Systems Paper - https://www.usenix.org/legacy/publications/library/proceedings/dsl97/good _paper.html

Use a three-pass approach First Pass (Quick Scan): How to Read a Paper Use a three-pass approach First Pass (Quick Scan): Read title, abstract, introduction Read the section and sub-section headings ignoring details Read conclusion Check the references Get a view of the category, context, contribution and clarity of the paper

Take down notes whenever necessary How to Read a Paper Second Pass: Check the figures, diagrams etc. Check the unread references from the paper -- good way to know the background (only give the first pass) Third Pass: Give attention to the detailed content of the paper Take down notes whenever necessary Try to judge the paper critically -- you can even get new nice ideas (you can pass these ideas to me, will be happy to discuss and follow up) Why do you think that the paper got accepted? Try to write a review of the paper (some of these will be your assignment  )

Some Fundamentals - Process Management Consider a single-processor system. The process scheduler schedules the processes in a multi-tasking environment. How is this process scheduler implemented? Is it a software or a hardware? Who schedules the process scheduler?

Some Fundamentals - Memory Management What is a virtual memory? What is the basic philosophy behind the design of virtual memory principles?