COMP 3000 Operating Systems
Introduction to Operating Systems
Lianying Zhao
Logistics
• Format (everything online):
• Lectures: Twitch + Discord
• Tutorials: Openstack + Discord
• Exams: cuLearn
• All course material/grades: cuLearn • Office hours: Discord
• Discord channels • #lecture
• #announcements
• #assignments
• Individual tutorial channels
COMP 3000 (Winter 2021) 2
Assessment
• Lecture participation (4%)
• Respond to a poll on Discord (#polls)
• Tutorial participation (18%) – 9 in total
• With the assigned TA, check in by responding to a poll (0.5% each) • Submission of answers (1.5% each)
• Assignments (18%) – 4 in total
• Hands-on tasks + short answer questions
• Midterm exam, in-class (25%) • Lectures + tutorials (to date)
• Final exam, during the final exam period (35%) • Lectures + tutorials (all)
COMP 3000 (Winter 2021) 3
Before We Start
• What this course is about:
• Operating systems, of course
• Prerequisites (knowledge-wise):
• Systems programming (e.g., COMP 2401)→C programming • Computer architecture
• Learning outcome:
• Understanding (very important)
• Ability to apply the concepts to related areas • Some hands-on stuff
COMP 3000 (Winter 2021) 4
More about Learning Outcome
• Emphasis on cloud/virtualization
• A user’s perspective
• Generic OS knowledge vs. “OS”-specific knowledge
COMP 3000 (Winter 2021) 5
Textbook(s)
• Required:
• Operating Systems: Three Easy Pieces
• Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau • Available free of charge online
• No chapter-by-chapter coverage
• Additional reading or useful references
• John Aycock, Reading and Modifying Code
• Andrew S. Tanenbaum and Herbert Bos, Modern Operating Systems, Fourth Edition, Prentice Hall, 2014
COMP 3000 (Winter 2021) 6
Academic Integrity
• Refer to Course Outline and the University regulations and policies
• PLEASE make sure you have read the academic integrity page, and refer to the full
policy when needed
• Offenses will be reported to Dean
• Unauthorized collaboration or plagiarism • Midterm and final exams
• Collaboration (where allowed) • Acknowledgement
• *Independent completion*
• Assignments
COMP 3000 (Winter 2021) 7
What is an Operating System (OS)?
— to make the computer easy to use
• Not difficult to define but there are different ways to define it
• Technical definition
• System software that …
• OS kernel + UI + Language runtime + … • Distributions
•…
• Roles of operating systems
• Resource management • Hardware resources
• Other software
• Abstraction
How do I operate these?
COMP 3000 (Winter 2021)
8
What Resources does the OS Manage?
• CPU
• Time-shares CPU between tasks (processes) • Illusion: each process owns the whole CPU
• Memory
• Manages memory allocation and placements
• Illusion: each process owns all the address space
• Disks
• A simplified view of data — file systems
• Unified storage management despite heterogeneous devices
All with the help of hardware support!
COMP 3000 (Winter 2021) 9
Abstraction
• A means to achieve various purposes? • Simplicity, security, portability, etc.
• To create an “illusion” • A view or interface
• To attenuate information and present new semantics • Hiding low-level details
• Comparison with: Virtualization
COMP 3000 (Winter 2021) 10
History of Operating Systems
• Batch jobs
• Multiprogramming
• Timesharing & Preemptive multitasking
• CTSS (Compatible Time Sharing System) – 1962
• MULTICS (MULTiplexed Information and Computing Service) – 1972
• Modern OS
• User-friendliness, the GUI
COMP 3000 (Winter 2021) 11
Types of Operating Systems
• Desktop/PC
• Mobile
• IoT / Embedded • Server
• Distributed
“Web” OS
Library OS
Microkernels Real-time OS (RTOS)
COMP 3000 (Winter 2021) 12