An operating system (OS) is system software that coordinates computer hardware resources and makes common services available to computer programs. It works as an intermediary between the user and the computer hardware, executing different applications efficiently.
What is the Operating System Structure?
The Operating System structure reverses the organisational framework and design principles that define how an operating system is constructed, including the interactions among its various components. This encompasses the arrangement of system services, such as process management, memory management, file system management, and device management, and specifies how these components communicate and function together to manage hardware resources and provide a user interface.
Several models, including monolithic, layered, microkernel, module and client-server architecture, can define this structure. This structure can be categorised into several models, including monolithic, layered, microkernel, module, and client-server architectures, each with distinct advantages and trade-offs regarding performance, modularity and maintainability.
Simple Structure
It is the simplest operating system structure, and it is not well-defined. It can only be used for small and limited systems. In this structure, the interface and levels of functionality are well separated. These programs can access I/O routines, which can cause unauthorised access.
- The MS-DOS operating System comprises various layers, each with its own set of functions.
- These are the layers of simple structure.
- Application Program
- System Program
- MS-DOS device drivers
- ROM BIOS device drivers
- Layering has an advantage in the MS-DOS operating system since all the levels can be defined separately and interact with each other when needed.
- It is easier to design, maintain, and update the system if made in layers.
Advantages of Simple Structure
- Simple structure is easy to develop because of the limited number of interfaces and layers.
- It performs well due to the fewer layers between the hardware and the applications.
- It is suitable for resource-constrained environments.
Disadvantages of Simple Structure
- In a Simple structure, If one user program fails, the entire operating system crashes.
- It has limited functionality.
- Simple structure data hiding is not present as layers are connected and communicate.
- These layers can access the processing going on in the Operating System, which can lead to data modification and can cause the Operating System to crash.
Functions of the Operating System
- Resource Management: The operating system manages and allocates memory. CPU time and other hardware resources among the various programs and processes running on the computer system.
- Process Management: The operating system is responsible for starting, stopping, and managing processes and programs. It also controls process scheduling and allocates resources to them.
- Memory Management: The operating system manages the computer’s primary memory and provides a mechanism for optimising memory usage.
- Security: The Operating System provides a secure environment for the user, applications and user data. It implements the security policies, access controls and encryption.
- Job Accounting: The operating system keeps track of time and resources used by other jobs or users.
- Device Management: The operating system manages all the devices connected to the computer system, such as printers, keyboards, mice, and displays. It provides the necessary drivers and interfaces to communicate between the devices and the computer.
- System Calls: The operating system provides system calls that enable applications to interact with it and access its resources. The system calls provide a standardised interface between applications and the operating system, enabling portability and compatibility across the different hardware and software in the platforms.
- Error-Detecting Aids: The operating system contains methods for producing dumps, traces, error messages, and other debugging and error-detecting methods.
Objectives of Operating Systems
The operating system’s objectives are described below.
- Convenient to use: The operating system makes the computer system more convenient.
- User Friendly: The operating system provides the user interface for interaction with computer system hardware and software.
- Early Access: The users use resources by acting as an intermediary between the hardware and its users.
- Control and Monitoring: Operating system controls to track who uses which resource, grant resource requests, and mediate conflicting requests from different programs and users.
- Fair Sharing and Resources: It provides efficient and fair sharing of resources between the users and programs.
Internship Assurance
DevOps & Cloud Engineering
Types of Operating Systems
Different operating systems serve various purposes, providing distinct functionality depending on the intended use. It will discuss the main types of operating systems.
- Batch Operating Systems: This operating system does not interact with the computer directly. It is operated by an operator who takes similar jobs. It has some requirements, and it is grouped into batches.
- Time-sharing operating System: This allows users to share computer resources, maximising resource utilisation.
- Real-time Operating System: This type of operating system services a real-time system, and the time interval the machine requires to process and respond to the inputs is very little. Real-time operating systems are intended to address events in real-time. They are used in applications that require a quick and deterministic response, such as embedded systems, industrial control systems, and robotics.
- Distributed Operating System: This operating system manages a group of different computers and makes it appear to be a single computer system. It is designed to operate on a network of computers and permits several users to access shared resources and communicate with each other over the network. For instance, Microsoft Windows Server and various other distributions of Linux are intended for servers.
- Network Operating System: A Network Operating system is a type of operating system that runs on a server and can manage data, users, groups, and security.
- Multiprocessing Operating System: This operating system boosts the performance of multiple CPUs within a single computer system. The multiple CPUs are linked together so that a job can be divided and executed more quickly.
- Single-User Operating Systems: These operating systems are designed to support a single user simultaneously. Examples are Microsoft Windows for Personal computers and Apple macOS.
- Multi-User Operating Systems: A multi-user Operating system is designed to support multiple users simultaneously. Examples include Linux and Unix.
- Embedded Operating Systems: These operating systems can run with limited resources, such as smartphones, wearable devices, and household appliances. Google’s Android and Apple’s iOS are examples.
- Cluster Operating Systems: This operating system is designed to work together as a single system on a group of computers or clusters. The cluster operating system is used for high-performance computing.
How to Choose the Right Operating System?
- Price Factor: Price is an important factor in choosing the correct operating system, as some OSs, like Linux, are free. However, some operating systems, like Windows, are paid.
- Accessibility Factor: Some Operating systems, like Windows, macOS, and iOS, are easy to use. However, some, like Linux, are difficult to use.
- Security Factor: Security factors are also important when choosing the right operating system. For example, MacOS provides some additional security, while Windows has fewer security features.
Examples of Operating Systems
- Windows: GUI-based, PC
- GNU/Linux : (Personal, workstations, ISP, File and print server, Three-tier client/Server).
- MacOs (Macintosh): This is used for Apple’s personal computers and workstations (MacBook, iMac).
- Android: Google’s Operating System for smartphones/tablets/smartwatches)
- iOS :( Apple’s OS for iPhone, iPad, and iPod Touch)
Conclusion
Operating systems are some of the most prominent parts of computer systems. They act as a bridge between hardware and software, managing various resources very efficiently. The main elements of an operating system are kernel process management, memory management, file systems, device management, and the user interface—all these operate in unison to ensure a smooth flow of operation. Understanding how a system OS would handle multitasking and memory allocation can help ensure safety and a pleasant user environment.
FAQs
The kernel is the core of the Operating System. It manages system resources such as CPU, memory and devices. It directly interacts with the hardware and ensures efficient execution of processes.
Process management involves creating, scheduling, and terminating processes. The OS manages multiple processes, assigning CPU time and prioritising tasks to ensure efficient system performance.
It is a method used by an OS to store, organise and access files on a storage divide. This manages file naming, storage allocation, and permissions.
A system image is a snapshot of the operating system, its configuration applications, and data at a specific point in time. It can be used for backup recovery or replications of systems.
The environment variables are dynamic values that affect the behaviour of the Operating System's processes. They store configuration information, such as system path, user preferences, and system settings, which applications and scripts can access.