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
|
|
- Kristina Bailey
- 5 years ago
- Views:
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)
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 informationUniversal 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 informationIntroduction 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 informationWindows 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 informationCase 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 informationSystem 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 informationDRIVER 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 informationChapter 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 informationUnit 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 informationWindows 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 informationIntroduction. 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 informationMultithreading 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 informationWindows 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 informationCSE 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 informationChapter 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 informationChapter 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 informationOperating 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 informationOperating 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 informationSistemi 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 informationLecture 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 informationOutline. 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 informationProcess 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 informationCSI3131 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 informationMotivation. 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 informationThreads 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 informationLecture 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 informationCSE 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 informationMemory 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 informationCS370 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 informationT : 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 informationLast 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 informationMachines 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 informationChapter 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 informationFrom 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 informationIntroduction 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 informationChe-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 informationArchitectural 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 informationChapter 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 informationChapter 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 informationChapter 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 informationOPERATING 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 informationEECS 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 informationCommon 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 informationEECS 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 informationToday 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 informationAusgewä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 informationEmbedded 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 informationOutline 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 informationOutline 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 informationFollowing 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 informationAusgewä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 informationCS370 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 informationOVERVIEW. 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 informationChapter 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 informationCPSC 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 informationReview: 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 informationProcesses 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 informationLast 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 informationVirtual 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 informationOperating 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 informationOperating 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 informationTape 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 informationMalware 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 informationI/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 informationI/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 informationThe 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 informationOperating 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 informationProcess 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 informationPROCESS 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 informationby 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 informationProcess 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 informationThreads 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 informationProcess 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 informationI/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 informationProcess 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 informationFirst-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 informationFile 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 informationCS 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 informationCSE 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 informationOperating 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 informationCHAPTER 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 informationAppendix 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 informationIntroduction 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 informationDistributed 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 informationReal-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 informationCSC 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 informationOperating 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 informationChapter 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 informationSysGauge 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 informationProcess 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 informationChapter 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 informationChapter 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 informationComputer 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 informationUnit 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 informationStructuring 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 informationModule 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 informationOperating 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 informationa 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 informationCourse 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 informationImagenation 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