EECE.4810/EECE.5730 Operating Systems

Slides:



Advertisements
Similar presentations
Chap 2 System Structures.
Advertisements

CMSC 132: Object-Oriented Programming II
Spring 2007Introduction to OS1 IT 3423: Operating System Concepts and Administration Instructor: Wayne (Weizheng) Zhou
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Agenda 1. Books & reference material 2. Introduction to the course
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Distributed System Services Fall 2008 Siva Josyula
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: Operating-System Structures.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
CSI 3131 Summer 2016 Principles of Operating Systems Instructor: Dr. Nathalie Japkowicz Office: STE 5029 Office Hours: n In.
1.1 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 1: Introduction What Operating Systems Do √ Computer-System Organization.
Introduction to Operating Systems Concepts
Introduction to Operating Systems
Course Overview - Database Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Microprocessor Systems Design I
2. OPERATING SYSTEM 2.1 Operating System Function
ECE Application Programming
ECE Application Programming
ECE Application Programming
CSCE 451/851 Operating System Principles
Chapter 2: Operating-System Structures
Chapter 2: System Structures
MIS323 Business Telecommunications
Microprocessor Systems Design I
Course Information Mark Stanovich Principles of Operating Systems
Introduction to Operating System (OS)
Course Overview - Database Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
Chapter 2: System Structures
EECE.4810/EECE.5730 Operating Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
CGS 3763 Operating Systems Concepts Spring 2013
Andy Wang Operating Systems COP 4610 / CGS 5765
CGS 3763 Operating Systems Concepts Spring 2013
Lecture Topics: 11/1 General Operating System Concepts Processes
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
EECE.4810/EECE.5730 Operating Systems
CSC227: Operating Systems
First Semester 1439/1440 Welcome 
Andy Wang Operating Systems COP 4610 / CGS 5765
Chapter 2: Operating-System Structures
EECE.2160 ECE Application Programming
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2017
EECE.4810/EECE.5730 Operating Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.2160 ECE Application Programming
EECE.4810/EECE.5730 Operating Systems
EECE.4810/EECE.5730 Operating Systems
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
EECE.4810/EECE.5730 Operating Systems
CS Computer Science II: Data Structures and Abstraction Fall 2009
EECE.4810/EECE.5730 Operating Systems
EECE.4810/EECE.5730 Operating Systems
Presentation transcript:

EECE.4810/EECE.5730 Operating Systems Instructor: Dr. Michael Geiger Spring 2019 Lecture 1: Course overview Introduction to operating systems

Operating Systems: Lecture 1 Lecture outline Course overview Instructor information Course materials Course policies Resources Course outline Brief prerequisite review General introduction to operating systems 5/24/2019 Operating Systems: Lecture 1

Course meeting time, instructor info Lectures: MWF 2-2:50, Kitson 305 Instructor: Dr. Michael Geiger E-mail: Michael_Geiger@uml.edu Phone: 978-934-3618 (x43618 on campus) Office: Ball Hall 301A Office hours: MWF 1-1:50 PM, TTh by appointment Teaching assistant: Santosh Pandey E-mail: Santosh_Pandey@student.uml.edu Office hours: TBD; will be posted ASAP 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 Course materials Recommended Text: T. Anderson and M. Dahlin, Operating Systems: Principles and Practice, 2nd Edition, 2014, Recursive Books. ISBN: 978-0985673529 Course tools: All programming assignments will be done in (or via remote access to) the Linux lab, Ball 410 You will get card access to this lab and a Linux account ASAP 5/24/2019 Operating Systems: Lecture 1

Additional course materials Course websites: http://mjgeiger.github.io/OS/sp19/index.htm http://mjgeiger.github.io/OS/sp19/schedule.htm Will contain lecture slides, handouts, assignments Course Blackboard site Will post announcements/email class Assignments to be submitted here May use discussion board feature Login via https://lowell.umassonline.net/ 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 Grading and exam dates Grading breakdown Programming assignments/homework: 55% Exam 1: 15% Exam 2: 15% Exam 3: 15% Students in EECE.5730 will have more work Additional problems on exams Potentially additional work on assignments Exam dates tentative Would like to share 2 hour block with Data Structures Conflicts from 3-4 PM M, W, or F? Exam 1: Week 5 (W 2/20 or F 2/22) Exam 2: Week 10 (M 3/25 or W 3/27) Exam 3: TBD (during finals) 5/24/2019 Operating Systems: Lecture 1

Programming assignments Group projects May work in groups of up to 3 students Expect to have 3-4 large projects during semester Small programs To be done individually Planning (hoping) to offer 3-4 of these this term All code must Be submitted via Blackboard (as .zip archive) Be written in C or C++ Run on Ball 410 machines Late policy: -10% per day, -100% if >5 days late 5/24/2019 Operating Systems: Lecture 1

ECE Application Programming: Lecture 1 Academic honesty Don’t share code outside your group Don’t write programs together (unless it’s a group assignment) Any copied solutions, whether from another student or an outside source, are subject to penalty 5/24/2019 ECE Application Programming: Lecture 1

Operating Systems: Lecture 1 Course “rules” A couple of unofficial rules: Please call me “Dr. Geiger” or “Prof. Geiger” Not “Michael,” “Mike,” or “Geiger” Please don’t talk when I’m talking Doing so distracts your classmates and me If you have a question, please raise your hand and ask—I want questions during lecture! 5/24/2019 Operating Systems: Lecture 1

Tentative outline: what you should learn Processes and process management Multithreading and synchronization CPU scheduling Memory management Memory allocation Virtual memory management Storage management File systems Disk management I/O systems Distributed systems Protection and security 5/24/2019 Operating Systems: Lecture 1

Brief prerequisite review Programming in C and C++ Examples typically presented in C Must be comfortable with structures/objects Data structures Linked lists Stacks Queues Trees 5/24/2019 Operating Systems: Lecture 1

What is an operating system? Software layer between application programs and physical hardware Makes system easier to use for programs Manages allocation of resources to use hardware fairly/efficiently 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 Computing system Supports 1 or more users System programs: parts of OS invoked only when necessary Kernel: part of OS always running 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 OS and hardware Abstractions to make hardware easier to use CPU  threads Memory  address space Persistent storage  file system Manages shared hardware resources Two interfaces handled by OS What’s physically available in hardware? What does the user’s application see as available? 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 OS and applications One view of OS User application is “main” program Requests services from kernel as needed Typically done through system calls 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 OS and applications Another view of OS Kernel is main program Kernel calls programs as subroutines Think of how main() must return 0 to indicate completion System calls invoke other system programs or functions within kernel Essentially allows programs to behave as if each program is running on its own computer 5/24/2019 Operating Systems: Lecture 1

User-friendly services User interface: command line, GUI Program execution: load program into memory, run it, and end it I/O operations: input to user programs or to OS File system manipulation: read/write, create/delete, search files Communication: same computer or network Error detection: in CPU, memory, devices, program 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 System services Resource allocation: sharing of hardware among multiple users or processes CPU cycles, main memory, files, I/O devices Accounting: tracking resource usage Protection: controlling access to resources Includes data local to each process Security: requiring user authentication and defending devices against invalid access 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 System calls Provide services to user applications Available as functions written in C/C++/assembly 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 System call types Process control Examples: create/terminate process, terminate process, load/execute process, get process attributes File management Examples: create/delete file, open/close file, read/write file, reposition file pointer Device management Examples: request access to device, release device, read/write device Communications Examples: send/receive messages, access shared memory, attach/detach remote devices Protection Examples: get/set permissions, allow/deny user access 5/24/2019 Operating Systems: Lecture 1

Standard C Library Example C program invoking printf() library call, which calls write() system call 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 Final notes Next time Processes Process management 5/24/2019 Operating Systems: Lecture 1

Operating Systems: Lecture 1 Acknowledgements These slides are adapted from the following sources: Silberschatz, Galvin, & Gagne, Operating Systems Concepts, 9th edition Chen & Madhyastha, EECS 482 lecture notes, University of Michigan, Fall 2016 5/24/2019 Operating Systems: Lecture 1