Hardware – Software Interface
- In order to load and run an application program in a CPU, the computer must already have some system software running in its memory.
- An Operating System is a system software, which is responsible for the coordination of all activities in a computing system.

- A System software is a collection of programs that are executed as needed to perform functions such as:
- Receiving and interpreting user commands like a command prompt
- Entering and editing application programs and storing them as files in secondary storage devices such as a text editor
- Managing the storage and retrieval of files in secondary storage devices
- Running standard application programs such as word processor, spreadsheets, or games, with data supplied by the user
- Controlling I/O units to receive input information and produce output results
- Translating programs from source form prepared by the user into object form consisting of machine instructions
- Linking and running user-written application programs with existing standard library routines, such as numerical computation packages
Need for Compiler:
- Application programs are usually written in a high-level programming language, such as C, C++, Java, or Fortran, in which the programmer specifies mathematical or text-processing operations.
- These operations are described in a format that is independent of the particular computer used to execute the program.
- A programmer using a high-level language need not know the details of machine program instructions.
- A system software program called a compiler translates the high-level language program into a suitable machine language program containing instructions such as the Add and Load instructions that can be understood by the CPU
Need for Text Editor:
- Another important system program that all programmers use is a text editor, which is used for entering and editing application programs.
- Text editor allows the statements of a source program to be entered through a keyboard and accumulated in a file.
- A file is simply a sequence of alphanumeric characters or binary data that is stored in memory or in secondary storage.
- A file can be referred to by a name chosen by the user.
Operating
System (OS):
- Operating System (OS) is a large program, or actually a collection of routines, that is used to control the sharing of and interaction among various computer units as they execute application program.
- The OS routines perform the tasks required to assign computer resources to individual application programs. These tasks include the following:
- Assigning memory and magnetic disk space to program and data files
- Moving data between memory and disk units and
- Handling I/O operations
- In order to understand the basics of operating systems, let us consider a system with one processor, one disk, and one printer.
- Assume that an application program which involves reading a data file from the disk into the memory, performing some computation on the data, and printing the result.
- The program has been compiled from a high-level language form into a machine language form and stored on the disk.
- Now, the OS performs the execution of the program as follows:
- The first step in executing this program is to transfer this file into main memory.
- When the transfer is complete, execution of the program begins by the CPU
- When the execution of the program reaches the point where the data file is needed, the program requests the Operating System (OS) to transfer the data file from the disk to memory.
- The OS performs the transfer of file from memory and passes execution control back to the application program, which then proceeds to perform the required computation.
- When the computation is over and the results are ready to be printed, the application program again sends a request to the OS.
- The OS runs a routine which will cause the printer to print the result.
Nicely written information in this post, I prefer to read this kind of stuff. The quality of content is fine and the conclusion is excellent