program # 2 pgm2_5fdOS CGS3767 Operating Systems for IT Professor: Michael Robinson e-mail : michael.robinson@cs.fiu.edu ****************************************************************************** * !!!!*** USE THE TOOLS THAT WE HAVE LEARNED IN OUR CLASS ONLY ***!!!! * ****************************************************************************** This assignment is worth 6 points total, partial credit will be given, In your Ubuntu VM (virtual machine), using terminal mode ONLY, do the following: 1) Login and in your current folder, create a folder named pgm2 2) In your pgm2 folder, place the text file located at: http://users.cis.fiu.edu/~mrobi002/databases/RAMerrors8x4e *** DO NOT CHANGE THE FILE NAME Each record in this file represents the location of an error found in RAM 3) Assume you have a computer with 32 gigs of RAM, each 4 gigs in a different memory chip, therefore you have 8 (eight) 4 gigs RAM chips. The following are the memory locations for each one of the 8 (eight) RAM chips ---------- decimal address ---------- Total GIGs RAM chip 0 contain addresses: 0 - 34,359,738,368 bits = 4 RAM chip 1 contain addresses: 34,359,738,369 - 68,719,476,738 bits = 8 RAM chip 2 contain addresses: 68,719,476,739 - 103,079,215,108 bits = 12 RAM chip 3 contain addresses:103,079,215,109 - 137,438,953,478 bits = 16 RAM chip 4 contain addresses:137,438,953,479 - 171,798,691,848 bits = 20 RAM chip 5 contain addresses:171,798,691,849 - 206,158,430,218 bits = 24 RAM chip 6 contain addresses:206,158,430,219 - 240,518,168,588 bits = 28 RAM chip 7 contain addresses:240,518,168,589 - 274,877,906,958 bits = 32 I used this link to do the calculations: http://www.matisse.net/bitcalc/?input_amount=274%2C877%2C906%2C958&input_units=bits¬ation=legacy 4) In the same folder (pgm2), IN TERMINAL MODE, using any linux editor, create a Java program named: your lastName, First letter of your first name, _OS, pgm2, java example: robinsonM_OSpgm2.java This program (pgm2), in the following sequence, will do the following: 5) Open the text file ( named on question 2 above ) USING the java file commands: BufferedReader object name = new BufferedReader(new FileReader("file name")); 6) Read each record, which is the location of an error in RAM, in hex 7) Convert that hex value to binary 8) Convert the binary value to its decimal value 9) Using System.out.printf, display the RAM chip number where the error is located, for each record, as follows: Hex Error Binary Decimal Found at hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number hex number = binary number = decimal number = chip number note: Location addresses for RAM chips are decimal *** YOU MUST FOLLOW MY JAVA RULES AT: https://users.cs.fiu.edu/~mrobi002/includes/JAVA_programmingRules *** DO NOT CHANGE THE FILE NAME download the file using the wget command *** MAKE SURE THE FILE IS IN THE SAME FOLDER AS YOUR JAVA PROGRAM *** CREATE YOUR OWN METHODS THAT WILL CONVERT HEX TO BINARY AND BINARY TO DECIMAL *** DO NOT USE JAVA'S AUTOMATIC CONVERSION METHODS *** DO NOT USE JAVA'S PARSE COMMANDS *** USE System.out.printf commands ONLY to print any data *** If you can not find a chip number corresponding to the error number, display N/A Submission ---------- - Upload program source code to Canvas - Print program source code, STAPLE it, and turn it in at beggining of class on due date