Operating Systems Course Overview

Similar documents
CS 550 Operating Systems Spring Operating Systems Overview

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

Operating Systems CS3502 Spring 2018

Virtualization. Pradipta De

Operating Systems CS 571

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

EEE 435 Principles of Operating Systems

Welcome to CSE 4300! Spring 2018

Lecture 1 Introduction (Chapter 1 of Textbook)

COSC243 Part 2: Operating Systems

ELEC 377 Operating Systems. Week 1 Class 2

CHAPTER 16 - VIRTUAL MACHINES

Background: Operating Systems

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

Operating Systems. Pablo Prieto Torralbo. 1. Introduction DEPARTMENT OF COMPUTER ENGINEERING

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

CSC 2405: Computer Systems II

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Lecture 13 Input/Output (I/O) Systems (chapter 13)

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Operating Systems. Spring Dongkun Shin, SKKU

(Refer Slide Time: 1:26)

Networks and Operating Systems Chapter 11: Introduction to Operating Systems

EECS 482 Introduction to Operating Systems

OS Structure. Kevin Webb Swarthmore College January 25, Relevant xkcd:

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Operating Systems (ECS 150) Spring 2011

CS240: Programming in C

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

COS 318: Operating Systems

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

Operating Systems, Fall

15-411/ Compiler Design

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Introduction to Operating Systems

Master level: Operating systems, distributed systems, networking,

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Introduction to File Systems

LINUX System Administration. Perspectives, Practices and Expectations

Overview. 1 Overview

Lecture 5: February 3

Systems Programming. The Unix/Linux Operating System

Module 1: Virtualization. Types of Interfaces

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Distributed Systems Operation System Support

Operating System Architecture. CS3026 Operating Systems Lecture 03

CSci Introduction to Operating Systems. Administrivia, Intro

Introduction to Concurrency (Processes, Threads, Interrupts, etc.)

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

Virtual Memory Management

Four Components of a Computer System

W4118: OS Overview. Junfeng Yang

Unit 5: Distributed, Real-Time, and Multimedia Systems

Operating Systems. Fall Dongkun Shin, SKKU

Operating Systems ( )

Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall.

CSE 120 Principles of Operating Systems

Welcome to Solving Problems with Computers I

Introduction to OS (cs1550)

CS 550 Operating Systems Spring Introduction to Virtual Machines

CS 326: Operating Systems. Lecture 1

Dan Noé University of New Hampshire / VeloBit

CHAPTER 16 - VIRTUAL MACHINES

CSE 120 Principles of Operating Systems

Adding content to your Blackboard 9.1 class

CSC 280 Operating System Principles

Input / Output. Kevin Webb Swarthmore College April 12, 2018

references Virtualization services Topics Virtualization

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I

Chapter 5 C. Virtual machines

CS370 Operating Systems

CS 153 Design of Operating Systems

Operating Systems 2010/2011

Fundamental Concepts and History

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

CSC 369H1S. Operating Systems Spring 2007 Professor Angela Demke Brown U of T

Lecture 2 Operating System Structures (chapter 2)

Advanced Computer Architecture

Chapter 13: I/O Systems

Lecture 09: VMs and VCS head in the clouds

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Operating Systems. I. Introduction. Eurecom

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Operating Systems ( )

COS 318: Operating Systems

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Computer Science 4500 Operating Systems. Welcome! In This Module. Module 1 Introduction, Overview and History

Welcome! COMS 4118 Opera3ng Systems I Spring 2018

Lecture 2 Fundamental OS Concepts. Bo 2018, Spring

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

CS450/550 Operating Systems

Transcription:

Operating Systems Course Overview Instructor: Kartik Gopalan Class website: http://oscourse.github.io

Interfaces in a Computer System (1) User-level processes (2) (3) Libraries Operating System (4) (5) (6) Drivers Memory Manager Scheduler (8) (8) (8) Execution hardware (10) System Interconnect (Bus) (11) (10) (3) (7) (9) Memory Translation (12) Controllers (11) Controllers (13) (14) I/O Devices (7) Main Memory User ISA : 7 System ISA : 8 Syscalls : 3 ABI : 3, 7 API : 2,7 ISA = Instruction Set Architecture ABI = Application Binary Interface API = Application Programming Interface

What is an OS?

What is an OS? A bunch of software and data residing somewhere in memory. But its not just any software. OS is the most privileged software in a computer. Privileged means that OS can do special things, like write to disk, talk over the network, control memory and CPU usage, etc. OS manages all system resources CPU, Memory, and I/O devices

Layers of Software User Space Processes System Call Interface OS CPU scheduling Memory Manager File system Network Stack Device Drivers Virtualization Layer HyperCall Interface Hypervisor

But when does the OS run?

But when does the OS run? Four ways to invoke OS code Process 1 Process N (a) System Calls Exception Handlers Syscall Handlers OS (d) Kernel Threads Interrupt Handlers CPU (b) Exceptions Hardware 1 Hardware N (c) Interrupts

Three major tasks of OS 1. Virtualization 2. Concurrency 3. Persistence

Virtualization Making a physical resource look like something else (virtual). Why virtualize? To make the computer easier to use and program. Examples Make one physical CPU look like multiple virtual CPUs One or more virtual CPUs per process Make physical memory (RAM) and look like multiple virtual memory spaces One or more virtual memory spaces per process Make physical disk look like a file system Physical disk = raw bytes. File system = user s view of data on disk.

Concurrency Juggling many tasks together Examples One physical CPU runs many processes One process runs many threads One OS juggles process execution, system calls, interrupts, exceptions, CPU scheduling, memory management, etc. There s a LOT of concurrency in modern computer systems. And its the source of most of the system complexity.

Persistence Storing data forever On hard disks, SSDs, CDs, floppy disks, tapes, phono discs, paper! But its not enough to just store raw bytes Users want to Organize data (via file systems) Share data (via network or cloud) Access data easily and recover data when lost. Protect data from being stolen.

History of OS 1950s and 1960s: Early operating systems were simple batch processing systems Users provided their own OS as libraries. 1960s and1970s: Multi-programming on mainframes Concurrency, memory protection, Kernel mode, system calls, hardware privilege levels, trap handling Earliest Multics hardware and OS on IBM mainframes Which led to the first UNIX OS which pioneered file systems, shell, pipes, and the C language. 1980s: Personal computing era MacOS, IBM PC and its DOS, Windows, and so forth. Unfortunately, many lessons from earlier multiprogramming era were forgotten and had to be re-learned (painfully). 1980s also saw the fragmentation of UNIX Each big company had its own version (IBM, Apple, HP, SUN, SGI, NCR, AT&T.) LOT of legal wrangling over IP and copyrights 1990s: Then came BSD and Linux Open source. Led the way to modern OSes and cloud platforms 1990s also saw wider adoption of threads and parallelism 2000 and beyond: Mobile device OS and hypervisors Android, ios VMWare ESX, Xen, Linux/KVM etc.

Class Logistics

Coverage of Topics Processes and Threads Concurrency Memory Management File and Storage Systems Input/Output Security Virtualization Basics of Programming in the Linux Kernel Other topics as appropriate

Course Material Lecture slides and papers posted on the class website Andrew Tanenbaum, Modern Operating Systems, 3rd or 4th edition Website will also have office hours, test dates, assignments, test samples etc.!15

Accounts you need CS LDAP Account To log into machines in G-7, Q-22, and remote.cs.binghamton.edu A VM to work on Details to follow. BU Email account <yourid>@binghamton.edu For communicating with me and TA For receiving announcements Access to blackboard For submitting your assignments and getting grades http://mycourses.binghamton.edu

Students with disabilities Please contact me, preferably, within the first two weeks of class. Please contact the SSD office for any accommodations. Bring me their letter listing the accommodations required. Don t hesitate to tell me if some aspect of the class is not working for you. We will promptly work with you and SSD to fix it.!17

To ask or not to ask? Instructor and TAs are not a psychics! If you don t ask, then we won t know that you need help. Please let us know if You are lost You don t understand something You don t have the background Class can be improved in certain ways Ask for help early Don t wait till the last minute Feel free to give feedback Especially in the middle of the semester Direct feedback is always welcome.!18

Asking Questions Make Google your friend! Can t beat the response time! Email me and TAs oscourse@binghamton.edu Stop by during office hours After class or by appointment!19

Stressed? Keep the perspective If you are overwhelmed with this course, talk to us. If you are depressed or panicking for any other reason. Seek professional counseling. http://counseling.binghamton.edu/

Academic Integrity Means Do your own work. Don't do others' work. Don't ask/give solutions, including code. Don't get code from the Internet. Protect your code Ctrl-C Ctrl-V Moss: A tool for detecting software plagiarism will be used. Please read the policies on course web page http://oscourse.github.io/policies.html Dishonesty You can get an F grade Be referred to the Dean s office Its better to submit your own imperfect own than to submit a perfect copied one. You get partial grades for incomplete work. But you ll get F for copied work. http://library.kcc.hawaii.edu/main/instruction_info/ plagiarism1.html!21

Missed Exams/Assignments Generally, no makeup exams/assignments. Except for medical emergencies or jury duty when accompanied with valid documentation. Please plan your other commitments (travel, interviews, etc) around deadlines.

That s it! Have a great semester!