Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Lets begin the class by exploring the differences between application software a

ID: 3839678 • Letter: L

Question

Lets begin the class by exploring the differences between application software and system software. Most of you will probably have the bulk of your experience with application software..... but what does that mean? Can you tell me which of the following are System Software and which are Applications:

- Web Browser

- Java Run Time

- Microsoft Access Database

- Printer Driver

- Process Scheduler

- Microsoft Word

- A Windows XP VM (Virtual Machine) running on a Windows 7 machine

As a second topic I would like to get you thinking about the kernel. Years ago when I programmed in MS-DOS or Windows 3.1 I would write my application program and as part of the code I would have assembly code to access the internal registers and memory. Part of the reason was so I could make better use of the memory and another was so that I could write some graphics on the screen.

In today's general computer environment I can not do this in my application. I have to make system calls and the kernel handles these functions. Why won't Microsoft or Apple allow my application to call directly to the hardware?

Comment on another students thoughts.

Explanation / Answer

Solution:

Application software is computer software designed to help the user to perform specific tasks. Whereas, System software is computer software designed to operate the computer hardware and to provide a platform for running application software. Application Software performs in an environment which created by System/Operating System. But System Software Create his own environment to run itself and run other application. Application is not essential for a computer. But System software is essential for a computer.

Application Software in the list:

Web Browser

Java Run Time

Microsoft Access Database

Microsoft Word

System Software in the list:

Printer Driver

Windows XP VM

Process Scheduler

Reason for making system call using kernel:

There are so many complications in accessing a hardware or memory directly from an application program such no memory confliction should occur between applications. For this reason only, all hardware access activities are handled through system calls by passing the control to kernel. Moreover, now a days, many processors come involves security models such as ring model which specifies multiple privilege levels. These kind of security models restrict all application programs to use its own address space so that it cannot access or modify other running programs or the OS itself and also prevents the application from directly manipulating hardware devices. The application program will pass the system call with its privilege to the kernel. The kernel will execute the system calls based on the levels of privilege and will access the hardware to take the necessary action. In this, the application will not have the control over hardware, simply it can access kernel via system calls. The kernel in turn will process the system calls and return the output to the called application program.