OperatingSystem

Download Report

Transcript OperatingSystem

Operating Systems
Terms and Definitions
Chapter Objectives
After completing these slides you will:
• You will have a better understanding of the role of the operating system.
• You will have some familiarity with two of the most popular operating
systems – Windows and Unix.
What is the 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
Components of the Computer System
Operating System Structure
• The operating system is divided into a number of layers
(levels), each built on top of lower layers. The bottom layer
(layer 0), is the hardware; the highest (layer N) is the user
interface.
• With modularity, layers are selected such that each uses
functions (operations) and services of only lower-level layers
Operating System Modules
• Most modern operating systems implement kernel modules
– Uses object-oriented approach
– Each core component is separate
– Each talks to the others over known interfaces
– Each is loadable as needed within the kernel
• Overall, similar to layers but with more flexibility
Layered Operating System
Functions of the Operating System
• Process Management
• Memory Management
• Storage Management
• I/O Subsystem
• Protection and Security
• Resource Allocation
• Accounting
Examples of Operating Systems
• MS-DOS
• Windows XP
• Unix
• Mac OS X
MS-DOS
• MS-DOS – written to provide the most functionality in the
least space
– Not divided into modules
– Although MS-DOS has some structure, its interfaces and
levels of functionality are not well separated
Structure of MS-DOS
Unix
• UNIX – The UNIX OS consists of two separable parts
– Systems programs
– The kernel
• Consists of everything below the system-call interface and above
the physical hardware
• Provides the file system, CPU scheduling, memory management,
and other operating-system functions; a large number of functions
for one level
Structure of Unix
Mac OS X
Process Management
• An operating system executes a variety of programs:
– Batch system – jobs
– Time-shared systems – user programs or tasks
• Process – a program in execution; process execution must progress in
sequential fashion
• A process includes:
– program counter
– stack
– data section
Process Control Block (PCB)
Information associated with each process
• Process state
• Program counter
• CPU registers
• CPU scheduling information
• Memory-management information
• Accounting information
• I/O status information
Process Control Block (PCB)
Context Switch
• When CPU switches to another process, the system must save the state
of the old process and load the saved state for the new process
• Context-switch time is overhead; the system does no useful work while
switching
• Time dependent on hardware support
CPU Switch from Process to Process
CPU Scheduling
• Selects from among the processes in memory that are ready to execute,
and allocates the CPU to one of them according to the following
scheduling criteria:
– CPU utilization – keep the CPU as busy as possible
– Throughput – # of processes that complete their execution per time
unit
– Turnaround time – amount of time to execute a particular process
– Waiting time – amount of time a process has been waiting to be run
– Response time – amount of time it takes from when a request was
submitted until the first response is produced
Scheduling Algorithms
• Shortest-Job-First (SJF) – schedule the process that will take the shortest
amount of time
• Priority Scheduling – assign a priority with each process and schedule
the one with the highest priority
• Round Robin Scheduling – give each process in turn a fixed amount of
CPU time
Storage Structure
• Main memory – only large storage media that the CPU can access
directly.
• Secondary storage – extension of main memory that provides large
nonvolatile storage capacity.
• Magnetic disks – rigid metal or glass platters covered with magnetic
recording material
• Storage systems organized in hierarchy.
– Speed
– Cost
– Volatility
Storage-Device Hierarchy
Memory Management
• Transfer data to memory during processing
• Transfer all instructions to memory in order to execute
• Memory management activities
– Keeping track of which parts of memory are currently being used and
by whom
– Deciding which processes (or parts thereof) and data to move into and
out of memory
– Allocating and de-allocating memory space as needed
Storage Management
•
OS provides uniform, logical view of information storage
– Abstracts physical properties to logical storage unit - file
– Each medium is controlled by device (i.e., disk drive, tape drive)
• Varying properties include access speed, capacity, data-transfer rate, access
method (sequential or random)
•
File-System management
– Files usually organized into directories
– Access control on most systems to determine who can access what
– OS activities include
• Creating and deleting files and directories
• Primitives to manipulate files and dirs
• Mapping files onto secondary storage
• Backup files onto stable (non-volatile) storage media
File Protection
• File owner/creator should be able to control:
– what can be done
– by whom
• Types of access – read, write , execute
• Three classes of users
RWX
a) owner access
7

111
b) group access
6

110
c) public access
1

001
Windows XP Access Control
Mass-Storage Management
• 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
• Some storage need not be fast
– Tertiary storage includes optical storage, magnetic tape
– Still must be managed
– Varies between WORM (write-once, read-many-times) and RW (read-write)
I/O Subsystem Management
• One purpose of OS is to hide peculiarities of hardware devices from the
user
• I/O subsystem responsible for
– Memory management of I/O including buffering (storing data
temporarily while it is being transferred), caching (storing parts of data
in faster storage for performance), spooling (the overlapping of output
of one job with input of other jobs)
– General device-driver interface
– Drivers for specific hardware devices
MS-DOS and Windows
• Earlier versions of Windows (95 and 98) were built on top of MS-DOS.
DOS commands are still available to the user.
• The command window can be accessed by typing `cmd` in the Run bar.
• To get a list of DOS commands type `help`.
Windows Registry
• Registry – A central Windows database file that holds hardware and
software configuration information.
• User Profile - All settings associated with a specific user, including
desktop settings, network configurations, and application that the user
has access to. It is part of the registry.
• There are five registry sub-trees found in Windows by default:
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_USER
HKEY_CURRENT_CONFIG
HKEY_CLASSES_ROOT
Editing the Windows Registry
• Before making any changes to the registry, it is always a good idea to
make a backup copy of the registry before changes.
• REGEDIT - A Windows utility used to modify and back up the registry.
The five major sub-trees are displayed one window.
• REGEDT32 – The sub-trees are displayed in individual windows
Basic Unix Commands
• man command – info on how to use a certain command
• ls – list files in a directory
• cd directory – change to a specified directory
• pwd – print working directory
• mkdir name – create a directory with name
• cp old new – copy the old file into a new one
• rm name – remove file name
• mv old new – rename old with new
• passwd – change password
• chmod 644 name – change file permissions on name