Sample output for assignment 3

datafile: contains 2 lines, 1440bytes.

=============This line is the border, not part of the datafile ================

01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
0123456789012345678901234567890123456789012345678901234567890123456789012345678

=============This line is the border, not part of the datafile ================

In the following output, the cache and block size is set to:

BLOCK_SIZE = 20 bytes

CACHE_SIZE = 15 blocks

Error checks: our program should check for non-existent files, empty files, and directory files.

 

Part I: FIFO

*****************************

% make
gcc -c fifo_cache.c
gcc -c cache.c
gcc -o fifo_cache fifo_cache.o cache.o

% fifo_cache
Enter file name:test.dat
Starting seek address:0
Number of bytes:53

An error message should be printed stating either "File not found" or "User does not have permission to access this file"

% fifo_cache
Enter file name:data1
Starting seek address:0
Number of bytes:53

An error message should be printed stating that there is no valid data in this file

% fifo_cache
Enter file name:dir1
Starting seek address:0
Number of bytes:53

An error message should be printed stating that you cannot read from a directory

% fifo_cache
Enter file name:datafile
Starting seek address:0
Number of bytes:53

"/n/m/31/cs620/assigns/data-3/datafile" block 0, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 1, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 13 bytes from disk:
0123456789012

Enter file name:datafile
Starting seek address:25
Number of bytes:75

"/n/m/31/cs620/assigns/data-3/datafile" block 1, 15 bytes from cache:
567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from disk:
01234567890123456789

Enter file name:datafile
Starting seek address:0
Number of bytes:110

"/n/m/31/cs620/assigns/data-3/datafile" block 0, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 1, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 10 bytes from disk:
0123456789

Enter file name:datafile
Starting seek address:150
Number of bytes:55

"/n/m/31/cs620/assigns/data-3/datafile" block 7, 10 bytes from disk:
0123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 8, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 9, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 10, 5 bytes from disk:
01234

Enter file name:datafile
Starting seek address:89
Number of bytes:89

"/n/m/31/cs620/assigns/data-3/datafile" block 4, 11 bytes from cache:
90123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 6, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 7, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 8, 18 bytes from cache:
012345678901234567

Enter file name:datafile
Starting seek address:200
Number of bytes:150

"/n/m/31/cs620/assigns/data-3/datafile" block 10, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 11, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 12, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 13, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 14, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 15, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 16, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 17, 10 bytes from disk:
0123456789

Enter file name:datafile
Starting seek address:40
Number of bytes:59

"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 19 bytes from disk:
0123456789012345678

Enter file name:datafile
Starting seek address:40
Number of bytes:76

"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 16 bytes from disk:
0123456789012345

Enter file name:end
Program Terminated

****************************

 

[PART II] LRU Replacement Scheme

*****************************

% make
gcc -c lru_cache.c
gcc -c cache.c
gcc -o lru_cache lru_cache.o cache.o

% lru_cache
Enter file name:test.dat
Starting seek address:0
Number of bytes:53

An error message should be printed stating either "File not found" or "User does not have permission to access this file"

% lru_cache
Enter file name:data1
Starting seek address:0
Number of bytes:53

An error message should be printed stating that there is no valid data in this file

% lru_cache
Enter file name:dir1
Starting seek address:0
Number of bytes:53

An error message should be printed stating that you cannot read from a directory

% lru_cache
Enter file name:datafile
Starting seek address:0
Number of bytes:53

"/n/m/31/cs620/assigns/data-3/datafile" block 0, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 1, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 13 bytes from disk:
0123456789012

Enter file name:datafile
Starting seek address:25
Number of bytes:75

"/n/m/31/cs620/assigns/data-3/datafile" block 1, 15 bytes from cache:
567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from disk:
01234567890123456789

Enter file name:datafile
Starting seek address:0
Number of bytes:110

"/n/m/31/cs620/assigns/data-3/datafile" block 0, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 1, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 10 bytes from disk:
0123456789

Enter file name:datafile
Starting seek address:150
Number of bytes:55

"/n/m/31/cs620/assigns/data-3/datafile" block 7, 10 bytes from disk:
0123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 8, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 9, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 10, 5 bytes from disk:
01234

Enter file name:datafile
Starting seek address:89
Number of bytes:89

"/n/m/31/cs620/assigns/data-3/datafile" block 4, 11 bytes from cache:
90123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 6, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 7, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 8, 18 bytes from cache:
012345678901234567

Enter file name:datafile
Starting seek address:200
Number of bytes:150

"/n/m/31/cs620/assigns/data-3/datafile" block 10, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 11, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 12, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 13, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 14, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 15, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 16, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 17, 10 bytes from disk:
0123456789

Enter file name:datafile
Starting seek address:40
Number of bytes:59

"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from disk:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 19 bytes from cache:
0123456789012345678

Enter file name:datafile
Starting seek address:40
Number of bytes:76

"/n/m/31/cs620/assigns/data-3/datafile" block 2, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 3, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 4, 20 bytes from cache:
01234567890123456789
"/n/m/31/cs620/assigns/data-3/datafile" block 5, 16 bytes from cache:
0123456789012345

Enter file name:end
Program Terminated

Return to the CS 620 Home Page