Operating System Notes
Operating System Notes
An Operating System (OS) is a collection of software that manages computer hardware resources and
provides common services for computer programs. When you start using a Computer System then it's
the Operating System (OS) which acts as an interface between you and the computer hardware. The
operating system is really a low level Software which is categorised as a System Software and supports
a computer's basic functions, such as memory management, tasks scheduling and controlling
peripherals etc.
This simple and easy tutorial will take you through step by step approach while learning Operating
System concepts in detail.
Computer Users are the users who use the overall computer system.
Application Softwares are the softwares which users use directly to perform different activities.
These softwares are simple and easy to use like Browsers, Word, Excel, different Editors, Games
etc. These are usually written in high-level languages, such as Python, Java and C++.
System Softwares are the softwares which are more complex in nature and they are more near to
computer hardware. These software are usually written in low-level languages like assembly
language and includes Operating Systems (Microsoft Windows, macOS, and Linux), Compiler, and
Assembler etc.
If we consider a Computer Hardware is body of the Computer System, then we can say an
Operating System is its soul which brings it alive ie. operational. We can never use a
Computer System if it does not have an Operating System installed on it.
Windows: This is one of the most popular and commercial operating systems developed and
marketed by Microsoft. It has different versions in the market like Windows 8, Windows 10 etc
and most of them are paid.
Linux This is a Unix based and the most loved operating system first released on September 17,
1991 by Linus Torvalds. Today, it has 30+ variants available like Fedora, OpenSUSE, CentOS,
UBuntu etc. Most of them are available free of charges though you can have their enterprise
versions by paying a nominal license fee.
MacOS This is again a kind of Unix operating system developed and marketed by Apple Inc. since
2001.
iOS This is a mobile operating system created and developed by Apple Inc. exclusively for its
mobile devices like iPhone and iPad etc.
Android This is a mobile Operating System based on a modified version of the Linux kernel and
other open source software, designed primarily for touchscreen mobile devices such as
smartphones and tablets.
Some other old but popular Operating Systems include Solaris, VMS, OS/400, AIX, z/OS, etc.
Explore our latest online courses and learn new skills at your own pace. Enroll and become a
certified expert to boost your career.
Process Management
File Management
Network Management
Security Management
Job Accounting
The first Operating System was created by General Motors in 1956 to run a single IBM mainframe
computer, its name was the IBM 704. IBM was the first computer manufacturer to develop operating
systems and distribute them in its computers in the 1960s.
Stanford Research Institute developed the oN-Line System (NLS) in the late 1960s, which was the
first operating system that resembled the desktop operating system we use today.
Microsoft bought QDOS (Quick and Dirty Operating System) in 1981 and branded it as Microsoft
Operating System (MS-DOS). As of 1994, Microsoft had stopped supporting MS-DOS.
Unix was developed in the mid-1960s by the Massachusetts Institute of Technology, AT&T Bell
Labs, and General Electric as a joint effort. Initially it was named MULTICS, which stands for
Multiplexed Operating and Computing System.
FreeBSD is also a popular UNIX derivative, originating from the BSD project at Berkeley. All
modern Macintosh computers run a modified version of FreeBSD (OS X).
Solaris is a proprietary Unix operating system originally developed by Sun Microsystems in 1991.
After the Sun acquisition by Oracle in 2010 it was renamed Oracle Solaris.
There are various low level concepts which help a programmer to Design and Develop scalable
softwares. Bottom line is without a good understanding of Operating System Concepts, it can't be
assumed someone to be a good Computer Application Software developer, and even it is unimaginable
imagine someone to become a System Software developer without knowing Operating System in-depth.
If you are a fresher and applying for a job in any standard company like Google, Microsoft, Amazon, IBM
etc then it is very much possible that you will be asked questions related to Operating System concepts.
Target Audience
This tutorial has been prepared for the Computer Science Professionals and Students specially for BCA,
MCA, B.Tech, M.Tech Engineering Students to help them understand the basic to advanced concepts
related to an Operating System in general. Operating System is one of the core concepts in every
University teaching Computer Science and this subject has a lot of weight from exams point of view.
Prerequisites
Before you start learning Operating System using this tutorial, we are making an assumption that you
are already aware of Computer Fundaments like What is Computer Hardware, CPU, Primary Memory,
Secondary Memory, Devices, Files etc. If you are not already aware of these concepts then it will be
difficult to understand various concepts related to Operating System and so it is highly recommended to
go through our Computer Fundamentals Tutorial before attempting to learn Operating System.
An operating system is like the manager of a computer. It is a software program that acts as an
intermediary between the user and the computer's hardware, managing the resources of computer and
providing a platform for running applications. The operating system controls tasks like managing
memory, handling input and output devices (like keyboards and printers), scheduling tasks for the CPU,
and providing a user interface for interacting with the computer.
The first operating system developed was called the "GM-NAA I/O," which stands for "General Motors
North American Automotive Operations Input/Output." It was created by General Motors in the early
1950s for their IBM 701 mainframe computer. The GM-NAA I/O was designed to manage input and
output operations, such as reading data from punch cards and writing results to printers, for General
Motors' computing needs.
The latest operating systems for personal computers and laptops are −
Microsoft Windows 11 − Developed by Microsoft, Windows 11 is the latest version of the
Windows operating system. It offers a refreshed user interface, new productivity features, and
improvements in performance and security.
macOS Monterey − Developed by Apple, macOS Monterey is the latest version of the macOS
operating system for Mac computers. It introduces new features like Universal Control, Focus
mode, and enhancements to Safari and FaceTime.
Ubuntu 22.04 LTS − Developed by Canonical, Ubuntu 22.04 LTS (Long-Term Support) is the
latest version of the Ubuntu operating system for Linux-based computers. It offers updated
software packages, improved performance, and stability.
The time it takes to learn about operating systems can vary depending on factors like your prior
knowledge, the depth of understanding you want to achieve, and how much time you dedicate to
learning. Learning the basics of operating systems, such as understanding their functions, components,
and basic concepts, could take a few weeks to a few months.
However, becoming proficient in operating systems, including understanding advanced topics like
process management, memory management, file systems, and networking, may take several months to
a year or more of consistent learning and practice.
The concept of the operating system evolved over time with contributions from many individuals and
organizations. One early example of an operating system was the GM-NAA I/O, developed by General
Motors in the 1950s for their IBM 701 mainframe computer.
However, the modern concept of an operating system, as we know it today, began to take shape in the
1960s with the development of systems like CTSS (Compatible Time-Sharing System) and MULTICS
(Multiplexed Information and Computing Service). These systems laid the groundwork for later
operating systems like Unix, developed by AT&T Bell Labs in the 1970s, which greatly influenced
subsequent operating systems, including Linux and macOS.
Single-User, Single-Tasking Operating Systems − These operating systems allow only one user
to work on the computer at a time, and they can handle only one task or program at a time.
Examples include early versions of MS-DOS.
Single-User, Multi-Tasking Operating Systems − These operating systems allow one user to run
multiple programs or tasks simultaneously. The operating system switches between tasks
quickly, giving the illusion of running multiple programs at once. Examples include modern
versions of Windows, macOS, and Linux.
Multi-User Operating Systems − These operating systems allow multiple users to work on the
same computer simultaneously. Each user can have their own user account and run their own
programs independently. Examples include UNIX-based systems like Linux and macOS, as well
as server versions of Windows.
Real-Time Operating Systems (RTOS) − These operating systems are designed to process data
and respond to events in real-time, with strict deadlines for completing tasks. They are used in
applications where timing is critical, such as controlling industrial machinery, automotive
systems, and aerospace applications. Examples include QNX and VxWorks.
The security of an operating system depends on various factors, including its design, implementation,
and the measures taken to protect it from vulnerabilities and threats. While no operating system can be
considered entirely immune to security risks, some operating systems are known for their robust
security features and practices.
For example, macOS, developed by Apple, is often praised for its strong security architecture, regular
security updates, and built-in security features like Gatekeeper and FileVault. Similarly, some Linux
distributions, such as Ubuntu and Fedora, are highly regarded for their security measures, including
timely security patches and a strong emphasis on open-source security practices.
A deadlock in an operating system occurs when two or more processes are unable to proceed because
each is waiting for the other to release a resource they need. It is like a traffic jam where cars are
blocking each other and unable to move forward. In a deadlock situation, none of the processes can
make progress, leading to a standstill in the system. Deadlocks can happen when processes hold
resources while waiting for others, creating a circular dependency that prevents any progress.