Introduction to Computer System Software and Operating Systems

 Introduction to Computer System Software and Operating Systems

1. Introduction to System Software System software is a type of computer program designed to manage hardware and provide a platform for running application software. It acts as an intermediary between the computer hardware and the user applications, ensuring smooth and efficient operation of the system.

System software is a collection of computer programs that manages the resources of a computer and facilitates access to those resources. System software acts as an intermediary between the users and the hardware,as shown in Figure 6.1. System software presents the user with a set of services and resources across the interface labeled A in Figure 6.1. These resources may actually exist, or they may be simulated by the software to give the user the illusion that they exist. The set of services and resources created by the software and seen by the user is called a virtual machine or a virtual environment. The system software, not the user, interacts with the actual hardware (that is, the naked machine) across the interface labeled Bin Figure 6.1.
The system software has the following responsibilities, analogous to those of the automobile dashboard:
  • Hides the complex and unimportant (to the user) details of the internal structure of the Von Neumann architecture
  •  Presents important information to the user in a way that is easy to understand
  •  Allows the user to access machine resources in a simple and efficient way
  • Provides a secure and safe environment in which to operate


For example, to add two numbers, it is much easier to use simple notation such as a = b + ¢ than to worry about (1) loading ALU registers from memory cells b and ¢, (2) activating the ALU, (3) selecting the output of theaddition circuit, and (4) sending the result to memory cell a. The programmer should not have to know about registers, addition circuits, and memory addresses but instead should see a virtual machine that “understands” the mathematical symbols + and =.

After the program has been written, it should automatically be loaded into memory without the programmer having to specify where it should be placed or having to set the program counter. Instead, he or she should be able to issue one simple command (or one set of mouse clicks) to the virtual machine that says, “Run my program.” Finally, when the program is running and generating results, the programmer should be able to instruct the virtual machine to send the program’s output to the printer in Room 105, without reference to the details related to I/O controllers, interrupt signals, and code sets.All the useful services just described are provided by the system software available on any modern computer system.

Types of System Software:

  1. Operating Systems (OS): The most essential software that manages computer hardware and software resources.(Examples: Windows, Linux, macOS, Android.)

  2. Utility Programs: Software designed to help in system maintenance and optimization (e.g., antivirus, disk cleanup tools).

  3. Device Drivers: Programs that allow the operating system to communicate with hardware components (e.g., printer drivers, graphics card drivers).

  4. Firmware: Low-level software embedded in hardware components, providing essential control functions.(Examples: BIOS, UEFI, Embedded System Firmware.)

  5. Language Translators:Converts programming code into machine language. Example:assemblers(masm), Compilers (GCC, Java Compiler), Interpreters (Python, JavaScript).

  6. Middleware:Acts as a bridge between applications and the OS. Examples: API Libraries, Database Middleware.

2. What is an Operating System? An Operating System (OS) is the primary system software that manages all the hardware and software on a computer. It provides an interface for users to interact with the machine and facilitates the execution of programs.

An operating system may be defined as a collection of computer programs that integrate the hardware resources of the computer and make those resources available to a user and the user’s programs, in a way that allows the user access to the computer in a productive, timely, and efficient manner.

In other words, the operating system acts as an intermediary between the user and the user’s programs and the hardware of the computer. It makes the resources available to the user and the user’s programs in a convenient way, on the one hand, and controls and manages the hardware, on the other.

In serving as an intermediary between the users of computer services and the computer’s resources, the operating system provides three basic types of services:
1. It accepts and processes commands and requests from the user and the user’s programs and presents appropriate output results.
2. It manages, loads, and executes programs.
3. It manages the hardware resources of the computer, including the interfaces to networks and other external parts of the system.
The relationship between the various components of a computer system is shown schematically in Figure 15.1.


There are ten major blocks to be considered, not all of which will necessarily be found in any particular operating system:
■ The command processor, application program interface, and user interface
■ The file management system
■ The input/output control system
■ Process control management and interprocess communication
■ Memory management
■ Scheduling and dispatching
■ Secondary storage management
■ Network management, communication support, and communication interfaces
■ System protection management and security
■ Support for system administration
Some systems also provide a program known as a system manager, commonly known as a monitor or supervisor, which handles competing requests or conflicts, and which acts as a general controller and arbiter for the entire system. There are other system functions, such as accounting and error handling, that are sometimes handled as separate blocks but frequently appear within the blocks already listed.

In different types of operating systems, some of these components may be combined, or even absent. An embedded system may not require a file system or memory manager if all its programs are permanently resident in ROM, for example, but the listed components represent a collection of the most general operating system requirements.

Figure 15.2 is a simplified diagram showing the relationships between the different components of an operating system. The diagram focuses on the interactions among the most user-visible services. Specific multitasking and bootstrapping components are not shown. These are part of the core services, which also include process and thread management, resource allocation, scheduling, memory management, security, and interprocess communication.

Key Functions of an Operating System:
  1. Process Management: Handles the execution of multiple processes, ensuring efficient CPU usage.

  2. Memory Management: Allocates and manages the computer's RAM, ensuring processes get the required memory.

  3. File System Management: Manages the storage, retrieval, and organization of data in files and directories.

  4. Device Management: Controls hardware devices by using drivers, ensuring smooth communication between the OS and peripherals.

  5. User Interface: Provides a Graphical User Interface (GUI) or Command Line Interface (CLI) for user interaction.

  6. Security and Access Control: Protects data and resources from unauthorized access through user authentication and permissions.

3. Types of Operating Systems:

  1. Batch Operating System: Executes batches of jobs without user interaction.

  2. Time-Sharing Operating System: Allows multiple users to access the system simultaneously.

  3. Distributed Operating System: Manages a group of networked computers, enabling them to function as a single system.

  4. Real-Time Operating System (RTOS): Processes data in real-time, commonly used in embedded systems.

  5. Mobile Operating System: Designed for mobile devices (e.g., Android, iOS).

4. Examples of Popular Operating Systems:

  1. Microsoft Windows

  2. macOS

  3. Linux

  4. Android

  5. iOS

5. Importance of Operating Systems: Operating systems simplify computer usage by handling complex hardware operations and providing a user-friendly interface. Without an OS, users would need to manually control hardware resources and run programs, making computing cumbersome.

6. Conclusion: System software, especially operating systems, plays a vital role in the functioning of a computer. Understanding their purpose and operation is fundamental for anyone learning about computers, as they form the backbone of modern technology.

Comments

Popular posts from this blog

Foundations Of Computing: From Hardware Essentials To Web Design GXEST203 2024 scheme Dr Binu V P

Computer Architecture

Memory Hierarchy