Operating Systems Introduction
Operating Systems Introduction
OBJECTIVES
Users
Applications
Database System
Operating System
Hardware
COMPUTER-SYSTEM ORGANIZATION
• The basic unit of computer storage is the bit. A bit can contain one of
two values, 0 and 1. All other storage in a computer is based on
collections of bits.
• Single user cannot keep CPU and I/O devices busy at all
times
• Multiprogramming organizes jobs (code and data) so CPU
always has one to execute
• A subset of total jobs in system is kept in memory
• Batch systems:
• One job selected and run via job scheduling
• When it has to wait (for I/O for example), OS switches to another
job
• Timesharing systems:
• Logical extension of batch systems -- CPU switches jobs so
frequently that users can interact with each job while it is running,
creating interactive computing
TIMESHARING SYSTEMS
• Timesharing is also referred to as multitasking.
• Response time should be < 1 second
• Each user has at least one program executing in memory.
Such a program is referred to as a process
• If several processes are ready to run at the same time, we
need to have CPU scheduling.
• If processes do not fit in memory, swapping moves them in
and out to run
• Virtual memory allows execution of processes not
completely in memory
MEMORY LAYOUT FOR MULTI-PROGRAMMED SYSTEM
MODES OF OPERATION
• Usually disks used to store data that does not fit in main
memory or data that must be kept for a “long” period of time
• Proper management is of central importance
• Entire speed of computer operation hinges on disk subsystem
and its algorithms
• OS activities
• Free-space management
• Storage allocation
• Disk scheduling
• Another model of distributed system. P2P does not distinguish clients and servers
• Instead all nodes are considered peers
• Each node may 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
COMPUTING ENVIRONMENTS – 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)
COMPUTING ENVIRONMENTS – REAL-TIME SYSTEMS