Course of Install &optimizing OS
Course of Install &optimizing OS
Operating System
An operating system (OS) is system software that manages computer hardware, software resources, and
provides common services for computer programs.
An operating system is the most important software that runs on a computer. It manages the
computer's memory and processes, as well as all of its software and hardware. It also allows you to
communicate with the computer without knowing how to speak the computer's language.
Without an operating system, a computer is useless.
Your computer's operating system (OS) manages all of the software and hardware on the computer.
Most of the time, there are several different computer programs running at the same time, and they all
need to access your computer's central processing unit (CPU), memory,
and storage. The operating system coordinates all of this to make sure each program gets what it needs.
To explain this in more specific way an operating system is a computer program that is initially loaded
into a processor by a boot program. It then manages all the other programs inthe processor. The other
programs are called applications or tasks.
The purpose of operating systems is to manage computer memory, processes and the operation of all
hardware and software. An operating system is the most important software on a computer as it
enables the computer hardware to communicate effectively with all other computer software.
Program Execution: The Operating System is responsible for execution of all types of programs
whether it be user programs or system programs. The Operating System utilizes various
resources available for the efficient running of all types of functionalities.
Handling Input/output Operations: The Operating System is responsible for handling all sort
of inputs, i.e., from keyboard, mouse, desktop, etc. The Operating System does all interfacing in
the most appropriate manner regarding all kind of Inputs and Outputs.
For example, there is difference in nature of all types of peripheral devices such as mouse or keyboard,
then Operating System is responsible for handling data between them.
Manipulation of File System: The Operating System is responsible for making of decisions regarding the
storage of all types of data or files, i.e. floppy disk/hard disk/pen drive, etc. The Operating System
decides as how the data should be manipulated and stored.
Error Detection and Handling: The Operating System is responsible for detection of any types
of error or bugs that can occur while any task. The well secured OS sometimes also acts as
countermeasure for preventing any sort of breach to the Computer System from any external source
and probably handling them.
Resource Allocation: The Operating System ensures the proper use of all the resources
available by deciding which resource to be used by whom for how much time. All the decisions are taken
by the Operating System.
Accounting: The Operating System tracks an account of all the functionalities taking place in the
computer system at a time. All the details such as the types of errors occurred are recorded by the
Operating System.
Information and Resource Protection: The Operating System is responsible for using all the
information and resources available on the machine in the most protected way. The Operating
System must foil an attempt from any external resource to hamper any sort of data or information.
Security: The operating system uses password protection to protect user data and similar other
techniques. It also prevents unauthorized access to programs and user data.
Control over system performance – Monitors overall system health to help improve performance.
Records the response time between service requests and system response to having a complete view of
the system health. This can help improve performance by providing
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 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 access to memory, and for how long. It allocates the memory to a process when
the process requests it and DE allocates the memory when the process has terminated or is performing
an I/O operation.
Operating systems (OS) can be categorized based on their design, purpose, and how they
manage resources. Here are the main types:
Description: Allows multiple users to use a computer interactively at the same time.
Description: Manages a group of distinct computers and makes them appear to be a single
computer.
Description: Allows multiple programs to run at the same time by managing CPU scheduling.
A real-time system is defined as a data processing system in which the time interval required to process
and respond to inputs is so small that it controls the environment. The time taken by the system to
respond to an input and display of required updated information is termed as the response time. So in
this method, the response time is very less as compared to online processing. Real-time systems are
used when there are rigid time requirements on the operation of a processor or the flow of data and
real-time systems can be used as a control device in a dedicated application. A real-time operating
system must have well-defined, fixed time constraints, otherwise the system will fail.
For example, scientific experiments, medical imaging systems, industrial control systems, weapon
systems, robots, air traffic control systems, etc. There are two types of real-time
operating systems.
Hard real-time systems
Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems,
secondary storage is limited or missing and the data is stored in ROM. In these systems, virtualmemory
is almost never found.
Soft real-time systems
Soft real-time systems are less restrictive. A critical real-time task gets priority over other tasks and
retains the priority until it completes. Soft real-time systems have limited utility than hard real-time
systems. For example, multimedia, virtual reality, Advanced Scientific Projects like undersea exploration
and planetary rovers, etc.
1.2.3.Multi-tasking operating system
Multi-tasking is nothing but the need to time-share the CPU to ensure that things are happening in time.
It further provides an understanding of the challenges posed by multi-tasking, the meaning and
implication of real time, and the process of sequential programming. The requirement of multi-tasking,
common to almost every embedded system, carries with it some valuable concepts—tasks, deadlines,
and priorities. A system operating in real time is one that is able to meet its deadlines. More
sophisticated multi-tasking real-time systems require the use of a real-time operating system. Smooth
use of a real-time operating system depends on the programmer's clarity of understanding the
underlying principles of the operating system.
Strengths:
User-friendly interface
Weaknesses:
Licensing costs
Features:
Operability:
Competitive Edge:
Strengths:
Weaknesses:
Not as customizable
Features:
Operability:
Very smooth user experience
Competitive Edge:
Strengths:
Features:
Operability:
Competitive Edge:
Powers most servers, cloud platforms, and supercomputers
Microsoft created the Windows operating system in the mid-1980s. There have been many different
versions of Windows, but the most recent ones are Windows 10 (released in 2015), Windows 8 (2012),
Windows 7 (2009), and Windows Vista (2007). Windows comes pre-loaded on most new PCs, which
helps to make it the most popular operating system in the world.
Compared to Linux and macOS windows operability is poor yet still, it is the most popular OS. Several
historical reasons can be cited for its popularity such as its early introduction of GUI, large market share,
various productivity apps, gaming convenience, pirated windows, preinstalled OS, etc. (19 Reasons Why
Windows OS Is Popular, 2021). However, windows have some of the poorest operability features such as
frequent crashes, slowing down over time, virus, error codes, memory leak, blue screen of death, black
screen, WIFI issues, battery problems, and apps suddenly stopping, etc. (updated, 2021; Darlington,
2022)
Features
Windows have some similar features to Linux but some features that are special to Windows are
Windows shows the available physical memory, the cached operating system code, and the
allocated pool-paged-resident and pool-nonpaged memory, shows how much time the CPU
spends on user processes, and system processes, has a start menu, has tablet mode in Windows 10, has
a game center which can be connected with XBOX, has multiple desktops and task views, has Cortana
assistant manager, unified settings and action center (Low, 2014; Operating System Performance
Metrics, n.d.).
Strength
Windows looks good for GUI, is easy to learn, has lots of productivity apps, has good gaming
functionalities and support, has an app store, has some decent diagnostic and administrative
tools, and setting up is easier than Linux, and has a large support base among other strengths.
Weakness
Windows is costly and some services require paid subscriptions. Windows is less secure than
Linux and macOS. Windows can be slow over time and its performance is reduced and requires frequent
updates which sometimes fail as well.
Competitive Edge
Based on the competitive strength of Office and cloud products, Morningstar gives Microsoft a
significant economic moat. The three divisions that makeup Microsoft's business are more personal
computing, intelligent clouds, and productivity and business processes. (Downie, 2019)
B. MacOS
MacOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all
Macintosh computers, or Macs. Some of the specific versions
include Mojave (released in 2018), High Sierra (2017), and Sierra (2016).
According to StatCounter Global Stats, macOS users account for less than 10% of global
operating systems—much lower than the percentage of Windows users (more than 80%). One
reason for this is that Apple computers tend to be more expensive. However, many people do prefer the
look and feel of macOS over Windows.
Operability
MacOS has been more operable than Windows given its proprietary nature. As Apple develops
both the hardware and the OS there are fewer issues facing macOS. Apple has thus been able to
provide consistent performance, security, and support to its home users. Providing quality user
experience has been a top priority for macOS and they have been delivering it consistently.
Features
MacOS uses proprietary hardware. With OS X, you get a completely integrated system in which
hardware and software interact flawlessly to provide you with the finest Mac experience possible. The
fact that your Mac's apps can communicate with those on your iOS devices is due to the practical iCloud.
To give you an example, anything you do in apps on your Mac will also be reflected on your other iOS
devices. (Poole, 2021)
Strength
MacOS has fewer virus attacks than Windows, has good customer support, consistent GUI for all its
products, provides great speed and availability and due to its superior hardware provides long life. It
also supports the Windows file system and can run Windows. (Rehman, 2019b)
Weakness
MacOS is the most expensive, provides less software than Windows, has poor support for
Gaming, and has no hardware customization. MacOS also does not provide cloud or server Services like
Windows and Linux.
Competitive Edge
Security, ease of use, hardware-software harmony, and superior quality of the hardware is what make
macOS standout from the rest. With Apple, you are in control.
C. Linux
Linux (pronounced LINN-ux) is a family of open-source operating systems, which means they
can be modified and distributed by anyone around the world. This is different from proprietary software
like Windows, which can only be modified by the company that owns it. The advantages of Linux are
that it is free, and there are many different distributions—or versions you can choose from.
According to StatCounter Global Stats, Linux users account for less than 2% of global
operating systems. However, most servers run Linux because it's relatively easy to customize.
Operability Linux easily defeats Windows in terms of speed. When using numerous processes, Linux, in
contrast to Windows, tends to reduce "bogging." Linux's Ext4 file system does a great job of maintaining
the device's efficiency. Linux no longer supports defragmentation. Any Windows OS can be slowed down
to unacceptable and agonizing levels by even reasonable and minimal use; this can only be prevented by
strictly adhering to a use plan. When several processes are active, memory and disc hogging frequently
occurs. Users of Linux benefit from an operating system that respects their privacy. Additionally, Linux
systems come with built-in, cutting-edge encryption, so users can be confident of improved security and
less intrusion from other apps. In general, Linux is safer than Windows. Linux still has attack vectors, but
because of its opensource technology, anyone may review the vulnerabilities, which speeds up and
simplifies the process of finding and fixing them. Since its debut, the Linux operating system has placed a
major emphasis on uptime, process control, and system security.
Linux has never strayed from putting this emphasis over the years. As a result, it can be referred to as a
well-known secure and dependable operating system (Achodio, 2009; Bhattia, 2022;
Software Testing Help, 2019). So, in terms of these operability metrics, Linux is an excellent OS.
Features
The Linux OS consists of several components: the boot loader, the kernel, the init system, daemons,
graphical server, desktop environment, and various applications (Linux, 2018). Linux shows how much
total system memory is currently used, cached, buffered, or free, shows how much time the CPU spends
performing system and user duties, stealing jobs from virtual operating systems, waiting for I/O to finish,
and processing pleasant tasks, shows the amount of work that a computer system performs like
Windows and macOS, tracks growth or reduction in the amount of available disk space used like
windows and macOS and other features such as disk utilization, queuing, latency and throughput
(Operating System Performance Metrics, n.d.).
Strength
Linux is an OS where you would battle less with obstacles like viruses, malware, slowdowns, crashes,
costly repairs, and licensing fees (Linux, 2018). Linux is also open source which means it is flexible to use,
changes can be made easily, and distributions can be shared among peers and updated easily. Every
type of user can utilize one of the many versions of Linux. You can select a "variant" of Linux to suit your
needs, whether you're a novice user or a die-hard. Distributions (or "distros" in the short form) are the
names for these variations. Almost all Linux distributions are available for free download, burning to disc
(or USB thumb drive), and installation (on as many machines as you like) (Linux, 2018).
Weakness
Some device drivers are not available for Linux, which is one of the problems that most Linux users
encounter. Because they have more customers than Linux, hardware manufacturers choose to create
drivers for Windows or Mac. Beginners can easily get up and running with Windows, but understanding
Linux is challenging. The command-line interface requires some learning, and finding new software can
be challenging. Finding a remedy is difficult if you experience any operating system issues. Compared to
Windows and Mac, Linux has fewer experts.
Also, there are not many software alternatives for Linux. Consider the popular graphic editing
program Photoshop as an illustration. Photoshop can be found on Windows, but not on Linux.
Although there is various photo altering software, Photoshop is the most effective. Another example of
a program that is unavailable to Linux users is Microsoft Office. Games are typically created for
Windows, but not Linux. Game developers are more interested in Windows because it is a commonly
used platform (Rehman, 2019).
Competitive Edge
Linux’s competitive edge comes from its’ appeal to a specific category of customers and users.
These are people who would prioritize security, speed, cost, and ease of maintenance. For example,
speaking to LinuxLine about the benefits of switching to Linux on IBM, Kuznetsova points out that clients
can benefit from both the inherent attributes of Linux and the underlying Capabilities of IBM servers by
switching to Linux on IBM. "Due to its improved flexibility with
subscription-based pricing, lack of fees for version upgrades, and compact footprint, Linux generally
presents exceptional cost reduction opportunities. Additionally, Linux operating on all IBM servers fully
utilizes the features of the underlying platforms, such as dynamic memory upgrade on mainframes and
live partition mobility on Power Systems, to offer clients exceptional performance, virtualization, and
system management capabilities." (Linux and IBM Provide Competitive Edge, 2009)
1.4. Virtual Memory
Virtual memory is a technique that allows the execution of processes which are not completely available
in memory. The main visible advantage of this scheme is that programs can be larger than physical
memory. Virtual memory is the separation of user logical memory from physical memory. This
separation allows an extremely large virtual memory to be provided for programmers when only a
smaller physical memory is available. Following are the situations, when entire program is not required
to be loaded fully in main memory.
User written error handling routines are used only when an error occurred in the data or computation.
Certain options and features of a program may be used rarely.
Many tables are assigned a fixed amount of address space even though only a small amount of the
table is actually used.
The ability to execute a program that is only partially in memory would counter many benefits.
Less number of I/O would be needed to load or swap each user program into memory.
A program would no longer be constrained by the amount of physical memory that is available.
Each user program could take less physical memory, more programs could be run the same time, with
a corresponding increase in CPU utilization and throughput.