Cse 5343 7343 fall 2006 case studies
Download
1 / 38

casewindows - PowerPoint PPT Presentation


  • 185 Views
  • Updated On :

CSE 5343/7343 Fall 2006 Case Studies Windows Windows Case Study Outline History MS-DOS Windows 3.xx Windows NT Windows 2000 Windows XP Design Philosophy Process Management

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'casewindows' - libitha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Cse 5343 7343 fall 2006 case studies l.jpg

CSE 5343/7343Fall 2006Case Studies

Windows

UNIX Case Study


Windows case study outline l.jpg
Windows Case Study Outline

  • History

    • MS-DOS

    • Windows 3.xx

    • Windows NT

    • Windows 2000

    • Windows XP

  • Design Philosophy

  • Process Management

UNIX Case Study


Slide3 l.jpg

CAUTION:There are so many variations of Windows. Each version is different. Some are drastically different (even if the GUI is similar.)

UNIX Case Study


Ms dos history 1 pp 633 639 l.jpg
MS-DOS History ([1] pp 633-639)

  • 1975

    • First real PC, Altair, developed by Micro Instrumentation Telemetry Systems based on Intel 8080 8-bit microprocessor with 256 bytes of memory.

    • Bill Gates and Paul Allen of Microsoft develop a version of Basic for Altair.

    • CP/M was dominant OS.

  • IBM asked Microsoft to develop a ROM BASIC. IBM chose Intel 8088. Gates suggested IBM use CP/M-86. IBM met with Digital Research and CP/M-86 was running late. Microsoft decided to write its own OS. Microsoft purchased 86-DOS from Seattle Computer Products.

UNIX Case Study


Ms dos history cont d l.jpg
MS-DOS History (cont’d)

  • 1981 – MS-DOS prototype running in February and appeared in IBM PC announcement (MS-DOS 1.0) in August.

    • 4000 lines of assembly code

    • 12K memory

    • CP/M compatible

    • Device independent I/O – treated as files in Unix

    • Command processor had a resident and transient part

UNIX Case Study


Ms dos history cont d6 l.jpg
MS-DOS History (cont’d)

  • MS-DOS 2.0 – March 1983

    • 20,000 lines of code

    • IBM PC/XT with 10M hard disk

    • Hierarchical file system (as in Unix)

    • Device drivers

    • Users wanted multi-tasking, but instead Microsoft added the ability for a print spooler to run concurrently with other tasks in background mode as time permits. When MS-DOS has nothing to do an interrupt is generated to run the print spooler.

UNIX Case Study


Ms dos history cont d7 l.jpg
MS-DOS History (cont’d)

  • MS-DOS 3.0 – August 1984

    • 40,000 lines of code

    • PBM PC/AT with 20M hard and 1.2 floppy

    • Intel 80286 16M address space

    • 24 bit addresses

    • Ring protection mechanism

    • Cooperative multitasking

    • Virtual memory

    • Real address mode – 1 MB address space acts as fast 8086

    • Protected mode – All 16 MB

UNIX Case Study


Windows history 3 4 l.jpg
Windows History ([3],[4])

  • Early Windows

    • Not true OS just a new GUI layer with “fixes” to address memory constraints.

UNIX Case Study


Windows history cont d l.jpg
Windows History (cont’d)

  • Problems with DOS/Windows 3.1

    • 16 bits; Can’t access all of memory.

    • 1M barrier for memory

    • Cooperative multitasking

    • Nonreentrant

    • Lost system resources

    • Win16 applications overwriting memory of another

UNIX Case Study


Windows question l.jpg
Windows Question

Who invented windows?

Who invented the mouse?

ANSWER: XEROX PARC

UNIX Case Study


Windows 95 design 3 l.jpg
Windows 95 Design ([3])

  • Design Goals:

    • Less than 4MB

    • Backward compatible (Support Win16 and DOS)

    • Increased stability – Fault handler is not part of application.

  • Three major portions:

    • User – I/O manager; Windows manager

    • GDI – GD manager

    • Kernel – Memory, Files, Task managers

UNIX Case Study


Windows 95 design cont d l.jpg
Windows 95 Design (cont’d)

  • Registry

    • Central information including startup and init.

  • Supports plug and play

  • Virtual Machine used to run Win16 applications.

  • User mode – kernel mode

  • Long file names

UNIX Case Study


Os 2 design 5 l.jpg
OS/2 Design ([5])

  • Microsoft/IBM designed to replace DOS on Intel machines

  • Early 1990s Microsoft released Windows 3.0 which took over the market

  • IBM viewed Windows as “stepping stone” to OS/2

  • Microsoft wanted to have Windows compete with OS/2

  • IBM/Microsoft split

UNIX Case Study


Windows nt design 3 5 6 l.jpg
Windows NT Design([3],[5],[6])

  • New Technology

    RSX – VMS – ELN – NT

    VMS +1 = WNT (HAL + 1 = IBM)

    All major designs of David Cutler

  • 1993, versions 3.1, 3.5, 3.51, 4.0

  • Mostly C/C++

  • 3.1 had same GUI as Windows

  • 32-bit OS

UNIX Case Study


Windows nt design cont d l.jpg
Windows NT Design (cont’d)

  • Preemptive multi-tasking

  • Supports multiple processors

  • Used on many architectures

  • Backward compatibility

  • Fully reentrant code

  • Object oriented

UNIX Case Study


Windows nt design cont d16 l.jpg
Windows NT Design (cont’d)

  • NTFS – NT File System

    • Permissions for file/directory and all objects

  • Security

    • Domain – Set of machines with similar uses and authorizations

  • Registry contains information about OS and application configurations:

    • Hardware

    • Installed software

    • Applications and file types

    • Current user

    • Actively loaded user profiles

UNIX Case Study


Windows 2000 design 5 7 l.jpg
Windows 2000 Design([5],[7])

  • (AKA) Windows NT 5.0

  • Distributed File System

  • Multiple monitors

  • Objects

    • Event , Mutant, Mutex, Semaphore, Thread, Timer

    • Interrupt, Asynchronous Procedure Call (APC), Process

  • Subsystems provide backward compatibility

    • Like virtual machines

UNIX Case Study


Windows xp design 7 l.jpg
Windows XP Design ([7])

  • 32/64 bit

  • Preemptive multitasking

  • October 2001 released

  • Client-server architecture for multiple processors

UNIX Case Study


Win32 subsystem 6 l.jpg
Win32 Subsystem ([6])

  • Used in most Windows OSs

  • Window manager

  • Process/Thread

  • CreateFile

  • GetMessage

UNIX Case Study


Windows process management l.jpg
Windows Process Management

UNIX Case Study


Ms dos processes 2 l.jpg
MS-DOS Processes ([2])

  • Single tasking since functions are nonreentrant.

  • Only real multitasking is background for printing. Can change time slice for this.

  • EXEC function used by COMMAND.COM

    • Allocate memory

    • Write program segment prefix

    • Load program into memory

    • Transfer control to program

    • Child may in turn use EXEC

UNIX Case Study


Early windows processes 2 l.jpg
Early Windows Processes([2])

  • Cooperative multitasking:

    • Windows program voluntarily yields control at certain times (Windows 4 and 6.2)

UNIX Case Study


Windows nt processes 6 l.jpg
Windows NT Processes ([6])

  • Executable program (code and data)

  • Private virtual address space

  • System resources (semaphores, ports, etc)

  • Process ID

  • Threads

UNIX Case Study


Windows nt threads 6 l.jpg
Windows NT Threads ([6])

  • Registers

  • Stacks (kernel, user)

  • Private storage (used by subsystems)

  • Thread ID (client ID)

  • Mode transition (switch from user mode to kernel mode) does not require a context switch.

  • Test:

    • Windows Task Manager/Performance

    • Control Panel/Administrative Tools/Performance

UNIX Case Study


Windows nt handles 6 l.jpg
Windows NT Handles ([6])

  • Provides ability to access an object at a certain level of priviledge.

  • Handle Table entry in EPROCESS block

  • Standardized interface to objects

UNIX Case Study


Windows nt pcb 6 l.jpg
Windows NT PCB ([6])

  • Executive (EPROCESS) blocks

  • ETHREAD blocks

  • Process Environment Block (PEB)

  • Thread Environment Block (TEB)

UNIX Case Study


Windows nt fibers 6 l.jpg
Windows NT Fibers ([6])

  • NT 3.51

  • Subsets of threads

  • “Lightweight” threads

  • User level threads

  • Scheduled to run by programmers not OS

UNIX Case Study


Windows nt process states 6 l.jpg
Windows NT Process States ([6])

  • Ready

  • Standby – Next to run

  • Running

  • Waiting

  • Transition – Ready to run but kernel stack paged out

  • Terminated

UNIX Case Study


Windows nt quantums 6 l.jpg
Windows NT Quantums ([6])

  • Default:

    • 6 on Windows NT Workstation

    • 36 on Windows NT Server

    • Units are not time values, but relative

  • At clock interrupt, 3 is deducted from quantum if it is 0 then another thread may run.

UNIX Case Study


Windows nt thread scheduling 6 l.jpg
Windows NT Thread Scheduling ([6])

  • Preemptive priority

  • Multilevel queues – RR within queue

  • Scheduling independent of process

  • Threads have processor affinity

  • If thread is preempted, it is put at the front of the ready queue for that priority. When scheduled it receives the rest of its quantum.

UNIX Case Study


Windows nt priorities 6 l.jpg
Windows NT Priorities ([6])

  • 32 priority levels

    • 16-31 real time

    • 1-15 variable levels

    • 0 system level

  • Priority classes

    • Real time, High, Normal, Idle

  • Threads (Type with Class)

    • Time critical, Highest, Above normal, Normal, Below normal, Lowest, Idle

UNIX Case Study


Windows nt priorities 632 l.jpg
Windows NT Priorities ([6])

  • Default base priority level within class

  • Thread has base and current priority

  • Priorities raised (1-15 range never above)

    • After wait state

    • Entering wait state

    • Threads not getting CPU time

    • Priority goes down after each quantum until base is reached

UNIX Case Study


Ipc 3 4 7 l.jpg
IPC([3],[4],[7])

  • Windows 95

    • Thunking:

      • Allows 16bit modules to communicate with 32bit

      • Routine that maps addresses

UNIX Case Study


Ipc cont d l.jpg
IPC (cont’d)

  • Messages

    • Queue per thread

  • Semaphores

    • Win16 mutex

    • Used to prevent to Win16 applications from executing the same code

    • Ignored by Win32 applications

    • Limits multitasking

UNIX Case Study


Ipc cont d35 l.jpg
IPC (cont’d)

  • Clipboard

    • Actually shared memory

  • OLE (Object Linking and Embedding)

    • Windows 95

    • Drag & Drop

    • Enhancement to DDE

    • Embed or link data from one application to another.

    • Link – pointer to data

    • Embed – actually move

UNIX Case Study


Ipc cont d36 l.jpg
IPC (cont’d)

  • DDE (Dynamic Data Exchange)

    • Windows 3.1

    • Protocol that allows Windows applications to share data.

UNIX Case Study


Ipc cont d37 l.jpg
IPC (cont’d)

  • Deferred Procedure Call (DPC)

    • Windows NT/2000

    • System function will be (ultimately) executed

    • IRQL (Interrupt Queue Level)

  • Asynchronous Procedure Call (APC)

    • Like DPC but for users

    • Nonblocking

  • Both are viewed as software interrupts

UNIX Case Study


References l.jpg
References

  • Harvey M. Deitel, Operating Systems Second Edition, Addison-Wesley, 1990.

  • Mark Minasi, etal., Inside MS-DOS 6.2 Second Edition, New Riders Publishing, 1993.

  • Jime Boyce, etal., Inside Windows 95, New Riders Publishing, 1995.

  • Richard Wagner, Jim Boyce, Forrest Houlette, Randall Kennedy, and Keven Stoltz, Ultimate Windows 3.1, New Riders publishing, 1993.

  • John Savill, The Windows NT and Windows 2000 Answer Book A Colmplete Resource from the Desktop to the Enterprise, Addison-Wesley, 1999.

  • David A. Solomon, Inside Windows NT Second Edition, Microsoft Press, 1998.

  • Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne, Windows XP Update Operating System Concepts Sixth Edition, 2003, John Wiley & Sons.

UNIX Case Study


ad