Getting and displaying System Information
Objectives of this Lab:
- The objective of this assignment is to get used to the Linux platform. You will do that by writing a small program (in either C, C++ or Java) that will access system status information available from the Linux /proc directory.
- Access the (/proc) directory and know about the system information from various files in this and its sub-directories.
How to proceed with the Program:
- Information in the /proc directory is available just as though the files were regular text files. You may open those files, read out the data, save or print that data, and then close the file. Repeat for each file that you need to gather all of the needed data. When you have gathered all of the information you need, you can print your results to the display.
- Type the program into an editor and compile the program at the command prompt.
- Compiling and execution is done as in Week 4 Linux project.
- If you do not find a description of some system call by the man command, then try the Web search engine google for help (Use a Web browser to accesswww.google.com ).
Where to look for information in (/proc) directory ?
Search the (/proc ) directory and its sub-directories for the files which contain information required for this lab. You can refer to the online manual for more information on proc (man proc). For example, you can type the following in the command line
to find the hostname of the machine.
Exercise : Write a program in C or C++ or Java to display the following information.
1. General information.
In this section you will assemble some basic facts about the system
- Machine name (hostname) # get this information from /proc/sys/kernel/hostname
- System date and time # get this information from /proc/driver/rtc
- Kernel version # get this information from /proc/version
- Memory usage (used and free memory) # get this information from /proc/meminfo
2. Time information.
In this section you will print out how long the system has been up and how busy it has been.
a. Duration of uptime # get these information from /proc/uptime
b. Duration of idletime
The skeleton of the program
(1) read file “/proc/uptime” to obtain Totaltime and Idletime
(2) read file “/proc/sys/kernel/hostname” to obtain the hostname
(3) read file “/proc/version” to obtain the kernel version
(4) read file “/proc/meminfo” to obtain the amount of used memory and free memory
(5) read file “/proc/driver/rtc” to obtain time and date
Items to turn in to Week 6 dropbox:
- Source code with filename (linuxsys.c or linuxsys.cpp or linuxsys.java)
- Sample output from your program
NOTE: (IMPORTANT !!!)
- All the source file should be with enough documentation either embedded in the code or in a separate file. Insufficient documentation leads to minus points.
- Be sure to write your name, date, assignment name and a brief description of the project on the top of the file in comments.(All of this counts towards the documentation)
- Use the same file name as mentioned above (linuxsys.c or linuxsys.cpp or linuxsys.java) and submit it to Week 6 dropbox.
Total : 100%
- Execution of the program with required output : 70%
- Enough Documentation : 20%
- Submitting the sample output : 5%
- Using the same file name as mentioned above : 5%