0% found this document useful (0 votes)
55 views26 pages

OS Report

The document describes a 7th semester lab report submitted by students Anurag Kumar and Isha Agarwal to their professor Neny Pandel. The report is on an operating system lab project titled "Single PDF Creation Tool". It includes sections on introduction to operating systems, virtualization, processes, process APIs, scheduling, memory management, file systems, and a description of the project code and output.

Uploaded by

Anurag Arya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views26 pages

OS Report

The document describes a 7th semester lab report submitted by students Anurag Kumar and Isha Agarwal to their professor Neny Pandel. The report is on an operating system lab project titled "Single PDF Creation Tool". It includes sections on introduction to operating systems, virtualization, processes, process APIs, scheduling, memory management, file systems, and a description of the project code and output.

Uploaded by

Anurag Arya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

Department of Computer Engineering & Information Technology

Lab Name – Operating System Lab

Project Name: SINGLE PDF CREATION TOOL

B. Tech CSE – 7th Semester

Submitted to: Submitted by:


MS. NENY PANDEL ANURAG KUMAR-
73647

1
Assistant Professor (CEIT) ISHA AGGARWAL

STUDENT DECLARATION

We declare that our 7th semester report in ‘OPERATING SYSTEM LAB’ with project named as

‘Single PDF Creation Tool’ is our own work conducted under supervision of Ms. Neny Pandel.

We further declare that to the best of our knowledge the report for B. Tech 7th Sem does

not contain part of the work which has submitted for the award of B. Tech degree either in

this or any other university without proper citation.

Student’s sign: Submitted to:

2
Ms. Neny Pandel
CERTIFICATE

This is to certify that the report entitled ‘OPERATING SYSTEM LAB' with project named as

‘PDF Merging OS Tool’ is a Bonafede report of the work carried out by Anurag Kumar and

Isha Agarwal under guidance and supervision for the partial fulfilment of degree of the B.

Tech CSE at Suresh Gyan Vihar University Jaipur.

To the best of our knowledge and belief, this work embodies the work of candidates

themselves, has duly been completed, fulfils the requirement of the ordinance relating to

the bachelor’s degree of the university and is up to the standard in respect of content,

presentation, and language for being referred to the examiner.

Ms. Neny Pandel

Assistant Professor (CEIT)

3
ACKNOWLEDGEMENT

Working in good environment and motivation enhance the quality of the work and We get it

from our university through our Operating System Lab. We have been permitted to take this

golden opportunity under the expert guidance of Ms. Neny Pandel from Suresh Gyan Vihar

University, Jaipur. We are heartily thankful to her to make complete our lab successfully.

She has given us her full experience and extra knowledge in practical field. Finally, we thank

all the people who had directly or indirectly help as to complete my project.

ANURAG KUMAR – 73647

4
TABLE OF CONTENTS

Sr. No Content Page No.

1 Introduction to Operating System 7

2 Virtualization 9

3 The Abstraction: The Process 12

4 Interlude: Process API 15

5 Mechanism: Limited Direct Execution 16

6 Scheduling: Introduction 17

7 The Multi-Level Feedback Queue 18

8 Proportional Share 19

9 Multiprocessor Scheduling 21

10 Summary Dialogue on CPU virtualization 22

11 A Dialogue on Memory virtualization 23

12 The Abstraction: Address Spaces 24

13 Interlude: Memory API 26

14 Performance Log Services 28

15 System Activity Reporter(sar) 29

16 The Andrew File System (AFS) 30

17 LBMT Summary 31

18 Summary 32

5
19 Scope and Analysis 33

20 Technologies Used 34

21 Code 35

22 Output 38

23 Conclusion 39

24 Reference 40

6
Introduction to Operating System

If you are taking an undergraduate operating systems course, you should already have some

idea of what a computer program does when it runs. If not, this book (and the

corresponding course) is going to be difficult — so you should probably stop reading this

book, or run to the nearest bookstore and quickly consume the necessary background

material before continuing (both Pat & Patel [PP03] and Bryant & O’Halloran [BOH10] are

pretty great books). So, what happens when a program runs? Well, a running program does

one very simple thing: it executes instructions. Many millions (and these days, even billions)

of times every second, the processor fetches an instruction from memory, decodes it (i.e.,

figures out which instruction this is), and executes it (i.e., it does the thing that it is supposed

to do, like add two numbers together, access memory, check a condition, jump to a

function, and so forth). After it is done with this instruction, the processor moves on to the

next instruction, and so on, and so on, until the program finally completes1 . Thus, we have

just described the basics of the Von Neumann model of computing2 . Sounds simple, right?

But in this class, we will be learning that while a program runs, a lot of other wild things are

going on with the primary goal of making the system easy to use. There is a body of

software, in fact, that is responsible for making it easy to run programs (even allowing you

to seemingly run many at the same time), allowing programs to share memory, enabling

programs to interact with devices, and other fun stuff like that. process monitoring. These

tools are primarily divided into two main categories: real time and log-based.

7
Real time monitoring tools are concerned with measuring the current system state and

provide up to date information about the system performance. Log-based monitoring tools

record system performance information for post-processing and analysis and to find trends

in the system performance. In addition to these categories, this survey will look at Windows-

based tools and Unix-based tools, since the tools are very different for these two common

operating system types. Real Time Monitoring Tools are concerned with monitoring and

displaying the current system performance. They sum up the performance for a particular

factor with a single number. Typically, these tools rely on system calls that are built into the

operating system to extract the performance readings. Because these calls are built into the

operating system, they do affect the system performance, sometimes significantly. They are

also very difficult to change since the operating system source code is not usually readily

available. I will describe a number of the most common operating system and process

performance monitoring tools for Windows and Unix systems in the following sections.

8
THE PROCESS

we discuss one of the most fundamental abstractions that the OS provides to users: the

process. The definition of a process, informally, is quite simple: it is a running program

[V+65,BH70]. The program itself is a lifeless thing: it just sits there on the disk, a bunch of

instructions (and maybe some static data), waiting to spring into action. It is the operating

system that takes these bytes and gets them running, transforming the program into

something useful. It turns out that one often wants to run more than one program at once;

for example, consider your desktop or laptop where you might like to run a web browser,

mail program, a game, a music player, and so forth. In fact, a typical system may be

seemingly running tens or even hundreds of processes at the same time. Doing so makes the

system easy to use, as one never need be concerned with whether a CPU is available; one

simply runs programs short history is shown on a graph, but once again, none of this data is

logged for comprehensive analysis. Task Manager's data is updated every one second by

default, but it can be changed to one of three present values or set to only update manually.

It is highly integrated into the operating system, and it is not designed to log any of its

performance measures for performance analysis or system evaluation. However, it is an

invaluable tool in monitoring and adjusting the processes running on a computer. Task

Manager is also the standard for real time operating system and process monitoring tools

for Windows systems that all other tools must be evaluated against, because another tool

must provide some features not available in Task Manager for it to be considered useful.

9
10
11
INTERLUDE PROCESS API

Though we defer discussion of a real process API until a subsequent chapter, here we first

give some idea of what must be included in any interface of an operating system. These

APIs, in some form, are available on any modern operating system.

• Create: An operating system must include some method to create new processes. When

you type a command into the shell, or double-click on an application icon, the OS is invoked

to create a new process to run the program you have indicated.

• Destroy: As there is an interface for process creation, systems also provide an interface to

destroy processes forcefully. Of course, many processes will run and just exit by themselves

when complete; when they don’t, however, the user may wish to kill them, and thus an

interface to halt a runaway process is quite useful.

• Wait: Sometimes it is useful to wait for a process to stop running; thus some kind of

waiting interface is often provided.

• Miscellaneous Control: Other than killing or waiting for a process, there are sometimes

other controls that are possible. For example, most operating systems provide some kind of

method to suspend a process (stop it from running for a while) and then resume it (continue

it running).

• Status: There are usually interfaces to get some status information about a process as

well, such as how long it has run for, or what state it is in a graph or a histogram to the

colours assigned to certain counters. The current reading and statistical information are

displayed for the selected counter as the graph updates. Only one counter can be selected

at a time for displaying numerical data, but any number of counters can be included on the

12
graph at once. The Add Counters window of Performance Monitor is shown in Figure 4. This

example shows the counters and options available for a process. The list on the left lists all

the available counters for a process that can be selected for monitoring. The list on the right

shows all instances of a process object that can be selected for monitoring. Performance

objects that can be monitored, include many objects other than processes. In addition to

detailed monitors of a large set of system counters, Performance Monitor also allows the

user to set up alerts that will cause an action to occur when a specified counter exceeds a

defined threshold [Aubley01]. Alerts can be set up to log an entry, send a message, or run

any command or program whenever a counter exceeds a threshold set by the user.

13
14
SCHEDULING

Scheduling is another tool for Windows process performance monitoring that is primarily

useful for real-time monitoring of process performance. It provides functionality like that of

Task Manager but without any control over processes. It simply outputs process

performance measurements to the command prompt windows. Process Monitor is not very

configurable and only has one update rate: every five seconds. Like Task Manager and

Performance Monitor, Process Monitor gets its performance measures via the system

counters. The advantage of Process Monitor over Task Manager is more in user preference

than anything else. Some users who are more comfortable with command line interfaces or

who prefer the simplest view into the state of the processes running on a machine may

prefer

Process Monitor over Task Manager. However, there is not any data provided by Process

Monitor that is not also displayed in Task Manager.

15
The Multi-Level Feedback Queue

Scheduling the Multi – Level Feedback Queue is another operating system monitoring tools

for Windows that is very similar to Performance Monitor. Like Performance Monitor,

Process Explode provides a vast amount of performance data of processes, threads,

memory, and the system in general. Most of the measurements are the same, but Process

Explode provides access to a few additional measurements of these four system objects

[Moore]. Like all of the performance measurement tools discussed thus far, measurements

are made by getting counts for various system objects. Process Monitor shows details of a

selected process's address space, its base priority, its elapsed time and how much time was

spent in user and kernel modes, and thread and other system data.

The main differences of Process Explode compared to Performance Monitor are:

• Process Explode requires no setup to see all the performance measurement

information all on one window. However, this can be a little overwhelming upon

initial use of this tool since there is so much data displayed in a single window.

• Process Explode does not update automatically, but instead only updates when the

user refreshes it manually.

• Process Explode does not include any alert or logging capabilities.

• Process Explode can change process priorities and permissions and can stop running

processes like Task Manager.

The main differences of Process Explode compared to Task Manager are:

16
• Process Explode shows many more performance measurements than Task Manager.

PROPORTIONAL SHARE

Proportional share is another tool that was introduced with the Windows NT Resource Kit

4.0. Process Viewer is very similar to Process Explode, but it shows a subset of the process

performance measurements shown by Process Explode. This is a much easier to read

interface than Process Explode's window, and still usually shows all of the details that a user

would need. Like Process Explode, Process Viewer does not update its information

automatically but instead only updates manually when a user presses the Refresh button.

Also, like Process Explode and Task Manager, Process Viewer can kill processes and view and

change process priorities. Process Viewer is most useful for examining process memory

usage. It has a separate Memory Details window that shows all the user address space

counts for a process along with the virtual memory counts.

17
PROCESS STATUS (PS)

While Task Manager and Performance Monitor are probably the most well-known real-time

performance monitoring tools for Windows systems, Process Status (ps) is almost certainly

the most widely used performance monitoring tool for Unix based systems. The ps

command provides detailed information and performance statistics about running processes

such as the names and process IDs as well as the current CPU usage [Ezolt05]. The ps

command is one of the oldest performance measurement tools for Unix systems that is still

used widely today, and it has many options and parameters that it can display.

Some of the parameters for the ps command that are most useful for process performance

monitoring include:

• pcpu - Percentage of the CPU that the process is currently using

• etime - Elapsed time since the process started

• time - CPU time used by the process

18
The Andrew File System

The other Unix tool that is almost as widely used as ps is its continuously updating

counterpart called top. Top has been one of the most used tools for monitoring real time

performance of processes in Unix systems ever since its introduction 22 years ago (1984) in

BSD Unix 4.1.

Top produces a list of all the currently running processes listed in order of CPU usage. The

top CPU users appear at the top of the list, leading to the name of this command. The list is

continuously updated at five second intervals by default, and there are options to shorten or

lengthen the update period.

Top also provides some general system information and performance measures including:

• how long the system has been running

• what the average load has been

• a summary of the running processes and their states

• average percentages of CPU time in each state

• memory statistics

• swap statistics

The process information Top provides is presented in a table with a large number of possible

fields including:

• PID - Process ID

• USER - User that started the process

19
• PRI - Process priority

• NI - Process nice value

• SIZE - Memory used by process (including code size)

• STATE - Current process state

• TIME - Total CPU time used by process

• %CPU - Percent CPU used by process

• %MEM - Percent memory used by process

• COMMAND - Process's name

All of these fields can be configured to show up in Top or not, and there are several other

fields that can be shown as well such as the page fault count and the physical memory

usage. In addition to displaying all of this information, Top also allows manipulation of

processes in a limited interactive mode. In interactive mode processes can be terminated,

their priorities can be changed, and the display can be configured for filtering and desired

formatting.

20
INTERLUDE: MEMORY API

Xosview OS Monitor (xosview) is a graphical real time system performance monitoring tool

for Unix systems that runs under the X Window System. It is very simplistic compared to the

Windows tools described thus far because it does not monitor individual process, but

instead only monitors the system as a whole. The display for xosview shows histograms of a

number of useful system parameters including CPU usage split up by process type and the

load average of processes. The complete list of system parameters that can be monitored

includes load average, CPU usage, memory usage, swap space usage, page swapping, disk

usage, and interrupt rate. Each histogram plot is color coded to represent different regions.

For example, CPU usage is split into four regions: user, nice, system, and idle. Each of these

shows up as a different colored bar representing what percentage of the total belongs to

that region. Each measurement bar is called a meter, so the bar that represents CPU usage

is referred to as the CPU meter. Xosview is highly configurable, with options to turn on or off

every meter and change other detailed settings like separately controlling the sample rate

for each parameter.

It is one of the easiest ways to quickly visualize the current system state in a graphical
format.

21
RTMT SUMMARY

Summarizes the real time performance monitoring tools described above including a

summary of the features, pros, and cons of each tool. The five features listed in the table

indicate whether each tool exhibits five common features of real time monitoring tools. The

graphical user interface (GUI) column indicates whether the tool has a GUI or command line

interface. The second column indicates whether the tool automatically updates its

measurements at some sample rate or if it must be updated manually. The third column

indicates whether the tool allows control over the processes it is monitoring, typically

including the ability to exit the processes and change their priorities. The fourth column

indicates whether the tool shows process performance measurements, and the fifth column

indicates whether the tool shows system performance measurements.

22
SUMMARY

Tool for single PDF creation of operating systems and processes is essential for debugging

processes and systems, effectively manage system resources, making system decisions, and

evaluating and examining systems. There are two primary types of performance monitoring

tools: those for real time performance monitoring and those for logging performance

measurements for future perusal. Real time performance monitoring tools for operating

systems and processes are typically concerned with presenting the performance

measurements to the user in a way that is well organized and easy to use. The main issue

with real time performance monitoring tools is in data resolution and presentation. The

tools try to select all data that might be useful without presenting so much data that it is

difficult to find what is needed. The most common tools used to perform real time

23
performance monitoring include Task Manager and Performance Monitor for Windows-

based systems and ps and top for Unix-based systems. Log-based performance monitoring

tools for operating systems and processes are most concerned with balancing the conflicting

goals of storing high resolution measurements with consuming the least amount of disk

space and making the logs the easiest to view. The tools try to address these goals by

allowing the user to filter the measurements to only record the information they are

concerned with and to specify the sampling rate to use based on the resolution needs and

disk space available. Also, the tools try to produce simple outputs that are highly compatible

with various post-processing tools so that the logs are easy to use.

SCOPE AND ANALYSIS

• From an accountability perspective.

• From a management perspective.

• From an evaluator perspective.

Data Analysis in terms of Operating System.

The method are :- •

categorising

• ordering

• manipulating

• summarising

Data to answer a question about evaluation.

24
CONCLUSION

Operating System Lab gave us a golden opportunity to showcase our skills we have learnt

throughout our academic sessions in Suresh Gyan Vihar University.

We have also incorporated many soft skills like time management, punctuality, team

management, etc as company thinks it is an essential part of our life and it must be learned

at point of time for self-development.

25
REFERENCES

https://www.cse.wustl.edu/~jain/cse567-06/ftp/os_monitors/index.html

http://www.microsoft.com/technet/archive/ntwrkstn/reskit/default.mspx

http://www.informit.com/articles/article.asp?p=20478&rl=1

http://www.orbit2orbit.com/gmd/tps/other/monitors.html

https://www.manageengine.com/network-monitoring/process-monitoring.html

26

You might also like