SlideShare a Scribd company logo
I/O STRUCTURE
•Disk Structure
•Disk Scheduling
•Disk Management
•Swap-Space Management
Disk Structure
•Disk drives are addressed as large 1-dimensional arrays of logical blocks, where
the logical block is the smallest unit of transfer.
•The 1-dimensional array of logical blocks is mapped into the sectors of the disk
sequentially.
•Sector 0 is the first sector of the first track on the outermost cylinder.
•Mapping proceeds in order through that track, then the rest of the tracks in that
cylinder, and then through the rest of the cylinders from outermost to innermost.
Disk Scheduling
• The operating system is responsible for using hardware efficiently — for
the disk drives, this means having a fast access time and disk bandwidth.
• Access time has two major components
• Seek time is the time for the disk are to move the heads to the cylinder
containing the desired sector. Rotational latency is the additional time waiting
for the disk to rotate the desired sector to the disk head.
• Minimize seek time
• Seek time ≈ seek distance
• Disk bandwidth is the total number of bytes transferred, divided by the
total time between the first request for service and the completion of the last
transfer.
• Several algorithms exist to schedule the servicing of disk I/O requests.
• We illustrate them with a request queue
(0-199). 98, 183, 37, 122, 14, 124, 65, 67
Head pointer 53
Selecting a Disk-Scheduling Algorithm:
•SSTF is common and has a natural appeal.
•SCAN and C-SCAN perform better for systems that place a heavy load on the
disk.
•Performance depends on the number and types of requests.
•Requests for disk service can be influenced by the fileallocation method.
•The disk-scheduling algorithm should be written as a separate module of the
operating system, allowing it to be replaced with a different algorithm if
necessary.
•Either SSTF or LOOK is a reasonable choice for the default algorithm.
Disk Management
*Low-level formatting, or physical formatting — Dividing a disk into sectors
that the disk controller can read and write.
*To use a disk to hold files, the operating system still needs to record its own
data structures on the disk.
*Partition the disk into one or more groups of cylinders.
*Logical formatting or “making a file system”.
*Boot block initializes system.
*The bootstrap is stored in ROM. Bootstrap loader program.
*Methods such as sector sparing used to handle bad blocks.
Swap-Space Management:
Swap-space — Virtual memory uses disk space as
an extension of main memory.
 Swap-space can be carved out of the normal file
system,or, more commonly, it can be in a separate
disk partition.
 Swap-space management
4.3BSD allocates swap space when process starts;
holds text segment (the program) and data segment.
 Kernel uses swap maps to track swap-space use.
Solaris 2 allocates swap space only when a page is
forced out of physical memory, not when the virtual
memory page is first created
•Windows 2000
•History
•Design Principles
•System Components
•Environmental Subsystems
•File system
•Networking
•Programmer Interface
Windows 2000
•32-bit preemptive multitasking operating system for Intel
microprocessors.
•Key goals for the system:
•portability
•security
•POSIX compliance
•multiprocessor support
•extensibility
•international support
•compatibility with MS-DOS and MS-Windows applications.
•Uses a micro-kernel architecture
•. Available in four versions, Professional, Server, Advanced Server,
National Server.
•In 1996, more NT server licenses were sold than UNIX licenses
Operating System Concepts 21.3 Silberschatz, Galvin and Gagne 2002
History
•In 1988, Microsoft decided to develop a “new technology” (NT)
portable operating system that supported both the OS/2 and POSIX
APIs.
•Originally, NT was supposed to use the OS/2 API as its native
environment but during development NT was changed to use the Win32
API, reflecting the popularity of Windows 3.0.
Design Principles
•Extensibility — layered architecture.
•Executive, which runs in protected mode, provides the basic system
services.
•On top of the executive, several server subsystems operate in user
mode.
•Modular structure allows additional environmental subsystems to be
added without affecting the executive.
•Portability — 2000 can be moved from on hardware architecture to
another with relatively few changes.
•Written in C and C++.
•Processor-dependent code is isolated in a dynamic link library (DLL)
called the “hardware abstraction layer” (HAL)
•Reliability — 2000 uses hardware protection for virtual memory, and
software protection mechanisms for operating system resources.
•Compatibility — applications that follow the IEEE 1003.1 (POSIX)
standard can be complied to run on 2000 without changing the source
code.
•Performance — 2000 subsystems can communicate with one another
via high-performance message passing.
•Preemption of low priority threads enables the system to respond
quickly to external events.
•Designed for symmetrical multiprocessing.
•International support — supports different locales via the national
language support (NLS) API. Operating
Architecture
•Layered system of modules.
•Protected mode — HAL, kernel, executive.
•User mode — collection of subsystems
•Environmental subsystems emulate different operating systems.
•Protection subsystems provide security functions.
System Components — Kernel
•Foundation for the executive and the subsystems.
•Never paged out of memory; execution is never preempted.
•Four main responsibilities:
•thread scheduling
•interrupt and exception handling
•low-level processor synchronization
•recovery after a power failure
•Kernel is object-oriented, uses two sets of objects.
•dispatcher objects control dispatching and synchronization (events,
mutants, mutexes, semaphores, threads and timers).
•control objects (asynchronous procedure calls, interrupts, power notify,
power status, process and profile objects.)
Kernel — Process and Threads
•The process has a virtual memory address space, information (such as a
base priority), and an affinity for one or more processors.
•Threads are the unit of execution scheduled by the kernel’s dispatcher.
•Each thread has its own state, including a priority, processor affinity,
and accounting information.
•A thread can be one of six states: ready, standby, running, waiting,
transition, and terminated.
Kernel-scheduling
•The dispatcher uses a 32-level priority scheme to determine the order of
thread execution. Priorities are divided into two classes..
•The real-time class contains threads with priorities ranging from 16 to
32.
•The variable class contains threads having priorities from 0 to 15.
•Characteristics of 2000’s priority strategy.
•Trends to give very good response times to interactive threads that are
using the mouse and windows.
•Enables I/O-bound threads to keep the I/O devices busy.
•Complete-bound threads soak up the spare CPU cycles in the
background.
•Scheduling can occur when a thread enters the ready or wait state,
when a thread terminates, or when an application changes a thread’s
priority or processor affinity.
•Real-time threads are given preferential access to the CPU; but 2000
does not guarantee that a real-time thread will start to execute within any
particular time limit.
File System
•The fundamental structure of the 2000 file system (NTFS) is a volume.
•Created by the 2000 disk administrator utility.
•Based on a logical disk partition.
•May occupy a portions of a disk, an entire disk, or span across several
disks.
•All metadata, such as information about the volume, is stored in a
regular file.
•NTFS uses clusters as the underlying unit of disk allocation.
•A cluster is a number of disk sectors that is a power of two.
•Because the cluster size is smaller than for the 16-bit FAT file system,
the amount of internal fragmentation is reduced.
File System — Internal Layout
•NTFS uses logical cluster numbers (LCNs) as disk addresses.
•A file in NTFS is not a simple byte stream, as in MS-DOS or UNIX,
rather, it is a structured object consisting of attributes.
•Every file in NTFS is described by one or more records in an array
stored in a special file called the Master File Table (MFT).
•Each file on an NTFS volume has a unique ID called a file reference.
•64-bit quantity that consists of a 48-bit file number and a 16- bit
sequence number.
•Can be used to perform internal consistency checks.
•The NTFS name space is organized by a hierarchy of directories; the
index root contains the top level of the B+ tree.
File System — Recovery
•All file system data structure updates are performed inside
transactions.
•Before a data structure is altered, the transaction writes a log record
that contains redo and undo information.
•After the data structure has been changed, a commit record is written
to the log to signify that the transaction succeeded.
•After a crash, the file system data structures can be restored to a
consistent state by processing the log records.
•This scheme does not guarantee that all the user file data can be
recovered after a crash, just that the file system data structures (the
metadata files) are undamaged and reflect some consistent state prior to
the crash..
•The log is stored in the third metadata file at the beginning of the
volume.
•The logging functionality is provided by the 2000 log file service.
File System — Security
•Security of an NTFS volume is derived from the 2000 object model.
•Each file object has a security descriptor attribute stored in this MFT
record.
•This attribute contains the access token of the owner of the file, and an
access control list that states the access privileges that are granted to
each user that has access to the file.
Networking
•2000 supports both peer-to-peer and client/server networking; it also
has facilities for network management.
•To describe networking in 2000, we refer to two of the internal
networking interfaces:
•NDIS (Network Device Interface Specification) — Separates network
adapters from the transport protocols so that either can be changed
without affecting the other.
•TDI (Transport Driver Interface) — Enables any session layer
component to use any available transport mechanism.
•2000 implements transport protocols as drivers that can be loaded and
unloaded from the system dynamically.
Networking — Protocols
•The server message block (SMB) protocol is used to send I/O requests
over the network. It has four message types: - Session control - File -
Printer – Message
•The network basic Input/Output system (NetBIOS) is a hardware
abstraction interface for networks. Used to:
•Establish logical names on the network.
•Establish logical connections of sessions between two logical names on
the network.
•Support reliable data transfer for a session via NetBIOS requests or
SMBs
•NetBEUI (NetBIOS Extended User Interface): default protocol for
Windows 95 peer networking and Windows for Workgroups; used when
2000 wants to share resources with these networks.
•2000 uses the TCP/IP Internet protocol to connect to a wide variety of
operating systems and hardware platforms.
•PPTP (Point-to-Point Tunneling Protocol) is used to communicate
between Remote Access Server modules running on 2000 machines
that are connected over the Internet.
•The 2000 NWLink protocol connects the NetBIOS to Novell NetWare
networks.
•The Data Link Control protocol (DLC) is used to access IBM
mainframes and HP printers that are directly connected to the network.
•2000 systems can communicate with Macintosh computers via the
Apple Talk protocol if an 2000 Server on the network is running the
Windows 2000 Services for Macintosh package.
Programmer Interface — Access to Kernel Obj.
•A process gains access to a kernel object named XXX by calling the
CreateXXX function to open a handle to XXX; the handle is unique to
that process.
•A handle can be closed by calling the CloseHandle function; the system
may delete the object if the count of processes using the object drops to
0.
•2000 provides three ways to share objects between processes.
•A child process inherits a handle to the object.
•One process gives the object a name when it is created and the second
process opens that name.
•DuplicateHandle function: Given a handle to process and the handle’s
value a second process can get a handle to the same object, and thus
share it.
Programmer Interface — Process Management
•Process is started via the CreateProcess routine which loads any
dynamic link libraries that are used by the process, and creates a primary
thread.
•Additional threads can be created by the CreateThread function.
•Every dynamic link library or executable file that is loaded into the
address space of a process is identified by an instance handle.
•Scheduling in Win32 utilizes four priority classes: -
IDLE_PRIORITY_CLASS (priority level 4) -
NORMAL_PRIORITY_CLASS (level8 — typical for most processes -
HIGH_PRIORITY_CLASS (level 13) -
REALTIME_PRIORITY_CLASS (level 24)
•To provide performance levels needed for interactive programs, 2000
has a special scheduling rule for processes in the
NORMAL_PRIORITY_CLASS.
•2000 distinguishes between the foreground process that is currently
selected on the screen, and the background processes that are not
currently selected.
•
•When a process moves into the foreground, 2000 increases the
scheduling quantum by some factor, typically 3.
•The kernel dynamically adjusts the priority of a thread depending on
whether it is I/O-bound or CPU-bound.
•To synchronize the concurrent access to shared objects by threads, the
kernel provides synchronization objects, such as semaphores and
mutexes.
•In addition, threads can synchronize by using the WaitForSingleObject
or WaitForMultipleObjects functions.
•Another method of synchronization in the Win32 API is the critical
section.
•A fiber is user-mode code that gets scheduled according to a user-
defined scheduling algorithm.
•Only one fiber at a time is permitted to execute, even on multiprocessor
hardware.
•2000 includes fibers to facilitate the porting of legacy UNIX
applications that are written for a fiber execution model
Programmer Interface — Interprocess Comm.
•Win32 applications can have interprocess communication by sharing
kernel objects.
•An alternate means of interprocess communications is message passing,
which is particularly popular for Windows GUI applications.
•One thread sends a message to another thread or to a window.
•A thread can also send data with the message.
•Every Win32 thread has its won input queue from which the thread
receives messages.
•This is more reliable than the shared input queue of 16-bit windows,
because with separate queues, one stuck application cannot block input
to the other applications.
Programmer Interface — Memory Management
•Virtual memory: - VirtualAlloc reserves or commits virtual memory. -
VirtualFree decommits or releases the memory.
•These functions enable the application to determine the virtual address
at which the memory is allocated.
•An application can use memory by memory mapping a file into its
address space.
•Multistage process.
•Two processes share memory by mapping the same file into their
virtual memory.
•A heap in the Win32 environment is a region of reserved address space.
• A Win 32 process is created with a 1 MB default heap.
• Access is synchronized to protect the heap’s space allocation data
structures from damage by concurrent updates by multiple threads.
•Because functions that rely on global or static data typically fail to
work properly in a multithreaded environment, the thread-local storage
mechanism allocates global storage on a per-thread basis
•The mechanism provides both dynamic and static methods of creating
thread-local storage.

More Related Content

What's hot

Kernal
KernalKernal
Kernal
Ramasubbu .P
 
Ch2
Ch2Ch2
Operating Systems
Operating SystemsOperating Systems
Operating Systems
Geetha Kannan
 
Kernal
KernalKernal
08 operating system support
08 operating system support08 operating system support
08 operating system support
dilip kumar
 
9781111306366 ppt ch11
9781111306366 ppt ch119781111306366 ppt ch11
9781111306366 ppt ch11
Dr. Ahmed Al Zaidy
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
guest547d74
 
Cs8493 unit 5
Cs8493 unit 5Cs8493 unit 5
Cs8493 unit 5
Kathirvel Ayyaswamy
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
Saadi Rahman
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
Vandana Salve
 
9781111306366 ppt ch4
9781111306366 ppt ch49781111306366 ppt ch4
9781111306366 ppt ch4
Dr. Ahmed Al Zaidy
 
Linux os
Linux osLinux os
Linux os
MD Mynuddin
 
Process scheduling & time
Process scheduling & timeProcess scheduling & time
Process scheduling & time
Yojana Nanaware
 
Operating System Introduction - Definition, Working, Components
Operating System Introduction - Definition, Working, ComponentsOperating System Introduction - Definition, Working, Components
Operating System Introduction - Definition, Working, Components
Nithesh Shetty
 
Chapter 9 OS
Chapter 9 OSChapter 9 OS
Chapter 9 OSC.U
 
Chapter 22 - Windows XP
Chapter 22 - Windows XPChapter 22 - Windows XP
Chapter 22 - Windows XP
Wayne Jones Jnr
 
disk sechduling
disk sechdulingdisk sechduling
disk sechdulinggopi7
 

What's hot (20)

Os4
Os4Os4
Os4
 
Kernal
KernalKernal
Kernal
 
Ch2
Ch2Ch2
Ch2
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Kernal
KernalKernal
Kernal
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
9781111306366 ppt ch11
9781111306366 ppt ch119781111306366 ppt ch11
9781111306366 ppt ch11
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Cs8493 unit 5
Cs8493 unit 5Cs8493 unit 5
Cs8493 unit 5
 
Linux kernel Architecture and Properties
Linux kernel Architecture and PropertiesLinux kernel Architecture and Properties
Linux kernel Architecture and Properties
 
Linux for embedded_systems
Linux for embedded_systemsLinux for embedded_systems
Linux for embedded_systems
 
9781111306366 ppt ch4
9781111306366 ppt ch49781111306366 ppt ch4
9781111306366 ppt ch4
 
Linux os
Linux osLinux os
Linux os
 
Process scheduling & time
Process scheduling & timeProcess scheduling & time
Process scheduling & time
 
Operating System Introduction - Definition, Working, Components
Operating System Introduction - Definition, Working, ComponentsOperating System Introduction - Definition, Working, Components
Operating System Introduction - Definition, Working, Components
 
Linux kernel architecture
Linux kernel architectureLinux kernel architecture
Linux kernel architecture
 
Ubuntu OS Presentation
Ubuntu OS PresentationUbuntu OS Presentation
Ubuntu OS Presentation
 
Chapter 9 OS
Chapter 9 OSChapter 9 OS
Chapter 9 OS
 
Chapter 22 - Windows XP
Chapter 22 - Windows XPChapter 22 - Windows XP
Chapter 22 - Windows XP
 
disk sechduling
disk sechdulingdisk sechduling
disk sechduling
 

Viewers also liked

Android 7.0-7.1 "Nougat"
Android 7.0-7.1 "Nougat"Android 7.0-7.1 "Nougat"
Android 7.0-7.1 "Nougat"
Apoorwa Jayswal
 
Android Best Practises
Android Best PractisesAndroid Best Practises
Android Best Practises
Ramesh Akula
 
Instalasi Android 7.0 "Nougat"
Instalasi Android 7.0 "Nougat"Instalasi Android 7.0 "Nougat"
Instalasi Android 7.0 "Nougat"
anafatwa21
 
Android N is now Android Nougat
Android N is now Android NougatAndroid N is now Android Nougat
Android N is now Android Nougat
Appinventiv
 
Google Android 7.0 Nougat History Features and more
Google Android 7.0 Nougat History Features and moreGoogle Android 7.0 Nougat History Features and more
Google Android 7.0 Nougat History Features and more
Devakumar Kp
 
Android M, N preview
Android M, N previewAndroid M, N preview
Android M, N preview
Fady Emad
 
Os
OsOs
Andriod Presentation
Andriod PresentationAndriod Presentation
Andriod Presentation
PrakashSoft
 
Android
AndroidAndroid
Android technology
Android technology Android technology
Android technology
gulshan guls
 
Andriod nougat 7.0 by gunjan jain
Andriod nougat 7.0 by gunjan jainAndriod nougat 7.0 by gunjan jain
Andriod nougat 7.0 by gunjan jain
Red Innovators
 
Mass storage systemsos
Mass storage systemsosMass storage systemsos
Mass storage systemsos
Gokila Manickam
 
Disk Drives Interfaces
Disk Drives InterfacesDisk Drives Interfaces
Disk Drives Interfaces
Amir Villas
 

Viewers also liked (20)

Chapter11 new
Chapter11 newChapter11 new
Chapter11 new
 
Android 7.0-7.1 "Nougat"
Android 7.0-7.1 "Nougat"Android 7.0-7.1 "Nougat"
Android 7.0-7.1 "Nougat"
 
Android Best Practises
Android Best PractisesAndroid Best Practises
Android Best Practises
 
Instalasi Android 7.0 "Nougat"
Instalasi Android 7.0 "Nougat"Instalasi Android 7.0 "Nougat"
Instalasi Android 7.0 "Nougat"
 
Io (2)
Io (2)Io (2)
Io (2)
 
Ui disk & terminal drivers
Ui disk & terminal driversUi disk & terminal drivers
Ui disk & terminal drivers
 
Android N is now Android Nougat
Android N is now Android NougatAndroid N is now Android Nougat
Android N is now Android Nougat
 
Google Android 7.0 Nougat History Features and more
Google Android 7.0 Nougat History Features and moreGoogle Android 7.0 Nougat History Features and more
Google Android 7.0 Nougat History Features and more
 
Android M, N preview
Android M, N previewAndroid M, N preview
Android M, N preview
 
Linux io
Linux ioLinux io
Linux io
 
Os
OsOs
Os
 
Andriod Presentation
Andriod PresentationAndriod Presentation
Andriod Presentation
 
Cse
CseCse
Cse
 
Android
AndroidAndroid
Android
 
Chap2 hdd1
Chap2 hdd1Chap2 hdd1
Chap2 hdd1
 
Input output in linux
Input output in linuxInput output in linux
Input output in linux
 
Android technology
Android technology Android technology
Android technology
 
Andriod nougat 7.0 by gunjan jain
Andriod nougat 7.0 by gunjan jainAndriod nougat 7.0 by gunjan jain
Andriod nougat 7.0 by gunjan jain
 
Mass storage systemsos
Mass storage systemsosMass storage systemsos
Mass storage systemsos
 
Disk Drives Interfaces
Disk Drives InterfacesDisk Drives Interfaces
Disk Drives Interfaces
 

Similar to Os

Chap1_Part2.pptx
Chap1_Part2.pptxChap1_Part2.pptx
Chap1_Part2.pptx
NMohd3
 
Os
OsOs
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Ahmed El-Arabawy
 
File system and Deadlocks
File system and DeadlocksFile system and Deadlocks
File system and Deadlocks
Rohit Jain
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介lclsg123
 
Structure of processes ppt
Structure of processes pptStructure of processes ppt
Structure of processes ppt
Yojana Nanaware
 
Windows XP operating system
Windows XP operating systemWindows XP operating system
Windows XP operating system
Himanshu Choudhary
 
Advanced Storage Area Network
Advanced Storage Area NetworkAdvanced Storage Area Network
Advanced Storage Area Network
Soumee Maschatak
 
I/O System and Case study
I/O System and Case studyI/O System and Case study
I/O System and Case study
Lavanya G
 
OS UNIT4.pptx
OS UNIT4.pptxOS UNIT4.pptx
OS UNIT4.pptx
DHANABALSUBRAMANIAN
 
Operation System
Operation SystemOperation System
Operation System
ROHINIPRIYA1997
 
04.01 file organization
04.01 file organization04.01 file organization
04.01 file organization
Bishal Ghimire
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
YogapriyaJ1
 
11. dfs
11. dfs11. dfs
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
infomerlin
 
Operation System
Operation SystemOperation System
Operation System
ANANTHI1997
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
Rohit Pratap Singh
 
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptxUNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
LeahRachael
 

Similar to Os (20)

Chap1_Part2.pptx
Chap1_Part2.pptxChap1_Part2.pptx
Chap1_Part2.pptx
 
Os
OsOs
Os
 
Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)Course 102: Lecture 27: FileSystems in Linux (Part 2)
Course 102: Lecture 27: FileSystems in Linux (Part 2)
 
File system and Deadlocks
File system and DeadlocksFile system and Deadlocks
File system and Deadlocks
 
Linux操作系统01 简介
Linux操作系统01 简介Linux操作系统01 简介
Linux操作系统01 简介
 
kerch04.ppt
kerch04.pptkerch04.ppt
kerch04.ppt
 
Structure of processes ppt
Structure of processes pptStructure of processes ppt
Structure of processes ppt
 
Windows XP operating system
Windows XP operating systemWindows XP operating system
Windows XP operating system
 
Advanced Storage Area Network
Advanced Storage Area NetworkAdvanced Storage Area Network
Advanced Storage Area Network
 
I/O System and Case study
I/O System and Case studyI/O System and Case study
I/O System and Case study
 
OS UNIT4.pptx
OS UNIT4.pptxOS UNIT4.pptx
OS UNIT4.pptx
 
Os1
Os1Os1
Os1
 
Operation System
Operation SystemOperation System
Operation System
 
04.01 file organization
04.01 file organization04.01 file organization
04.01 file organization
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
 
11. dfs
11. dfs11. dfs
11. dfs
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
 
Operation System
Operation SystemOperation System
Operation System
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
 
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptxUNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
UNIT 4-UNDERSTANDING VIRTUAL MEMORY.pptx
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

Os

  • 1. I/O STRUCTURE •Disk Structure •Disk Scheduling •Disk Management •Swap-Space Management
  • 2. Disk Structure •Disk drives are addressed as large 1-dimensional arrays of logical blocks, where the logical block is the smallest unit of transfer. •The 1-dimensional array of logical blocks is mapped into the sectors of the disk sequentially. •Sector 0 is the first sector of the first track on the outermost cylinder. •Mapping proceeds in order through that track, then the rest of the tracks in that cylinder, and then through the rest of the cylinders from outermost to innermost.
  • 3. Disk Scheduling • The operating system is responsible for using hardware efficiently — for the disk drives, this means having a fast access time and disk bandwidth. • Access time has two major components • Seek time is the time for the disk are to move the heads to the cylinder containing the desired sector. Rotational latency is the additional time waiting for the disk to rotate the desired sector to the disk head. • Minimize seek time • Seek time ≈ seek distance • Disk bandwidth is the total number of bytes transferred, divided by the total time between the first request for service and the completion of the last transfer. • Several algorithms exist to schedule the servicing of disk I/O requests. • We illustrate them with a request queue (0-199). 98, 183, 37, 122, 14, 124, 65, 67 Head pointer 53
  • 4. Selecting a Disk-Scheduling Algorithm: •SSTF is common and has a natural appeal. •SCAN and C-SCAN perform better for systems that place a heavy load on the disk. •Performance depends on the number and types of requests. •Requests for disk service can be influenced by the fileallocation method. •The disk-scheduling algorithm should be written as a separate module of the operating system, allowing it to be replaced with a different algorithm if necessary. •Either SSTF or LOOK is a reasonable choice for the default algorithm.
  • 5. Disk Management *Low-level formatting, or physical formatting — Dividing a disk into sectors that the disk controller can read and write. *To use a disk to hold files, the operating system still needs to record its own data structures on the disk. *Partition the disk into one or more groups of cylinders. *Logical formatting or “making a file system”. *Boot block initializes system. *The bootstrap is stored in ROM. Bootstrap loader program. *Methods such as sector sparing used to handle bad blocks.
  • 6. Swap-Space Management: Swap-space — Virtual memory uses disk space as an extension of main memory.  Swap-space can be carved out of the normal file system,or, more commonly, it can be in a separate disk partition.  Swap-space management 4.3BSD allocates swap space when process starts; holds text segment (the program) and data segment.  Kernel uses swap maps to track swap-space use. Solaris 2 allocates swap space only when a page is forced out of physical memory, not when the virtual memory page is first created
  • 7. •Windows 2000 •History •Design Principles •System Components •Environmental Subsystems •File system •Networking •Programmer Interface
  • 8. Windows 2000 •32-bit preemptive multitasking operating system for Intel microprocessors. •Key goals for the system: •portability •security •POSIX compliance •multiprocessor support •extensibility •international support •compatibility with MS-DOS and MS-Windows applications. •Uses a micro-kernel architecture •. Available in four versions, Professional, Server, Advanced Server, National Server. •In 1996, more NT server licenses were sold than UNIX licenses Operating System Concepts 21.3 Silberschatz, Galvin and Gagne 2002
  • 9. History •In 1988, Microsoft decided to develop a “new technology” (NT) portable operating system that supported both the OS/2 and POSIX APIs. •Originally, NT was supposed to use the OS/2 API as its native environment but during development NT was changed to use the Win32 API, reflecting the popularity of Windows 3.0.
  • 10. Design Principles •Extensibility — layered architecture. •Executive, which runs in protected mode, provides the basic system services. •On top of the executive, several server subsystems operate in user mode. •Modular structure allows additional environmental subsystems to be added without affecting the executive. •Portability — 2000 can be moved from on hardware architecture to another with relatively few changes. •Written in C and C++. •Processor-dependent code is isolated in a dynamic link library (DLL) called the “hardware abstraction layer” (HAL)
  • 11. •Reliability — 2000 uses hardware protection for virtual memory, and software protection mechanisms for operating system resources. •Compatibility — applications that follow the IEEE 1003.1 (POSIX) standard can be complied to run on 2000 without changing the source code. •Performance — 2000 subsystems can communicate with one another via high-performance message passing. •Preemption of low priority threads enables the system to respond quickly to external events. •Designed for symmetrical multiprocessing. •International support — supports different locales via the national language support (NLS) API. Operating
  • 12. Architecture •Layered system of modules. •Protected mode — HAL, kernel, executive. •User mode — collection of subsystems •Environmental subsystems emulate different operating systems. •Protection subsystems provide security functions.
  • 13. System Components — Kernel •Foundation for the executive and the subsystems. •Never paged out of memory; execution is never preempted. •Four main responsibilities: •thread scheduling •interrupt and exception handling •low-level processor synchronization •recovery after a power failure •Kernel is object-oriented, uses two sets of objects. •dispatcher objects control dispatching and synchronization (events, mutants, mutexes, semaphores, threads and timers). •control objects (asynchronous procedure calls, interrupts, power notify, power status, process and profile objects.)
  • 14. Kernel — Process and Threads •The process has a virtual memory address space, information (such as a base priority), and an affinity for one or more processors. •Threads are the unit of execution scheduled by the kernel’s dispatcher. •Each thread has its own state, including a priority, processor affinity, and accounting information. •A thread can be one of six states: ready, standby, running, waiting, transition, and terminated.
  • 15. Kernel-scheduling •The dispatcher uses a 32-level priority scheme to determine the order of thread execution. Priorities are divided into two classes.. •The real-time class contains threads with priorities ranging from 16 to 32. •The variable class contains threads having priorities from 0 to 15. •Characteristics of 2000’s priority strategy. •Trends to give very good response times to interactive threads that are using the mouse and windows. •Enables I/O-bound threads to keep the I/O devices busy. •Complete-bound threads soak up the spare CPU cycles in the background. •Scheduling can occur when a thread enters the ready or wait state, when a thread terminates, or when an application changes a thread’s priority or processor affinity. •Real-time threads are given preferential access to the CPU; but 2000 does not guarantee that a real-time thread will start to execute within any particular time limit.
  • 16. File System •The fundamental structure of the 2000 file system (NTFS) is a volume. •Created by the 2000 disk administrator utility. •Based on a logical disk partition. •May occupy a portions of a disk, an entire disk, or span across several disks. •All metadata, such as information about the volume, is stored in a regular file. •NTFS uses clusters as the underlying unit of disk allocation. •A cluster is a number of disk sectors that is a power of two. •Because the cluster size is smaller than for the 16-bit FAT file system, the amount of internal fragmentation is reduced.
  • 17. File System — Internal Layout •NTFS uses logical cluster numbers (LCNs) as disk addresses. •A file in NTFS is not a simple byte stream, as in MS-DOS or UNIX, rather, it is a structured object consisting of attributes. •Every file in NTFS is described by one or more records in an array stored in a special file called the Master File Table (MFT). •Each file on an NTFS volume has a unique ID called a file reference. •64-bit quantity that consists of a 48-bit file number and a 16- bit sequence number. •Can be used to perform internal consistency checks. •The NTFS name space is organized by a hierarchy of directories; the index root contains the top level of the B+ tree.
  • 18. File System — Recovery •All file system data structure updates are performed inside transactions. •Before a data structure is altered, the transaction writes a log record that contains redo and undo information. •After the data structure has been changed, a commit record is written to the log to signify that the transaction succeeded. •After a crash, the file system data structures can be restored to a consistent state by processing the log records. •This scheme does not guarantee that all the user file data can be recovered after a crash, just that the file system data structures (the metadata files) are undamaged and reflect some consistent state prior to the crash.. •The log is stored in the third metadata file at the beginning of the volume. •The logging functionality is provided by the 2000 log file service.
  • 19. File System — Security •Security of an NTFS volume is derived from the 2000 object model. •Each file object has a security descriptor attribute stored in this MFT record. •This attribute contains the access token of the owner of the file, and an access control list that states the access privileges that are granted to each user that has access to the file.
  • 20. Networking •2000 supports both peer-to-peer and client/server networking; it also has facilities for network management. •To describe networking in 2000, we refer to two of the internal networking interfaces: •NDIS (Network Device Interface Specification) — Separates network adapters from the transport protocols so that either can be changed without affecting the other. •TDI (Transport Driver Interface) — Enables any session layer component to use any available transport mechanism. •2000 implements transport protocols as drivers that can be loaded and unloaded from the system dynamically.
  • 21. Networking — Protocols •The server message block (SMB) protocol is used to send I/O requests over the network. It has four message types: - Session control - File - Printer – Message •The network basic Input/Output system (NetBIOS) is a hardware abstraction interface for networks. Used to: •Establish logical names on the network. •Establish logical connections of sessions between two logical names on the network. •Support reliable data transfer for a session via NetBIOS requests or SMBs •NetBEUI (NetBIOS Extended User Interface): default protocol for Windows 95 peer networking and Windows for Workgroups; used when 2000 wants to share resources with these networks. •2000 uses the TCP/IP Internet protocol to connect to a wide variety of operating systems and hardware platforms.
  • 22. •PPTP (Point-to-Point Tunneling Protocol) is used to communicate between Remote Access Server modules running on 2000 machines that are connected over the Internet. •The 2000 NWLink protocol connects the NetBIOS to Novell NetWare networks. •The Data Link Control protocol (DLC) is used to access IBM mainframes and HP printers that are directly connected to the network. •2000 systems can communicate with Macintosh computers via the Apple Talk protocol if an 2000 Server on the network is running the Windows 2000 Services for Macintosh package.
  • 23. Programmer Interface — Access to Kernel Obj. •A process gains access to a kernel object named XXX by calling the CreateXXX function to open a handle to XXX; the handle is unique to that process. •A handle can be closed by calling the CloseHandle function; the system may delete the object if the count of processes using the object drops to 0. •2000 provides three ways to share objects between processes. •A child process inherits a handle to the object. •One process gives the object a name when it is created and the second process opens that name. •DuplicateHandle function: Given a handle to process and the handle’s value a second process can get a handle to the same object, and thus share it.
  • 24. Programmer Interface — Process Management •Process is started via the CreateProcess routine which loads any dynamic link libraries that are used by the process, and creates a primary thread. •Additional threads can be created by the CreateThread function. •Every dynamic link library or executable file that is loaded into the address space of a process is identified by an instance handle. •Scheduling in Win32 utilizes four priority classes: - IDLE_PRIORITY_CLASS (priority level 4) - NORMAL_PRIORITY_CLASS (level8 — typical for most processes - HIGH_PRIORITY_CLASS (level 13) - REALTIME_PRIORITY_CLASS (level 24) •To provide performance levels needed for interactive programs, 2000 has a special scheduling rule for processes in the NORMAL_PRIORITY_CLASS. •2000 distinguishes between the foreground process that is currently selected on the screen, and the background processes that are not currently selected. •
  • 25. •When a process moves into the foreground, 2000 increases the scheduling quantum by some factor, typically 3. •The kernel dynamically adjusts the priority of a thread depending on whether it is I/O-bound or CPU-bound. •To synchronize the concurrent access to shared objects by threads, the kernel provides synchronization objects, such as semaphores and mutexes. •In addition, threads can synchronize by using the WaitForSingleObject or WaitForMultipleObjects functions. •Another method of synchronization in the Win32 API is the critical section. •A fiber is user-mode code that gets scheduled according to a user- defined scheduling algorithm. •Only one fiber at a time is permitted to execute, even on multiprocessor hardware. •2000 includes fibers to facilitate the porting of legacy UNIX applications that are written for a fiber execution model
  • 26. Programmer Interface — Interprocess Comm. •Win32 applications can have interprocess communication by sharing kernel objects. •An alternate means of interprocess communications is message passing, which is particularly popular for Windows GUI applications. •One thread sends a message to another thread or to a window. •A thread can also send data with the message. •Every Win32 thread has its won input queue from which the thread receives messages. •This is more reliable than the shared input queue of 16-bit windows, because with separate queues, one stuck application cannot block input to the other applications.
  • 27. Programmer Interface — Memory Management •Virtual memory: - VirtualAlloc reserves or commits virtual memory. - VirtualFree decommits or releases the memory. •These functions enable the application to determine the virtual address at which the memory is allocated. •An application can use memory by memory mapping a file into its address space. •Multistage process. •Two processes share memory by mapping the same file into their virtual memory. •A heap in the Win32 environment is a region of reserved address space. • A Win 32 process is created with a 1 MB default heap. • Access is synchronized to protect the heap’s space allocation data structures from damage by concurrent updates by multiple threads. •Because functions that rely on global or static data typically fail to work properly in a multithreaded environment, the thread-local storage mechanism allocates global storage on a per-thread basis •The mechanism provides both dynamic and static methods of creating thread-local storage.