In a nut shell 1.  Goals  A little history  System components  Threads & CPU scheduling  Virtual memory  Environmental subsystems  File System:

Slides:



Advertisements
Similar presentations
An Overview Of Windows NT System Student: Yifan Yang Student ID:
Advertisements

Chapter 3 Process Description and Control
14 Macintosh OS X Internals. © 2005 Pearson Addison-Wesley. All rights reserved The Macintosh Platform 1984 – first affordable GUI Based on Motorola 32-bit.
Case study 1 Windows 7.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
File Systems Examples.
3: OS Structures 1 OPERATING SYSTEM STRUCTURES PROCESS MANAGEMENT A process is a program in execution: (A program is passive, a process active.) A process.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
11/13/01CS-550 Presentation - Overview of Microsoft disk operating system. 1 An Overview of Microsoft Disk Operating System.
File System Implementation
Memory Management (II)
Virtual Memory Chapter 8. Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time –A process.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1 Case Study 2: Windows 2000 Chapter History of windows Programming windows System structure 11.4 Processes and threads in.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Introduction to Kernel
Windows XP 1 © Silbershatz, Galvin, Gagne CS502 Spring 2006 Windows XP CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 22.
2: OS Structures 1 Jerry Breecher OPERATING SYSTEMS STRUCTURES.
Virtual Memory Chapter 8.
1 File Management in Representative Operating Systems.
Chapter 11 Operating Systems
CS-3013 & CS-502, Summer 2006 Windows XP1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 22.
OPERATING SYSTEMS Introduction
Introduction to NT Operating system
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
1 I/O Management in Representative Operating Systems.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Operating Systems.
Chapter 16: Windows 7.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Ceng Operating Systems 11-1 Chapter 11 : Case Study - Win 2000 History of windows 2000 Programming windows 2000 System structure Processes and threads.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 11 Case Study 2: Windows Vista Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Dr Damitha Karunaratna University of Colombo school of computing
BU01. Main tasks of Operating System  To hide HW specifics (abstract layer for programs)  Processes maintenance  Memory maintenance  Files maintenance.
Page 110/1/2015 CSE 30341: Operating Systems Principles Windows XP  32-bit preemptive multitasking operating system for Intel microprocessors  Key goals.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 13 Understanding and Installing Windows 2000 and Windows NT.
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
Windows XP. History Windows XP is based on the NT kernel developed in 1988 Windows XP is based on the NT kernel developed in 1988 XP was originally sold.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Microsoft Windows 2000 Daniel Hummell Ryan McKenica Valerie Grinblat.
Windows NT Operating System. Windows NT Models Layered Model Client/Server Model Object Model Symmetric Multiprocessing.
Introduction to Windows XP Professional
CE Operating Systems Lecture 11 Windows – Object manager and process management.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
The Linux Operating System C. Blane Adcock Bryan Knehr Kevin Estep Jason Niesz.
Processes Introduction to Operating Systems: Module 3.
Windows 2000 Michael Blinn Ben Hejl Jane McHugh Matthew VanMater.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Demand Paging.
1 Windows NT A Distributed Architecture Windows NT A Distributed Architecture Professor: Mohamed Khalil CSE 8343 GROUP-A5 Dhaval Sanghvi Amit Sharma Ali.
UNIX & Windows NT Name: Jing Bai ID: Date:8/28/00.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 3: Windows7 Part 3.
Introduction to Kernel
Chapter 11: File System Implementation
Chapter 9: Virtual Memory
KERNEL ARCHITECTURE.
Chapter 3: Windows7 Part 2.
Chapter 3: Windows7 Part 3.
Case Study 2: Windows History of windows 2000
Chapter 2: System Structures
Data center server One of the specification is the size that server will take in a rack. 1U is the smallest size and blade servers, which fit one unit.
Chapter 3: Windows7 Part 2.
Operating Systems.
Process Description and Control
Windows NT History Design Principles System Components
Outline Operating System Organization Operating System Examples
Presentation transcript:

In a nut shell 1

 Goals  A little history  System components  Threads & CPU scheduling  Virtual memory  Environmental subsystems  File System: NTFS 2

 Preemptive multitasking  Goals: ◦ Security, reliability, ease-of-use, Windows & POSIX application compatibility, high- performance, extensibility, portability, international language support ◦ Commercial  “the layered architecture of the system … makes it so easy to use”

 Windows NT ◦ Adopted Windows 95 user interface and incorporated web- server & web-browser ◦ User-interface routines and all graphics code were moved into the kernel to improve performance  Side effect: Decrease in system reliability 4

 Windows XP (Oct 2001) ◦ Successor to Windows NT/2000, replacement for Windows 95/98 ◦ Reliability requirement for Windows XP more stringent than Windows 2000 (which was the most reliable, stable system released by Microsoft) ◦ “extensive manual and automatic code review to identify over 63,000 lines in the source [code] that might contain issues not detected by testing” and then set about a review & correction process 5

6 System Components

 Microkernel: Executes in protected mode ◦ HAL: Hardware abstraction layer  Some hardware independence  HAL provides memory mapping, configuring I/O buses, setting up DMA, motherboard specific facilities  Device drivers (I/O manager) can still work directly with hardware ◦ Kernel  thread scheduling, interrupt & exception handling, CPU synchronization, power failure recovery  Never paged out, never preempted  User mode processes ◦ Environmental subsystems  User mode operating systems (e.g., MS-DOS, OS/2, Win32, POSIX)  Logon systems ◦ User applications 7

 Processes ◦ Virtual memory address space ◦ Base priority ◦ “affinity” (assignment) to one or more processors ◦ One or more threads  Threads ◦ Units of execution; dispatched by kernel ◦ States: ready, standby, running, waiting, transition, terminated 8

 Priority-based, preemptive scheduling  32 priority levels; each has a queue of threads ◦ Variable class: 0-15 ◦ Real-time: ◦ Higher numbers indicate higher priority  Scheduler traverses from highest to lowest priority queues ◦ Round robin, combined with priority scheme 9

 Variation on standard round-robin CPU scheduling  When thread’s time quantum runs out ◦ Variable class: priority lowered  unless already base priority ◦ Returned to relevant priority level in queue, in ready state ◦ Why lower the thread priority? Are there conditions under which a variable class thread will not have its priority lowered? 10

 When variable priority thread released from wait state ◦ Dispatcher boosts priority, depending on type of wait ◦ High boost:  Waiting for keyboard I/O  Thread associated with user’s active GUI window ◦ Low boost: waiting for disk I/O 11

 32-bit processors ◦ 4K page size  12 bit page offset ◦ 4GB virtual address space ◦ Upper 1-2 GB of all processes, used by operating system in kernel mode  64 bit processors ◦ 8K page size  13 bit page offset ◦ 8 TB virtual address space 12

 Demand paging with clustering ◦ Bring in neighboring pages on a page fault: “Prefetching”  Max/min working set size per process ◦ Processes have initial working set size of 50 frames  If a process is at its working set maximum and a page fault occurs ◦ Local page replacement  When number of free frames drops below a certain value ◦ Automatic working-set trimming ◦ memory manager removes pages from processes until processes at working set minimum ◦ FIFO or variation of clock algorithm depending on hardware (p. 363)

 2-level page tables  Each process has a page directory (outer page table) ◦ 1024 page-directory entries (PDE’s) ◦ Size 4 bytes for each PDE ◦ Each PDE points to a page table  Page table (inner page table) ◦ 1024 page-table entries (PTE’s) ◦ Size 4 bytes for each PTE ◦ Each PTE points to a 4 KB frame of physical memory ◦ Page tables are swapped out to disk when necessary  Total size of all page tables, per process: 4 MB 14 Logical Address structure

15

 20 bits for frame number  12 bits remain to describe state of page ◦ Accessed or written ◦ Caching attributes ◦ Access mode ◦ Global ◦ PTE valid 16

 Some implement user-level operating systems  Some implement services crucial to all user- level operating systems ◦ E.g., GUI, security management  Win32 ◦ Executes in unprotected mode ◦ Provides all keyboard, mouse, graphical display  Other environmental subsystems use this ◦ Separate processes with own input queues ◦ Window manager dispatches input to input queue of appropriate process

 A user-level operating system ◦ Executes in unprotected mode  Instruction execution unit: Emulates Intel 486 instructions  Routines to emulate DOS ROM BIOS & “Int 21” software interrupt services  Virtual device drivers: Screen, keyboard, comm. Ports ◦ Partial support only: No direct h/w access 18

 User-level operating systems considered to be “clients”  Kernel considered to be “server”  Communication between client and server provided by message passing  “Local procedure call” (LPC) facility ◦ like Remote Procedure Calls  Message passing within a single computer  Used to implement system calls 19

 Server (e.g., kernel) ◦ Publishes a globally visible connection port object  Client (e.g., Win32), to obtain services provided by server ◦ Opens a handle to server connection port  Sends connection request ◦ Server creates channel & returns handle to client ◦ Channel: pair of private communication ports  Client-to-server messages  Server-to-client messages  Some specifics dependent on message sizes ◦ Small messages (e.g., up to a few hundred bytes) are copied from sender to receiver ◦ Shared memory is used for larger messages 20

 Goals ◦ data recovery, security, fault tolerance, large file & file system sizes, multiple data streams, UNICODE names, compression  NTFS is a journaling file system ◦ It provides recovery of structure of file system (metadata) should there be a system failure  NTFS volumes can occupy a portion of a disk, an entire disk, or can span disks 21

 In NTFS a file is not a simple stream of bytes as it is in some operating systems (e.g., Unix)  Rather, files are structured objects comprised of typed attributes  Some types of attributes ◦ Conventional data of a file ◦ Standard attributes: name, creation time, security descriptor  Examples of other uses of these typed attributes ◦ Mac file resource fork on a Windows XP file server ◦ Thumbnail of an image 22

 Cluster: Unit of disk allocation  Allocates sectors on disk in contiguous groups ◦ A number of 512 byte disk sectors (power of two size)  Example ◦ Cluster size is 4096 bytes with disks > 4GB ◦ If the (block) sector size on disk is 512 bytes, this means each cluster is going to be 8 (blocks) sectors 23

24 “How NTFS Works”,

 MFT (Master file table) ◦ Describes all files; file control block information (analogous to Unix inode information)  Partial copy of MFT  Log file ◦ Temporary record of all metadata updates  Volume file ◦ Name of volume, NTFS version, consistency bit  Attribute-definition table ◦ Types of attributes used in volume & operations on types  Root directory: top-level in hierarchy  Bitmap file: free/used clusters on disk  Boot file: startup code for Windows XP  Bad-cluster file: Bad areas on volume 25

 MFT: Master file table ◦ One or more records per file ◦ Each record is 1-4 KB in size ◦ Describes attributes of file ◦ Resident attributes: small sized  data stored in MFT record ◦ Nonresident attributes: larger sized  data stored in contiguous extents on disk  For small files, even the data of the file may be stored in the MFT record  Each file in NTFS volume has an ID-- its file reference ◦ 48 bit file number, 16 bit sequence number  Directories: particular kinds of files; B+ tree rep’n

 If a system failure (e.g., power failure) occurs when a file system is being written, can loose meta data (organization info) and/or file data ◦ Metadata loss tends to be more difficult  In NTFS, all file-system data-structure (metadata) updates are performed in log file transactions ◦ Before a data-structure is altered, transaction first writes a log record that contains redo and undo information ◦ After the data structure has been changed, transaction writes a commit record to log to signify that transaction succeeded  After a crash, log file transactions that had not been committed can be undone 27