Producer Consumer Synchronized Circular Buffer Produced 1 into cell 0 write 1 read 0 buffer: Produced 2 into cell 1 write 2 read 0 buffer: Consumed 1 from cell 0 write 2 read 1 buffer: Produced 3 into cell 2 write 3 read 1 buffer: Produced 4 into cell 3 write 4 read 1 buffer: Produced 5 into cell 4 write 0 read 1 buffer: Produced 6 into cell 0 write 1 read 1 buffer: BUFFER FULL WAITING TO PRODUCE 7 Consumed 2 from cell 1 write 1 read 2 buffer: Produced 7 into cell 1 write 2 read 2 buffer: BUFFER FULL WAITING TO PRODUCE 8 Consumed 3 from cell 2 write 2 read 3 buffer: Produced 8 into cell 2 write 3 read 3 buffer: BUFFER FULL WAITING TO PRODUCE 9 Consumed 4 from cell 3 write 3 read 4 buffer: Produced 9 into cell 3 write 4 read 4 buffer: BUFFER FULL WAITING TO PRODUCE 10 Consumed 5 from cell 4 write 4 read 0 buffer: Produced 10 into cell 4 write 0 read 0 buffer: BUFFER FULL ProduceInteger finished producing values Terminating ProduceInteger 1 -1 -1 -1 -1 1 2 -1 -1 -1 1 2 -1 -1 -1 1 2 3 -1 -1 1 2 3 4 -1 1 2 3 4 5 6 2 3 4 5 Consumed 6 from cell 0 write 0 read 1 buffer: Consumed 7 from cell 1 write 0 read 2 buffer: Consumed 8 from cell 2 write 0 read 3 buffer: Consumed 9 from cell 3 write 0 read 4 buffer: Consumed 10 from cell 4 write 0 read 0 buffer: BUFFER EMPTY ConsumeInteger retrieved values totaling: 55 Terminating ConsumeInteger 6 6 6 6 6 6 2 3 4 5 6 7 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 4 5 6 7 8 9 5 6 7 8 9 5 6 7 8 9 10 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 10 Ref: http://userhome.brooklyn.cuny.edu/irudowdky/OperatingSystems.htm & Silberschatz, Gagne, & Galvin, Operating Systems Concepts, 7th ed, Wiley (ch 1-3)
View full slide show




Not All 20 Point Fonts Are Equal 20  A - Can You Read B - Can You Read C - Can You Read D - Can You Read E - Can You Read F - Can You Read G - Can You Read H - Can You Read I - Can You Read 16  J - Can You Read K - Can You Read L - Can You Read M - Can You Read N - Can You Read O - Can You Read P - Can You Read Q - Can You Read R - Can You Read 14  J - Can You Read K - Can You Read L - Can You Read M - Can You Read O - Can You Read P - Can You Read Q - Can You Read R - Can You Read 12  J - Can You Read K - Can You Read L - Can You Read M - Can You Read N - Can You Read O - Can You Read P - Can You Read Q - Can You Read R - Can You Read My Students Tell Me That They Like The Readability Of Ariel Font I never use fonts smaller than 20 point for lecture.
View full slide show




Error Handling  OS can recover from disk read, device unavailable, transient write failures  Retry a read or write, for example  Some systems more advanced – Solaris FMA, AIX  Track error frequencies, stop using device with increasing frequency of retry-able errors  Most return an error number or code when I/O request fails  System error logs hold problem reports Operating System Concepts – 9th Edition 13.30 Silberschatz, Galvin and Gagne ©2013
View full slide show




Error Handling  OS can recover from disk read, device unavailable, transient write failures  Most return an error number or code when I/O request fails  System error logs hold problem reports Operating System Concepts with Java – 8th Edition 12.45 Silberschatz, Galvin and Gagne ©2009
View full slide show




Error Handling  OS can recover from disk read, device unavailable, transient write failures  Most return an error number or code when I/O request fails  System error logs hold problem reports Operating System Concepts – 8th Edition 13.25 Silberschatz, Galvin and Gagne ©2009
View full slide show




The New Stack – Process Is the Next Platform Client Punch Card or Terminal Custom (10’s of users) Application Data Management Applicatio n OS and Databas e Mainframe 4 Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Request Form Any Device (Millions of users) PC or Internet (1000’s of users) Composites Applicatio n Applicatio n Applicatio n OS OS OS DB OS Client Server OS OSApplicatio ns OS OS DB OS DB OS DB OS OS SOA Magal and Word ! Essentials of Business Processes and Information Systems | © 2009 Composites OS OSApplicatio ns OS OS DB OS DB OS DB OS OS
View full slide show




Disk Management     Low-level formatting, or physical formatting — Dividing a disk into sectors that the disk controller can read and write  Each sector can hold header information, plus data, plus error correction code (ECC)  Usually 512 bytes of data but can be selectable To use a disk to hold files, the operating system still needs to record its own data structures on the disk  Partition the disk into one or more groups of cylinders, each treated as a logical disk  Logical formatting or “making a file system”  To increase efficiency most file systems group blocks into clusters  Disk I/O done in blocks  File I/O done in clusters Boot block initializes system  The bootstrap is stored in ROM  Bootstrap loader program stored in boot blocks of boot partition Methods such as sector sparing used to handle bad blocks Operating System Concepts Essentials – 8 th Edition 11.28 Silberschatz, Galvin and Gagne ©2011
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




Disk Management   Low-level formatting, or physical formatting — Dividing a disk into sectors that the disk controller can read and write  Each sector can hold header information, plus data, plus error correction code (ECC)  Usually 512 bytes of data but can be selectable To use a disk to hold files, the operating system still needs to record its own data structures on the disk  Partition the disk into one or more groups of cylinders, each treated as a logical disk  Logical formatting or “making a file system”  To increase efficiency most file systems group blocks into clusters  Disk I/O done in blocks  File I/O done in clusters Operating System Concepts Essentials – 2nd Edition 9.29 Silberschatz, Galvin and Gagne ©2013
View full slide show




Disk Management  Low-level formatting, or physical formatting — Dividing a disk into sectors that the disk controller can read and write  To use a disk to hold files, the operating system still needs to record its own data structures on the disk  Partition the disk into one or more groups of cylinders  Logical formatting or “making a file system”  To increase efficiency most file systems group blocks into clusters  Disk I/O done in blocks  File I/O done in clusters  Boot block initializes system  The bootstrap is stored in ROM  Bootstrap loader program  Methods such as sector sparing used to handle bad blocks Operating System Concepts with Java – 8th Edition 12.18 Silberschatz, Galvin and Gagne ©2009
View full slide show




ASCII Confirmation Program #3 ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code # # # # # # # # # # # # # # # # 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: @ A B C D E F G H I J K L M N O ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII Characters & Strings Lesson 1 CS1313 Fall 2016 Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code # # # # # # # # # # # # # # # # 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: P Q R S T U V W X Y Z [ \ ] ^ _ 16
View full slide show




ASCII Confirmation Program #4 ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code # 96 # 97 # 98 # 99 #100 #101 #102 #103 #104 #105 #106 #107 #108 #109 #110 #111 is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: ‘ a b c d e f g h i j k l m n o ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII Characters & Strings Lesson 1 CS1313 Fall 2016 Code Code Code Code Code Code Code Code Code Code Code Code Code Code Code #112 #113 #114 #115 #116 #117 #118 #119 #120 #121 #122 #123 #124 #125 #126 is: is: is: is: is: is: is: is: is: is: is: is: is: is: is: p q r s t u v w x y z { | } ~ 17
View full slide show




Disk Scheduling (Cont.)  There are many sources of disk I/O request  OS  System processes  Users processes  I/O request includes input or output mode, disk address, memory address, number of sectors to transfer  OS maintains queue of requests, per disk or device  Idle disk can immediately work on I/O request, busy disk means work must queue  Optimization algorithms only make sense when a queue exists  Note that drive controllers have small buffers and can manage a queue of I/O requests (of varying “depth”)  Several algorithms exist to schedule the servicing of disk I/O requests  The analysis is true for one or many platters  We illustrate scheduling algorithms with a request queue (0-199) 98, 183, 37, 122, 14, 124, 65, 67 Head pointer 53 Operating System Concepts Essentials – 8 th Edition 11.17 Silberschatz, Galvin and Gagne ©2011
View full slide show




Write-back State Machine-III CPU Read hit • State machine for CPU requests for each cache block and for bus requests for each cache block Write miss for this block Shared CPU Read Invalid (read/only) Place read miss on bus CPU Write Place Write Miss on bus Write miss CPU read miss CPU Read miss for this block Write back block, Place read miss Write Back Place read miss on bus CPU Write Block; (abort on bus Place Write Miss on Bus memory access) Cache Block State CPU read hit CPU write hit 03/24/19 Exclusive (read/write) Read miss for this block Write Back Block; (abort memory access) CPU Write Miss Write back cache block Place write miss on bus 39
View full slide show




Write-back State Machine - All Requests CPU Read hit • State machine for CPU requests for each cache block and for bus requests for each cache block Write miss for this block Shared CPU Read Invalid (read/only) Place read miss on bus CPU Write Place Write Miss on bus Write miss CPU Read miss CPU read miss for this block Place read miss Write Back Write back block, on bus Block; (abort Place read miss CPU Write memory on bus access) Place Write Miss on Bus Read miss Cache Block for this block Write Back States Exclusive Block; (abort (read/write) memory access) CPU read hit CPU Write Miss Write back cache block CPU write hit Place write miss on bus 38 3/24+4/5-7/10 CSE502-S10, Lec 16-18-SMP
View full slide show




6. The Persistence of File System Metadata: The HDFS namespace is stored by the NameNode. The NameNode uses a transaction log called the EditLog to persistently record every change that occurs to file system metadata. For example, creating a new file in HDFS causes the NameNode to insert a record into the EditLog indicating this. Similarly, changing the replication factor of a file causes a new record to be inserted into the EditLog. The NameNode uses a file in its local host OS file system to store the EditLog. The entire file system namespace, including the mapping of blocks to files and file system properties, is stored in a file called the FsImage. The FsImage is stored as a file in the NameNode’s local file system too. The NameNode keeps an image of the entire file system namespace and file Blockmap in memory. This key metadata item is designed to be compact, such that a NameNode with 4 GB of RAM is plenty to support a huge number of files and directories. When the NameNode starts up, it reads the FsImage and EditLog from disk, applies all the transactions from the EditLog to the in-memory representation of the FsImage, and flushes out this new version into a new FsImage on disk. It can then truncate the old EditLog because its transactions have been applied to the persistent FsImage. This process is called a checkpoint. In the current implementation, a checkpoint only occurs when the NameNode starts up. Work is in progress to support periodic checkpointing in the near future. The DataNode stores HDFS data in files in its local file system. The DataNode has no knowledge about HDFS files. It stores each block of HDFS data in a separate file in its local file system. The DataNode does not create all files in the same directory. Instead, it uses a heuristic to determine the optimal number of files per directory and creates subdirectories appropriately. It is not optimal to create all local files in the same directory because the local file system might not be able to efficiently support a huge number of files in a single directory. When a DataNode starts up, it scans through its local file system, generates a list of all HDFS data blocks that correspond to each of these local files and sends this report to the NameNode: this is the Blockreport. 7. The Communication Protocols: All HDFS communication protocols are layered on top of the TCP/IP protocol. A client establishes a connection to a configurable TCP port on the NameNode machine. It talks the ClientProtocol with the NameNode. The DataNodes talk to the NameNode using the DataNode Protocol. A Remote Procedure Call (RPC) abstraction wraps both the Client Protocol and the DataNode Protocol. By design, the NameNode never initiates any RPCs. Instead, it only responds to RPC requests issued by DataNodes or clients. 8. Robustness: The primary objective of HDFS is to store data reliably even in the presence of failures. The three common types of failures are NameNode failures, DataNode failures and network partitions. 8.1. Data Disk Failure, Heartbeats and Re-Replication: Each DataNode sends a Heartbeat message to the NameNode periodically. A network partition can cause a subset of DataNodes to lose connectivity with the NameNode. The NameNode detects this condition by the absence of a Heartbeat message. The NameNode marks DataNodes without recent Heartbeats as dead and does not forward any new IO requests to them. Any data that was registered to a dead DataNode is not available to HDFS any more. DataNode death may cause the replication factor of some blocks to fall below their specified value. The NameNode constantly tracks which blocks need to be replicated and initiates replication whenever necessary. The necessity for re-replication may arise due to many reasons: a DataNode may become unavailable, a replica may become corrupted, a hard disk on a DataNode may fail, or the replication factor of a file may be increased. 8.2. Cluster Rebalancing: HDFS arch is compatible with data rebalancing . A scheme might automatically move data from 1 DataNode to another if the free space on a DataNode falls below a certain threshold. In the event of a sudden high demand for a particular file, a scheme might dynamically create additional replicas and rebalance other data in the cluster. These types of data rebalancing schemes are not yet implemented. 8.3. Data Integrity: It is possible that a block of data fetched from a DataNode arrives corrupted. This corruption can occur because of faults in a storage device, network faults, or buggy software. The HDFS client software implements checksum checking on the contents of HDFS files. When a client creates an HDFS file, it computes a checksum of each block of the file and stores these checksums in a separate hidden file in the same HDFS namespace. When a client retrieves file contents it verifies that the data it received from each DataNode matches the checksum stored in the associated checksum file. If not, then the client can opt to retrieve that block from another DataNode that has a replica of that block.
View full slide show




IEEE Std 1076.3 Packages Numeric_Bit  Comparison operators - various combinations of signed and unsigned arguments FUNCTION FUNCTION “>” “>” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION “<” (l,r:unsigned) RETURN boolean; FUNCTION “<” (l,r:unsigned) RETURN boolean; FUNCTION FUNCTION “<=” “<=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION “>=” (l,r:unsigned) RETURN boolean; FUNCTION “>=” (l,r:unsigned) RETURN boolean; FUNCTION FUNCTION “=” “=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION FUNCTION “/=” “/=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean;  Shift and rotate functions FUNCTION FUNCTION shift_left shift_left (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION shift_right (arg:unsigned; count:natural) RETURN FUNCTION shift_right (arg:unsigned; count:natural) RETURN unsigned; unsigned; FUNCTION rotate_left (arg:unsigned; count:natural) RETURN unsigned; FUNCTION rotate_left (arg:unsigned; count:natural) RETURN unsigned; FUNCTION FUNCTION rotate_right rotate_right (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION FUNCTION sll sll (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION slr (arg:unsigned; count:natural) RETURN unsigned; FUNCTION slr (arg:unsigned; count:natural) RETURN unsigned; FUNCTION FUNCTION rol rol (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION ror (arg:unsigned; count:natural) RETURN unsigned; FUNCTION ror (arg:unsigned; count:natural) RETURN unsigned; 24/03/19 UAH-CPE528 8
View full slide show




IEEE Std 1076.3 Packages Numeric_Bit  Comparison operators - various combinations of signed and unsigned arguments FUNCTION FUNCTION “>” “>” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION “<” (l,r:unsigned) RETURN boolean; FUNCTION “<” (l,r:unsigned) RETURN boolean; FUNCTION FUNCTION “<=” “<=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION “>=” (l,r:unsigned) RETURN boolean; FUNCTION “>=” (l,r:unsigned) RETURN boolean; FUNCTION FUNCTION “=” “=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean; FUNCTION FUNCTION “/=” “/=” (l,r:unsigned) (l,r:unsigned) RETURN RETURN boolean; boolean;  Shift and rotate functions FUNCTION FUNCTION shift_left shift_left (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION shift_right (arg:unsigned; count:natural) RETURN FUNCTION shift_right (arg:unsigned; count:natural) RETURN unsigned; unsigned; FUNCTION rotate_left (arg:unsigned; count:natural) RETURN unsigned; FUNCTION rotate_left (arg:unsigned; count:natural) RETURN unsigned; FUNCTION FUNCTION rotate_right rotate_right (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION FUNCTION sll sll (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION slr (arg:unsigned; count:natural) RETURN unsigned; FUNCTION slr (arg:unsigned; count:natural) RETURN unsigned; FUNCTION FUNCTION rol rol (arg:unsigned; (arg:unsigned; count:natural) count:natural) RETURN RETURN unsigned; unsigned; FUNCTION ror (arg:unsigned; count:natural) RETURN unsigned; FUNCTION ror (arg:unsigned; count:natural) RETURN unsigned; 24/03/19 UAH-CPE528 24
View full slide show




4. Failure Handling Failures in distributed systems are partial – some components fail while others continue to function. Hence failure handling can be difficult. Techniques can be used to: a. Detect failures: E.g. use checksums to detect corrupt data in a file/message. Other times failure can only be suspected (e.g. a remote server is down) but not detected and the challenge is to manage in the presence of such failures. b. Mask Failures: Some failures that have been detected can be masked/hidden or made less severe. E.g. messages can be retransmitted when then fail to be acknowledged. This might not help if the network is severely congested and in this case even the retransmission may not get through before timeout. Another e.g. File data can be written to a pair of disks so that if one is corrupted, the other may still be correct (redundancy to achieve fault-tolerance). c. Tolerate Failures: Most of the services on the Internet exhibit failures and it is not practical to detect or mask all the possible kinds of failures. In such cases, clients can be designed to tolerate failures. E..g. a web browser cannot reach a web server it does not make the user wait forever. It gives a message indicating that the server is unreachable and the user can try later.
View full slide show




CPE 631 AM Snoopy-Cache State Machine-III CPU Read hit State machine for CPU requests for each cache block and for bus requests for each cache block Cache State Write miss for this block Shared CPU Read Invalid (read/only) Place read miss on bus CPU Write Place Write Miss on bus Write miss CPU read miss CPU Read miss for this block Write back block, Place read miss Place read miss on bus Write Back CPU Write on bus Block; (abort Place Write Miss on Bus memory access) Block Read miss Write Back for this block Block; (abort Exclusive memory access) (read/write) CPU Write Miss CPU read hit Write back cache block CPU write hit Place write miss on bus 24/03/19 UAH-CPE631 3
View full slide show




Disk Scheduling  The operating system is responsible for using hardware efficiently — for the disk drives, this means having a fast access time and disk bandwidth  Access time has two major components  Seek time is the time for the disk to move the heads to the cylinder containing the desired sector  Rotational latency is the additional time waiting for the disk to rotate the desired sector to the disk head  Minimize seek time  Seek time  seek distance  Disk bandwidth is the total number of bytes transferred, divided by the total time between the first request for service and the completion of the last transfer Operating System Concepts with Java – 8th Edition 12.8 Silberschatz, Galvin and Gagne ©2009
View full slide show




Snoopy-Cache State Machine CPU Read hit Cache State Write miss for this block Shared CPU Read Invalid (read/only) Place read miss on bus CPU Write Place Write Miss on bus Write miss CPU read miss CPU Read miss for this block Write back block, Place read miss Place read miss on bus Write Back CPU Write on bus Block; (abort Place Write Miss on Bus memory access) Block Read miss Write Back for this block Block; (abort Exclusive memory access) (read/write) CPU Write Miss CPU read hit Write back cache block CPU write hit Place write miss on bus
View full slide show




Snoop Cache Extensions • Extensions: – Fourth State: Ownership Invalid Remote Write or Miss due to address conflict Write back block 03/24/19 Remote Write or Miss due to address conflict CPU Read Place read miss CPU Writeon bus Place Write Miss on bus Remote Read Write back CPU Write block Modified (read/write) CPU read hit CPU write hit CPU Read hit Shared (read/only) Remote – Clean exclusive state (no Read miss for private data on Place Data write) on Bus? Place Write Miss on Exclusive Bus (read/only) CPU Write Place Write Miss on Bus? – Shared-> Modified, need invalidate only (upgrade request), don’t read memory Berkeley Protocol MESI Protocol – Cache supplies data when shared state (no memory access) Illinois Protocol CPU Read hit UAH-CPE 631 18
View full slide show




Snoopy-Cache State Machine • State machine for CPU requests for each cache block and for bus requests for each cache blockWrite miss Cache State 03/24/19 CPU Read hit Write miss for this block Shared CPU Read Invalid (read/only) Place read miss on bus CPU Write Place Write Miss on bus CPU read miss CPU Read miss for this block Write back block, Place read miss Place read miss on bus Write Back CPU Write on bus Block; (abort Place Write Miss on Bus memory access) Block Read miss Write Back for this block Block; (abort Exclusive memory access) (read/write) CPU Write Miss CPU read hit Write back cache block CPU write hit Place write miss on bus UAH-CPE 631 4
View full slide show