Top Banner
Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 • History of windows 2000 • Programming windows 2000 • System structure • Processes and threads in windows 2000 • Memory management • Input/output in windows 2000 • The windows 2000 file system • Security in windows 2000 Caching in windows 2000
45

Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Jan 16, 2016

Download

Documents

Charles Cobb
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-1

Chapter 11 : Case Study - Win 2000

• History of windows 2000 • Programming windows 2000 • System structure • Processes and threads in windows 2000• Memory management • Input/output in windows 2000 • The windows 2000 file system • Security in windows 2000 • Caching in windows 2000

Page 2: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-2

Windows 2000 (1)

Different versions of Windows 2000

Page 3: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-3

Windows 2000 (2)

Comparison of some operating system sizes

Page 4: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-4

The Win32 Application Programming Interface

The Win32 API allows programs to run on almost all versions of Windows

Page 5: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-5

The Registry (1)

• Top level keys and selected subkeys• Capitalization has no meaning but follows Microsoft

practice.

Page 6: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-6

The Registry (2)

Some of the Win32 API calls for using the registry

Page 7: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-7

The Operating System Structure

• Structure of Windows 2000 (slightly simplified).• Shaded area is executed• Boxes, D, are device drivers• Service processes are system daemons

Page 8: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-8

Hardware Abstraction Layer

Some of the hardware functions the HAL manages

Page 9: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-9

Implementation of Objects (1)

The structure of an object

Page 10: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-10

Implementation of Objects (2)

Some common executive object types managed by the object manager

Page 11: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-11

Implementation of Objects (3)

The relationship between handle tables, objects and type objects

Page 12: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-12

The Object Name Space

Some typical directories in the object name space

Page 13: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-13

Environment Subsystems (1)

Various routes taken to implement Win32 API function calls

Page 14: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-14

Environmental Subsystems (2)

• Some key windows 2000 files– mode they run in– number of exported function calls– main contents of each file

• Calls in win32k.sys not formally exported– not called directly

Page 15: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-15

Processes and Threads (1)

Basic concepts used for CPU and resource management

Page 16: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-16

Processes and Threads (2)

Relationship between jobs, processes, threads, and fibers

Page 17: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-17

Job, Process, Thread & Fiber Mgmt. API Calls

Some of Win32 calls for managing processes, threads and fibers

Page 18: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-18

Scheduling (1)

Mapping of Win32 priorities to Windows 2000 priorities

Page 19: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-19

Scheduling (2)

Windows 2000 supports 32 priorities for threads

Page 20: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-20

An example of priority inversion

Scheduling (3)

Page 21: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-21

MS-DOS Emulation

How old MS-DOS programs are run under Windows 2000

Page 22: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-22

Booting Windows 2000

• Processes starting up during boot phase• Those above the line are always started• Those below are examples of services which could be started

Page 23: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-23

Fundamental Concepts (1)

• Virtual address space layout for 3 user processes• White areas are private per process• Shaded areas are shared among all processes

Page 24: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-24

Fundamental Concepts (2)

• Mapped regions with their shadow pages on disk• The lib.dll file is mapped into two address spaces

at same time

Page 25: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-25

Memory Management System Calls

The principal Win32 API functions for mapping virtual memory in Windows 2000

Page 26: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-26

Implementation of Memory Management

A page table entry for a mapped page on the Pentium

Page 27: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-27

Physical Memory Management (1)

The various page lists and the transitions between them

Page 28: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-28

Physical Memory Management (2)

Some of the major fields in the page frame data base for a valid page

Page 29: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-29

Input/Output API Calls

Categories of Win32 API calls

Page 30: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-30

Device Drivers

Windows 2000 allows drivers to be stacked

Page 31: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-31

File System API Calls in Windows 2000 (1)

• Principle Win32 API functions for file I/O

• Second column gives nearest UNIX equivalent

Page 32: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-32

File System API Calls in Windows 2000 (2)

A program fragment for copying a file using the Windows 2000 API functions

Page 33: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-33

File System API Calls in Windows 2000 (3)

• Principle Win32 API functions for directory management• Second column gives nearest UNIX equivalent, when one exists

Page 34: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-34

File System Structure (1)

The NTFS master file table

Page 35: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-35

File System Structure (2)

The attributes used in MFT records

Page 36: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-36

File System Structure (3)

An MFT record for a three-run, nine-block file

Page 37: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-37

File System Structure (4)

A file that requires three MFT records to store its runs

Page 38: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-38

File System Structure (5)

The MFT record for a small directory.

Page 39: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-39

File Name Lookup

Steps in looking up the file C:mariaweb.htm

Page 40: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-40

File Compression

(a) An example of a 48-block file being compressed to 32 blocks(b) The MTF record for the file after compression

Page 41: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-41

File Encryption

Operation of the encrypting file system

K retrieved

user's public key

Page 42: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-42

Security in Windows 2000

Structure of an access token

Page 43: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-43

Security API Calls (1)

Example security descriptor for a file

Page 44: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-44

Security API Calls (2)

Principal Win32 API functions for security

Page 45: Ceng 334 - Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.

Ceng 334 - Operating Systems 11-45

Caching in Windows 2000

The path through the cache to the hardware