An operating system is a program that acts as on interface between a user of a computer and the computer hardware. It manages hardware and software resources and provide services for computer programs and makes the computer into a useful tool for its users. The computer understand machine language, also known as machine code. The machine code is a set of binary instructions consisting of 1’s and 0’s.
Our Operating System also works as a translator in our PC. It converts those 1’s and 0’s, values in a human readable language that user will understand. All computer and computer-like devices require Operating System, including our laptops, tablets, desktop, smartphone, smartwatch, and router.
Primary Objective of OS
The primary objective of the Operating System is that it should be convenient for users. Windows and Mac are the most convenient Operating Systems for the users.
Types of OS
Following are the types of Operating System.
- Single-tasking: This system may run one program at a time. Single-user operating systems haven’t any facilities to differentiate users, but may allow multiple programs to run in tandem
- Multi-tasking: This OS always permits to one program to be running in concurrency.This is often achieved by time-sharing, where the available processor time is split between multiple processes.It identify processes and resources, like disc space , belonging to multiple users, and therefore the system permits multiple users to interact with the system at an equivalent time.
- Distributed: This OS arrange and manage the networked computers and make them appear to be one computer, as all computations are distributed and divided in the constituent computers.
- Templated: In the distributed and cloud computing context of an OS, templating refers to making one virtual machine image as a guest OS , then saving it as a tool for multiple running virtual machines. The technique is employed both in virtualization and cloud computing management, and is common in large server warehouses.
- Embedded: These operating systems are designed to be utilized in embedded computer systems. they’re designed to work on small machines with less autonomy (e.g. PDAs). they’re very compact and very efficient intentionally , and are ready to operate with a limited amount of resources. Windows CE and Minix 3 are some samples of embedded operating systems.
- Real-time: It guarantees to process events or data by a selected moment in time. This OS could be a single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms in order that a deterministic nature of behavior is achieved. Like this an event-driven system changed over between tasks supported their priorities or external events, whereas time-sharing operating systems switch tasks supported clock interrupts.
- Library: A library OS is one during which the services that a typical OS provides, like networking, are provided within the sort of libraries and composed with the appliance and having code to construct a unikernel: a specialized, single address space, machine image which will be deployed to cloud or embedded environments.
Tasks of OS
Detect hardware – An OS is liable for validating the components of a computer during boot up such as hard drive, CPU, network cards, mouse, etc.It is used to load drivers and modules for the hardware to properly run.
Manage processes – almost like the way our mind works, several processes or applications are running on a computer at an equivalent time. it’s the OS that’s liable for allocating CPU resources and sharing it among the processes. The OS also provides the user the option to start out , stop, or restart a process.
Manage memory – Each application needs a selected amount of RAM and swap memory to function. The OS is liable for assigning memory allocations, and for handling memory requests.
Initiate user interfaces – An OS offers users ways to access the system either via a instruction or a graphical interface (GUI)
Handle and establish file systems – The OS take the management of files access, directories, and structure, including the access to the file system.
Manage access and user authentication – An OS allows for creating user accounts with different permissions for access to files and processes.
Provide a platform for administrative use – A computer’s OS gives a platform for the administrator to feature users, allocate disk space, install software, and to perform activities to manage the computer.
Start-up services – The OS manages several processes running in the background referred to as daemon processes.
Major Functionality of Operating System
Resource Management works when multiple users connected from single machine like server.
If we have multiple process running at a time like media player browser, gaming app, OS manages it using CPU SCHEDULING.
Storage Management (Hard drive)
Store data in drive using file system
Memory Management (RAM)
Why Linux is better than Windows for servers
Free and Open Source
Linux is free and open source. We can see the source code used to create Linux (Kernel).
Stability and Reliability
Linux is Unix-based operating system.Unix was originally designed and developed to provide an environment that’s powerful, stable and reliable yet easy to use. Linux systems are widely,known for their stability, many Linux servers on the internet have been running for years without failure or even being restarted.
Linux is without doubt the most secure kernel out there, making Linux based operating system secure and suitable for servers.
Linux is so powerful and flexible. We can tune it to meet us server needs and requirement. It allow us to do whatever we want (if possible). We can install a GUI or simply operate our server through a terminal only.
Cost and Maintenance
The total cost of owning and maintaining a Linux server is lower compared to a windows server, in terms of licensing fees, software/hardware purchase and maintenance costs, system support services and administrative costs.