Polling   For each byte of I/O 1. Read busy bit from status register until 0 2. Host sets read or write bit and if write copies data into data-out register 3. Host sets command-ready bit 4. Controller sets busy bit, executes transfer 5. Controller clears busy bit, error bit, command-ready bit when transfer done Step 1 is busy-wait cycle to wait for I/O from device  Reasonable if device is fast  But inefficient if device slow  CPU switches to other tasks?  But if miss a cycle data overwritten / lost Operating System Concepts – 9th Edition 13.9 Silberschatz, Galvin and Gagne ©2013
View full slide show




CPU Device Control • Privileged I/O instructions control devices – Interface with device command-ready, busy, and error status registers • Direct memory I/O instructions – Ties devices to memory locations • Memory-mapped I/O – Reserved memory addresses control a device (E.g.: monitor display) • Simple Polling interface – Useful if device response is almost instantaneous (busy-wait) WHILE command-ready-register = device-not-ready THEN spin Issue send or receive command WHILE device is busy THEN spin (This is a busy wait loop) IF error and retry-count not expired THEN restart the command RETURN I/O complete
View full slide show




Polling  Determines state of device command-ready busy Error  Busy-wait cycle to wait for I/O from device Operating System Concepts with Java – 8th Edition 12.28 Silberschatz, Galvin and Gagne ©2009
View full slide show




C:\UMBC\331\java> java.ext.dirs=C:\JDK1.2\JRE\lib\ext java.io.tmpdir=C:\WINDOWS\TEMP\ os.name=Windows 95 java.vendor=Sun Microsystems Inc. java.awt.printerjob=sun.awt.windows.WPrinterJob java.library.path=C:\JDK1.2\BIN;.;C:\WINDOWS\SYSTEM;C:\... java.vm.specification.vendor=Sun Microsystems Inc. sun.io.unicode.encoding=UnicodeLittle file.encoding=Cp1252 java.specification.vendor=Sun Microsystems Inc. user.language=en user.name=nicholas java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport... java.vm.name=Classic VM java.class.version=46.0 java.vm.specification.name=Java Virtual Machine Specification sun.boot.library.path=C:\JDK1.2\JRE\bin os.version=4.10 java.vm.version=1.2 java.vm.info=build JDK-1.2-V, native threads, symcjit java.compiler=symcjit path.separator=; file.separator=\ user.dir=C:\UMBC\331\java sun.boot.class.path=C:\JDK1.2\JRE\lib\rt.jar;C:\JDK1.2\JR... user.name=nicholas user.home=C:\WINDOWS C:\UMBC\331\java>java envSnoop -- listing properties -java.specification.name=Java Platform API Specification awt.toolkit=sun.awt.windows.WToolkit java.version=1.2 java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment user.timezone=America/New_York java.specification.version=1.2 java.vm.vendor=Sun Microsystems Inc. user.home=C:\WINDOWS java.vm.specification.version=1.0 os.arch=x86 java.awt.fonts= java.vendor.url=http://java.sun.com/ user.region=US file.encoding.pkg=sun.io java.home=C:\JDK1.2\JRE java.class.path=C:\Program Files\PhotoDeluxe 2.0\Adob... line.separator=
View full slide show




Polling   Determines state of device  command-ready  busy  Error Busy-wait cycle to wait for I/O from device Operating System Concepts – 8th Edition 13.7 Silberschatz, Galvin and Gagne ©2009
View full slide show




Microprogram for MicroMIPS Fig. 14.8 The complete MicroMIPS microprogram. fetch: PCnext, CacheFetch PC + 4imm, PCdisp1 lui1: lui(imm) rt  z, PCfetch add1: x + y rd  z, PCfetch sub1: x - y rd  z, PCfetch slt1: x - y rd  z, PCfetch addi1: x + imm rt  z, PCfetch slti1: x - imm rt  z, PCfetch and1: x  y rd  z, PCfetch or1: x  y rd  z, PCfetch xor1: x  y rd  z, PCfetch nor1: x  y rd  z, PCfetch andi1: x  imm rt  z, PCfetch ori1: x  imm rt  z, PCfetch xori: x  imm rt  z, PCfetch lwsw1: x + imm, mPCdisp2 lw2: CacheLoad rt  Data, PCfetch sw2: CacheStore, PCfetch j1: PCjump, PCfetch jr1: PCjreg, PCfetch branch1: PCbranch, PCfetch jal1: PCjump, $31PC, PCfetch syscall1:PCsyscall, PCfetch Computer Architecture, Data Path and Control # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State State 0 (start) 1 7lui 8lui 7add 8add 7sub 8sub 7slt 8slt 7addi 8addi 7slti 8slti 7and 8and 7or 8or 7xor 8xor 7nor 8nor 7andi 8andi 7ori 8ori 7xori 8xori 2 3 4 6 5j 5jr 5branch 5jal 5syscall Slide 35
View full slide show




The Reality of Organizational Change Individuals Current Current state state Future Future state state Transition Transition state state Current Current state state Transition Transition state state Future Future state state Future Future state state Transition Transition state state Current Current state state Transition Transition state state Future Future state state Current Current state state Transition Transition state state Current Current state state Future Future state state Current Current state state Future Future state state Transition Transition state state Organization Future state 12
View full slide show




Canonical Device Internals can be simple (e.g., USB controller) to complex (e.g., RAID controller) For OS, device is interface - like API of 3rd party system/library! Canonical Protocol while (STATUS == BUSY) ; // wait until device is not busy write data to DATA register ; // device may need to service request write command to COMMAND register ; // starts device to execute command while (STATUS == BUSY) ; // wait until device is done THE CRUX: HOW TO AVOID THE COST OF POLLING? How can OS check device status without frequent polling?
View full slide show




Logic Representative: Logic Equations ° Next state from current state • State 0 -> State1 • State 1 -> S2, S6, S8, S10 • State 2 ->__________ • State 3 ->__________ • State 4 ->State 0 • State 5 -> State 0 • State 6 -> State 7 • State 7 -> State 0 • State 8 -> State 0 • State 9-> State 0 • State 10 -> State 11 • State 11 -> State 0 CPE 442 multicontroller..15 °Alternatively, prior state & condition S4, S5, S7, S8, S9, S11 -> State0 _________________ -> State 1 _________________ -> State 2 State2 & op = lw -> State 3 _________________-> State 4 State2 & op = sw -> State 5 _________________ -> State 6 State 6 -> State 7 _________________ -> State 8 State1 & op = jmp -> State 9 _________________ -> State 10 State 10 -> State 11 Intro. To Computer architecture
View full slide show




Java Thread Life Cycle  Waiting/Blocked/sleeping: In this state a thread is not eligible to run. 1. By calling wait() method thread go from running to waiting state. In waiting state it will wait for other threads to release object monitor/lock. Once notify() or notifyAll() method is called object monitor/lock becomes available and thread can again return to runnable state. 2. By calling sleep() method thread go from running to sleeping state. In sleeping state it will wait for sleep time to get over. Once specified sleep time is up thread can again return to runnable state. 3. Suspend() method can be used to put thread in waiting state and resume() method is the only way which could put thread in runnable state.  Terminated (Dead): A thread is considered dead when its run() method completes. Once thread is dead it cannot be started again doing so will throw runtimeException i.e. IllegalThreadStateException. destroy() method puts thread directly into dead state. Operating System Concepts with Java – 8th Edition 14.17 Silberschatz, Galvin and Gagne ©2009
View full slide show




Chapter 2: Operating-System Structures  Operating System Services  User Operating System Interface  System Calls  Types of System Calls  System Programs  Operating System Design and Implementation  Operating System Structure  Virtual Machines  Operating System Debugging  Operating System Generation  System Boot Operating System Concepts – 8th Edition 2.2 Silberschatz, Galvin and Gagne ©2009
View full slide show




Chapter 2: Operating-System Structures  Operating System Services  User Operating System Interface  System Calls  Types of System Calls  System Programs  Operating System Design and Implementation  Operating System Structure  Virtual Machines  Operating System Debugging  Operating System Generation  System Boot Operating System Concepts – 8th Edition 2.2 Silberschatz, Galvin and Gagne ©2009
View full slide show




I/O Structure After I/O starts, control returns to user program only upon I/O completion  Wait instruction idles the CPU until the next interrupt  Wait loop (contention for memory access)  At most one I/O request is outstanding at a time, no simultaneous I/O processing  After I/O starts, control returns to user program without waiting for I/O completion  System call – request to the operating system to allow user to wait for I/O completion  Device-status table contains entry for each I/O device indicating its type, address, and state  Operating system indexes into I/O device table to determine device status and to modify table entry to include interrupt  Operating System Concepts – 8th Edition 1.15 Silberschatz, Galvin and Gagne ©2009
View full slide show




Chapter 2: Operating-System Structures  Operating System Services  User Operating System Interface  System Calls  Types of System Calls  System Programs  Operating System Design and Implementation  Operating System Structure  Virtual Machines  Operating System Debugging  Operating System Generation  System Boot Operating System Concepts Essentials – 8th Edition 2.2 Silberschatz, Galvin and Gagne ©2011
View full slide show




ARFF Feature List  The datasets contain network transactions captured over a serial line  Network information   Payload information   System control and state information Label   Time stamp, Station address, CRC, etc. Binary / Category / Specific mode identifier Deep packet inspection provides system state information  Pressure measurements, pump state, solenoid state, etc. Feature Type address Network function Command Payload length Network setpoint Command Payload gain Command Payload reset rate Command Payload deadband Command Payload cycle time Command Payload rate Command Payload system mode Command Payload control scheme Command Payload pump Command Payload solenoid Command Payload pressure measurement crc rate Response Payload Network command response Network time Network binary attack Label categorized attack Label specific attack Label 
View full slide show




Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Instr cache Reg file ALU Data cache Reg file Instr cache Reg file ALU Data cache Reg file Reg file ALU Data cache Instr 3 Instr 5 Instr 4 Instr cache Cycle 7 Cycle 8 Cycle 9 Cycle 2 Cycle 3 Writes into $8 Bubble Reg file Task dimension Cycle 4 ALU Bubble Instr cache Reg file Cycle 5 Cycle 6 Reg file Data cache Reg file ALU Data cache Reg file Cycle 8 Cycle 9 Cycle 7 Without data forwarding, three bubbles are needed to resolve a read-after-write data dependency Reads from $8 Time dimension Instr cache Instr 3 Instr 2 Instr 1 Bubble Instr cache Cycle 1 ALU Data cache Reg file Instr cache Reg file ALU Data cache Reg file ALU Data cache Reg file Reg file ALU Data cache Reg file Instr cache Reg file ALU Data cache Bubble Reg file Instr cache Task dimension Writes into $8 Reg file Instr cache Instr 4 Instr 5 Cycle 6 Time dimension Instr 2 Instr 1 Inserting Bubbles in a Pipeline Bubble Two bubbles, if we assume that a register can be updated and read from in one cycle Reads from $8 Reg file Computer Architecture, Data Path and Control Slide 48
View full slide show




Acronyms • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • MTS – Message Transceiver Service NCW – Network Centric • FRP – Full Rate Production 3CE – Cross-Command Collaborative Effort Warfare • FSE – FCS Simulation Environment ACS – Aerial Common Sensor • NEC2 – Networked Effects Command & Control AKO – Army Knowledge On-Line • HLA - RTI – High Level Architecture – Run Time Interface • NVIG – Night Vision Image Generator ALCES - Aggregate Level Communications Effects Service • HC-NEBC – Human Centric – Network Enabled Battle Command • OCS – Organic Communications Service AMS – Aviation Mobility Service • OneSAF – One Semi-Automated Forces • HPM – Human Performance Model AMSWG – (OSD) Acquisition Modeling & Simulation • OOS – OneSAF Objective System • IDE – Integrated Development Environment Working Group • OTB – OneSAF Testbed Baseline • IOC – Initial Operational Capability ARMS – Armaments Service • OTC – Operational Test Command • IOT&E – Initial Operational Test and Evaluation ATC – Automated Test Capability • PEO – Program Executive Office ATEC – Army Test and Evaluation Command • IER – Information Exchange Requirement • PM – Product, or Program or Project Manager ATIN – ATEC Test Integration Network • R2S – Relative Roles Server • IP03 – Integrated Process 03, Networked Fires AUTL – Army Universal Task List • RDECOM – Research, Development, & Engineering Command • IPT – Integrated Process Team BCT – Brigade Combat Team • RDEC – Research, Development & Engineering Center • IWARS/DI – Infantry Warrior Simulation/Dismounted Infantry • S3E – Systems Engineering, Experimentation, and Enterprise BLCSE – Battle Lab Collaborative Simulation Environment • JCAS – Joint Close Air Support • SANDS – Situational Awareness Normalization & Dissemination C3HPM – Command, Control, & Communications Human Service Performance Model • JCIDS – Joint Combat Integrated Defense System • SE – Systems Engineering • JROC – Joint Requirements Oversight Council C3GRID – Command & Control, Computer GRID • Sim Init – Simulation Initialization CES – Communications Effects Server • JSBE – Joint Service Battlespace Environment • SNE – Synthetic Natural Environment CMS – Countermine Server • KPP – Key Performance Parameters • SoS – System of System CMS2 – Comprehensive Munitions & Sensor Server • LSI – Lead Systems Integrator (FCS) • SoSE – System of System Engineering CSAT – C4ISR Static Analysis Tool • SOSCOE – System of Systems Common Operating Environment • LVC – Live Virtual Constructive C4ISR – Command & Control, Communications, • STEM – Science and Technology Enterprise Management • LVCI - Live Virtual Constructive Interoperability Computers, Intelligence, Surveillance and Reconnaissance • S&T – Science and Technology DCARS – Data Collection, Analysis & Reporting System• LVS – Lethality/Vulnerability Service • TENA – Test & Training Enabling Architecture DCA – Data Collection & Analysis • MATREX – Modeling Architecture for Technology, Research, & • TIE – Technical Integration Event DCAT – Data Collection & Analysis Tool EXperimentation • TRADOC – Training & Doctrine Command DES – Damage Effects Server • MC2 – Mobile Command & Control • UAV – Unmanned Aerial Vehicle DOTMLPF – Doctrine, Organization, Training, Materiel,• MDA – Model Driven Architecture • UC – Universal Controller Leadership, Personnel & Facilities • UJTL – Universal Joint Task List • MMIC – MATREX Middleware Independence Capability DOS – Dynamic Organization Service • USAF – United States Air Force • MOE – Measures of Effectiveness DTC – Developmental Test Command • USMC – United States Marine Corps • MOP – Measures of Performance DTE – Distributed Test Event • VDMS – Vehicle Dynamics & Mobility Service DT&E – Developmental Test and Evaluation • M&S – Modeling and Simulation • V&V – Verification and Validation DVL – Distributed Virtual Laboratory • VV&A – Verification, Validation & Accreditation • MSDE – Military Scenario Development Environment • WECM – Warfighter Electronic Collection and Mapping EE – Effects Engine • MSDL – Military Scenario Definition Language • WI – Warfighter Interface FCS – Future Combat Systems • MSLS – Missile Service FOC – Full Operational Capability • MSO – PM FCS (BCT) Modeling & Simulation Office FOM – Federation Object Model
View full slide show




I/O Structure  After I/O starts, control returns to user program without waiting for I/O completion  System call – request to the operating system to allow user to wait for I/O completion  Device-status table contains entry for each I/O device indicating its type, address, and state  Operating system indexes into I/O device table to determine device status and to modify table entry to include interrupt Operating System Concepts with Java – 8th Edition 1.13 Silberschatz, Galvin and Gagne ©2009
View full slide show




Operating System Services  Operating systems provide an environment for execution of programs and services to programs and users  One set of operating-system services provides functions that are helpful to the user:  User interface - Almost all operating systems have a user interface (UI).  Varies between Command-Line (CLI), Graphics User Interface (GUI), Batch  Program execution - The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error)  I/O operations - A running program may require I/O, which may involve a file or an I/O device  File-system manipulation - The file system is of particular interest. Programs need to read and write files and directories, create and delete them, search them, list file Information, permission management. Operating System Concepts – 8th Edition 2.4 Silberschatz, Galvin and Gagne ©2009
View full slide show