Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

When a file is mmap'd into memory, when is its contents loaded from disk? How can you verify this using 3000test? /* 3000test.c */ 2

When a file is mmap'd into memory, when is its contents loaded from disk? How can you verify this using 3000test?

/* 3000test.c */ 
 2 
 3 
 4 
 5 
 6 
 7 #include  
 8 #include  
 9 #include  
10 #include  
11 #include  
12 #include  
13 #include  
14 #include  
15 #include  
16 
17 void report_error(char *error) 
18 { 
19 fprintf(stderr, "Error: %s ", error); 
20 
21 exit(-1); 
22 } 
23 
24 int main(int argc, char *argv[]) 
25 { 
26 struct stat statbuf; 
27 char *fn; 
28 int fd; 
29 size_t len, i, count; 
30 
31 char *data; 
32 
33 if (argc < 2) { 
34 if (argc < 1) { 
35 report_error("no command line"); 
36 fprintf(stderr, "Usage: %s  ", argv[0]); 
37 } else { 
38 report_error("Not enough arguments"); 
39 fprintf(stderr, "Usage: %s  ", argv[0]); 
40 } 
41 } 
42 
43 fn = argv[1]; 
44 
45 if (stat(fn, &statbuf)) { 
46 report_error(strerror(errno)); 
47 } 
48 
49 len = statbuf.st_size; 
50 printf("File %s:  ", fn); 
51 printf(" inode %ld ", statbuf.st_ino); 
52 printf(" length %ld ", len); 
53 
54 if (S_ISREG(statbuf.st_mode)) { 
55 fd = open(fn, O_RDONLY); 
56 if (fd == -1) { 
57 report_error(strerror(errno)); 
58 } 
59 data = (char *) mmap(NULL, len, 
60 PROT_READ, MAP_SHARED, fd, 0); 
61 if (data == MAP_FAILED) { 
62 report_error(strerror(errno)); 
63 } 
64 
65 count = 0; 
66 for (i=0; i 
67 if (data[i] == 'a') { 
68 count++; 
69 } 
70 } 
71 
72 printf(" a count %ld ", count); 
73 
74 if (munmap(data, len) == -1) { 
75 report_error(strerror(errno)); 
76 } 
77 close(fd); 
78 } 
79 
80 return 0; 
81 } 

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Excel As Your Database

Authors: Paul Cornell

1st Edition

1590597516, 978-1590597514

More Books

Students also viewed these Databases questions

Question

What criteria can be used to develop a curriculum evaluation model?

Answered: 1 week ago

Question

How do modern Dashboards differ from earlier implementations?

Answered: 1 week ago