Operating Systems: Instructor: Dr. Shachi Sharma

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Operating Systems

Instructor: Dr. Shachi Sharma


(Semester: Winter 2019)
Lecture 1: Introduction
Bio
• Ph.D in Performance Modelling of Broadband Networks, Jawaharlal
Nehru University, Delhi, India
• Total work experience of more than 19 years
• Center for Development of Telematics (C-DoT) 1999-2005
• Alcatel Lucent Pvt. Ltd (2006-2007)
• Bharti Telesoft Ltd (2007-2008)
• IBM Research Laboratory (2008-2017)
• More than 10 patented technologies
• Indraprastha Institute of Information Technology (IIIT), Delhi (2018)
Logistics
• Office Hours:
• Room No. 314
• Any working day, drop a mail first (shachi@sau.int)
• Subject of the mail should include [OS]
Evaluation
• Short quizzes/home assignment at the end of a topic
• ~ 15-30 minutes
• Objective style
• Graded

• Labs:
• Every lab will be graded
• All labs will be equally weighted (Advise: Do well in early labs!)
Evaluation
• Paper Presentation
• In team of 2 students
• Start choosing papers after mid term
• First show the paper to me and after my consent
• Prepare presentation
• Mid term and Final exams
• Mix of objective and subjective type questions
Evaluation
• Quizzes/Home Assignments: 10%
• Labs: 15%
• Mid term: 25%
• Final Exam: 35%
• Paper Presentation (in teams): 15%
Rules
• No deadline extension

• No re-quiz

• No re-exams

• Cheating in a exam/labs/quizzes: Minimum: zero in the exam, Maximum:


Fail

• Cheating/copying/plagiarism in lab/homework: Min: zero, Max: grade


reduction
Textbooks and References
• Textbooks
• Operating Systems Concepts by Abraham Silberschatz, Peter B. Galvin and
Greg Gagne, Wiley
• Operating Systems, Internals and Design Concepts by William Stallings,
Pearson
• Reference Books
• The Design of the Unix Operating System by Maurice J. Bach, Prentice Hall
• The C Programming Language by Brian Kernighan and Dennis Ritchie, Prentice
Hall
Class Objectives
• The basics
• Processes and their siblings
• Process synchronization
• Threads and thread synchronization
• Issues with processes – deadlocks and deadlock detection
• Memory Management
• I/O Management
• Storage Management
• Virtual Machines
• Security
What you should expect at the end of this course
• Pretty conversant in C programming. NO fear of pointers, debuggers,
assemblers
• Pretty conversant with Linux internals
• Compiling kernel
• Mucking around the kernel
• Strong understanding of processes, threads and the likes
• Good understanding of memory management as it happens inside the OS
• Basics of storage management – aka filesystems and how data is stored on
disks.
• How a program (aka binary) runs!
• How a computer boots up!
Introduction
• What is a Computer ?

• What is an Operating System?

• Why does a computer need an Operating System ?


Most Basic Computer aka Turing Machine
• Proposed by Alan Turing (circa. 1936)
• Model consists of infinite tape divided into cells which contain input
symbols.
• Head reads the top of the symbol and changes the internal state of
the machine when the symbol is something that is not unexpected.
• The machine thus moves to the next state until it reaches a terminal
state which makes that the input is invalid…
Components of Computer System
Systems and Operating Systems
• Uniprocessor systems
• Multi-processor systems
• Multi-core is multi-processor
• Asymmetric multi-processing (ASMP)
• A master processor controls others
• Solaris version 4 supports ASMP
• Symmetric multi-processing (SMP)
• All processors are peers. OS does all book-keeping
• Windows, Mac-OS, Linux all supports SMP
• Distributed systems
• Clustered systems (loosely coupled)
• Asymmetric clustering (hot standby)
• Symmetric clustering (active-active)
• Client-Server systems
Layered Architecture
P6 P5 P4 P3 P2 P1 User Programs

File System I/O Mem


Task
Management Management Management Kernel
Scheduler
Unit (MMU) (Always Running)

Device Drivers and Firmware

Interrupt handlers

Hardware

You might also like