Output //******************************************************************** // SolveTowers.java Author: Lewis/Loftus Move one disk from 1 to 2 // Move one disk from 1 to 3 // Demonstrates recursion. Move one disk from 2 to 3 //******************************************************************** Move one disk from 1 to 2 public class SolveTowers Move one disk from 3 to 1 { Move one disk from 3 to 2 //----------------------------------------------------------------Move one disk from 1 to 2 // Creates a TowersOfHanoi puzzle and solves it. Move one disk from 1 to 3 //----------------------------------------------------------------disk from public static voidMove mainone (String[] args)2 to 3 Move one disk from 2 to 1 { TowersOfHanoi towers = new TowersOfHanoi Move one disk from 3 to (4); 1 Move one disk from 2 to 3 towers.solve();Move one disk from 1 to 2 } Move one disk from 1 to 3 } Move one disk from 2 to 3
Redundant Array of Independent Disks (RAID) Data organization on multiple disks Data disk 0 Data disk 1 Data disk 2 Mirror disk 0 Mirror disk 1 RAID0: Multiple disks for higher data rate; no redundancy Mirror disk 2 RAID1: Mirrored disks RAID2: Error-correcting code DataA disk 0 DataB disk 1 DataC disk 2 Data D disk 3 Parity P disk Spare disk RAID3: Bit- or b yte-level striping with parity/checksum disk ABCDP=0 B=ACDP Data 0 Data 1 Data 2 Data 0’ Data 1’ Data 2’ Data 0” Data 1” Data 2” Data 0’” Data 1’” Data 2’” Parity 0 Parity 1 Parity 2 Spare disk RAID4: Parity/checksum applied to sectors,not bits or bytes Data 0 Data 1 Data 2 Data 0’ Data 1’ Data 2’ Data 0” Data 1” Parity 2 Data 0’” Parity 1 Data 2” Parity 0 Data 1’” Data 2’” Spare disk RAID5: Parity/checksum distributed across several disks RAID6: Parity and 2nd check distributed across several disks Fig. 19.5 RAID levels 0-6, with a simplified view of data organization. Computer Architecture, Memory System Design Slide 50