An operating system acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently.
An operating system is software that manages computer hardware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system.
Definition of Operating System
An OS is system software that controls the execution of application programs and acts as an interface between the user of a computer and therefore the hardware.
An OS cares about the allocation of resources and services, like memory, processors, devices, and knowledge. The OS manages all resources, I/O programs, like a traffic controller, a memory management module, a scheduler, and a filing system.
Example of the operating system:
- Microsoft Windows Blog
- Mac OS X Daily
- Planet Ubuntu
- Linux Techni
- Windows Central
- Linux Today
- Ubuntu Insights
- The Windows Club
- The Linux Foundation
- Linux Journal
- AppCoda Community
- Linux Magazine
- Ubuntu Made Simple
- Mongoose OS
Functions of an Operating System
The operating system manages input-output devices and makes the input-output process effective and flexible. The operating system accepts the input from the data and information input device, stores it within the main memory, ask the CPU to process it, and eventually provides the result to the output devices for output.
Command interpreter is one among the part of OS which reads the commands that user types in at a terminal, interprets them and translate them into an in-depth set of instructions that the pc hardware can understand. Command interpreter varies widely from one operating system to another operating system. each operating system must provide a command interpreter for its operation.
It is also a function of an operating system, that has a large storage capacity (number of array bytes storage capacity) each with its address. When a user requests a CPU for reading/write operation, OS determines the quantity of memory required for the program instructions and data. Then, the operating system uses some required memory to load the program and data into RAM. When the program ended its memory is free then the free memory area is used for other programs.
OS finds the status of processor and processes, chooses employment, chooses processer within the job, allocates the method or to the method, and frees the processor when the process is executed.
OS manages the time of CPU. The kernel operating system checks frequency for other processes CPU requesting time. It checks every 10 milliseconds for CPU requests from higher-priority processes. When two or more processes at an equivalent priority level are competing for the CPU time, CPU time is sliced into segments, defined by time slice, and passed from process to process during a round-robin fashion, preventing one process from monopolizing the CPU until it blocks or terminates.
Deadlock is a process, occurs when two or more processes request a single resource then occur deadlock. When the process, the critical situation can arise during a single resource shared by two or more processes cannot continue. This example is named deadlock. OS ensures that the above condition doesn’t hold by carefully allocating resources.
The interrupt may be a signal generated from a tool or program once they need the attention of the CPU. The operating system determines the sort and priority of the interrupt in interrupt handling, stops the execution process of the CPU, preserves the initial state of the CPU, performs the requested operation, and brings the CPU at an equivalent state when it had been stopped.
If there are programs larger than the main memory (RAM) of the pc, OS uses the reserved space within the secondary memory which is termed as virtual storage. It makes the execution of the larger program (than RAM) possible but at equivalent times, the operation becomes slower.
It is the function of the operating system, that allows data for organizing and these data grouping logically. Data management keeps data such order as ascending, descending, and alphabetical order for numerical, text, and other symbols.
Device management is also the main function of the operating system. That allocate or access a device to process. When process finds status in this device, channels, and control units. And it initiates the input-output operation finally frees the device when the task will be completed.
The file management system tracks all data and information on the files. This system operating system helps in creating files, folders, and sub-folders or sub-directories moving files organizing files within the hierarchy of directories or folders. An operating system keeps track of all folders, sub-folders, and files. There is file management in a hierarchical or upside-down tree structure. You can see this in the command prompt (go command prompt, type “tree” and enter).
The operating system uses password protection, VPN, tor-browser, and encryption techniques to secure users’ data and information such other tactics. it also protected data and information from a hacker or another programmer. It secures unauthorized access to programs and all user’s data.
Control over system performance
It checks the overall functional, non-functional component of the system to help improve performance and records the reaction time between service requests and system response to having an entire view of the system health. this will help amend performance by feeding important information challenged to troubleshoot problems.
Roles of Operating System
In an operating system generally have a following five types of major role. The operating system achieves these roles with the help of processes in low privilege service calls that uses the operating system kernel in high privilege. It performs data and information highly accurately with the help of the operating system.
Memory management is the vital role of the computer system, because it keeps track of the record of each status of each memory location, either allocated or free. That manages all the input, output, editable, and deleted data and information in a memory block. It observed the computing process and determine how memory is allocated among many processes in a memory location, declaring which gets memory, when they receive it, and how much they are allowed. It also keeps track of the program in a memory unit.
It is an administration of computer peripherals devices used on systems within the network for deceptive purposes. A defender can prefer to allow or deny certain sorts of peripherals from getting used on systems. Defenders also can introduce certain peripherals to an adversary-controlled system to ascertain how the adversary reacts.
Peripherals manage using device driver:
Manage translation of requests between computer and device.
Manage outgoing data, and information is which location put before sent, and incoming data and information are stored when they are received.
Active the data when it’s needed, and put it to sleep when the task is not performed.
Manage hardware interfaces
A computer generates using hardware and software. The software interacts with all hardware devices to receive and send and receive data from input and output devices. Another function of the OS is to manage the way this happens. Software controls all hardware devices. This is also referred to as peripherals, Hardware is the sockets, wires, and plugs hardware devices used to communicate one to another computer devices.
This role of the operating system is used to read, write, and storing data and information on a disk, but also to attach ownership and permission to the storage. It determines the storage location of memory, how and where data and information are stored.
Swapping between programs on Time-slicing
Swapping is a memory management process used to removing temporarily inactive programs from the primary memory of the computer system. Another hand the time slice is a brief time frame that gets assigned CPU execution. Time slice timeframe that process is allotted to run in preemptive multitasking CPU. Time slice process one at a time. It is the set amount of processing time each user or program gets. It is also called a thread. It is alternatively processed to give the illusion of many tasks happening once one time.
Types of Operating System
Batch Operating System
Some computer processes are very lengthy and time-consuming. to hurry an equivalent process, employment with an identical sort of needs are batched together and run as a gaggle.
The user of a batch OS never directly interacts with the pc. During this categorize of the operating system, every user prepares his or her job on an offline device sort of a punched card, and submits it to the pc operator.
Examples of the batch operating systems:
- Payrolls Systems
- Banks Statement, etc.
- Its processor is aware of the time duration of the job even when it is present in the queue.
- It can be shared by multiple clients.
- It is very little idle time.
- It can easily calculate a large amount of data.
- Difficult to debug.
- It is costly sometimes.
- If any job fails, then it is difficult to predict the time in the batch system.
Time-sharing Operating System
Time-shared OS uses CPU scheduling and multi-programming to supply each with a little portion of a shared computer directly. Each user has a minimum of one separate program in memory. A program loaded into memory and executes, it performs a brief period of your time either before completion or to finish I/O.
Examples of the time-sharing operating systems:
- Unix, etc.
Reduces CPU idle time in time-sharing.
Provides a quick response.
Reduce duplicate of the software
The problem occurs in the reliability of the system.
Problems occur in data communication and security system.
Multitasking Operating System
Multitasking is an operating system terminology that executed multiple jobs or tasks, by the CPU concurrently by switching each other. Switches occur so frequently that the users may relate with each program when it’s running program.
Example of the multitasking operating system:
- Microsoft Windows 2000
- IBM’s OS/390
- Handle multiple users
- Protected memory
- Efficient virtual memory
- The user can use multiple programs
- Best use of computer resources
- Increase reliability
- Limitation of memory in the system
- Limitation of the processor in the system
- CPU heat up
Multiprogramming Operating System
Multiprogramming is also an operating system terminology, when two or more programs are occupied in memory at an equivalent time, then sharing the processor is mentioned the multiprogramming. It conjectures one shared processor. That term increases CPU utilization in the operating system by classifying so that the CPU always has one to execute.
Examples of multiprogramming operating systems:
- Windows O/S
- UNIX O/S
- Microcomputers such as XENIX
- Processer is used most of the time.
- The processor never becomes idle.
- Response time is shorter.
- The system is fast and all tasks execute in parallel.
- Short time jobs are completed faster than long time jobs.
- It supports multiply users.
- Resources are used nicely.
- Total read time is taken to execute the program.
- It is difficult to program a system.
- Tracking all tasks is sometimes difficult to handle in the system.
Distributed System Operating System
The distributed system has multiple independent CPUs or processors during computing. OS does the subsequent activities associated with the distributed environment.
The System distributes computation logic among several physical processors.
Processors don’t share memory.
Its processor has its memory.
OS manages the communications between the processors. they convey with one another through various communication lines.
Examples of distributed operating systems:
- Windows Server 2003
- Linux (Apache Server)
- Windows Server 2008
- Windows Server 2012
- Performance is very fast.
- If one pc in distributed system malfunctions or corrupts then another node or pc will take care of it.
- Maximum resources can be added easily.
- Resources like printers can be shared on multiple computers.
- Security problem.
- Some messages can be lost in the network system.
- If in the system large data then all network wires to be replaced which tends to become expensive
- In the system, overloading occurs.
- Performance is slow, If there is a database connection on the local system.
Multiprocessing operating system
Multiprocessing is an operating system terminology is also known as one during which two or more central processing units (CPUs) control the functions of the pc. Each CPU contains a replica of the OS, and these copies communicate with each other to coordinate operations. Here allows the pc to perform calculations very quickly since tasks are often divided between processors.
In operating systems, to enhance the performance of quite one CPU is often used within one computing system called Multiprocessor OS.
Multiple CPUs are interconnected so that employees are often divided among them for faster execution. When employment finishes, results from all CPUs are collected and compiled to offer the ultimate output. All tasks needed to share primary memory, and that they can also share other system resources among themselves. Multiple CPUs also can be wont to run multiple jobs simultaneously.
Example of multiprocessing operating system:
- UNIX OS
- Windows NT
- High Throughput
- High Reliability
- Type of parallel processing
- Less electricity usage
- More memory required
Real-time Operating System
A real-time OS (RTOS) is an OS (OS) intended to serve real-time applications that process data because it comes in, typically without buffer delays. We use requirements according to their time, and they are measured in tenths of seconds or shorter increments of your time.
Examples of real-time operating systems:
- Airline traffic control systems
- Command Control Systems
- Airlines reservation system
- Heart Peacemaker
- Network Multimedia Systems
- Robot etc.
- Less Downtime
- Task Management
- Task Focus
- Program Crashes
- Driver Requirement
Network operating System
A network operating system is an operating system, that’s designed primarily to support workstations, in some instances, personal computers, and older terminals that are connected to local area networks or other networks.
Examples of network operating systems:
- Microsoft Windows Server 2003
- Microsoft Windows Server 2008
- Mac OS X
- Novell NetWare
- It lacks independence.
- It poses security difficulties.
- It lacks robustness.
- It allows for more presence of computer viruses and malware.
- Its light policing usage promotes negative acts.
- It requires an efficient handler.
- It requires an upscale setup.
- It has broadened access times.
- Need improvement with utilizing TLB.
- Required protected page tables.
- Need inner fracture.
- Page Table Length Register must be bound with virtual storage size.