Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Update – 6 th December.

Slides:



Advertisements
Similar presentations
Input and Output CS 215 Lecture #20.
Advertisements

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Final Presentation 10.
1 Chapter Four Making Connections. 2 Introduction Connecting peripheral devices to a computer has, in the past, been a fairly challenging task Newer interfaces.
MIGSOCK Migratable TCP Socket in Linux Demonstration of Functionality Karthik Rajan Bryan Kuntz.
Operating System - Overview Lecture 2. OPERATING SYSTEM STRUCTURES Main componants of an O/S Process Management Main Memory Management File Management.
Modifying the SCSI / Fibre Channel Block Size Presented by Keith Bonneau, John Chrzanowski and Craig O’Brien Advised by Robert Kinicki and Mark Claypool.
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 1 Introduction to Managing the SUSE Linux Enterprise Server.
Remote Surveillance Vehicle Design Review By: Bill Burgdorf Tom Fisher Eleni Binopolus-Rumayor.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Word Processing, Web Browsing, File Access, etc. Windows Operating System (Kernel) Window (GUI) Platform Dependent Code Virtual Memory “Swap” Block Data.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
What are the functions of an operating system? The operating system is the core software component of your computer. It performs many functions and is,
LECTURE 14 Operating Systems and Utility Programs
May 17, BIOS Considerations for USB 2.0 Saleem Yamani Phoenix Technologies Ltd.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
Lesson 4 Computer Software
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Types of Computers Desktop / Laptop PC / Mac Client / Server.
Operating Systems Operating System
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Basic Computer Structure and Knowledge Project Work.
Introduction to USB © 2010 Renesas Electronics America Inc. All rights reserved.
An Introduction To Computer Hardware
USB host for web camera connection
Using the PSoC USB March 17, 2012 Lloyd Moore, President/Owner.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Basic LAN techniques IN common with all other computer based systems networks require both HARDWARE and SOFTWARE to function. Networks are often explained.
Device Drivers.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Alex Layton, Purdue University
Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring 2 nd Update – 7 th February.
GBT Interface Card for a Linux Computer Carson Teale 1.
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Functional Programming at Linspire Commercial Uses of Functional Programming Portland, Oregon Clifford Beshers Linspire, Inc.
Higher Systems Computer Software. Operating System (O/S) ► The O/S controls the computer. It controls communication with peripheral devices. It loads.
CSNB334 Advanced Operating Systems Course Introduction Lecturer: Abdul Rahim Ahmad.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
A Cyclic-Executive-Based QoS Guarantee over USB Chih-Yuan Huang,Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering.
Module 2 : Part 1 INTRODUCTION TO HARDWARE & SOFTWARE INTRODUCTION TO HARDWARE & SOFTWARE.
Computer Ports Mouse Port (Input).
Computer Basics Common Components
UNIVERSITI TENAGA NASIONAL “Generates Professionals” MODULE 2 : Part 1 INTRODUCTION TO HARDWARE & SOFTWARE.
CSC414 “Introduction to UNIX/ Linux” Lecture 2. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
Course Title: Introduction to Computer Course Instructor: ILTAF MEHDI Chapter No: 04 1BY ILTAF MEHDI (MCS, MCSE, CCNA)
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring David Harding Front page.
Gorman, Stubbs, & CEP Inc. 1 Introduction to Operating Systems Lesson 8 Linux.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 5.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Operating Systems Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Timothy Kritzler and Joseph Mintun Sponsor: Martin Engineering, Illinois Advisors: Dr. Malinowski and Dr. Ahn Bradley University Electrical and Computer.
Timothy Kritzler and Joseph Mintun Sponsor: Martin Engineering, Illinois Advisors: Dr. Malinowski and Dr. Ahn Bradley University Electrical and Computer.
By Ganesan Alagu Ganesh Feb 26, 2008
Operating System Review
By Ganesan Alagu Ganesh Feb 21, 2008
Linux Kernel Module Programming
Linux Operating System Architecture
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
Operating System Review
Chapter 2: The Linux System Part 5
Universal Serial Bus (USB)
Introduction to Operating Systems
Computer components is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. Computer The computer.
Presentation transcript:

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB Monitoring Update – 6 th December 2000 David Harding Front page Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline USB System Model Host computer Hub Camera Keyboard CD-ROM Scanner Printer Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Progress Much greater understanding of how the USB part of the Linux kernel works. Learnt about the mechanics of kernel communication. (/proc and system calls) Written my first kernel module. Researched suitability of Java vs. Gtk for the GUI. Interface design for the kernel part of the project. Partial Code Design for kernel code. Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application All information through one ‘channel’ Initial Design Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application Use existing Configuration Channel, and create new Data channel Revised Design /proc/bus/usb/devicesNew /proc file Just data transfers New system calla Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline New system calla Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application Use existing Configuration Channel, and create new Data channel Revised Design /proc/bus/usb/devices Just data transfers T: Bus=00 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2 B: Alloc= 28/900 us ( 3%), #Int= 2, #Iso= 0 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0000 ProdID=0000 Rev= 0.00 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=255ms T: Bus=00 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 4 D: Ver= 1.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0451 ProdID=1446 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms T: Bus=00 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=0553 ProdID=0002 Rev= 1.00 C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=400mA I: If#= 1 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 0 Ivl= 1ms I: If#= 1 Alt= 1 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 448 Ivl= 1ms I: If#= 1 Alt= 2 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 704 Ivl= 1ms I: If#= 1 Alt= 3 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=ff Driver=cpia E: Ad=81(I) Atr=01(Isoc) MxPS= 960 Ivl= 1ms T: Bus=00 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#= 5 Spd=1.5 MxCh= 0 D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c001 Rev= 1.10 S: Manufacturer=Logitech S: Product=USB-PS/2 Mouse /proc/bus/usb/devices New /proc file Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application Use existing Configuration Channel, and create new Data channel Revised Design /proc/bus/usb/devicesNew /proc file Just data transfers New system calla Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Host controller driver Modified USB core DD Host OS Debug Information Monitoring Application Use existing Configuration Channel, and create new Data channel Revised Design /proc/bus/usb/devices Just data transfers /proc/bus/usb/????? New system calla All data is transmitted in structures called URBs The header information for all URBs will be sent here from the kernel. The actual data for URBs belonging to requested devices will also be sent here New /proc file Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Remaining Issues How to maintain a list in the kernel of which devices need their data sent to the application. How to create a kernel patch. Gtk vs. Java GUI Active Device Interrogation – probably involves writing a generic hotplugable device driver. Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Original Timeline Term 1, Week 1 - Start Term 1, Week 4 - working USB kernel Term 1, Week 6 - Defined interface between core and application Term 1, Week 10 - Working core code Term 2, Week 3 - bus-topology display Term 2, Week 6 - full monitoring Term 2, Week 9 - active device interrogation Term 3, Week 2 - Begin final write up Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues

Introduction Characteristics of USB System Model What needs to be done Platform Issues Conceptual Issues Timeline Timeline Issues Some slippage – Defining the kernel interface has taken longer than expected. However writing the kernel code should take less time than planned. Must choose either Java or Gtk before next term. The implementation and testing of the kernel code is unaffected by this decision. Introduction System Model Progress so far Initial Kernel interface Revised kernel Interface Topology Interface Data Interface Remaining Issues Original Timeline Timeline Issues