01 Operating System
01 Operating System
01 Operating System
System
Definition, Architecture
What is an Operating System?
• A program that acts as an intermediary between a user of a computer
and the computer hardware
• Operating system goals:
• Execute user programs and make solving user problems easier
• Make the computer system convenient to use
• Use the computer hardware in an efficient manner
Computer System Structure
• Computer system can be divided into four components:
• Hardware – provides basic computing resources
• CPU, memory, I/O devices
• Operating system
• Controls and coordinates use of hardware among various applications and users
• Application programs – define the ways in which the system resources are
used to solve the computing problems of the users
• Word processors, compilers, web browsers, database systems, video games
• Users
• People, machines, other computers
Four Components of a Computer System
What Operating Systems Do
• Depends on the point of view
• Users want convenience, ease of use and good performance
• Don’t care about resource utilization
• But shared computer such as mainframe or minicomputer must keep all
users happy
• Users of dedicate systems such as workstations have dedicated resources
but frequently use shared resources from servers
• Handheld computers are resource poor, optimized for usability and battery
life
• Some computers have little or no user interface, such as embedded
computers in devices and automobiles
Operating System Definition
• 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.)
• No universally accepted definition
• “Everything a vendor ships when you order an operating system” is a
good approximation
• But varies wildly
• “The one program running at all times on the computer” is the kernel.
• Everything else is either
• a system program (ships with the operating system) , or
• an application program.
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
Computer-System Operation
• I/O devices and the CPU can execute concurrently
• Each device controller is in charge of a particular device type
• Each device controller has a local buffer
• CPU moves data from/to main memory to/from local buffers
• I/O is from the device to local buffer of controller
• Device controller informs CPU that it has finished its operation by
causing an interrupt
Common Functions of Interrupts
• Interrupt transfers control to the interrupt service routine generally,
through the interrupt vector, which contains the addresses of all the
service routines
• Interrupt architecture must save the address of the interrupted
instruction
• A trap or exception is a software-generated interrupt caused either
by an error or a user request
• An operating system is interrupt driven
Interrupt Timeline
Storage Definitions and Notation Review
• 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. Given enough bits, it is amazing how many things a computer can
represent: numbers, letters, images, movies, sounds, documents, and programs, to name a few. A byte is 8 bits,
and on most computers it is the smallest convenient chunk of storage. For example, most computers don’t have
an instruction to move a bit but do have one to move a byte. A less common term is word, which is a given
computer architecture’s native unit of data. A word is made up of one or more bytes. For example, a computer
that has 64-bit registers and 64-bit memory addressing typically has 64-bit (8-byte) words. A computer executes
many operations in its native word size rather than a byte at a time.
• Computer storage, along with most computer throughput, is generally measured and manipulated in bytes and
collections of bytes.
• A kilobyte, or KB, is 1,024 bytes
• a megabyte, or MB, is 1,0242 bytes
• a gigabyte, or GB, is 1,0243 bytes
• a terabyte, or TB, is 1,0244 bytes
• a petabyte, or PB, is 1,0245 bytes
• Computer manufacturers often round off these numbers and say that a megabyte is 1 million bytes and a
gigabyte is 1 billion bytes. Networking measurements are an exception to this general rule; they are given in bits
(because networks move data a bit at a time).
Storage Structure
• Main memory – only large storage media that the CPU can access directly
• Random access
• Typically volatile