Chp1 IntroductiontoOS
Chp1 IntroductiontoOS
Chapter 1: Introduction
What Operating Systems Do
Computer-System Organization
Computer-System Architecture
Operating-System Structure
Operating-System Operations
Process Management
Memory Management
Storage Management
Protection and Security
Distributed Systems
Special-Purpose Systems
Computing Environments
Open-Source Operating Systems
What is an Operating System?
OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair resource
use
OS is a control program
Controls execution of programs to prevent errors and improper use of
the computer
Operating System Definition (Cont)
Main memory – only large storage media that the CPU can access
directly
Programs and data cannot reside in main memory permanently
because:
Main memory is limited (too small) to store all programs and data
permanently
Main memory is volatile
So secondary storage is provided – extension of main memory that
provides large nonvolatile storage capacity
Magnetic disks – rigid metal or glass platters covered with magnetic
recording material
Disk surface is logically divided into tracks, which are subdivided into
sectors
The disk controller determines the logical interaction between the
device and the computer
Storage Hierarchy
Storage systems organized in hierarchy by
Speed
Cost
Volatility
The higher levels in the hierarchy are expensive but fast. As we move
down the hierarchy, the cost per bit generally decreases, whereas the
access time generally increases.
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
Entire speed of computer operation hinges on disk subsystem and its
algorithms
OS activities
Free-space management
Storage allocation
Disk scheduling
Some storage need not be fast
Tertiary storage includes optical storage, magnetic tape
Varies between WORM (write-once, read-many-times) and RW (read-
write)
Performance of Various Levels of Storage
Most O/S’ maintain UIDs and GIDs to generally first distinguish among
users, to determine who can do what:
User identities (user IDs, security IDs) include name and associated
number, one per user
User ID then associated with all files, processes of that user to
determine access control
Group identifier (group ID) allows set of users to be defined and
controls managed, then also associated with each process, file. E.g.
in UNIX a file owner may perform all operations on a file while the
group members may only be allowed to read a file.
Privilege escalation allows user to change to effective ID with more
rights
I/O Protection
Need to:
Every CPU address generated in user mode is compared with the base
and limit registers.
Note: Base and limit registers can only be loaded by O/S which uses
a privileged instruction to do so.
CPU Protection
Special Purpose Systems
Handheld Systems
Include smart phones such as iPhones (iOS) and Androids.
Challenges are due to limited size of such devices. Their small size leads to a
small amount of memory, slower CPUs, and small display screens.
Memory is between 2-4 GB and so OS and apps need to manage memory
efficiently.
CPUs in handhelds run at a fraction of the speed of a CPU in a PC. Faster CPUs
require more power which means a larger battery, which requires more space
and would need to be recharged frequently. So OS and apps must be designed
not to tax the CPU.
Lack of physical space limits I/P methods to small screen-based keyboards and
touch screens.
Small screens mean that only a subset of a web page is delivered and displayed on
the handheld device.
Computing Environments
Traditional computing
Web technologies are stretching the boundaries of traditional
computing.
Company portals provide web accessibility to their internal
servers. Smart phones can connect wirelessly to their
company portals.
High-speed home networks connect multiple machines,
including mobile devices wirelessly networked through Wifi
Router/Cable Modem etc.
Computing Environments (Cont)
Client-Server Computing
Evolved from the move away from centralized
computing with terminals.
We have two types: compute servers and file servers.
Compute-server provides an interface to client to
request services such as read data (i.e. database)
File-server provides file-system interface for
clients to create, update, read, and delete files
(e.g. web server).
Peer-to-Peer Computing