develop a C program to apply the memory times and times, run with this shellprogram, then show the MemToal,MemFree,Active with excel file.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

By using Linux (Centos 7 or 8) develop a C program to apply the memory times and times, run with this shellprogram, then show the MemToal,MemFree,Active with excel file.

Here are the codes for reference.

Code no.1:

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <unistd.h>

 

main(int argc, char *argv[])

{

            void * p[100];

            int i,times,msize;

 

            if(argc!=3)

            {

                        times=20;

                        msize=1024;

            }

            else

            {

                        sscanf(argv[1],"%d",&times);

                        sscanf(argv[2],"%d",&msize);

                        if(msize>10240)

                                    msize=10240;

                        msize=1024*msize;

                        if(times>100)

                                    times=100;

            }         

            for( i=0; i<times; i++)

            {

                        sleep(1);

                        p[i]=malloc(msize);

            //          printf("%x.",p[i]);

            //          fflush(stdout);

                        memset(p[i],'\0',msize);

            }

            for( i=0; i<times; i++)

            {

                        free(p[i]);

                        p[i]=NULL;

            }

}

 

Code no.2:

 

#!/bin/sh

TIMES=$1

MSIZE=$2

./memalloc $TIMES $MSIZE &

echo -e "MemTotal(kB)\tMemFree(kB)\tActive(kB)"

for i in {0 $TIMES}

do

mt=`grep "MemTotal" /proc/meminfo | awk '{ print $2 }'`

mf=`grep "MemFree" /proc/meminfo | awk '{ print $2 }'`

ma=`grep "Active:" /proc/meminfo | awk '{ print $2 }'`

echo -e "$mt\t\t$mf\t\t$ma"

sleep 1

done

The results will be similar to what's below

  [root@o_s shell]# ./meminfo.sh
MemTotal(kB)   MemFree(kB)   Active(kB)
5571608       2870416       1098036
5571608       2870120       1098136
[root@o_s shell]# ./meminfo.sh
MemTotal(kB)   MemFree(kB)   Active(kB)
5571608       2870176       1098408
5571608       2869704       1098260
[root@o_s shell]#

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Public key encryption
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education