20
1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: [email protected] Office: HEC 439 B

1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: [email protected]@cs.ucf.edu Office: HEC 439 B

Embed Size (px)

Citation preview

Page 1: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

1

Advanced Operating Systems - Fall 2009Lecture 2 – January 12, 2009

Dan C. Marinescu

Email: [email protected]

Office: HEC 439 B

Page 2: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

2

Class organization (cont’d)

Class webpage: www.cs.ucf.edu/~dcm/Teaching/OperatingSystems

References: “Operating system concepts” by Silberschatz,

Gavin, Gagne Selected papers.

Office hours: M, Wd, 3:00 – 4:30 PM

Page 3: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

3

Last, Current, Next Lecture

Last time: “The Big Picture” Today:

The relationship between physical systems and models

Layering Virtualization.

Next time: Operating Systems Structures

Page 4: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

4

Physical Organization

Processor Main memory Auxiliary processors (channels, graphics

cards, etc.) Secondary storage (disks) I/O devices Busses

Common bus, Memory bus, USB

Page 5: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

5

Page 6: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

6

Processors

Clock rate: < 3 GHz Multiple functional units: integer, floating point, pixel. Performance: MIPS, Mflops L1 Cache Registers Different architectures Instruction set RISC, CISC (Intel) Multi-core Memory-mapped I/O

Page 7: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

7

Processor support for OS functions

Instructions supporting atomic operations: Load and Test, Swap

Multiple execution modes: at least two Kernel User

Clock and Timers Interrupts Memory management support: paging and

segmentation.

Page 8: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

8

Auxiliary processors

Channel I/O a high-performance input/output (I/O) architecture implemented with a custom processor, known as peripheral processor, I/O processor, I/O controller, or DMA controller. I/O Controller Hub (ICH) Intel 82801, an Intel microchip used on 

motherboards with Intel chipsets. ICH10 southbridge (June 2008) with the Intel P45.

Graphic cards transform binary images into pixels that can be displayed on the screen. Main components: A motherboard connection for data and power A processor to decide what to do with each pixel on the screen Memory to hold information about each pixel and to temporarily store

completed pictures. A monitor connection.

How will the multi-cores change this?

Page 9: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

9

Storage Hierarchy

Page 10: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

10

Storage Attributes

Page 11: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

11

Basic concepts

Abstractions and models. Universal computers.

Resource virtualization. Concurrency.

Physical Systems State of a system, a process, a computation.

Page 12: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

12

The role of abstractions

Identify problems which require a solution: Physical devices operate at different speeds. Resource sharing.

Separate logical (conceptual) principles from the physical (practical) implementation.

Define logical structures that capture the properties of diverse physical systems.

Page 13: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

13

Abstractions

Processes and Threads abstract programs in execution.

Pages and Segments support memory management.

Caching reduce the gap between memory access time and instruction execution time.

Multitasking hide the gap between the speed of processors and I/O devices.

Spooling simultaneous peripheral operations on-line Critical Section support resource sharing. Windows GUI for user-computer interactions

Page 14: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

14

Abstractions versus physical reality

Physical properties of systems play an important role: Speed Volume/quantity Physical dimensions Power consumption Reliability

Time difficult to deal in programming models and abstractions.

Page 15: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

15

Models

Retain the “relevant” properties of a system. Examples:

Service-oriented OS: different functions implemented as services and available through system calls.

The Internet is based upon the “best-effort” model Layered models – separation of functions; each

layer communicates only with the adjacent ones. Layered model of the OS Communication architecture

Page 16: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

16

Page 17: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

17

Virtualization Techniques to:

facilitate the development of portable software (JVM); overcome physical limitations of the components of systems; provide uniform access to a distributed, heterogeneous, distinct, or

non-uniform, collection of resources. A virtual resource management system is typically a layer of

software and the associated hardware support to map virtual to physical resources. For example: Virtual memory allows uniform, contiguous addressing of physically

separate and non-contiguous memory and secondary storage areas. Virtual memory was developed around 1958 at the University of Manchester for the Atlas computer; all modern operating systems have a memory management system mapping virtual address spaces of several Gbytes to a physical memory of different size.

Software implementations of different types of RAID (Redundant Arrays of Inexpensive Disks) are supported by many operating systems including Microsoft's server operating systems and the Mac OS X Server.

Has the potential to increase system vulnerability

Page 18: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

18

Virtual Machines

The resources of the physical computer are shared to create the virtual machines CPU scheduling can create the appearance that

users have their own processor Spooling and a file system can provide virtual card

readers and virtual line printers Windows A normal user time-sharing terminal serves as the

virtual machine operator’s console

Page 19: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

19

Page 20: 1 Advanced Operating Systems - Fall 2009 Lecture 2 – January 12, 2009 Dan C. Marinescu Email: dcm@cs.ucf.edudcm@cs.ucf.edu Office: HEC 439 B

20

VMware Architecture