KOSR 22 차세미나. KOSR 연역및소개 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r

Size: px
Start display at page:

Download "KOSR 22 차세미나. KOSR 연역및소개 t h K o r e a O p e r a t i n g S y s t e m S e m e n a r"

Transcription

1 KOSR 22 차세미나 KOSR 연역및소개 1

2 KOSR 연혁과이념 KOSR 연혁 (2001 ~ ) : WSP(Windows System Programmer) 커뮤니티 Open : KSP(Korea System Programmer) 로독립 : KOSR (Korea Operating System Research) 커뮤니티이름변경 - 회원수 : 7800명 ( 일기준 ) - 세미나 : 총 21회개최 - 현 SCA(Software Community Association : Member KOSR 의이념 : 실무개발자들이모여서만든비영리커뮤니티 - Open Source Project 지향 * Korea OS(Open Source Operating System) Research - OS System Programming 에대한기술문서화및 OPEN 2

3 세미나 ( 02 年 ~ 06 年 ) KOSR 은 5 년동안 21 회세미나개최 - 한국주요 7 개대학교및 Syskon conference 2 times ( 03 年, 04 年 ) 21 HONGIK UNIVERSITY 3

4 WDM Begginer 안철수연구소 Application Unit 신경준 4

5 목차 -WDM Basic Information -Demo and Debugging (use WinDbg) 5

6 Windows Architecture 6

7 7

8 8

9 Kernel The lowest layer of NTOSKRNL governs how OS uses the processor/s. It provides for: Thread scheduling and context switching Interrupt handling and exception dispatching Multiprocessor synchronization CPU Architecture functions: GDT and LDT manipulation on x86, CPU Cache Support Generic Wait Operations Provides foundation synchronization primitives for use by the Executive Kernel Code Mostly Resident (non pageable) Interruptible but sometimes non preemptible Search for functions beginning with Ke, Ki 9

10 System Process Represents the kernel (in a way) Hosts kernel threads Always run in kernel mode Number of threads is not constant (drivers are free to add their own threads under this process) Process ID is constant 2 (NT 4), 8 (2000), 4 (XP) 10

11 The Kernel API Implementation Most of the Kernel code is in NtOsKrnl.Exe (single CPU) or NtKrnlMp.Exe (Multi CPU) Always called NtOsKrnl.Exe on the local hard disk (in the System32 directory) Some implementation is in Hal.Dll The DDK documents about 1/3 of the exported functions Most functions have a prefix suggesting origin 11

12 Kernel API Prefixes Ex Ex - General General executive executive routines routines Exp Exp - Executive Executive private private (not (not exported) exported) Cc Cc - Cache Cache Manager Manager (Controller) (Controller) Mm Mm - Memeory MemeoryManager Manager Rtl Rtl- General General runtime runtime library library FsRtl FsRtl - file file system system runtime runtime library library Ob Ob - object object management management Io Io - I/O I/O subsystem subsystem Se Se - Security Security Ps Ps - Process Process structure structure Po Po - Power Power management management Wmi Wmi - Windows Windows Management Management Instrumentation Instrumentation Zw Zw - File File and and registry registry access access Ke Ke - General General Kernel Kernel Ki Ki - Kernel Kernel internal internal (not (not available available outside outside of of kernel) kernel) Hal- Hal-hardware abstraction abstraction layer layer READ_xxx, READ_xxx, WRITE_xxx WRITE_xxx- I/O I/O port port and and register register access access (HAL) (HAL) 12

13 HAL Hardware Abstraction Layer Purpose Isolates Kernel and Executive from hardware specifics Presents uniform model to ease device driver development and porting HAL provides low level interface to I/O System Specifics (buses, DMA, ports and registers) Interrupt controllers and system timers MP Communication Hardware interrupt priorities Importance somewhat reduced in Windows 2000/XP Bus drivers do some of these functions 13

14 Kernel Device Driver?The only one that can touch hardware, handle interrupts, etc. Has a SYS extension Its routines always run in kernel mode Also called Privileged mode Ring 0 on 80x86 Always uses the kernel mode stack Limited in size: 12KB (2000/XP), 8KB (98/ME) No documented way to enlarge it Unhandled exceptions will crash the system Producing the infamous Blue Screen of Death 14

15 Interrupt Request Level (IRQL) 15

16 16

17 IRQL Levels PASSIVE_LEVEL (0) The normal IQRL level User mode code always runs at this level APC_LEVEL (1) Used for special kernel APCs Not really interesting for driver writers DISPATCH_LEVEL or DPC_LEVEL (2) Many driver routines run at this IRQL The kernel scheduler runs at this level If the CPU runs code at this (or higher) level, no context switching will occur on that CPU until IRQL drops below this level Also no waiting on kernel objects (requires scheduler) Page fault handling also occurs at this level Code running at this or higher IRQL must always access nonpaged memory 17

18 System Memory Pools The kernel provides two general memory pools for use by the kernel itself and device drivers Non-paged pool Memory always resides in RAM (never paged out) Can be accessed at any IRQL Paged pool Memory can be swapped to disk Should be accessed at IRQL < DPC_LEVEL (2) only Pool sizes are depend on the amount of RAM and the OS type (Professional vs. Servers) Can be altered (up to some maxima) in registry HKLM\System\CurrentControlSet\Control\Session Manager\Executive Task Manager displays current sizes 18

19 19

20 20

21 DriverObject Represents the driver for the I/O system Includes dispatch routine pointers, AddDevice routine pointer, Unload routine pointer, etc. Created by the Kernel, passed to driver and filled by it I/O Manager 는서로다른 Device 에대해서서로다른 Driver Object 를이용하여, I/O 요청을처리한다. Driver Object 는여러가지 Driver 함수들로이루어져있다. I/O Manager 는 Driver 가 Load 될때 driver object 를만든다. 초기화과정중, DriverEntry 루틴은 Driver Object 안의여러다른함수포인터를 Load 한다. IRP 가특정디바이스로전달되면 I/O Manager 는 Driver Object 를이용하여올바른 Dispatch routine 을찾는다. 만약 I/O Request 가실제 device operation 이필요하다면, I/O Manager 는 Diver 의 Start I/O routine 을찾기위해서 Driver Object 를사용한다. 21

22 Layout of a Driver Object 22

23 Device object Device object (DEVICE_OBJECT) Defines a specific device (usually hardware) Associated with File objects Allows for driver-defined extensions Provides a DPC object for after Interrupt processing Created by the driver using IoCreateDevice Several may be created 운영체제에서장치마다초기화를실행한다즉, DeviceObject 를생성해주어야한다. 23

24 Device Node Represents a stack of devices PDO: Physical Device Object Created by the bus driver FiDO: Filter Device Object Optional lower/upper device objects FDO: Functional Device Object The actual WDM driver created device object FiDOs FDO FiDOs PDO 24

25 What is an IRP? The IRP structure is defined in <wdm.h> Contains all details needed to handle the request (codes, buffers, sizes, etc.) Accompanied by a set of structures of type IO_STACK_LOCATION Number of structures is the number of the devices in this DevNode Complements the data in the IRP Broadly speaking, the data needed for handling the request is split between the actual IRP object and the current I/O stack location 다른드라이버와통신하기위한구조체이다. 그리고이구조 체는 NonPagePool 에할당된다. 25

26 IRP(IO_STACK_LOCATION) 26

27 IRP Flow I/O I/O Manager Manager IRP Processing on on the the way way down down FiDO FiDO Processing on on the the way way up up Register completion routine Register completion routine FDO FiDO FiDO PDO Complete request Call completion routine Call completion routine 27

28 WDM 드라이버기본구조 DriverEntry Routine AddDevice Routine IRP Dispatch Routine DriverUnload Routine 28

29 Driver Entry & AddDevie Routine 29

30 Dispatch & Unload Routine 30

31 How to make Device Driver? 1. Get Wdk -> 2. Get WinDbg -> 3. Get Virtual Pc Setting-> 4. Set Symbol -> 5. Build Source code -> Let s Do IT 31

32 Do you Make KB Filter Driver with me? 32

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors)

Ausgewählte Betriebssysteme - Mark Russinovich & David Solomon (used with permission of authors) Outline Windows 2000 - The I/O Structure Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik Components of I/O System Plug n Play Management Power Management I/O Data Structures File

More information

Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT, Desktop and Server

Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT, Desktop and Server KMDF - Version: 1.2 11 January 2018 Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT, Desktop and Server Universal Windows Driver Development with WDF UMDF 2.0 and KMDF for IoT,

More information

Introduction to I/O. 1-Slide Overview to File Management

Introduction to I/O. 1-Slide Overview to File Management Introduction to I/O 1-Slide Overview to File Management I/O Hardware I/O Application Interface I/O Subsystem Issues Note: much material in this set of slides comes directly from Solomon&Russinovich, Inside

More information

Windows History 2009 Windows 7 2

Windows History 2009 Windows 7 2 Example: Windows 1 Windows History 2009 Windows 7 2 Features added Windows2000 additions Plug-and-play Network directory service New GUI Vista additions New GUI More focus on security clean-up the code

More information

Case Study. Windows XP. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Case Study. Windows XP. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Case Study Windows XP Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Background Architecture Windows Operating System Internals - by David A. Solomon

More information

System Memory Heaps. 6.1 System Memory Heaps 6.2 Allocation from the system pool

System Memory Heaps. 6.1 System Memory Heaps 6.2 Allocation from the system pool System Memory Heaps 6.1 System Memory Heaps 6.2 Allocation from the system pool Source code: KmdKit\examples\basic\MemoryWorks\SystemModules Assuming you already grasp the basics, let's review some of

More information

DRIVER MODEL ULB Darmstadt

DRIVER MODEL ULB Darmstadt Microsoft" y / /«Second Edition PROGRAMMING MICROSO FT WIN D 0 WS DRIVER MODEL ULB Darmstadt i minis Walter Oney Acknowledgments Introduction Beginning a Driver Project 1 A Brief History of Device Drivers

More information

Chapter 1 Storage Drivers

Chapter 1 Storage Drivers 1.0 Storage Drivers Page 1 of 79 Chapter 1 Storage Drivers This chapter contains the following information: 1.1 Storage Driver Architecture 1.2 Storage Drivers and Device Objects 1.3 System Header Files

More information

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Unit OS2: Operating System Principles. Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS2: Operating System Principles 2.5. Quiz Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice 2000-2005 David A. Solomon and Mark

More information

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1

Windows 7 Overview. Windows 7. Objectives. The History of Windows. CS140M Fall Lake 1 Windows 7 Overview Windows 7 Overview By Al Lake History Design Principles System Components Environmental Subsystems File system Networking Programmer Interface Lake 2 Objectives To explore the principles

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

Multithreading Applications in Win32

Multithreading Applications in Win32 Copyright, 2006 Multimedia Lab., UOS Multithreading Applications in Win32 (Introduction to Operating Systems) SeongJongChoi chois@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University

More information

Windows Interrupts

Windows Interrupts Windows 2000 - Interrupts Ausgewählte Betriebssysteme Institut Betriebssysteme Fakultät Informatik 1 Interrupts Software and Hardware Interrupts and Exceptions Kernel installs interrupt trap handlers Interrupt

More information

CSE 451: Operating Systems Winter I/O System. Gary Kimura

CSE 451: Operating Systems Winter I/O System. Gary Kimura CSE 451: Operating Systems Winter 2012 I/O System Gary Kimura What s Ahead Principles of I/O Hardware Structuring of I/O Software Layers of an I/O System Operation of an I/O System 2 Hardware Environment

More information

Chapter 1. Windows NT: An Inside Look

Chapter 1. Windows NT: An Inside Look Chapter 1 Windows NT: An Inside Look Abstract This chapter begins with an evaluation of Windows NT and then examines the overall architecture of the operating system. THIS BOOK IS AN EXPLORATION of the

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Last Class: Intro to OS An operating system is the interface between the user and the architecture. User-level Applications

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

Sistemi in Tempo Reale

Sistemi in Tempo Reale Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It

More information

Lecture 2: Architectural Support for OSes

Lecture 2: Architectural Support for OSes Lecture 2: Architectural Support for OSes CSE 120: Principles of Operating Systems Alex C. Snoeren HW 1 Due Tuesday 10/03 Why Architecture? Operating systems mediate between applications and the physical

More information

Outline. Process and Thread Management. Data Structures (2) Data Structures. Kernel Process Block (PCB)

Outline. Process and Thread Management. Data Structures (2) Data Structures. Kernel Process Block (PCB) Outline Process and Thread Management Ausgewählte Betriebssysteme Professur Betriebssysteme Fakultät Informatik Data Structures Process Creation Thread Creation Scheduling 2 Data Structures Data Structures

More information

Process and Thread Management

Process and Thread Management Process and Thread Management Ausgewählte Betriebssysteme Professur Betriebssysteme Fakultät Informatik Data Structures Process Creation Thread Creation Scheduling Outline 2 1 Data Structures Process represented

More information

CSI3131 Final Exam Review

CSI3131 Final Exam Review CSI3131 Final Exam Review Final Exam: When: April 24, 2015 2:00 PM Where: SMD 425 File Systems I/O Hard Drive Virtual Memory Swap Memory Storage and I/O Introduction CSI3131 Topics Process Computing Systems

More information

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4 Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell

More information

Threads Chapter 5 1 Chapter 5

Threads Chapter 5 1 Chapter 5 Threads Chapter 5 1 Chapter 5 Process Characteristics Concept of Process has two facets. A Process is: A Unit of resource ownership: a virtual address space for the process image control of some resources

More information

Lecture 2: September 9

Lecture 2: September 9 CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user

More information

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which

More information

Memory Protection. Machines and Virtualization. Architectural Foundations of OS Kernels. Memory and the CPU. Introduction to Virtual Addressing

Memory Protection. Machines and Virtualization. Architectural Foundations of OS Kernels. Memory and the CPU. Introduction to Virtual Addressing Memory Protection Machines and Virtualization Systems and Networks Jeff Chase Spring 26 Paging Virtual provides protection by: Each process (user or OS) has different. The OS maintain the page tables for

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

T : Malware Analysis and Antivirus Technologies Windows Operating System

T : Malware Analysis and Antivirus Technologies Windows Operating System T-110.6220: Malware Analysis and Antivirus Technologies Windows Operating System Antti Tikkanen, 17.2.2010 Protecting the irreplaceable f-secure.com Lecture Agenda 1. Applications on Windows 2. Processes

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

Machines and Virtualization. Systems and Networks Jeff Chase Spring 2006

Machines and Virtualization. Systems and Networks Jeff Chase Spring 2006 Machines and Virtualization Systems and Networks Jeff Chase Spring 2006 Memory Protection Paging Virtual memory provides protection by: Each process (user or OS) has different virtual memory space. The

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives

More information

From last time. What is the maximum size of a file in bytes? What is the maximum total size of directories and files in a single disk partition?

From last time. What is the maximum size of a file in bytes? What is the maximum total size of directories and files in a single disk partition? OMP25111 Lecture 17 1/27 From last time A file system uses inodes which contain 8 block-numbers. These are for the first 7 blocks of the file and an indirect block, which just contains block-numbers for

More information

Introduction to Windows internals.

Introduction to Windows internals. Introduction to Windows internals pavel.turbin@f-secure.com kimmo.kasslin@f-secure.com 2 Architecture 3 Windows architecture 4 System Mechanisms 5 Kernel-mode & user-mode 0xFFFFFFFF System-space (Ring

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage

More information

Architectural Support for Operating Systems

Architectural Support for Operating Systems OS and Architectures Architectural Support for Operating Systems Emin Gun Sirer What an OS can do is dictated, at least in part, by the architecture. Architecture support can greatly simplify (or complicate)

More information

Chapter 12: I/O Systems

Chapter 12: I/O Systems Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and

More information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS

More information

OPERATING SYSTEM OVERVIEW

OPERATING SYSTEM OVERVIEW OPERATING SYSTEM OVERVIEW Contents Basic hardware elements Interrupts Most I/O devices are much slower than the processor Active waiting cycle (polling) Interrupt request signal Interrupt mechanism An

More information

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 General Info 3 lecture hours each week 2 assignments (2*5%=10%) 1 project

More information

Common Computer-System and OS Structures

Common Computer-System and OS Structures Common Computer-System and OS Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture Oct-03 1 Computer-System Architecture

More information

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals General Info EECS 3221 Operating System Fundamentals Instructor: Prof. Hui Jiang Email: hj@cse.yorku.ca Web: http://www.eecs.yorku.ca/course/3221 3 lecture hours each week 2 assignments (2*5%=10%) 1 project

More information

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads Today s Topics COS 318: Operating Systems Implementing Threads u Thread implementation l Non-preemptive versus preemptive threads l Kernel vs. user threads Jaswinder Pal Singh and a Fabulous Course Staff

More information

Ausgewählte Betriebssysteme

Ausgewählte Betriebssysteme Ausgewählte Betriebssysteme Windows 2000 & Linux Betriebssysteme Technische Universität Dresden 1 Outline of Lectures Introduction I/O Structure & IRQ Handling Memory management NT file system (Processes

More information

Embedded Linux Architecture

Embedded Linux Architecture Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory

More information

Outline of Lectures. Ausgewählte Betriebssysteme Windows 2000 & Linux. Resources for these Lectures. Windows An Introduction.

Outline of Lectures. Ausgewählte Betriebssysteme Windows 2000 & Linux. Resources for these Lectures. Windows An Introduction. Ausgewählte Betriebssysteme Windows 2000 & Linux Betriebssysteme Technische Universität Dresden Outline of Lectures Introduction I/O Structure & IRQ Handling Memory management NT file system (Processes

More information

Outline of Lectures. Ausgewählte Betriebssysteme Windows 2000 & Linux. Resources for these Lectures. Windows An Introduction

Outline of Lectures. Ausgewählte Betriebssysteme Windows 2000 & Linux. Resources for these Lectures. Windows An Introduction Ausgewählte Betriebssysteme Windows 2000 & Linux Betriebssysteme Technische Universität Dresden Outline of Lectures Introduction I/O Structure & IRQ Handling Memory management NT file system (Processes

More information

Following are a few basic questions that cover the essentials of OS:

Following are a few basic questions that cover the essentials of OS: Operating Systems Following are a few basic questions that cover the essentials of OS: 1. Explain the concept of Reentrancy. It is a useful, memory-saving technique for multiprogrammed timesharing systems.

More information

Ausgewählte Betriebssysteme Windows 2000 & Linux

Ausgewählte Betriebssysteme Windows 2000 & Linux Ausgewählte Betriebssysteme Windows 2000 & Linux Betriebssysteme Technische Universität Dresden 1 Outline of Lectures Introduction I/O Structure & IRQ Handling Memory management NT file system (Processes

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3. OVERVIEW Last Week: Scheduling Algorithms Real-time systems Today: But if frequency of high priority task increases temporarily, system may encounter overload: Yet another real-time scheduling algorithm

More information

Chapter 8: Virtual Memory. Operating System Concepts

Chapter 8: Virtual Memory. Operating System Concepts Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:

More information

Review: Hardware user/kernel boundary

Review: Hardware user/kernel boundary Review: Hardware user/kernel boundary applic. applic. applic. user lib lib lib kernel syscall pg fault syscall FS VM sockets disk disk NIC context switch TCP retransmits,... device interrupts Processor

More information

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

Processes and Threads. Processes and Threads. Processes (2) Processes (1) Processes and Threads (Topic 2-1) 2 홍성수 Processes and Threads Question: What is a process and why is it useful? Why? With many things happening at once in a system, need some way of separating them all

More information

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture 1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System Operating System Operating System Overview Chapter 2 A program that controls the execution of application programs An interface between applications and hardware 1 2 Operating System Objectives Layers

More information

Operating System Overview. Operating System

Operating System Overview. Operating System Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 1 Operating System Objectives Convenience

More information

Tape Channel Analyzer Windows Driver Spec.

Tape Channel Analyzer Windows Driver Spec. Tape Channel Analyzer Windows Driver Spec. 1.1 Windows Driver The Driver handles the interface between the Adapter and the Adapter Application Program. The driver follows Microsoft Windows Driver Model

More information

Malware Analysis and Antivirus Technologies: Windows Operating System

Malware Analysis and Antivirus Technologies: Windows Operating System Malware Analysis and Antivirus Technologies: Windows Operating System Protecting the irreplaceable f-secure.com Lecture Agenda 1. Applications on Windows 2. Processes and Threads 3. Windows Architecture

More information

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13 I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of

More information

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University I/O Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Device characteristics Block device vs. Character device Direct I/O vs.

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle Operating Systems Operating System Structure Lecture 2 Michael O Boyle 1 Overview Architecture impact User operating interaction User vs kernel Syscall Operating System structure Layers Examples 2 Lower-level

More information

Process Description and Control

Process Description and Control Process Description and Control B.Ramamurthy 1/28/02 B.Ramamurthy 1 Introduction The fundamental task of any operating system is process management. OS must allocate resources to processes, enable sharing

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

Process Characteristics. Threads Chapter 4. Process Characteristics. Multithreading vs. Single threading

Process Characteristics. Threads Chapter 4. Process Characteristics. Multithreading vs. Single threading Process Characteristics Threads Chapter 4 Reading: 4.1,4.4, 4.5 Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files, I/O

More information

Threads Chapter 4. Reading: 4.1,4.4, 4.5

Threads Chapter 4. Reading: 4.1,4.4, 4.5 Threads Chapter 4 Reading: 4.1,4.4, 4.5 1 Process Characteristics Unit of resource ownership - process is allocated: a virtual address space to hold the process image control of some resources (files,

More information

Process Description and Control

Process Description and Control Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate

More information

I/O Systems. Jo, Heeseung

I/O Systems. Jo, Heeseung I/O Systems Jo, Heeseung Today's Topics Device characteristics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

Process Description and Control. Chapter 3

Process Description and Control. Chapter 3 Process Description and Control Chapter 3 Contents Process states Process description Process control Unix process management Process From processor s point of view execute instruction dictated by program

More information

First-In-First-Out (FIFO) Algorithm

First-In-First-Out (FIFO) Algorithm First-In-First-Out (FIFO) Algorithm Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1 3 frames (3 pages can be in memory at a time per process) 15 page faults Can vary by reference string:

More information

File Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure.

File Systems. OS Overview I/O. Swap. Management. Operations CPU. Hard Drive. Management. Memory. Hard Drive. CSI3131 Topics. Structure. File Systems I/O Management Hard Drive Management Virtual Memory Swap Memory Management Storage and I/O Introduction CSI3131 Topics Process Management Computing Systems Memory CPU Peripherals Processes

More information

CS 5460/6460 Operating Systems

CS 5460/6460 Operating Systems CS 5460/6460 Operating Systems Fall 2009 Instructor: Matthew Flatt Lecturer: Kevin Tew TAs: Bigyan Mukherjee, Amrish Kapoor 1 Join the Mailing List! Reminders Make sure you can log into the CADE machines

More information

CSE Opera+ng System Principles

CSE Opera+ng System Principles CSE 30341 Opera+ng System Principles Lecture 2 Introduc5on Con5nued Recap Last Lecture What is an opera+ng system & kernel? What is an interrupt? CSE 30341 Opera+ng System Principles 2 1 OS - Kernel CSE

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating system? A collection of software modules to assist programmers in enhancing system efficiency, flexibility, and robustness An Extended Machine

More information

Appendix C WINDOWS C.1 History

Appendix C WINDOWS C.1 History Appendix C WINDOWS 2000 The Microsoft Windows 2000 operating system is a 32-bit preemptive multitasking operating system for Intel Pentium and later microprocessors. The successor to the Windows NT operating

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Distributed Systems Operation System Support

Distributed Systems Operation System Support Hajussüsteemid MTAT.08.009 Distributed Systems Operation System Support slides are adopted from: lecture: Operating System(OS) support (years 2016, 2017) book: Distributed Systems: Concepts and Design,

More information

Real-time for Windows NT

Real-time for Windows NT Real-time for Windows NT Myron Zimmerman, Ph.D. Chief Technology Officer, Inc. Cambridge, Massachusetts (617) 661-1230 www.vci.com Slide 1 Agenda Background on, Inc. Intelligent Connected Equipment Trends

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller

More information

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering Operating System Chapter 4. Threads Lynn Choi School of Electrical Engineering Process Characteristics Resource ownership Includes a virtual address space (process image) Ownership of resources including

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013! Chapter 13: I/O Systems I/O Hardware" Application I/O Interface" Kernel I/O Subsystem" Transforming I/O Requests to Hardware Operations" STREAMS"

More information

SysGauge SYSTEM MONITOR. User Manual. Version 3.8. Oct Flexense Ltd.

SysGauge SYSTEM MONITOR. User Manual. Version 3.8. Oct Flexense Ltd. SysGauge SYSTEM MONITOR User Manual Version 3.8 Oct 2017 www.sysgauge.com info@flexense.com 1 1 SysGauge Product Overview SysGauge is a system and performance monitoring utility allowing one to monitor

More information

Process Scheduling Queues

Process Scheduling Queues Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory 9.1 Background 9.2 Demand Paging 9.3 Copy-on-Write 9.4 Page Replacement 9.5 Allocation of Frames 9.6 Thrashing 9.7 Memory-Mapped Files 9.8 Allocating

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

Computer System Overview

Computer System Overview Computer System Overview Operating Systems 2005/S2 1 What are the objectives of an Operating System? 2 What are the objectives of an Operating System? convenience & abstraction the OS should facilitate

More information

Unit OS2: Operating System Principles

Unit OS2: Operating System Principles Unit OS2: Operating System Principles 2.5. Lab Manual Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Copyright Notice 2000-2005 David A. Solomon and

More information

Structuring of the Windows Operating System

Structuring of the Windows Operating System Structuring of the Windows Operating System 2 Roadmap for This Lecture Architecture Overview Key windows system files Design Attributes and Features Key System Components System Threads System Processes

More information

Module 1. Introduction:

Module 1. Introduction: Module 1 Introduction: Operating system is the most fundamental of all the system programs. It is a layer of software on top of the hardware which constitutes the system and manages all parts of the system.

More information

Operating System 4 THREADS, SMP AND MICROKERNELS

Operating System 4 THREADS, SMP AND MICROKERNELS Operating System 4 THREADS, SMP AND MICROKERNELS PROCESSES AND THREADS Process concept characteristics discussed so far Resource ownership Scheduling/execution These two characteristics are independent.

More information

a process may be swapped in and out of main memory such that it occupies different regions

a process may be swapped in and out of main memory such that it occupies different regions Virtual Memory Characteristics of Paging and Segmentation A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory Memory references are dynamically

More information

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System?

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System? Lecture Course in Autumn Term 2013 University of Birmingham Lecture notes and resources: http://www.cs.bham.ac.uk/ exr/teaching/lectures/opsys/13_14 closed facebook group: UoBOperatingSystems anyone registered

More information

Imagenation PX Series

Imagenation PX Series Imagenation PX Series Guide To Troubleshooting Frame Grabber Installations Imagenation PX Series Frame Grabbers PX500, PX510, PX610 & PX610A Covering all Microsoft Win32 Operating Systems Windows 95, 98,

More information