1. LECTURE ON
SYSTEM ADMINISTRATION
M.SC. COMPUTER SCIENCE III SEMESTER
SUBJECT: LINUX
UNIT 5
BY: POONAM YADAV
ASSISTANT PROFESSOR , CS
SHRI SHANKARACHARYA MAHAVIDYALAYA, JUNWANI, BHILAI
2. PROCESSES
• THE TERM PROCESS WAS FIRST USED BY THE DESIGNERS OF THE MULTICS
OPERATING SYSTEM, AN ANCESTOR OF THE UNIX OPERATING SYSTEM. PROCESS
HAS BEEN GIVEN MANY DEFINITIONS. IN THIS CHAPTER, WE USE THE INTUITIVE
DEFINITION THAT MAKES PROCESS EQUIVALENT TO TASK, AS IN
MULTIPROCESSING OR MULTITASKING. IN A SIMPLE SENSE, A PROCESS IS A
PROGRAM IN EXECUTION.
3. • AT THE LOWEST LEVEL, A PROCESS IS CREATED BY A FORK SYSTEM CALL. (ASYSTEM
CALL IS A ROUTINE THAT CAUSES THE KERNEL TO PROVIDE SOME SERVICE FOR A
PROGRAM.)
• A FORK CREATES A SEPARATE, BUT ALMOST IDENTICAL RUNNING PROCESS. THE
PROCESS THAT MAKES THE FORK SYSTEM CALL IS CALLED THE PARENT PROCESS;
THE PROCESS THAT IS CREATED BY THE FORK IS CALLED THE CHILD PROCESS. THE
TWO PROCESSES HAVE THE SAME ENVIRONMENT, THE SAME SIGNAL-HANDLING
SETTINGS, THE SAME GROUP AND USER IDS, AND THE SAME SCHEDULER CLASS AND
PRIORITY BUT DIFFERENT PROCESS ID NUMBERS.
• THE ONLY WAY TO INCREASE THE NUMBER OF PROCESSES RUNNING ON A UNIX
SYSTEM IS WITH THE FORK SYSTEM CALL. WHEN YOU RUN PROGRAMS THAT SPAWN
NEW PROCESSES, THEY DO SO BY USING THE FORK SYSTEM CALL.
4. • THERE ARE TWO CATEGORIES OF PROCESSES RUNNING ON A UNIX SYSTEM,
FOREGROUND AND BACKGROUND. A FOREGROUND PROCESS IS ONE THAT IS RUN BY
EXECUTING A COMMAND AT THE COMMAND LINE, SUCH AS THE PS COMMAND IN
THE FOLLOWING SECTION.
• WHEN RUNNING A FOREGROUND PROCESS, THE COMMAND IS EXECUTED
IMMEDIATELY THE SYSTEM WILL DEVOTE WHATEVER RESOURCES ARE NECESSARY TO
COMPLETE THE PROCESS, AND WHEN THE PROCESS IS COMPLETED-THE SHELL
PROMPT WILL APPEAR, INDICATING THAT THE PROCESS IS COMPLETE.
• A BACKGROUND PROCESS IS ONE WHERE THE PROCESS IS SCHEDULED FOR
EXECUTION AT A LATER TIME WHEN RESOURCES ARE AVAILABLE, ACCORDING TO
PRIORITIES SET BY THE SYSTEM ADMINISTRATOR.
5. PS COMMAND
• THE PS COMMAND TO SEE WHAT IS HAPPENING ON YOUR UNIX SYSTEM, USE THE
PS (PROCESS STATUS) COMMAND. THE PS COMMAND LISTS ALL OF THE ACTIVE
PROCESSES RUNNING ON THE MACHINE. IF YOU USE PS WITHOUT ANY OPTIONS,
INFORMATION IS PRINTED ABOUT THE PROCESSES ASSOCIATED WITH YOUR
TERMINAL. FOR EXAMPLE, THE OUTPUT FROM PS SHOWS THE PROCESS ID (PID),
THE TERMINAL ID (TTY), THE AMOUNT OF CPU TIME IN MINUTES AND SECONDS
THAT THE COMMAND HAS CONSUMED, AND THE NAME OF THE COMMAND, AS
SHOWN HERE:
This user has four processes attached to terminal ID
term/41; there are two Korn shells (ksh), a vi editing
session, and the ps command itself.
6. HOW TO KILL A PROCESS
• YOU MAY WANT TO STOP A PROCESS WHILE IT IS RUNNING. FOR INSTANCE, YOU
MAY BE RUNNING A PROGRAM THAT CONTAINS AN ENDLESS LOOP, SO THAT
THE PROCESS YOU CREATED WILL NEVER STOP. OR YOU MAY DECIDE NOT TO
COMPLETE A PROCESS YOU STARTED, EITHER BECAUSE IT IS HOGGING SYSTEM
RESOURCES OR BECAUSE IT IS DOING SOMETHING UNINTENDED. IF YOUR
PROCESS IS ACTIVELY RUNNING, JUST HIT THE BREAK OR DELETE KEY HOWEVER,
YOU CANNOT TERMINATE A BACKGROUND PROCESS OR ONE ATTACHED TO A
DIFFERENT TERMINAL THIS WAY, UNLESS YOU BRING IT BACK TO THE
FOREGROUND.
7. • TO TERMINATE SUCH A PROCESS, OR KILL IT, USE THE KILL COMMAND, GIVING THE
PROCESS ID AS AN ARGUMENT. FOR INSTANCE, TO KILL THE PROCESS WITH PID 2312
(AS REVEALED BY PS), TYPE
• THIS COMMAND SENDS A SIGNAL TO THE PROCESS. IN PARTICULAR, WHEN USED
WITH NO ARGUMENTS, THE KILL COMMAND SENDS THE SIGNAL 15 TO THE PROCESS.
(OVER 30 DIFFERENT SIGNALS CAN BE SENT ON UNIX SYSTEMS. SEE TABLE 11–1, IN
THE SECTION “SIGNALS AND SEMAPHORES,” FOR A LIST.) SIGNAL 15 IS THE
SOFTWARE UNIX-THE COMPLETE REFERENCE, SECOND EDITION 298 / 877
TERMINATION SIGNAL (SIGTERM) THAT IS USED TO STOP PROCESSES.
8.
9. PARENT AND CHILD PROCESSES
• PARENT AND CHILD PROCESSES WHEN YOU TYPE A COMMAND LINE ON YOUR UNIX
SYSTEM, THE SHELL HANDLES ITS EXECUTION. IF THE COMMAND IS A BUILT-IN
COMMAND KNOWN BY THE SHELL (ECHO, BREAK, EXIT, TEST, AND SO FORTH), IT IS
EXECUTED INTERNALLY WITHOUT CREATING A NEW PROCESS. IF THE COMMAND IS
NOT A BUILT-IN, THE SHELL TREATS IT AS AN EXECUTABLE FILE. THE CURRENT SHELL
USES THE SYSTEM CALL FORK AND CREATES A CHILD PROCESS, WHICH EXECUTES
THE COMMAND. THE PARENT PROCESS, THE SHELL, WAITS UNTIL THE CHILD EITHER
COMPLETES EXECUTION OR DIES, AND THEN IT RETURNS TO READ THE NEXT
COMMAND. NORMALLY WHEN THE SHELL CREATES THE CHILD PROCESS, IT
EXECUTES A WAIT SYSTEM CALL. THIS SUSPENDS OPERATION OF THE PARENT SHELL
UNTIL IT RECEIVES A SIGNAL FROM THE KERNEL INDICATING THE DEATH OF A
CHILD. AT THAT POINT, THE PARENT PROCESS WAKES UP AND LOOKS FOR A NEW
COMMAND.
10. PROCESS SCHEDULING
• AS A TIME-SHARING SYSTEM, THE UNIX SYSTEM KERNEL DIRECTLY CONTROLS
HOW PROCESSES ARE SCHEDULED. USER-LEVEL COMMANDS ARE AVAILABLE
THAT ALLOW YOU TO SPECIFY WHEN YOU WOULD LIKE PROCESSES TO BE RUN.
• THE AT COMMAND YOU CAN SPECIFY WHEN COMMANDS SHOULD BE EXECUTED
BY USING THE AT COMMAND, WHICH READS COMMANDS FROM ITS STANDARD
INPUT AND SCHEDULES THEM FOR EXECUTION. NORMALLY, STANDARD OUTPUT
AND STANDARD ERROR
• ARE MAILED TO YOU, UNLESS YOU REDIRECT THEM ELSEWHERE. UNIX ACCEPTS
SEVERAL WAYS OF INDICATING THE TIME; CONSULT THE MANUAL PAGE AT(1)
FOR ALL THE ALTERNATIVES. HERE ARE SOME EXAMPLES OF ALTERNATIVE TIME
AND DATE FORMATS:
11. • WILL MAIL YOU THE REMINDER EARLY FRIDAY MORNING. AT CONTINUES TO
READ FROM STANDARD INPUT UNTIL YOU TERMINATE INPUT WITH CTRL-D. YOU
CAN REDIRECT STANDARD OUTPUT BACK TO YOUR TERMINAL AND USE AT TO
INTERRUPT WITH A REMINDER. USE THE PS COMMAND JUST DISCUSSED TO FIND
OUT YOUR TERMINAL NUMBER. INCLUDE THIS TERMINAL NUMBER IN A
COMMAND LINE SUCH AS THIS:
12. • WILL MAIL YOU THE REMINDER EARLY FRIDAY MORNING. AT CONTINUES TO
READ FROM STANDARD INPUT UNTIL YOU TERMINATE INPUT WITH CTRL-D. YOU
CAN REDIRECT STANDARD OUTPUT BACK TO YOUR TERMINAL AND USE AT TO
INTERRUPT WITH A REMINDER. USE THE PS COMMAND JUST DISCUSSED TO FIND
OUT YOUR TERMINAL NUMBER. INCLUDE THIS TERMINAL NUMBER IN A
COMMAND LINE SUCH AS THIS:
13. • YOU SHOULD OBSERVE SOME CAUTIONS WHEN USING KILL TO END PROCESSES.
BEFORE YOU ATTEMPT TO KILL A PROCESS, YOU SHOULD ENSURE THAT YOU
HAVE CORRECTLY IDENTIFIED THE PROCESS ID (PID) YOU WISH TO KILL. IN THIS
“FAMILY” RELATIONSHIP THAT IS BUILT AS PROCESSES SPAWN OTHERS, YOU CAN
INADVERTENTLY KILL A PROCESS THAT IS THE PARENT OF THE ONE YOU WANT
TO KILL, AND LEAVE AN ORPHAN, OR-IN THE WORST CASE-A ZOMBIE (A
PROCESS THAT STILL APPEARS IN THE PROCESS TABLE AS THOUGH IT WERE
ACTIVE, BUT EITHER HAS BEEN KILLED OR HAS COMPLETED AND IS CONSUMING
NO RESOURCES).
14. CRON FACILITY
• THE CRON FACILITY IS A SYSTEM DAEMON THAT EXECUTES COMMANDS AT SPECIFIC TIMES. IT
IS SIMILAR IN SOME RESPECTS TO THE AT COMMAND (PREVIOUSLY DISCUSSED IN THIS
CHAPTER) BUT IS MUCH MORE USEFUL FOR REPETITIVE EXECUTION OF A PROCESS. THE
COMMAND AND SCHEDULE INFORMATION ARE KEPT IN THE DIRECTORY
/VAR/SPOOL/CRON/CRONTABS OR IN /USR/SPOOL/CRON/CRONTABS. EACH USER WHO IS
ENTITLED TO DIRECTLY SCHEDULE COMMANDS WITH CRON HAS A CRONTAB FILE. CRON
WAKES UP PERIODICALLY (USUALLY ONCE EACH MINUTE) AND EXECUTES ANY JOBS THAT ARE
SCHEDULED FOR THAT MINUTE. ENTRIES IN A CRONTAB FILE HAVE SIX FIELDS, AS SHOWN IN
THE FOLLOWING EXAMPLE. THE FIRST FIELD IS THE MINUTE THAT THE COMMAND IS TO RUN;
THE SECOND FIELD IS THE HOUR; THE THIRD, THE DAY OF THE MONTH; THE FOURTH, THE
MONTH OF THE YEAR; THE FIFTH, THE DAY OF THE WEEK; AND THE SIXTH IS THE COMMAND
STRING TO BE EXECUTED. ASTERISKS ACT AS WILDCARDS. IN THE CRONTAB EXAMPLE, THE
PROGRAM WITH THE PATHNAME /HOME/GATHER IS EXECUTED AND MAILED TO “MARYF”
EVERY DAY AT 6 P.M. THE PROGRAM /HOME/JAR/BIN/BACKUP IS EXECUTED EVERY DAY AT
2:30 A.M.
15. The crontab Command To make an addition in your crontab file, you use the crontab
command.
For example, you can schedule the removal of old files in your wastebasket with an entry like
this:
0 1 * * 0 cd /home/jar/.wastebasket; find . -atime +7 -exec /bin/rm -r {} 2> /dev/null ;
This entry says, “Each Sunday at 1 A.M., go to jar’s wastebasket directory and delete all files
that are more than 7 days old.” If you place this line in a file named wasterm, and issue the
command
$ crontab wasterm the line will be placed in your crontab file
16. PROCESS PRIORITIES
• PROCESSES ON A UNIX SYSTEM ARE SEQUENTIALLY ASSIGNED RESOURCES FOR
EXECUTION. THE KERNEL ASSIGNS THE CPU TO A PROCESS FOR A TIME SLICE;
WHEN THE TIME HAS ELAPSED, THE PROCESS IS PLACED IN ONE OF SEVERAL
PRIORITY QUEUES. HOW THE EXECUTION IS SCHEDULED DEPENDS ON THE
PRIORITY ASSIGNED TO THE PROCESS. SYSTEM PROCESSES HAVE A HIGHER
PRIORITY THAN ALL USER PROCESSES.
17. THE NICE COMMAND
• THE NICE COMMAND THE NICE COMMAND ALLOWS A USER TO EXECUTE A COMMAND WITH A
LOWER-THAN-NORMAL PRIORITY THE PROCESS THAT IS USING THE NICE COMMAND AND THE
COMMAND BEING RUN MUST BOTH BELONG TO THE TIME-SHARING SCHEDULING CLASS. THE
PRIOCNTL COMMAND, DISCUSSED LATER IN THIS CHAPTER, IS A GENERAL COMMAND FOR TIME-
SHARED AND REAL-TIME PRIORITY CONTROL. THE PRIORITY OF A PROCESS IS A FUNCTION OF ITS
PRIORITY INDEX AND ITS NICE VALUE. THAT IS, PRIORITY=PRIORITY INDEX+NICE VALUE.
• PRECEDING THE NORMAL COMMAND WITH THE NICE COMMAND. FOR EXAMPLE,
• THE COMMAND
• $ NICE PROOFIT
WILL RUN THE PROOFIT COMMAND WITH A PRIORITY VALUE REDUCED BY THE DEFAULT OF 10 UNITS.
THE COMMAND
$ NICE −19 PROOFIT
WILL REDUCE IT BY 19. THE INCREMENT PROVIDED TO NICE IS AN ARBITRARY UNIT, ALTHOUGH NICE
−19 WILL RUN SLOWER THAN NICE −9.
18. SLEEP COMMAND
• THE SLEEP COMMAND ANOTHER SIMPLE WAY TO AFFECT SCHEDULING IS WITH THE SLEEP COMMAND. THE SLEEP
COMMAND DOES NOTHING FOR A SPECIFIED TIME. YOU CAN HAVE A SHELL SCRIPT SUSPEND OPERATION FOR A
PERIOD BY USING SLEEP. THE COMMAND SLEEP TIME INCLUDED IN A SCRIPT WILL DELAY FOR TIME SECONDS. YOU
CAN USE SLEEP TO CONTROL WHEN A COMMA. YOU CAN ALSO USE SLEEP WITHIN A SHELL PROGRAM TO
REGULARLY EXECUTE A COMMAND. THE SCRIPT
• $ (WHILE TRUE
• > DO
• > SLEEP 600
• > FINGER BARBARA
• >DONE)
• & CAN BE USED TO WATCH WHETHER THE USER BARBARA IS LOGGED ON EVERY TEN MINUTES. SUCH A SCRIPT CAN
BE USED TO DISPLAY IN ONE WINDOW (IN A WINDOW ENVIRONMENT SUCH AS X) WHILE YOU REMAIN ACTIVE IN
ANOTHER WINDOW. ND IS RUN, AND TO REPEAT A COMMAND AT REGULAR INTERVALS
19. WAIT COMMAND
• THE WAIT COMMAND WHEN A SHELL USES THE SYSTEM CALL FORK TO CREATE A
CHILD PROCESS, IT SUSPENDS OPERATION AND WAITS UNTIL THE CHILD PROCESS
TERMINATES. WHEN A JOB IS RUN IN THE BACKGROUND, THE SHELL CONTINUES TO
OPERATE WHILE OTHER JOBS ARE BEING RUN. OCCASIONALLY, IT IS IMPORTANT IN
SHELL SCRIPTS TO BE ABLE TO RUN SIMULTANEOUS PROCESSES AND WAIT FOR THEIR
CONCLUSION BEFORE PROCEEDING WITH OTHER COMMANDS. THE WAIT COMMAND
ALLOWS THIS DEGREE OF SCHEDULING CONTROL WITHIN SHELL SCRIPTS, AND YOU
CAN HAVE SOME COMMANDS RUNNING SYNCHRONOUSLY AND OTHERS RUNNING
ASYNCHRONOUSLY. FOR EXAMPLE, THE SEQUENCE COMMAND1 > FILE1 &
COMMAND2 > FILE2 & WAIT SORT FILE1 FILE2 RUNS THE TWO COMMANDS
SIMULTANEOUSLY IN THE BACKGROUND. IT WAITS UNTIL BOTH BACKGROUND
PROCESSES TERMINATE, AND THEN IT SORTS THE TWO OUTPUT FILES.
20. SYSTEM ACCOUNTS
• SYSTEM ACCOUNTS ARE THOSE NEEDED FOR THE OPERATION OF SYSTEM-SPECIFIC
COMPONENTS FOR EXAMPLE MAIL ACCOUNTS AND THE SSHD ACCOUNTS. THESE ACCOUNTS
ARE USUALLY NEEDED FOR SOME SPECIFIC FUNCTION ON YOUR SYSTEM, AND ANY
MODIFICATIONS TO THEM COULD ADVERSELY AFFECT THE SYSTEM.
• USER ACCOUNTS
• USER ACCOUNTS PROVIDE INTERACTIVE ACCESS TO THE SYSTEM FOR USERS AND GROUPS OF
USERS. GENERAL USERS ARE TYPICALLY ASSIGNED TO THESE ACCOUNTS AND USUALLY HAVE
LIMITED ACCESS TO CRITICAL SYSTEM FILES AND DIRECTORIES.
• UNIX SUPPORTS A CONCEPT OF GROUP ACCOUNT WHICH LOGICALLY GROUPS A NUMBER OF
ACCOUNTS. EVERY ACCOUNT WOULD BE A PART OF ANOTHER GROUP ACCOUNT. A UNIX
GROUP PLAYS IMPORTANT ROLE IN HANDLING FILE PERMISSIONS AND PROCESS MANAGEMENT.
21. MANAGING USERS AND GROUPS
• THERE ARE FOUR MAIN USER ADMINISTRATION FILES −
• /ETC/PASSWD − KEEPS THE USER ACCOUNT AND PASSWORD INFORMATION.
THIS FILE HOLDS THE MAJORITY OF INFORMATION ABOUT ACCOUNTS ON THE
UNIX SYSTEM.
• /ETC/SHADOW − HOLDS THE ENCRYPTED PASSWORD OF THE CORRESPONDING
ACCOUNT. NOT ALL THE SYSTEMS SUPPORT THIS FILE.
• /ETC/GROUP − THIS FILE CONTAINS THE GROUP INFORMATION FOR EACH
ACCOUNT.
• /ETC/GSHADOW − THIS FILE CONTAINS SECURE GROUP ACCOUNT
INFORMATION.
22. S.no. Name and description
1 useradd
Adds accounts to the
system
2 usermod
Modifies account attributes
3 userdel
Deletes accounts from the
system
4 groupadd
Adds groups to the system
5 groupmod
Modifies group attributes
23. CREATE A GROUP
• WE WILL NOW UNDERSTAND HOW TO CREATE A GROUP. FOR THIS, WE NEED TO
CREATE GROUPS BEFORE CREATING ANY ACCOUNT OTHERWISE, WE CAN MAKE USE
OF THE EXISTING GROUPS IN OUR SYSTEM. WE HAVE ALL THE GROUPS LISTED IN
/ETC/GROUPS FILE.
• ALL THE DEFAULT GROUPS ARE SYSTEM ACCOUNT SPECIFIC GROUPS AND IT IS NOT
RECOMMENDED TO USE THEM FOR ORDINARY ACCOUNTS. SO, FOLLOWING IS THE
SYNTAX TO CREATE A NEW GROUP ACCOUNT −
• GROUPADD [-G GID [-O]] [-R] [-F] GROUPNAME
24. Sr.No. Option & Description
1 -g GID
The numerical value of the group's ID
2 -o
This option permits to add group with
non-unique GID
3 -r
This flag instructs groupadd to add a
system account
4 -f
This option causes to just exit with
success status, if the specified group
already exists. With -g, if the specified
GID already exists, other (unique) GID is
chosen
5 groupname
Actual group name to be created
25. MODIFY A GROUP
• TO MODIFY A GROUP, USE THE GROUPMOD SYNTAX −
• $ GROUPMOD -N NEW_MODIFIED_GROUP_NAME OLD_GROUP_NAME
• TO CHANGE THE DEVELOPERS_2 GROUP NAME TO DEVELOPER, TYPE −
• $ GROUPMOD -N DEVELOPER DEVELOPER_2
• HERE IS HOW YOU WILL CHANGE THE FINANCIAL GID TO 545 −
• $ GROUPMOD -G 545 DEVELOPER
26. CREATE AN ACCOUNT
• LET US SEE HOW TO CREATE A NEW ACCOUNT ON YOUR UNIX SYSTEM.
FOLLOWING IS THE SYNTAX TO CREATE A USER'S ACCOUNT −
• USERADD -D HOMEDIR -G GROUPNAME -M -S SHELL -U USERID ACCOUNTNAME
27. Sr.
No
.
Option & Description
1 -d homedir
Specifies home directory for the account
2 -g groupname
Specifies a group account for this account
3 -m
Creates the home directory if it doesn't exist
4 -s shell
Specifies the default shell for this account
5 -u userid
You can specify a user id for this account
6 accountname
Actual account name to be created
28. DELETE AN ACCOUNT
• THE USERDEL COMMAND CAN BE USED TO DELETE AN EXISTING USER. THIS IS A VERY
DANGEROUS COMMAND IF NOT USED WITH CAUTION.
• THERE IS ONLY ONE ARGUMENT OR OPTION AVAILABLE FOR THE COMMAND .R, FOR
REMOVING THE ACCOUNT'S HOME DIRECTORY AND MAIL FILE.
• FOR EXAMPLE, TO REMOVE ACCOUNT MCMOHD20, ISSUE THE FOLLOWING COMMAND −
• $ USERDEL -R MCMOHD20
29. DELETE A GROUP
• WE WILL NOW UNDERSTAND HOW TO DELETE A GROUP. TO DELETE AN EXISTING
GROUP, ALL YOU NEED IS THE GROUPDEL COMMAND AND THE GROUP NAME.
TO DELETE THE FINANCIAL GROUP, THE COMMAND IS −
• $ GROUPDEL DEVELOPER
• THIS REMOVES ONLY THE GROUP, NOT THE FILES ASSOCIATED WITH THAT
GROUP. THE FILES ARE STILL ACCESSIBLE BY THEIR OWNERS.
30. RESOURCES
• UNIX HAS FOLLOWING MAJOR RESOURCE TYPES THAT NEED TO BE MONITORED AND
TUNED −
• CPU
• MEMORY
• DISK SPACE
• COMMUNICATIONS LINES
• I/O TIME
• NETWORK TIME
• APPLICATIONS PROGRAMS
31. • USER STATE CPU
• THE ACTUAL AMOUNT OF TIME THE CPU SPENDS RUNNING THE USERS’
PROGRAM IN THE USER STATE. IT INCLUDES THE TIME SPENT EXECUTING
LIBRARY CALLS, BUT DOES NOT INCLUDE THE TIME SPENT IN THE KERNEL ON ITS
BEHALF
32. • SYSTEM STATE CPU
• THIS IS THE AMOUNT OF TIME THE CPU SPENDS IN THE SYSTEM STATE ON
BEHALF OF THIS PROGRAM. ALL I/O ROUTINES REQUIRE KERNEL SERVICES. THE
PROGRAMMER CAN AFFECT THIS VALUE BY BLOCKING I/O TRANSFERS
33. • I/O TIME AND NETWORK TIME
• THIS IS THE AMOUNT OF TIME SPENT MOVING DATA AND SERVICING I/O
REQUESTS
34. • VIRTUAL MEMORY PERFORMANCE
• THIS INCLUDES CONTEXT SWITCHING AND SWAPPING
35. • APPLICATION PROGRAM
• TIME SPENT RUNNING OTHER PROGRAMS - WHEN THE SYSTEM IS NOT
SERVICING THIS APPLICATION BECAUSE ANOTHER APPLICATION CURRENTLY HAS
THE CPU
36. PERFORMANCE TOOLS
• PERFORMANCE TOOLS
• UNIX PROVIDES FOLLOWING IMPORTANT TOOLS TO MEASURE AND FINE TUNE
UNIX SYSTEM PERFORMANCE −
37. PERFORMANCE TOOLS
Sr.No. Command & Description
1 nice/renice
Runs a program with modified
scheduling priority
2 netstat
Prints network connections, routing
tables, interface statistics,
masquerade connections, and
multicast memberships
3 time
Helps time a simple command or
give resource usage
4 uptime
This is System Load Average
5 ps
Reports a snapshot of the current
processes
6 vmstat
Reports virtual memory statistics
7 gprof
Displays call graph profile data
8 prof
Facilitates Process Profiling
9 top
Displays system tasks
38. WHAT IS X-WINDOW
• THE X WINDOW SYSTEM (X11) IS AN OPEN SOURCE, CROSS PLATFORM, CLIENT-
SERVER COMPUTER SOFTWARE SYSTEM THAT PROVIDES A GUI IN A DISTRIBUTED
NETWORK ENVIRONMENT. USED PRIMARILY ON UNIX VARIANTS, X VERSIONS ARE
ALSO AVAILABLE FOR OTHER OPERATING SYSTEMS. FEATURES OF THE X WINDOW
SYSTEM INCLUDE NETWORK TRANSPARENCY, THE ABILITY TO LINK TO DIFFERENT
NETWORKS, AND CUSTOMIZABLE GRAPHICAL CAPABILITIES. THE X WINDOW SYSTEM
WAS FIRST DEVELOPED IN 1984, AS PART OF PROJECT ATHENA, COLLABORATION
BETWEEN STANFORD UNIVERSITY AND MIT. X.ORG FOUNDATION, AN OPEN GROUP,
MANAGES THE DEVELOPMENT AND STANDARDIZATION OF THE X WINDOW SYSTEM.
• THE X WINDOW SYSTEM IS ALSO KNOWN SIMPLY AS X, X11 OR X WINDOWS.
39. WHAT IS X-WINDOW
• THE X WINDOW SYSTEM WAS THE RESULT OF RESEARCH EFFORTS IN THE EARLY
1980S AT STANFORD UNIVERSITY AND MIT, AIDED BY IBM, TO DEVELOP A
PLATFORM-INDEPENDENT GRAPHICS PROTOCOL. THE X WINDOW SYSTEM IS AN
OPEN STANDARD THAT IS MANAGED BY THE X.ORG CONSORTIUM. ALTHOUGH
MICROSOFT HAS ITS OWN PLATFORM-DEPENDENT WINDOWING SYSTEM (AN
INTEGRAL PART OF THE WINDOWS 95/98/NT OPERATING SYSTEMS), THERE ARE
VENDOR-SUPPLIED X WINDOWS PRODUCTS THAT CAN BE INSTALLED TO RUN ON
THESE SYSTEMS.
40. THANKS!!!
• UNIX AND SHELL PROGRAMMING: A TEXTBOOK BEHROUZ A.
FOROUZAN, RICHARD F. GILBERG
• INTRODUCTION TO UNIX AND SHELL PROGRAMMING BOOKS.GOOGLE.CO.IN ›
BOOKS
• M. G. VENKATESHMURTHY
• TUTORIAL POINT