• 沒有找到結果。

Operating System Concepts

N/A
N/A
Protected

Academic year: 2022

Share "Operating System Concepts"

Copied!
32
0
0

加載中.... (立即查看全文)

全文

(1)

Operating System Concepts

Tei-Wei Kuo

ktw@csie.ntu.edu.tw

Dept. of Computer Science and Information Engineering

National Taiwan University

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Syllabus

ƒ 授課教授: 郭大維 @ Room 315.資工系. NTU.TW

ƒ 助教: 陳雅淑 (yashc@mail2000.com.tw) 張原豪 (d93944006@ntu.edu.tw )

ƒ 上課時間: Wednesday 14:20-17:20

ƒ 教室:資 103

ƒ 教科書:

Silberschatz, Galvin, and Gagne, “Operating System Principles,” 7th Edition, John Wiley

& Sons, Inc..

ƒ 成績評量:(subject to changes.):

期中考(40%), 期末考(40%), 作業(20%)

(2)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Projects – Nachos 4.0

ƒ Not Another Completely Heuristic Operating System

ƒ Written by Tom Anderson and his students at UC Berkeley

http://www.cs.washington.edu/homes/tom/nachos/

ƒ It simulates an MIPS architecture on host systems

(Unix/Linux/Windows/MacOS X)

ƒ User programs need a cross-compiler (target MIPS)

ƒ Nachos appears as a single threaded process to the host operating system.

Contents

1. Introduction

2. System Structures 3. Process Concept

4. Threaded Programming 5. Process Scheduling 6. Synchronization 7. Deadlocks

8. Memory-Management Strategies 9. Virtual-Memory Management 10.File System

(3)

Chapter 1. Introduction

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Introduction

ƒ What is an Operating System?

ƒ A basis for application programs

ƒ An intermediary between users and hardware

ƒ Amazing variety

ƒ Mainframe, personal computer (PC), handheld computer, embedded

computer without any user view Convenient vs Efficient

(4)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Computer System Components

ƒ OS – a government/environment provider

Application Programs Operating System

Hardware

User User ... User

CPU, I/O devices, memory, etc.

compilers,

word processors, spreadsheets, browsers, etc.

User View

ƒ The user view of the computer varies by the interface being used!

ƒ Examples:

ƒ Personal Computer Æ Ease of use

ƒ Mainframe or minicomputer Æ

maximization of resource utilization

ƒ Efficiency and fair share

ƒ Workstations Æ compromise between individual usability & resource utilization

ƒ Handheld computer Æ individual usability

ƒ Embedded computer without user view Æ run without user intervention

(5)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System View

ƒ A Resource Allocator

ƒ CPU time, Memory Space, File

Storage, I/O Devices, Shared Code, Data Structures, and more

ƒ A Control Program

ƒ Control execution of user programs

ƒ Prevent errors and misuse

ƒ OS definitions – US Dept.of Justice against Microsoft in 1998

ƒ The stuff shipped by vendors as an OS

ƒ Run at all time

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Goals

ƒ Two Conflicting Goals:

ƒ Convenient for the user!

ƒ Efficient operation of the computer system!

ƒ We should

ƒ recognize the influences of operating systems and computer architecture on each other

ƒ and learn why and how OS’s are by

tracing their evolution and predicting what they will become!

(6)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

UNIX Architecture

terminal controller, terminals,

physical memory, device controller, devices such as disks, memory, etc.

CPU scheduling, signal handling, virtual memory, paging, swapping,

file system, disk drivers, caching/buffering, etc.

Shells, compilers, X, application programs, etc.

UNIX Kernel interface

to the hardware System call interface

useruser user useruser user User user

interface

Computer-System Structure

ƒ Objective: General knowledge of the structure of a computer system.

printer CPU

printer controller

memory controller

disk controller

memory

tape-drive controller

disks

tape drivers

ƒDevice controllers: synchronize and manage access to devices.

(7)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Booting

ƒ Bootstrap program:

ƒ Initialize all aspects of the system, e.g., CPU registers, device

controllers, memory, etc.

ƒ Load and run the OS

ƒ Operating system: run init to initialize system processes, e.g., various

daemons, login processes, after the kernel has been bootstrapped.

(/etc/rc* & init or /sbin/rc* & init)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Interrupt

ƒ Hardware interrupt, e.g. services requests of I/O devices

ƒ Software interrupt, e.g. signals, invalid memory access, division by zero, system calls, etc – (trap)

ƒ Procedures: generic handler or interrupt vector (MS-DOS,UNIX)

process execution

interrupt

handler return

(8)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Interrupt Handling Procedure

ƒ Saving of the address of the interrupted instruction: fixed locations or stacks

ƒ Interrupt disabling or enabling issues: lost interrupt?!

prioritized interrupts Æ masking

interrupted process

system stack fixed address

per interrupt type

interrupted address, registers ...

handler

Interrupt Handling Procedure

ƒ Interrupt Handling

Î Save interrupt information

Î OS determine the interrupt type (by polling) Î Call the corresponding handlers

Î Return to the interrupted job by the restoring important information (e.g., saved return addr. Æ program counter)

indexed by a unique

device number

Interrupt Vector

0 1

n

--- --- --- ---

--- ---

--- --- ---

Interrupt Handlers (Interrupt Service Routines)

(9)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Storage Structure

ƒ Access time: a cycle

ƒ Access time:

several cycles

ƒ Access time: many cycles

memory

Magnetic Disks registers

cache

CD-ROMs/DVDs

Jukeboxes Tertiary Storage

removable media

Secondary Storage

nonvolatile storage

HW-Managed

SW-Managed

Primary Storage

volatile storage

CPU

* Differences:

Size, Cost,

Speed, Volatility

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Memory

ƒ Processor can have direct access!

ƒ Intermediate storage for data in the registers of device controllers

ƒ Memory-Mapped I/O (PC & Mac) (1) Frequently used devices

(2) Devices must be fast, such as video controller, or special I/O instructions is used to move data between

memory & device controller registers

ƒ Programmed I/O – polling

ƒ or interrupt-driven handling

R1 R2

R3 . . .

Memory

Device Controller

(10)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Magnetic disks

ƒ Transfer Rate

ƒ Random- Access Time

ƒ Seek time in x ms

ƒ Rotational latency in y ms

ƒ 60~200 times/sec spindle

sector

cylinder

platter

r/w head

disk arm arm assembly track

Magnetic Disks

ƒ Disks

ƒ Fixed-head disks:

ƒ More r/w heads v.s. fast track switching

ƒ Moving-head disks (hard disk)

ƒ Primary concerns:

ƒ Cost, Size, Speed

ƒ Computer Æ host controller Æ disk controller Æ disk drives (cache ÅÆ disks)

ƒ Floppy disk

ƒ slow rotation, low capacity, low density, but less expensive

ƒ Tapes: backup or data transfer bet machines

(11)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Storage Hierarchy

register

Main Memory Electronic Disk

Magnetic Disk Optical Disk

Cache

Magnetic Tape

Cost

High hitting rate

• instruction & data cache

• combined cache

Faster than magnetic disk – nonvolatile?!

Alias: RAM Disks

Sequential Access XX GB/350F

Speed

Volatile Storage

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

I/O Structure

ƒ Device controllers are responsible of moving data between the peripheral devices and their local buffer storages.

printer

CPU printer

controller

memory controller

DMA

memory

tape-drive controller

disk

tape drivers

registers buffers registers buffers

(12)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

I/O Structure

ƒ I/O operation

a. CPU sets up specific controller registers within the controller.

b. Read: devices Æ controller buffers Æ memory

Write: memory Æ controller buffers Æ devices

c. Notify the completion of the operation by triggering an interrupt

DMA

ƒ Goal: Release CPU from handling excessive interrupts!

ƒ E.g. 9600-baud terminal

2-microsecond service / 1000 microseconds

High-speed device:

2-microsecond service / 4 microseconds

ƒ Procedure

ƒ Execute the device driver to set up the registers of the DMA controller.

ƒ DMA moves blocks of data between the memory and its own buffers.

ƒ Transfer from its buffers to its devices.

ƒ Interrupt the CPU when the job is done.

(13)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Single-Processor Systems

ƒ Characteristics: One Main CPU

ƒ Special-Purpose Processors, e.g., Disk-Controller Microprocessors.

ƒ Examples:

ƒ Personal Computers (Since 1970’s), Mainframes.

ƒ Operating Systems

ƒ Batching Æ Multiprogramming Æ Time-Sharing

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Parallel Systems

ƒ Tightly coupled: have more than one

processor in close communication sharing computer bus, clock, and sometimes

memory and peripheral devices

ƒ Loosely coupled: otherwise

ƒ Advantages

ƒ Speedup – Throughput

ƒ Lower cost – Economy of Scale

ƒ More reliable – Graceful Degradation Æ Fail Soft (detection, diagnosis, correction)

• A Tandem or HP-NonStop fault-tolerance solution

(14)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Parallel Systems

ƒ Symmetric multiprocessing model: each processor runs an identical copy of the OS

ƒ Asymmetric multiprocessing model: a master- slave relationship

~ Dynamically allocate or pre-allocate tasks

~ Commonly seen in extremely large systems

~ Hardware and software make a difference?

ƒ Trend: the dropping of microporcessor cost Î OS functions are offloaded to slave

processors (back-ends)

Parallel Systems

ƒ The Recent Trend:

ƒ Hyperthreading Processors

ƒ Multiple Cores over a Single Chip

ƒ N Standard Processors!

ƒ Loosely-Coupled Systems

ƒ Processors do not share memory or a clock

ƒ Blade Servers

ƒ Each blade-processor board boots independently and runs its own OS.

(15)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Clustered Systems

ƒ Definition: Clustered computers which share storage and are closely linked via LAN networking.

ƒ Advantages: high availability, performance improvement, etc.

ƒ Types

ƒ Asymmetric/symmetric clustering

ƒ Parallel clustering – multiple hosts that access the same data on the shared storage.

ƒ Distributed Lock Manager (DLM)

ƒ Oracle

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Operating-System Structure

ƒ Simple batch systems

ƒ Resident monitor – Automatically transfer control from one job to the next

ƒ Spooling (Simultaneous Peripheral Operation On-Line)

ƒ Replace sequential-access devices with random-access device

card reader

disks

CPU

disks

printer

(16)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Operating-System Structure

ƒ Multiprogramming increases CPU utilization by organizing jobs so that the CPU always has one to execute – Early 1960

ƒ Job scheduling and CPU scheduling

ƒ Goal : efficient use of scare resources

disk OS job1 job2 job3

Operating-System Structure

ƒ Time sharing (or

multitasking) is a logical extension of

multiprogramming!

ƒ Started in 1960s and

become common in 1970s.

ƒ An interactive (or hand-on) computer system

ƒ Multics, IBM OS/360

ƒ Virtual Memory

ƒ Physical Address

disk

on-line file system virtual memory

sophisticated CPU scheduling job synchronization

protection & security ...

and so on

(17)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Operating-System Operations

ƒ An Interrupt-Driven Architecture for Modern OS’s

ƒ Events are almost always signaled by the occurrence of an interrupt or a trap (or an exception).

ƒ Protection of User Programs and OS

ƒ Multiprogramming

ƒ Sharing of Hardware and Software

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Hardware Protection

ƒ Goal:

ƒ Prevent errors and misuse!

ƒ E.g., input errors of a program in a simple batch operating system

ƒ E.g., the modifications of data and code segments of another process or OS

ƒ Dual-Mode Operations – a mode bit

ƒ User-mode executions except those after a trap or an interrupt occurs.

ƒ Monitor-mode (system mode, privileged mode, supervisor mode)

ƒ Privileged instruction:machine instructions that may cause harm

(18)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Hardware Protection

ƒ System Calls – trap to OS for executing privileged instructions.

ƒ Resources to protect

ƒ I/O devices, Memory, CPU

ƒ I/O Protection (I/O devices are scare resources!)

ƒ I/O instructions are privileged.

ƒ User programs must issue I/O through OS

ƒ User programs can never gain control over the computer in the system mode.

Hardware Protection

ƒ Memory Protection

ƒ Goal: Prevent a user program from modifying the code or data structures of either the OS or other users!

ƒ Instructions to modify the memory space for a process are privileged.

kernel job1

……

job2

…… Limit register

Base register Ù Check for every memory address by hardware

(19)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Hardware Protection

ƒ CPU Protection

ƒ Goal

ƒ Prevent user programs from sucking up CPU power!

ƒ Use a timer to implement time-sharing or to compute the current time.

ƒ Instructions that modify timers are privileged.

ƒ Computer control is turned over to OS for every time-slice of time!

ƒ Terms: time-sharing, context switch

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components – Process Management

ƒ Process Management

ƒ Process: An Active Entity

ƒ Physical and Logical Resources

ƒ Memory, I/O buffers, data, etc.

ƒ Data Structures Representing Current Activities:

Program Counter Stack

Data Section CPU Registers

….

And More

Program

(code) +

(20)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components – Process Management

ƒ Services

ƒ Process creation and deletion

ƒ Process suspension and resumption

ƒ Process synchronization

ƒ Process communication

ƒ Deadlock handling

System Components – Main- Memory Management

ƒ Memory: a large array of words or bytes, where each has its own address

ƒ OS must keep several programs in memory to improve CPU utilization and user response time

ƒ Management algorithms depend on the hardware support

ƒ Services

ƒ Memory usage and availability

ƒ Decision of memory assignment

ƒ Memory allocation and deallocation

(21)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components – File- System Management

ƒ Goal:

ƒ A uniform logical view of information storage

ƒ Each medium controlled by a device

ƒ Magnetic tapes, magnetic disks, optical disks, etc.

ƒ OS provides a logical storage unit: File

ƒ Formats:

ƒ Free form or being formatted rigidly.

ƒ General Views:

ƒ A sequence of bits, bytes, lines, records

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components – File- System Management

ƒ Services

ƒ File creation and deletion

ƒ Directory creation and deletion

ƒ Primitives for file and directory manipulation

ƒ Mapping of files onto secondary storage

ƒ File Backup

* Privileges for file access control

(22)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components –

Secondary-Storage Management

ƒ Goal:

ƒ On-line storage medium for programs & data

ƒ Backup of main memory

ƒ Services for Disk Management

ƒ Free-space management

ƒ Storage allocation, e.g., continuous allocation

ƒ Disk scheduling, e.g., FCFS

System Components –Tertiary Storage Devices

ƒ Goals:

ƒ Backups of disk data, seldom-used data, and long-term archival storage

ƒ Examples:

ƒ Magnetic tape drives and their tapes, CD &

DVD drives and platters.

ƒ Services – OS Supports or Applications’

Duty

ƒ Device mounting and unmounting

ƒ Exclusive allocation and freeing

ƒ Data transfers from tertiary devices to secondary storage devices.

(23)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

System Components – I/O System Management

ƒ Goal:

ƒ Hide the peculiarities of specific hardware devices from users

ƒ Components of an I/O System

ƒ A buffering, caching, and spooling system

ƒ A general device-driver interface

ƒ Drivers

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Caching

register

Main Memory Electronic Disk

Magnetic Disk Optical Disk

Cache

Magnetic Tape

Cost

High hitting rate

• instruction & data cache

• combined cache

Faster than magnetic disk – nonvolatile?!

Alias: RAM Disks

Sequential Access XX GB/350F

Speed

Volatile Storage

(24)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Caching

CD/Tape Disk

Memory Cache

Backup by

OS OS

Hardware Compiler

Managed by

20 – 150 1000 – 5000

5000 – 10,000 20,000 –

100,000 Bandwidth

(MB/s)

5,000,000 80 – 250

0.5 – 2.5 0.25 – 0.5

Access Time (ns)

Magnetic Disks CMOS DRAM

On-chip or off- chip CMOS SRAM Custom memory

with multiple ports, CMOS

Implementat ion Strategy

> 100GB

> 16GB

> 16MB

< 1KB Typical Size

Disk Memory

Cache Registers

Name

4 3

2 1

Level

Caching

ƒ Caching

ƒ Information is copied to a faster storage system on a temporary basis

ƒ Assumption: Data will be used again soon.

ƒ Programmable registers, instr. cache, etc.

ƒ Cache Management

ƒ Cache Size and the Replacement Policy

ƒ Movement of Information Between Hierarchy

ƒ Hardware Design & Controlling Operating Systems

(25)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Caching

ƒ Coherency and Consistency

ƒ Among several storage levels (vertical)

ƒ Multitasking vs unitasking

ƒ Among units of the same storage level , (horizontal), e.g. cache coherency

ƒ Multiprocessor or distributed systems

Memory Cache CPU

Memory cache CPU

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Protection and Security

ƒ Goal

ƒ Resources are only allowed to be accessed by authorized processes.

ƒ Definitions:

ƒ Protection – any mechanism for controlling the access of processes or users to the resources defined by the computer system.

ƒ Security – Defense of a system from

external and internal attacks, e.g., viruses, denial of services, etc.

(26)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Protection and Security

ƒ Protected Resources

ƒ Files, CPU, memory space, etc.

ƒ Protection Services

ƒ Detection & controlling mechanisms

ƒ Specification mechanisms

ƒ Distinguishing of Users

ƒ User names and ID’s

ƒ Group names and GID’s

ƒ Privilege Escalating, e.g., Setuid in Unix

ƒ To gain extra permissions for an activity.

ƒ Remark: Reliability!

Distributed Systems

ƒ Definition: Loosely-Coupled Systems –

processors do not share memory or a clock

ƒ Heterogeneous vs Homogeneous

ƒ Advantages or Reasons

ƒ Resource sharing: computation power, peripheral devices, specialized hardware

ƒ Computation speedup: distribute the computation among various sites – load sharing

ƒ Reliability: redundancy Æ reliability

ƒ Communication: X-window, email

(27)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Distributed Systems

ƒ Distributed systems depend on networking for their functionality.

ƒ Networks vary by the protocols used.

ƒ TCP/IP, ATM, etc.

ƒ Types – distance

ƒ Local-area network (LAN)

ƒ Wide-area network (WAN)

ƒ Metropolitan-area network (MAN)

ƒ Small-area network – distance of few feet

ƒ Media – copper wires, fiber strands, satellite wireless transmission, infrared communication,etc.

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Real-Time Embedded Systems

ƒ Embedded Computers – Most Prevalent Form of Computers

ƒ Have a wide variety ranged from car engines to VCR’s.

ƒ General-purpose computers with standard OS’s, HW devices with or without embedded OS’s

ƒ Standalone units or members of networks and the Web

ƒ Tend to have specific tasks and almost always run real-time operating systems.

(28)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Real-Time Embedded Systems

Real-Time Embedded Systems

ƒ Definition: A real-time system is a computer system where a timely

response by the computer to external stimuli is vital!

ƒ Hard real-time system: The system has failed if a timing constraint, e.g.

deadline, is not met.

ƒ All delays in the system must be bounded.

ƒ Many advanced features are absent.

(29)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Real-Time Embedded Systems

ƒ Soft real-time system: Missing a

timing constraint is serious, but does not necessarily result in a failure

unless it is excessive

ƒ A critical task has a higher priority.

ƒ Supported in most commercial OS.

ƒ Real-time means on-time instead of fast

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Multimedia Systems

ƒ Multimedia Data

ƒ Audio and video files and conventional files

ƒ Multimedia data must be delivered

according to certain time restrictions (e.g., 30 frames per second)

ƒ Variety on Platforms

ƒ Desktop personal computers, Personal Digital Assistant (PDA), cellular

telephones, etc.

(30)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Handheld Systems

ƒ Handheld Systems

ƒ E.g., Personal Digital Assistant (PDA) and cellular phones.

ƒ New Challenges – convenience vs portability

ƒ Limited Size and Weight

ƒ Small Memory Size (e.g., 512KB ~ 128MB)

ƒ No Virtual Memory

ƒ Slow Processor

ƒ Battery Power

ƒ Small display screen

ƒ Web-clipping

Computing Environments

ƒ Evolving Environments

ƒ Transition from the period of scarce

resources to the period of ubiquitous access!

ƒ In the past, portability is achieved by laptops!

ƒ Remote access is supported in a limited way.

Mainframes are prevalent!

ƒ Now, PC’s, PDA, and various equipments are connected!

ƒ High speed networks are available at home and office! Web-computing is popular

(e.g.,portals).

(31)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Computing Environments

ƒ Client-Server Systems

ƒ Trend: The functionality of clients is improved in the past decades.

ƒ Categories:

ƒ Compute-server systems

ƒ File-server systems

ƒ Network Operating Systems

ƒ Autonomous computers

ƒ A distributed operating system – a single OS controlling the network.

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Computing Environments

ƒ Peer-to-Peer Systems

ƒ Characteristics: Client and server roles depend on whether who is requesting or providing a service.

ƒ Network connectivity is an essential component.

ƒ Service Availability and Discovery

ƒ Registration of services: a centralized lookup service or not

ƒ A discovery protocol

ƒ Issues:

ƒ Legal problems in exchanging files.

(32)

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005.

Computing Environments

ƒ Web-Based Computing

ƒ Web Technology

ƒ Portals, network computers, etc.

ƒ Network connectivity

ƒ New categories of devices

ƒ Load balancers

ƒ Embedded Computing

ƒ Car engines, robots, VCR’s, home automation

ƒ Embedded OS’s often have limited features.

參考文獻

相關文件

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2001.. Operating

All rights reserved.. 1

All rights reserved.... All

National Taiwan University July 9, 2005 Page 5..

National Taiwan University August 28, 2005 Page 5..

* All rights reserved, Tei-Wei Kuo, National Taiwan University,

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..

* All rights reserved, Tei-Wei Kuo, National Taiwan University,