Transcript CSI3131Lab1

CSI3131 – Lab 1
Observing Process Behaviour
Running Linux under Virtual PC
 Start Virtual PC


This Windows program provides a virtual machine to
run any other operating system
It offers an environment that looks like the raw
computer system, that is, the hardware.
 Select SiteDev Machine and click Start

This will have Virtual PC start up a virtual machine and
boot the Linux OS named SiteDev
 Log in with the user “test1” and password “site”


The same password can be used to log in as root –
this is the administrator account.
It is always safer to work with a regular account to
prevent damaging important system files.
 Use this account to complete the lab.
Linux Processes
 Linux presents information on processes via the
file system



Statistics on running processes can be examined
by opening regular files.
Please note that these files do not exist on the hard
drive, but in main memory. In fact they are not files
at all, but simply system data presented as files.
The directory /proc contains a set of directories and
files that provides
•
•

Each process has a unique identifier, called the PID
(Process IDentifier). In /proc, the PID is presented
as a directory.
•

access to general OS information and
information about each process running on the
system.
The contents of the PID directory provides
information on the corresponding process.
You can obtain documentation on the proc directory
using “man proc” command
Objective of the lab
 In the first part of the lab, you shall examine how a
process executes and changes


Some utilities (shell programs) and C programs
have been provided to examine the changes in
processes (by reading the contents of the /proc
directory) as they execute different programs.
You will gain insight into the state of a process and
the difference between running in the two modes of
execution (kernel and user).
 In the second part of the lab, you shall gain
experience with your first system calls – fork,
exec, and kill


These system calls provide the means to create
new processes to run programs (fork and exec) and
to terminate processes (using kill).
Note that these are the same system calls used by
the SHELL (your CLI interface) to manipulate
processes
 You have this week and next week to
complete the lab, so take your time to
understand what you are doing.


Follow the instructions in the lab writeup.
The TA shall circulate in the room to help
answer any questions
 Good luck.