Upload
edwin-sims
View
218
Download
2
Tags:
Embed Size (px)
Citation preview
OPERATING SYSTEMSProf. Sujata RaoLesson 3
Agenda
1. What is an operating system?
2. How have operating systems evolved?
3. Functions of Operating System ?
4. Types of Operating System ?
5. Why study operating systems?
Introduction to Operating Systems29.07.2011
2
1. What is an Operating System?
Connector between an application & hardware Software that converts hardware into a useful form
for applications
To define precisely…
Users
Hardware
Operating System
Applicationscompilersdatabasesword processors
CPUmemoryI/O devices
29.07.2011
3
Definition
Set of programs containing instructions
that co-ordinate all the activities among
computer hardware resources and
the application software
which enables the hardware to conduct
the essential activity.
29.07.2011
4
Roles of an OS
Role #1Provide standard Library (ie. abstract
resources)
Role #2Resource coordinator (ie. manager)
29.07.2011
5
Role #1
Provide standard Library (ie. abstract resources) Abstract Resource?
e.g., CPU, memory, disk etc Advantages of standard library
Allow applications to reuse common facilities Make different devices of similar type look the same Provide higher-level abstractions
Challenges What are the correct abstractions? How much of hardware should be exposed?
29.07.2011
6
Role #2:
Resource coordinator (ie. manager) Advantages of resource coordinator
Virtualizes resource so multiple users or applications can share
Protect applications from one anotherProvide efficient and fair access to resources
ChallengesWhat are the correct mechanisms?What are the correct policies?
29.07.2011
7
OS Functionality ?
OS must adapt to both user expectations and technology changes
Change abstractions provided to users Change algorithms to implement those
abstractions Change low-level implementation to deal with
hardware
Current operating systems driven by evolution
29.07.2011
8
2. Evolution of the OS
Two distinct phases of historyPhase 1: Expensive Computers
Goal: Use computer’s time efficiently
Maximize throughput (I.e., jobs per second)
Maximize utilization (I.e., percentage busy)
Phase 2: Inexpensive Computers Goal: Use people’s time efficiently Minimize response time
29.07.2011
9
First commercial systems
1950s Hardware Enormous, expensive, and slow Input/Output: Punch cards and line printers
Goal of OS Get the hardware working Single operator/programmer/user runs and debugs
interactively
OS Functionality Standard library only (no sharing or coordination of
resources) Monitor that is always resident; transfer control to
programs
29.07.2011
10
First commercial systems
AdvantagesWorked and allowed interactive debugging
Problems Inefficient use of hardware (throughput and
utilization)
29.07.2011
11
O/s for Batch Processing Goal of OS: Better throughput and utilization Batch: Group of jobs submitted together
Operator collects jobs; orders efficiently; runs one at a time
Advantages Amortize setup costs over many jobs Operator more skilled at loading tapes Keep machine busy while programmer thinks Improves throughput and utilization
Problems User must wait until batch is done for results Machine idle when job is reading from cards and
writing to printers
29.07.2011
12
O/s for Spooling
Goal of OS Improve performance by overlapping I/O with CPU
execution
Hardware Mechanical I/O devices much slower than CPU Read 17 cards/sec vs. execute 1000s
instructions/sec
29.07.2011
13
Spooling: Simultaneous Peripheral Operations On-Line
1. Read card punches to disk
2. Compute (while reading and writing to disk)
3. Write output from disk to printer OS Functionality
Buffering and interrupt handling
Problem Machine idle when job waits for I/O to/from disk
29.07.2011
14
Multiprogrammed Batch Systems Observation: Spooling provides pool of ready jobs Goal of OS
Improve performance by always running a job Keep multiple jobs resident in memory When job waits for disk I/O, OS switches to another job
OS Functionality Job scheduling policies Memory management and protection
Advantage: Improves throughput and utilization Disadvantage: Machine not interactive
29.07.2011
15
Inexpensive Peripherals 1970’ s Hardware
Expensive mainframes, but inexpensive keyboards and monitors
Enables text editors and interactive debuggers Goal of OS
Improve user’s response time OS Functionality
Time-sharing: switch between jobs to give appearance of dedicated machine
More complex job scheduling Concurrency control and synchronization
Advantage Users easily submit jobs and get immediate feedback
29.07.2011
16
Inexpensive Personal Computers 1980s Hardware
Entire machine is inexpensive One dedicated machine per user
Goal of OS Give user control over machine
OS Functionality Remove time-sharing of jobs, protection, and virtual memory
Advantages Simplicity Works with little main memory Machine is all your own (performance is predictable)
Disadvantages No time-sharing or protection between jobs
29.07.2011
17
Inexpensive, Powerful Computers 1990s + Hardware
PCs with increasing computation and storage Users connected to the web
Goal of OS Allow single user to run several applications
simultaneously Provide security from malicious attacks Efficiently support web servers
OS Functionality Add back time-sharing, protection, and virtual memory
29.07.2011
18
Current Systems Conclusion: OS changes due to both hardware and
users Current trends
Multiprocessors Networked systems Virtual machines
OS code base is large Millions of lines of code 1000 person-years of work
Code is complex and poorly understood System outlives any of its builders System will always contain bugs Behavior is hard to predict, tuning is done by guessing
29.07.2011
19
OS Components
Kernel: Core components of the OS Process scheduler
Determines when and for long each process executes
Memory manager Determines when and how memory is allocated to
processes
Decides what to do when main memory is full File system
Organizes named collections of data in persistent storage
Networking Enables processes to communicate with one another
29.07.2011
20
3. Functions of an O/s
i. Providing a user interfacea) Command Line Interfaceb) Graphic User Interface
ii. Managing Programs a) Single -User Multitasking b) Multi-User & Multi Tasking
iii. Managing Memory Swapping, Paging & Thrashing
iv. Scheduling jobs - Spooling29.07.2011
21
3. Functions of an O/sv. Configuring Devices- with the help of
device drivers
vi. Establishing an internet connection
vii. Controlling a Network
viii. Monitoring Performances
ix. Providing File Management
x. Administering security
29.07.2011
22
4. Types of O/s
Stand Alone O/s A complete O/s which works on a
Desktop, Laptop, Palmtop, Mobile etc.
They can work with or without another operating system
Network O/s
O/s that is made to support a network of computers.
Embedded O/s
O/s for small devices enabled for wireless communication.
29.07.2011
23
4. Stand Alone O/s
Dos
Windows
Mac
Unix
Linux
29.07.2011
24
4. Network O/s
Windows NT
Windows 2003 family
Unix
Linux
Solaris
Novell Netware
29.07.2011
25
Embeded O/s
Windows CE ( windows for Communication & Entertainment)
Palm O/s
Blackberry
Embeded Linux
Symbian O/s
29.07.2011
26
5. Why study Operating Systems?
Build, modify, or administer an operating system
Understand system performanceBehavior of OS impacts entire machineChallenge to understand large, complex systemTune workload performanceApply knowledge across many areas
Computer architecture, programming languages, data structures and algorithms, and performance modeling
29.07.2011
27
DOS Command Screen
Command Line
DOS Prompt
29.07.2011
28
Internal DOS Commands..
A: - Change current directory path to the floppy disk drive
C: - Change current directory path to the hard disk drive
DIR - Display current directory (show all files and sub-
directories).
MD - Make a new directory, eg: MD C:\EMAIL
CD - Change current directory, eg. CD C:\EMAIL
29.07.2011
29
The Command Line
Two commands, “time” and “date”, were entered with primitive results…
29.07.201130
GUI - Notice the difference…
…when one click on the taskbar gives you this.
29.07.2011 31
DOS commands
COPY - Copy file(s) from one place to another. Del - Delete/erase a file
Any other text on the input line after the file name, is passed to the program.
Ex. "Copy help.txt help.bak", the text, "help.txt” & “ help.bak" is passed to the
copy program which will in this case use it to specify source and destination files for copy function.
29.07.2011
32
End of Lesson 3
29.07.2011
33