Lecture 1
Lecture 1
BESE 26 (A,B,C)
2 Course Overview
Pre-Requisites
EE-321 Computer Organization and Architecture
Textbook
“Operating System Concepts”, By Abraham Silberschatz, Peter
Galvin, and Greg Gagne, 10th Edition, Publisher: John Wiley and
Sons
Reference Books
“Operating Systems: Principles and Practice” by Thomas Anderson,
Michael Dahlin, 2nd Edition
30 % OHTs
50 % Final Exam
10 % Assignments
10 % Quizzes
4 Course Outline
Operating System - Objectives and Functions
Synchronization
Process Scheduling
Memory Management
File System
PLO 4 (Investigation)
PLO 5 (Modern tool usage) √
PLO 6 (The Engineer and Society)
PLO 7 (Environment and Sustainability)
PLO 8 (Ethics)
PLO 9 (Individual and Team Work)
PLO 10 (Communication)
PLO 11 (Project Management)
PLO 12 (Lifelong Learning)
Week Topic CLOs
1. Operating System Overview and Services CLO1
8 2. Operating System Overview and Services CLO1
CLO1
3. Process Management
CLO2
4. Process Management CLO3
5. Threads CLO2
6. Threads CLO3
7. Process Scheduling CLO2
8,9. Process Scheduling CLO3
10. Midterm
11. Process Synchronization CLO2
12. Process Synchronization CLO3
13. Memory Management (Main Memory) CLO3
14. Memory Management (Virtual Memory) CLO3
CLO1
15. File Management
CLO2
CLO1
16. I/O Management
CLO2
CLO2
17. Advanced Topics (Virtualization/ Distributed OS)
18 Final Exam
9 What is an Operating System?
Today’s OSes for general purpose and mobile computing also include middleware
– a set of software frameworks that provide addition services to application
developers such as databases, multimedia, graphics
15
Computer
Components
Top-Level
View
17 Computer System Organization
Computer-system operation
One or more CPUs, device controllers connect through common bus providing access to
shared memory
Concurrent execution of CPUs and devices competing for memory cycles
How a Modern Computer Works
18
Kernel loads
Starts system daemons (services provided outside of the kernel)
Kernel interrupt driven (hardware and software)
Hardware interrupt by one of the devices
Software interrupt (exception or trap):
Software error (e.g., division by zero)
Request for operating system service – system call
Other process problems include infinite loop, processes modifying
each other or the operating system
20 Multiprogramming (Batch system)
Single user cannot always keep CPU and I/O devices busy
When job has to wait (for I/O for example), OS switches to another
job
21 Multitasking (Timesharing)
How do we guarantee that user does not explicitly set the mode bit to
“kernel”?
System call changes mode to kernel, return from call resets it to user
Traditional
Mobile
Client Server
Peer-to-Peer
Cloud computing
Real-time Embedded
27 Traditional
Stand-alone general-purpose machines
But blurred as most systems interconnect with others (i.e., the
Internet)
Portals provide web access to internal systems
Network computers (thin clients) are like Web terminals
Mobile computers interconnect via wireless networks
Networking becoming universal – even home systems use
firewalls to protect home computers from Internet attacks
28 Mobile
Handheld smartphones, tablets, etc.
What is the functional difference between them and a “traditional”
laptop?
Extra feature – more OS features (GPS, gyroscope)
Allows new types of apps like augmented reality
Use IEEE 802.11 wireless, or cellular data networks for
connectivity
Leaders are Apple iOS and Google Android
29 Client Server
Client-Server Computing
• Dumb terminals replaced by smart PCs
• Many systems now servers, responding to requests generated by
clients
Compute-server system provides an interface to client to request
services (i.e., database)
File-server system provides interface for clients to store and
retrieve files
30 Peer-to-Peer
Another model of distributed system
P2P does not distinguish clients and servers
Instead, all nodes are considered peers
May each act as client, server or both
Node must join P2P network
Registers its service with central lookup service on
network, or
Broadcast request for service and respond to
requests for service via discovery protocol
Examples include Napster and Gnutella, Voice
over IP (VoIP) such as Skype
31 Cloud Computing
Many types
Public cloud – available via Internet to anyone willing to pay
Private cloud – run by a company for the company’s own use
Hybrid cloud – includes both public and private cloud components
Software as a Service (SaaS) – one or more applications available via the Internet
(i.e., word processor)
Platform as a Service (PaaS) – software stack ready for application use via the
Internet (i.e., a database server)
Infrastructure as a Service (IaaS) – servers or storage available over Internet
(i.e., storage available for backup use)
32 Real-Time Embedded Systems