ACTIVITY BLOG
Reporter: Marivell Aspera
Researcher: Eden Marie Pentojo
Encoder: Gilbert Pelagio
Operating System
An operating system (OS) is a program that acts as an interface between the system hardware and the user. Moreover, it handles all the interactions between the software and the hardware. All the working of a computer system depends on the OS at the base level. Further, it performs all the functions like handling memory, processes, the interaction between hardware and software, etc. Now, let us look at the functions of operating system.
Functions of an Operating System
Memory Management
The operating system manages the Primary Memory or Main Memory. Main memory is made up of a large array of bytes or words where each byte or word is assigned a certain address. Main memory is fast storage, and it can be accessed directly by the CPU. For a program to be executed, it should be first loaded in the main memory. An operating system manages the allocation and deallocation of memory to various processes and ensures that the other process does not consume the memory allocated to one process. An Operating System performs the following activities for Memory Management:
- It keeps track of primary memory, i.e., which bytes of memory are used by which user program. The memory addresses that have already been allocated and the memory addresses of the memory that has not yet been used.
- In multiprogramming, the OS decides the order in which processes are granted memory access, and for how long.
- It Allocates the memory to a process when the process requests it and deallocates the memory when the process has terminated or is performing an I/O operation.
Processor Management
In a multi-programming environment, the OS decides the order in which processes have access to the processor, and how much processing time each process has. This function of OS is called Process Scheduling. An Operating System performs the following activities for Processor Management.
An operating system manages the processor’s work by allocating various jobs to it and ensuring that each process receives enough time from the processor to function properly.
Keeps track of the status of processes. The program which performs this task is known as a traffic controller. Allocates the CPU that is a processor to a process. De-allocates processor when a process is no longer required.
Device Management
An OS manages device communication via its respective drivers. It performs the following activities for device management.
- Keeps track of all devices connected to the system. Designates a program responsible for every device known as the Input/Output controller.
- Decide which process gets access to a certain device and for how long.
- Allocates devices effectively and efficiently. Deallocates devices when they are no longer required.
- There are various input and output devices. An OS controls the working of these input-output devices.
- It receives the requests from these devices, performs a specific task, and communicates back to the requesting process.
File Management
A file system is organized into directories for efficient or easy navigation and usage. These directories may contain other directories and other files. An Operating System carries out the following file management activities. It keeps track of where information is stored, user access settings, the status of every file, and more. These facilities are collectively known as the file system. An OS keeps track of information regarding the creation, deletion, transfer, copy, and storage of files in an organized way. It also maintains the integrity of the data stored in these files, including the file directory structure, by protecting against unauthorized access.
I/O Management
I/O management is the important function of operating system refers to how the OS handles input and output operations between the computer and external devices, such as keyboards, mice, printers, hard drives, and monitors.
User Interface or Command Interpreter
The user interacts with the computer system through the operating system. Hence OS acts as an interface between the user and the computer hardware. This user interface is offered through a set of commands or a graphical user interface (GUI). Through this interface, the user makes interacts with the applications and the machine hardware.
Difference Between Single User and Multiuser Operating System
The main difference between single user and multiuser operating system is that in a single user operating system, only one user can access the computer system at a time while in a multiuser operating system, multiple users can access the computer system at a time.
Real-time operating systems (RTOS)
Real-time operating systems (RTOS) are used in environments where a large number of events, mostly external to the computer system, must be accepted and processed in a short time or within certain deadlines. such applications are industrial control, telephone switching equipment, flight control, and real-time simulations.
With an RTOS, the processing time is measured in tenths of seconds. This system is time-bound and has a fixed deadline. The processing in this type of system must occur within the specified constraints. Otherwise, This will lead to system failure.
Examples of real-time operating systems - Airline traffic control systems, Command Control Systems, airline reservation systems, Heart pacemakers, Network Multimedia Systems, robots, etc.
Network Operating System
Network operating systems are server-based operating systems that provide networking-related functionality. It manages the users, groups, data and provides security. These operating systems permit the users to transfer the files and share devices like printers among various devices in a network like a LAN (Local Area Network), a private network, or another network. It is the most popular type of operating system used in distributed architectures. The goal of a network operating system is to allow resource sharing between two or more computers operating different operating systems.
Another important factor is server accessibility. The centralized server in these systems is highly reliable. New technologies, upgradation, and hardware may be easily integrated into this operating system. The server's setup and operation are both expensive. Moreover, these systems need regular maintenance and updates. Some network operating systems are Linux, Microsoft Windows Server, and Novel Netware.
Distributed Operating System
A distributed operating system (DOS) is an essential type of operating system. Distributed systems use many central processors to serve multiple real-time applications and users. As a result, data processing jobs are distributed between the processors.
It connects multiple computers via a single communication channel. Furthermore, each of these systems has its own processor and memory. Additionally, these CPUs communicate via high-speed buses or telephone lines. Individual systems that communicate via a single channel are regarded as a single entity. They're also known as loosely coupled systems.
This operating system consists of numerous computers, nodes, and sites joined together via LAN/WAN lines. It enables the distribution of full systems on a couple of center processors, and it supports many real-time products and different users. Distributed operating systems can share their computing resources and I/O files while providing users with virtual machine abstraction.
S.NONetwork Operating SystemDistributed Operating System | ||
1. | Network Operating System‘s main objective is to provide the local services to remote client. | Distributed Operating System’s main objective is to manage the hardware resources. |
2. | In Network Operating System, Communication takes place on the basis of files. | In Distributed Operating System, Communication takes place on the basis of messages and shared memory. |
3. | Network Operating System is more scalable than Distributed Operating System. | Distributed Operating System is less scalable than Network Operating System. |
4. | In Network Operating System, fault tolerance is less. | While in Distributed Operating System, fault tolerance is high. |
5. | Rate of autonomy in Network Operating System is high. | While The rate of autonomy in Distributed Operating System is less. |
6. | Ease of implementation in Network Operating System is also high. | While in Distributed Operating System Ease of implementation is less. |
7. | In Network Operating System, All nodes can have different operating system. | While in Distributed Operating System, All nodes have same operating system. |
Multi-User Operating System
An operating system is software that acts as an interface between the user and the computer hardware which does multiple functions such as memory management; file management and processor management. The operating system should have to meet the requirements of all its users in a balanced way so that if any problem would arise with a user, it does not affect any other user in the chain.
In a multiuser operating system, multiple numbers of users can access different resources of a computer at the same time. The access is provided using a network that consists of various personal computers attached to a mainframe computer system. A multi-user operating system allows the permission of multiple users for accessing a single machine at a time. The various personal computers can send and receive information to the mainframe computer system. Thus, the mainframe computer acts as the server and other personal computers act as clients for that server.
Server Operating System
Server operating system (OS) is the one kind of operating system that is intended to be installed and utilized on a server computer. With features and capabilities necessary for a client-server architecture or other comparable corporate computing environment, it is an enhanced version of an operating system. Advanced functionalities for running, managing, monitoring, and controlling processes, programs, and client devices—such as various servers, such as web, file, application, mail, and database servers are provided by a server operating system.
The main difference between the embedded and desktop OS is that the application, including the operating system, is usually merged into a single executable image. Unlike a desktop OS, the embedded system usually loads and executes single apps at the user's request.
Features of Distributed Operating System
A Distributed Operating System manages a network of independent computers as a unified system, providing transparency, fault tolerance, and efficient resource management. It integrates multiple machines to appear as a single coherent entity, handling complex communication, coordination, and scalability challenges to optimize performance and reliability.
What is a Distributed Operating System?
A Distributed Operating System (DOS) is a type of operating system designed to manage a network of interconnected computers as a single cohesive system. Here’s a concise explanation:
- Unified Management: It allows multiple independent computers to work together seamlessly, presenting a single, unified interface to users and applications.
- Transparency: It hides the complexities of the underlying network, offering transparency in access, location, and migration of resources.
- Resource Sharing: It enables efficient sharing and coordination of resources across all nodes in the network.
- Scalability: It supports the addition of new nodes without significantly disrupting the existing system, allowing for growth in both size and capability.
- Fault Tolerance: It includes mechanisms to handle failures gracefully, ensuring system reliability and availability even if some nodes fail
Fundamental Features of Distributed Operating System
- The fundamental features of a Distributed Operating System (DOS) are designed to manage multiple interconnected computers as a unified system. Below is a detailed look at these core features:
1. Transparency
- Transparency in a distributed operating system means that the system hides the complexities of the underlying network and distributed architecture from users and applications. This includes:
- Access Transparency: Ensures that users and applications can access resources (e.g., files, devices) without needing to know their physical location or the details of the network. Accessing a remote file appears the same as accessing a local file.
- Location Transparency: Users and applications are unaware of the physical location of resources. For example, a file or service might be located on any node in the network, but it appears as if it is on the local machine.
- Migration Transparency: Resources can be moved from one node to another without affecting the user’s perception of the resource. This allows for dynamic load balancing and resource management.
- Replication Transparency: Users and applications are unaware of the replication of resources across multiple nodes for fault tolerance and load balancing. They interact with a single logical resource.
- Concurrency Transparency: Ensures that multiple users or applications accessing the same resource simultaneously do not interfere with each other, providing a consistent view of the resource.
2. 2.Scalability
- Scalability refers to the system’s ability to handle growing amounts of work or to be expanded to accommodate more nodes. This includes:
- Horizontal Scalability: Adding more nodes to the system to increase capacity and performance. A scalable distributed operating system can efficiently integrate new nodes with minimal disruption.
- Vertical Scalability: Enhancing the capacity of existing nodes (e.g., upgrading hardware) to handle increased load. Although less common in distributed contexts, it is still a relevant aspect.
3. Fault Tolerance and Reliability
- Fault tolerance ensures that the system continues to operate correctly even in the presence of hardware or software failures. Key aspects include:
- Redundancy: Duplication of critical components or services to ensure that if one fails, another can take over. This might involve replicating data or having backup nodes.
- Failover Mechanisms: Automatic switching to backup systems or nodes when a failure occurs, ensuring continuity of service and minimizing downtime.
- Fault Detection and Recovery: Mechanisms for detecting failures and initiating recovery processes, such as reassigning tasks or recovering lost data, to maintain system reliability.
4. Resource Management
- Efficient resource management involves coordinating and allocating resources across multiple nodes in the distributed system:
- Distributed Resource Allocation: Managing the allocation of resources such as CPU time, memory, and storage across different nodes. This includes load balancing to distribute workloads evenly.
- Scheduling and Load Balancing: Techniques for managing the execution of tasks and balancing the load to prevent any single node from becoming a bottleneck. This ensures optimal performance and resource utilization.
- Resource Virtualization: Abstracting the underlying hardware resources to provide a virtualized view of resources, making them available to applications in a consistent manner.
5. Communication and Coordination
- Effective communication and coordination are essential for the operation of a distributed system:
- Inter-Process Communication (IPC): Mechanisms for processes running on different nodes to communicate with each other. This can involve message passing, remote procedure calls (RPCs), or other communication methods.
- Synchronization: Techniques to ensure that processes or threads accessing shared resources do so in a coordinated manner, avoiding conflicts and ensuring data consistency. This may involve distributed locking or consensus protocols
Comments
Post a Comment