Download presentation
Presentation is loading. Please wait.
Published byClare Kerry Johns Modified over 9 years ago
1
CIS-410: Operating Systems Spring 2008
2
Organizational Details Class Meeting: 7:00-9:45pm, Monday, Room 252N Instructor: Dr. Igor Aizenberg Office: Aikin Building, 192 Phone (903 223 3183) e-mail: igor.aizenberg@tamut.edu Office hours: Tuesday, Thursday, Friday 12-30 – 2-00 pm
3
Text Book A. Silberschatz, P. B. Galvin and G. Gagne "Operating System Concepts" 7th Edn., John Wiley & Sons,2005, ISBN 0-471-69466-5
4
Control Exams (open book, open notes): Midterm 1: March 3, 2007 Midterm 2: April 14, 2007 Final Exam:May 12, 2007 Homework
5
Grading Grading Method Homework and preparation:10% Midterm Exam 1: 25% Midterm Exam 2: 30% Final Exam: 35% Grading Scale: 90%+ A 80%+ B 70%+ C 60%+ D less than 60% F
6
Chapter 1: Introduction
7
1.7 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 What we will study? 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 Modern Operating Systems: Windows XP and Linux
8
1.8 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization To learn basic ideas behind the modern operating systems. To learn basic issues in operating system design and implementation. To allow you to use an operating system to control your computer. To give you the ability to quickly learn new operating systems.
9
1.9 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 What is an Operating System? An Operating System is 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.
10
1.10 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 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
11
1.11 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Four Components of a Computer System
12
1.12 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 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
13
1.13 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Operating System Definition (Cont.) No universally accepted definition “Everything a vendor ships when you order an operating system” is 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
14
1.14 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Computer Startup bootstrap program is loaded at power-up or reboot Typically stored in ROM or EPROM, generally known as firmware Initializates all aspects of system Loads operating system kernel and starts execution
15
1.15 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Historical Overview “The 1 st Generation”: vacuum tube technology (1945-1955) A few milliseconds per arithmetic operation “The 2 nd Generation”: transistor technology (1955-1965) High-level languages, compilers, separate I/O processors Electronic Computers “The 3 rd Generation”: integrated-circuit technology (1965-1975) Operating systems, Microprogramming, multiprogramming, pipelining, cache memories “The 4 th Generation”: VLSI ( Very Large Scale Integration ) (1975- present) Microprocessors, virtual memories, concurrency, networks, high resolution graphics Beyond the 4 th Generation: artificial intelligence, massively parallel machines, extensively distributed systems
16
1.16 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 1 st and 3 rd Generations of Computers 1 st Generation Computer, 1954 3 rd Generation Computer IBM-360, 1966
17
1.17 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 History of Operating Systems: Phases Phase 1: Hardware is expensive, humans are cheap (1945-1965) User at console: single-user systems Batching systems Multi-programming systems Phase 2: Hardware is cheap, humans are expensive (1965-1981) Time sharing: Users use cheap terminals and share servers Phase 3: Hardware is very cheap, humans are very expensive (1981-1990 th ) Personal computing: One system per user Distributed computing: lots of systems per user Phase 4: Ubiquitous computing (1990 th and beyond) Computers everywhere: Cell phone, mp3 player, DVD player, etc.
18
1.18 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 History of Operating Systems: Phases Phase 1: Hardware is expensive, humans are cheap User at console: single-user systems Batching systems Multi-programming systems Phase 2: Hardware is cheap, humans are expensive Time sharing: Users use cheap terminals and share servers Phase 3: Hardware is very cheap, humans are very expensive Personal computing: One system per user Distributed computing: lots of systems per user Phase 4: Richer services Real-time operating systems
19
1.19 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 A Brief History of Operating Systems Hand programmed machines (‘45-‘55) Single user systems OS = loader + libraries of common subroutines Problem: low utilization of expensive components = % utilization Execution time Execution time + Card reader time
20
1.20 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Batch/Off-line processing (‘55-‘65) Batching v. sequential execution of jobs Card Reader: CPU: Printer: Read Batch 1 Execute Batch 1 Batch 2 Batch 3 Batch 2 Batch 3 Print Batch 1 Batch 2 Batch 3 Card Reader: CPU: Printer: Read Job 1 Execute Job 1 Job 2 Job 3 Job 2 Job 3 Print Job 1 Job 2 Job 3
21
1.21 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Tape Batch processing (‘55-‘65) Operating system = loader + sequencer + output processor Input Compute Output Card Reader Card Reader Printer Tape Operating System “System Software” User Program User Data
22
1.22 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Multiprogramming (‘65-‘80) Keep several jobs in memory and multiplex CPU between jobs Operating System “System Software” User Program 1 User Program 2 User Program n... program P begin : Read(var) : end P program P begin : Read(var) : end P system call Read() begin StartIO( input device ) WaitIO( interrupt ) EndIO( input device ) : end Read system call Read() begin StartIO( input device ) WaitIO( interrupt ) EndIO( input device ) : end Read Simple, “synchronous” input: What to do while we wait for the I/O device?
23
1.23 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Multiprogramming (‘65-‘80) Keep several jobs in memory and multiplex CPU between jobs Operating System “System Software” User Program 1 User Program 2 User Program n... Program 1 I/O Device k: read() k+1: endio() interrupt main{ } } OS read{ startIO() waitIO()
24
1.24 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Multiprogramming (‘65-‘80) Keep several jobs in memory and multiplex CPU between jobs Operating System “System Software” User Program 1 User Program 2 User Program n... Program 1Program 2OS I/O Device k: read() startIO() interrupt main{ read{ endio{ } schedule() main{ k+1: } } schedule()
25
1.25 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 History of Operating Systems: Phases Phase 1: Hardware is expensive, humans are cheap User at console: single-user systems Batching systems Multi-programming systems Phase 2: Hardware is cheap, humans are expensive Time sharing: Users use cheap terminals and share servers Phase 3: Hardware is very cheap, humans are very expensive Personal computing: One system per user Distributed computing: lots of systems per user Phase 4: Richer services Real-time operating systems
26
1.26 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Timesharing (‘70- ) A timer interrupt is used to multiplex CPU among jobs Operating System “System Software” User Program 1 User Program 2 User Program n... Program 1Program 2OS k+1: schedule{ timer interrupt schedule{ timer interrupt k:k: main{ } } timer interrupt schedule{
27
1.27 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 History of Operating Systems: Phases Phase 1: Hardware is expensive, humans are cheap User at console: single-user systems Batching systems Multi-programming systems Phase 2: Hardware is cheap, humans are expensive Time sharing: Users use cheap terminals and share servers Phase 3: Hardware is very cheap, humans are very expensive Personal computing: One system per user Distributed computing: lots of systems per user Phase 4: Richer services Real-time operating systems
28
1.28 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Operating Systems for PCs Personal computing systems Single user Utilization is no longer a concern Emphasis is on user interface and API Many services & features not present Evolution Initially: OS as a simple service provider (simple libraries) Now: Multi-application systems with support for coordination and communication Growing security issues (e.g., online commerce, medical records)
29
1.29 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 Distributed Operating Systems Typically support distributed services Sharing of data and coordination across multiple systems Possibly employ multiple processors Loosely coupled v. tightly coupled systems High availability & reliability requirements OS process management OS process management User Program User Program CPU LAN/WAN OS process management memory management OS process management memory management User Program User Program CPU OS file system name services mail services OS file system name services mail services CPU Network
30
1.30 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 12, 2005 History of Operating Systems: Phases Phase 1: Hardware is expensive, humans are cheap User at console: single-user systems Batching systems Multi-programming systems Phase 2: Hardware is cheap, humans are expensive Time sharing: Users use cheap terminals and share servers Phase 3: Hardware is very cheap, humans are very expensive Personal computing: One system per user Distributed computing: lots of systems per user Phase 4: Connecting people and their machines Intellectual property issues Information organization
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.