Introduction to operating system
Types of operating system:
1.Unix
2.Linux
3.Windows
4.Android
In this:
1. Introduction of various type
2. History
3. Features
4. Versions
5. Advantages and disadvantages
Historical philosophical, theoretical, and legal foundations of special and i...
OPERATING SYSTEM AND ITS TYPES REPORT
1. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
A report
on
“OPERATING SYSTEM AND ITS TYPES”
Submitted in partial fulfilment in requirements
in Business Communication and Ethics.
Submitted By:-
1. Amin Hussain
2. Abulkalamazad Sekh
3. Abhishek Ghule
T.E. Computer Engineering Dept.
Project Guide:-
Prof. Rajiv P. Junne
(Applied Sciences & Humanities Dept.)
B.R. Harne College of Engineering & Technology, Karav.
UNIVERSITY OF MUMBAI
2. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
B.R. Harne College of Engineering & Technology, Karav.
CERTIFICATE
Certified that this report entitled "Operating Systems" submitted by the following students of
T.E. "Computer Engineering Department" in the academic year 2017-18, towards partial
fulfilment in requirements in "Business Communications and Ethics".
Submitted By:-
1. Amin Hussain
2. Abulkalamazad Sekh
3. Abhishek Ghule
Throughout their tenure of completion of the task, they have been guided and assessed by them.
We satisfied that their contribution was proportionate, they were satisfactorily progressive and
their task is up to the standards envisaged by the University for the Course.
Date:-
Prof. Rajiv Junne Prof. Rahul Shingare Dr.VikramPati
(Project Guide) (HOD) (Principal)
3. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Acknowledgement
Any accomplishment requires efforts of many people and this work is no different. We
thank our teachers and especially are Friends, whose patience and support was instrumental in
accomplishing this task. Many examples, stories, anecdotes are the result of a collection from
various sources such as newspapers, magazines, other speakers and seminar participants. We wish
to express our gratitude to those who have contributed to this work, even though anonymously an
every effort have been made to give credit where it is due for the material contained herein.
We are thankful for the inspiration and help rendered to us by our project guide as well as
subject incharge Mr. Rajiv Junne and our H.O.D. Mr. Rahul Shingare. They have provided
valuable advice and suggestion that have gone into the unfolding of the project and for the
preparation of the barriers.
4. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Preface
Operating systems are an essential part of any computer system. Similarly, a course
on operating systems is an essential part of any computer science education. This field is
undergoing rapid change, as computers are now prevalent in virtually every arena of day-to-day
life-from embedded devices in automobiles through the most sophisticated planning tools for
governments and multinational firms. Yet the fundamental concepts remain fairly clear, and it is
on these that we base this book.
We wrote this report as a text for an introductory course in operating systems at the junior
or senior undergraduate level or at the first-year graduate level. We hope that practitioners will
also find it useful. It provides a clear description of the concepts that underlie operating systems.
As prerequisites, we assume that the reader is familiar with basic data structures, computer
organization, and a high-level language, such as C or Java. For code examples, we use
predominantly C, with some Java, but the reader can still understand the algorithms without a
thorough knowledge of these languages.
Concepts are presented using intuitive descriptions. Important theoretical results are
covered, but formal proofs are largely omitted. The bibliographical notes at the end of each chapter
contain pointers to research papers in which results were first presented and proved, as well as
references to recent material for further reading. In place of proofs, figures and examples are used
to suggest why we should expect the result in question to be true.
The fundamental concepts and algorithms covered in the book are often based on those
used in both commercial and open-source operating systems. Our aim is to present these concepts
and algorithms in a general setting that is not tied to one particular operating system. However, we
present a large number of examples that pertain to the most popular and the most innovative
operating systems, including Linux, Microsoft Windows, Apple Mac OSX, and Solaris. We also
include examples of both Android and iOS, currently the two dominant mobile operating systems.
5. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Table of Content
1. Introduction ……..1-2
2. History of Operating System ……..3-6
3. Types of Operating System ……..7-8
4. Unix ……..9-15
4.1. Introduction ……..10
4.2. History ……..11
4.3. Features ……..12
4.4. Structure ……...13-15
5. Linux ……...16-23
5.1 Introduction ……...17
5.2. History ……...18
5.3. Features ……...19
5.4. File System ……...19
5.5. Versions ……...20
5.6. Benefits of using Linux ….…...23
6. Windows ……....24-27
6.1. Introduction ……....25
6.2. History ………25-26
6.3. Features ………26
6.4. Types ………27
6.5. Advantages ………27
6.6. Disadvantages ………27
7. Android ………28-33
7.1. Introduction ………29
7.2. History ………29
7.3. Version ………30
7.4. Features ………30-33
8. Reference ………34
6. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 01
Introduction
An operation system (OS) is system software that manages computer hardware and
software resources and provides common services for computer programs. All computer programs,
excluding firmware, require an operating system to Function.
Time-sharing operating systems schedule tasks for efficient use of the system and may also
include accounting software for cost allocation processor time, mass storage, printing, and other
resource. For hardware functions such as input and output and memory allocation, the operating
system acts as an intermediary between programs and the computer hardware, although the
7. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
application code is usually executed directly by the hardware and frequently makes system calls to
an OS function or is interrupted by it. Operating systems are found on many devices that contain
a computer from cellular phones and video game consoles to web servers and supercomputers.
The dominant desktop operating system is Microsoft Windows with a market share of
around 83.3%. MacOS by Apple Inc. is in second place (11.2%), and the varieties of Linux are
collectively in third place (1.55%). In the mobile (smartphone and tablet combined) sector,
according to third quarter 2016 data, Android by Google is dominant with 87.5 percent and a
growth rate 10.3 percent per year, followed by iOS by Apple with 12.1 percent and a per year
decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in the server and supercomputing sectors. Other specialized
classes of operating systems, such as embedded and real-time systems, exist for many applications.
8. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 02
History of Operating System
2.1. Introduction
Computer operating systems (OS) provide a set of functions needed and used by most
application programs on a computer, and the links needed to control and synchronize computer
hardware. On the first computers, with no operating system, every program needed the full
hardware specification to run correctly and perform standard tasks, and its own drivers
for peripheral devices like printers and punched paper card readers. The growing complexity of
hardware and application programs eventually made operating systems a necessity for everyday
use.
2.2. Background
The earliest computers were mainframes that lacked any form of operating system. Each
user had sole use of the machine for a scheduled period of time and would arrive at the computer
with program and data, often on punched paper cards and magnetic or paper tape. The program
would be loaded into the machine, and the machine would be set to work until the program
completed or crashed. Programs could generally be debugged via a control panel using dials,
toggle switches and panel lights. Symbolic program-code into machine code that previously would
have been hand-encoded. Later machines came with libraries of support code on punched cards or
magnetic tape, which would be linked to the user's program to assist in operations such as input
and output. This was the genesis of the modern-day operating system; however, machines still ran
a single job at a time. At Cambridge University in England, the job queue was at one time a
washing line from which tapes were hung with different coloured clothes pegs to indicate job-
priority. As machines became more powerful the time to run programs diminished, and the time
to hand off the equipment to the next user became large by comparison. Accounting for and paying
for machine usage moved on from checking the wall clock to automatic logging by the computer.
Run queues evolved from a literal queue of people at the door, to a heap of media on a jobs-waiting
table, or batches of punch-cards stacked one on top of the other in the reader, until the machine
itself was able to select and sequence which magnetic tape drives processed which tapes. Where
9. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
program developers had originally had access to run their own jobs on the machine. When
commercially available computer centres were faced with the implications of data lost through
tampering or operational errors, equipment vendors were put under pressure to enhance
the runtime libraries to prevent misuse of system resources. Automated monitoring was needed
not just for CPU usage but for counting pages printed, cards punched, cards read, disk storage used
and for signalling when operator intervention was required by jobs such as changing magnetic
tapes and paper forms. Security features were added to operating systems to record audit trails of
which programs were accessing which files and to prevent access to a production payroll file by
an engineering program, for example.
All these features were building up towards the repertoire of a fully capable operating
system. Eventually the runtime libraries became an amalgamated program that was started before
the first customer job and could read in the customer job, control its execution, record its usage,
reassign hardware resources after the job ended, and immediately go on to process the next job.
These resident background programs, capable of managing multistep processes, were often
called monitors or monitor-programs before the term "operating system" established itself. An
underlying program offering basic hardware-management, software-scheduling and resource-
monitoring may seem a remote ancestor to the user-oriented OSes of the personal computing era.
However, there has been a shift in the meaning of OS. Just as early automobiles lacked
speedometers, radios, and air-conditioners, which later became standard, more and more optional
software features became standard features in every OS package, although some applications such
as database management systems and spreadsheets remain optional and separately priced. This has
led to the perception of an OS as a complete user-system with an integrated graphical user
interface, utilities, some applications such as text editors and file managers, and configuration
tools. The true descendant of the early operating systems is what is now called the "kernel". In
technical and development circles, the old restricted sense of an OS persists because of the
continued active development of embedded operating systems for all kinds of devices with a data-
processing component, from hand-held gadgets up to industrial robots and real-time control-
systems, which do not run user applications at the front-end. An embedded OS in a device today
is not so far removed as one might think from its ancestor of the 1950s. The broader categories of
systems and application software are discussed in the computer software article.
10. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
2.3. Mainframes
The first operating system used for real work was GM-NAA I/O, produced in 1956
by General Motors' Research division for its IBM 704.Most other early operating systems for IBM
mainframes were also produced by customers. Early operating systems were very diverse, with
each vendor or customer producing one or more operating systems specific to their
particular mainframe computer. Every operating system, even from the same vendor, could have
radically different models of commands, operating procedures, and such facilities as debugging
aids. Typically, each time the manufacturer brought out a new machine, there would be a new
operating system, and most applications would have to be manually adjusted, recompiled, and
retested.
2.4. Systems on IBM Hardware
The state of affairs continued until the 1960s when IBM, already a leading hardware
vendor, stopped work on existing systems and put all its effort into developing
the System/360series of machines, all of which used the same instruction and input/output
architecture. IBM intended to develop a single operating system for the new hardware, the OS/360.
The problems encountered in the development of the OS/360 are legendary, and are described
by Fred Brooks in The Mythical Man-Month—a book that has become a classic of software
engineering. Because of performance differences across the hardware range and delays with
software development, a whole family of operating systems was introduced instead of a single
OS/360.
2.5. Other Mainframe Operating Systems
Control Data Corporation developed the SCOPE operating systems in the 1960s, for batch
processing and later developed the MACE operating system for time-sharing, which was the basis
for the later Kronos. In cooperation with the University of Minnesota, the Kronos and later
the NOS operating systems were developed during the 1970s, which supported simultaneous batch
and timesharing use. Like many commercial timesharing systems, its interface was an extension
11. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
of the DTSS time-sharing system, one of the pioneering efforts in timesharing and programming
languages.
Project MAC at MIT, working with GE and Bell Labs, developed Multics, which
introduced the concept of ringed security privilege levels. Digital Equipment
Corporation developed TOPS-10 for its PDP-10 line of 36-bit computers in 1967. Before the
widespread use of Unix, TOPS-10 was a particularly popular system in universities, and in the
early ARPANET community. Bolt, Breakneck, and Newman developed TENEX for a modified
PDP-10 that supported demand paging; this was another popular system in the research and
ARPANET communities, and was later developed by DEC into TOPS-20.
Scientific Data Systems/Xerox Data Systems developed several operating systems for
the Sigma series of computers, such as the Basic Control Monitor (BCM), Batch Processing
Monitor (BPM), and Basic Time-Sharing Monitor (BTM). Later, BPM and BTM were succeeded
by the Universal Time-Sharing System (UTS); it was designed to provide multi-programming
services for online (interactive) user programs in addition to batch-mode production jobs, It was
succeeded by the CP-V operating system, which combined UTS with the heavily batch-
oriented Xerox Operating System (XOS).
12. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 03
Types of Operating System
3.1. Single And Multi-tasking
A single-tasking system can only run one program at a time, while a multi-
tasking operating system allows more than one program to be running in concurrency. This is
achieved by time-sharing, dividing the available processor time between multiple processes that
are each interrupted repeatedly in time slices by a task-scheduling subsystem of the operating
system. Multi-tasking may be characterized in pre-emptive and co-operative types. In pre-emptive
multitasking, the operating system slices the CPU time and dedicates a slot to each of the
programs. UNIX-like operating systems, e.g., Solaris, Linux, as well as AmigOS support pre-
emptive multitasking. Cooperative multitasking is achieved by relying on each process to provide
time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used
cooperative multi-tasking. 32-bit versions of both Windows NT and Win9x used pre-emptive
multi-tasking.
3.2. Single and Multi-user
Single-user operating systems have no facilities to distinguish users, but may allow multiple
programs to run in tandem. A multi-user operating system extends the basic concept of multi-
tasking with facilities that identify processes and resources, such as disk space, belonging to
multiple users, and the system permits multiple users to interact with the system at the same time.
Time-sharing operating systems schedule tasks for efficient use of the system and may also include
accounting software for cost allocation of processor time, mass storage, printing, and other
resources to multiple users.
3.3. Distributed
A distributed operating system manages a group of distinct computers and makes them appear
to be a single computer. The development of networked computers that could be linked and
communicate with each other gave rise to distributed computing. Distributed computations are
13. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
carried out on more than one machine. When computers in a group work in cooperation, they form
a distributed system.
3.4. Templated
In an OS, distributed and cloud-computing context, templating refers to creating a
single virtual machine image as a guest operating system, then saving it as a tool for multiple
running virtual machines. The technique is used both in virtualization and in cloud computing
management, and is common in large server warehouses.
3.5. Embedded
Embedded operating systems are designed to be used in embedded computer systems. They
are designed to operate on small machines like PDAs with less autonomy. They are able to operate
with a limited number of resources. They are very compact and extremely efficient by design.
Windows CE and Minix 3 are some examples of embedded operating systems.
3.6. Real-time
A real-time operating system is an operating system that guarantees to process events or data
by a specific moment in time. A real-time operating system may be single- or multi-tasking, but
when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of
behaviour is achieved. An event-driven system switches between tasks based on their priorities or
external events while time-sharing operating systems switch tasks based on clock interrupts
3.7. Library
A library operating system is one in which the services that a typical operating system
provides, such as networking, are provided in the form of libraries and composed with the
application and configuration code to construct a unikernel: a specialized, single address space,
machine image that can be deployed to cloud or embedded environments.
14. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 04
UNIX
OPERATING SYSTEM
15. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
4.1. Introduction
UNIX was originally meant to be a convenient platform for programmers developing
software to be run on it and on other systems, rather than for non-programmer users. The
system grew larger as the operating system started spreading in academic circles, as users
added their own tools to the system and shared them with colleagues.
By the early 1980s, users began seeing UNIX as a potential universal operating system,
suitable for computers of all sizes. The UNIX environment and the client-server model were
essential elements in the development of the Internet and the reshaping of computing as cantered
in networks rather than in individual computers. Both UNIX and the C programming
language were developed by AT&T and distributed to government and academic institutions,
which led to both being ported to a wider variety of machine families than any other operating
system. Under UNIX, the operating system consists of many utilities along with the master control
program, the kernel. The kernel provides services to start and stop programs, handles the file
system and other common low-level tasks that most programs share, and schedules access to avoid
conflicts when programs try to access the same resource or device simultaneously. To mediate
such access, the kernel has special rights, reflected in the division between user space and kernel
space. The microkernel concept was introduced in an effort to reverse the trend towards larger
kernels and return to a system in which most tasks were completed by smaller utilities. In an era
when a standard computer consisted of a hard disk for storage and a data terminal for input and
output (I/O), the UNIX file model worked quite well, as most I/O was linear. However, modern
systems include networking and other new devices. As graphical user interfaces developed, the
file model proved inadequate to the task of handling asynchronous events such as those generated
by a mouse. In the 1980s, non-blocking I/O and the set of inter-process
communication mechanisms were augmented with UNIX domain sockets, shared
memory, message queues, and semaphores. In microkernel implementations, functions such as
network protocols could be moved out of the kernel, while conventional (monolithic) UNIX
implementations have network protocol stacks as part of the kernel.
16. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
4.2. History
Ken Thompson (sitting) and Dennis Ritchie working together at a PDP-11
The pre-history of UNIX dates back to the mid-1960s when the Massachusetts Institute of
Technology, Bell Labs, and General Electric were developing an innovative time-sharing
operating system called Multics for the GE-645 mainframe. Multics introduced many
innovations, but had many problems. Frustrated by the size and complexity of Multics but not by
the aims, Bell Labs slowly pulled out of the project. Their last researchers to leave Multics, Ken
Thompson, Dennis Ritchie, M. D. McIlroy, and J. F. Ossanna, decided to redo the work on a much
smaller scale. The name Unics (Uniplexed Information and Computing Service, pronounced as
"eunuchs"), a pun on Multics (Multiplexed Information and Computer Services), was initially
suggested for the project in 1970: the new operating system was an emasculated Multics. Peter H.
Salus credits Peter Neumann with the pun, while Brian Kernighan claims the coining for himself,
and adds that "no one can remember" who came up with the final spelling Unix. Dennis Ritchie
also credits Kernighan.
In 1972, UNIX was rewritten in the C programming language. The migration from
assembly to the higher-level language C resulted in much more portable software, requiring only
a relatively small amount of machine-dependent code to be replaced when porting UNIX to
other computing platforms. Bell Labs produced several versions of UNIX that are collectively
referred to as Research Unix. In 1975, the first source license for UNIX was sold to Donald B.
Gillies at the University Of Illinois Department Of Computer Science. UIUC graduate
student Greg Chesson (who had worked on the UNIX kernel at Bell Labs) was instrumental in
negotiating the terms of this license. During the late 1970s and early 1980s, the influence of UNIX
in academic circles led to large-scale adoption of UNIX (BSD and System V) by commercial start-
ups, including Sequent, HP-UX, Solaris, AIX, and Xenix. In the late 1980s, AT&T UNIX System
Laboratories and Sun Microsystems developed System V Release 4 (SVR4), which was
subsequently adopted by many commercial UNIX vendors.
In the 1990s, Unix-like systems grew in popularity as Linux and BSD distributions were
developed through collaboration by a worldwide network of programmers. In 2000, Apple
released Darwin, also a Unix-like system, which became the core of the Mac OS X operating
17. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
system, later renamed macOS. UNIX operating systems are widely used in
modern servers, workstations, and mobile devices.
4.3. Features
Some key features of the UNIX architecture concept are:
UNIX systems use a centralized operating system kernel , which manages system and process
activities.
All non-kernel software is organized into separate, kernel-managed processes.
UNIX systems are pre-emptively multitasking: multiple processes can run at the same time, or
within minor slices and nearly at the same time, and any process can be interrupted and moved
out of execution by the kernel. This is known as thread management.
Files are stored on disk in a hierarchical file system, with a single top location throughout the
system (root, or "/"), with both files and directories, subdirectories, sub-subdirectories, and so
on below it.
With few exceptions, devices and some types of communications between processes are
managed and visible as files or pseudo-files within the file system hierarchy. This is known,
as everything is a file. However, Linus Torvalds states that this is inaccurate and may be better
rephrased as "everything is a stream of bytes".
The UNIX operating system supports the following features and capabilities:
Multitasking and multiuser
Programming interface
Use of files as abstractions of devices and other objects
Built-in networking (TCP/IP is standard)
Persistent system service processes called "daemons" and managed by init or inet
18. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
After the release of Version 10, the UNIX research team at Bell Labs turned its focus to Plan
9 from Bell Labs, a distinct operating system that was first released to the public in 1993.
Each of the systems in this list is evolved from the version before, with Unix System
III evolving from both the UNIX Time-Sharing System v7 and the descendants of the UNIX
Time-Sharing System v6.
4.4. Structure
The UNIX operating system is a set of programs that act as a link between the computer
and the user. The computer programs that allocate the system resources and coordinate all the
details of the computer's internals is called the operating system or the kernel.
Users communicate with the kernel through a program known as the shell. The shell is a
command line interpreter; it translates commands entered by the user and converts them into a
language that is understood by the kernel.
UNIX was originally developed in 1969
A group of AT&T employees Ken Thompson, Dennis Ritchie, Douglas McIlroy, and
Joe Ossanna at Bell Labs.
There are various UNIX variants available in the market. Solaris UNIX, AIX, HP UNIX
and BSD are a few examples. Linux is also a favour of UNIX, which is freely available.
Several people can use a UNIX computer at the same time; hence, UNIX is called a
multiuser system.
A user can also run multiple programs at the same time; hence, UNIX is a multitasking
environment.
19. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
UNIX Architecture
Here is a basic block diagram of a UNIX system -
The main concept that unites all the versions of UNIX is the following four basics −
Kernel − The kernel is the heart of the operating system. It interacts with the hardware
and most of the tasks like memory management, task scheduling and file management.
Shell − The shell is the utility that processes your requests. When you type in a
command at your terminal, the shell interprets the command and calls the program that
you want. The shell uses standard syntax for all commands. C Shell, Bourne Shell and
Korn Shell are the most famous shells, which are available with most of the UNIX
variants.
20. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Commands and Utilities − There are various commands and utilities which you can
make use of in your day-to-day activities. cp, mv, catand grep, etc. are few examples of
commands and utilities. There are over 250 standard commands plus numerous others
provided through 3rd
party software. All the commands come along with various
options.
Files and Directories − All the data of UNIX is organized into files. All files are then
organized into directories. These directories are further organized into a tree-like
structure called the file system.
21. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 05
LINUX
OPERATING SYSTEM
22. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
5.1. Introduction
Linux is fully customizable free operating system and is supported by all kinds of hardware
components. Due to advent open source feature of Linux, everyone can download the source code
of Linux and modify it. On the server side, Linux is a renowned OS for its stability and reliability.
Day by day Linux is getting more popular and user friendly. Modern Linux is not only supported
by high end server, workstations and home PC but can also run on various gadget Linux is totally
UNIX kernel but not fully UNIX OS because it does not include applications like file system,
Window system, text editor, Compiler and so on.. Whole Linux distribution is a collection of Linux
Kernel, GUI, GNU C/C++ compiler, text editors and various applications under GPL. Linux uses
only POSIX (Portable Operating System Interface Standards) of UNIX. Which are standards
specified by IEEE computer society for maintaining comp ability between OS.
It needs standard GNU C compiler and GPL (General Purpose License). GNU is collection
of computer software that can be used in building an OS like UNIX or Linux. And makes it free
to use for everyone. Various GNU components are used to develop Linux like GNU compiler,
debugger and hardware. Linux was licensed under the GPL. Without paying any charge, you can
download source code of Linux to use, share and modify it. GPL (General Public License) uses
free license software, which provides freedom to run, share, modify and study it.
Before we discuss Linux in brief, mentioned below are some of its advantages:
Open Source
Run on both low and high end hardware
Compatible with others OS
More powerful
Low failure time
Well supported
Well Secure
Fully customizable in all its components
23. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
5.2. History
Evolution of Computer
In earlier days, computers were as big as houses or parks. So you can imagine how difficult
it was to operate them. Moreover, every computer has a different operating system, which made it
completely worse to operate on them. Every software was designed for a specific purpose and was
unable to operate on other computer. It was extremely costly and normal people neither can afford
it nor can understand it.
Evolution of Linux
In 1991, Linus Torvalds a student at the University of Helsinki, Finland, thought to have a
freely available academic version of UNIX started writing its own code. Later this project became
the Linux kernel. He wrote this program especially for his own PC, as he wanted to use Unix 386
Intel computer but could not afford it. He did it on MINIX using GNU C compiler. GNU C
compiler is still the main choice to compile Linux code but other compilers are also used like Intel
C compiler. He started it just for fun but ended up with such a large project. Firstly, he wanted to
name it as 'Freax' but later it became 'Linux'. He published the Linux kernel under his own license
and was restricted to use as commercially. Linux uses most of its tools from GNU software and
are under GNU copyright. In 1992, he released the kernel under GNU General public license.
Linux Today
Today, that open source operating system—Linux—is one of the most important pieces of
computer software in the world. Chances are, you use it every day. Linux runs every Android
phone and tablet on Earth. In addition, even if you are on an iPhone, a Mac, or a Windows machine,
Linux is working behind the scenes, across the Internet, serving up most of the webpages, you
view and powering most of the apps you use. Facebook, Google, Pinterest, Wikipedia—it is all
running on Linux. Plus, Linux is now finding its way onto televisions, thermostats, and even cars.
As software creeps into practically every aspect of our lives, so does the OS designed by Linus
Torvalds Today, supercomputers, smart phones, desktop, web servers, tablet, laptops and home
appliances like washing machines, DVD players, routers, modems, cars, refrigerators, etc. uses
Linux OS.
24. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
5.3. Features
Linux is fully featured OS and adopts various features from different UNIX versions.
Multithreading
Linux is supported by multithreading environment. More than one thread can run at the
same time in Linux. Thread is a small code within the process. I will briefly explain about thread
in another tutorial.
Monolithic kernel
Linux kernel is Monolithic kernel. It is an operating system architecture where entire OS
runs in kernel mode instead of user mode. When program or applications want to use hardware,
send request to kernel mode by system call. Kernel evaluates request from system call and interacts
with proper hardware. All operating services like memory management, file management, process
management are working in kernel.
5.4. File System
Whole Linux kernel is based on file system architecture. Linux supports many file
types such as a directory file, link, and pipe, named pipe, special file and block device file.
Each file type has its own characteristics and features. File system is not only holding the data
of file but also contains the structure and information of the file.
Multiuser Capability
Linux OS shares the same resources like memory, hard disk etc. for multi users.
Multi users can access same resource using individual terminal (i.e. client PC).
Portability
Portability does not mean it is smaller in file size or can be carried in pen drives or
memory cards. It means that it support different types of hardware.
Security
25. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
It provides security in three ways namely authenticating (by assigning password and
login ID), authorization (by assigning permission to read, write and execute) and encryption
(converts file into an unreadable form without installing it.
5.5. Versions
Linux Distribution List - By Type
Here we list a plethora of Linux distributions broken down by type, be it RPM based,
Ubuntu based, Knoppix, and more. We also include links to useful information about the
distributions.
RPM-Based Linux Distributions
RPM stands for the Red Hat Package Manager. Variations of Red Had Enterprise Linux or
Fedora core use RPM to retrieve and install various applications and perform other tasks. These
distributions are said to be RPM based simply because they use the same package management
and it has a profound influence on the way the operating system functions. Some RPM-based
Linux distributions include:
Red Hat Enterprise Linux
Fedora Core
Yellow Dog Linux
Linux XP
Aurora SPARC Linux
CentOS
ClarkConnect
White Box Enterprise Linux
Scientific Linux
SME Server
ALT Linux
26. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Caldera Linux
Mandriva Linux
PCLinuxOS
SUSE Linux
Debian-Based Linux Distributions
Debian is a Linux distribution that focuses on and emphasizes free software. It uses the .deb format
with the dpkg package manager. All distributions based upon Debian do as well. Some Debian-
based Linux distributions are:
Corel Linux
gNewSense
Kanotix Linspire
MEPIS
Ubuntu
Maemo
Ubuntu-Based Linux Distributions
Althought Ubuntu is based on Debian, it works on a different release cycle and supports fewer
architectures. It draws packages from Debian, but repackages them with Ubuntu version numbers.
There are several "official" versions, including:
Ubuntu Server Edition
Kubuntu
Xubuntu
Edubuntu
Ubuntu jeOS
Ubuntu Mobile
Ubuntu Netbook Remix
Unofficial versions of Ubuntu include:
27. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Easy Peasy
Fluxbuntu
Gnoppix
gOS
Linux Mint
LinuxMCE
PSUbuntu
Knoppix-Based Linux Distributions
Knoppix is, itself, based on Debian. It championed the bootable CD/DVD Linux craze and several
other Linux distributions have been based on it.
Damn Small Linux
Buildix
Feather Linux
Kaella
KnoppMyth
Morphix
Musix
Other Noteable Linux Distributions
This is by no means an exhaustive list, and there are many more smaller versions of Linux than
those listed or linked here. Those linked will provide you with a little bit more information on each
of these Linux distributions, and we intend on adding to this list as we add more Linux distribution
information and reviews to the site. For now, take a look at a few of these other notable Linux
distributions:
Gentoo
Vector Linux
28. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
5.6. The benefits of using Linux
Linux now enjoys popularity at its prime, and it is famous among programmers as well as
regular computer users around the world. Its main benefits are -
It offers a free operating system. You do not have to shell hundreds of dollars to get the OS like
Windows!
Being open-source, anyone with programming knowledge can modify it.
The Linux operating systems now offer millions of programs/applications to choose from,
most of them free!
Once you have Linux installed, you no longer need an antivirus! Linux is a highly secure
system. More so, there is a global development community constantly looking at ways to
enhance its security. With each upgrade, the OS becomes more secure and robust
Linux is the OS of choice for Server environments due to its stability and reliability (Mega-
companies like Amazon, Facebook, and Google use Linux for their Servers). A Linux
based server could run non-stop without a reboot for years on end.
Is it for me?
Users, who are new to Linux, usually shun it by falsely considering it as a difficult and
technical OS to operate but, to state the truth, in the last few years Linux operating systems
have become a lot more user-friendly than their counterparts like Windows, so trying them
is the best way to know whether Linux suits you or not.
There are thousands of Linux based operating systems; most of them offer state-of-the-art
security and applications, all of it for free!
This is what Linux is all about, and now we will move on to how to install Linux and which
Distribution you should choose.
29. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 06
Window
OPERATING SYSTEM
30. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
6.1. Introduction
Microsoft Windows, or simply Windows, is a Meta family of graphical operating systems
developed, marketed, and sold by Microsoft. It consists of several families of operating systems,
each of which cater to a certain sector of the computing industry with the OS typically associated
with IBM PC compatible architecture. Active Windows families include Windows NT and
Windows Embedded; these may encompass subfamilies, e.g. Windows Embedded Compact
(Windows CE) or Windows Server. Defunct Windows families include Windows 9x, Windows
Mobile and Windows Phone.
Microsoft introduced an operating environment named Windows on November 20, 1985,
as a graphical operating system shell for MS-DOS in response to the growing interest in graphical
user interfaces (GUIs). Microsoft Windows came to dominate the world's personal computer (PC)
market with over 90% market share, overtaking Mac OS, which had been introduced in 1984.
Apple came to see Windows as an unfair encroachment on their innovation in GUI development
as implemented on products such as the Lisa and Macintosh (eventually settled in court in
Microsoft's favour in 1993). On PCs, Windows is still the most popular operating system.
However, in 2014, Microsoft admitted losing the majority of the overall operating system market
to Android, because of the massive growth in sales of Android smartphones. In 2014, the number
of Windows devices sold was less than 25% that of Android devices sold. This comparison
however may not be fully relevant, as the two operating systems traditionally target different
platforms. Still, numbers for server use of Windows (that are comparable to competitors) show
one-third market share, similar to for end user use. As of September 2016, the most recent version
of Windows for PCs, tablets, smartphones and embedded devices is Windows 10. The most recent
versions for server computers is Windows Server 2016. A specialized version of Windows runs
on the Xbox One video game console.
6.2. History
On November 10, 1983, Microsoft announced Windows, a graphical user interface (GUI)
for MS-DOS and a competitor to the Macintosh operating system. The product line eventually
changed from a mere GUI for DOS into a fully complete, modern operating system over two lines
of development, each with their own separate codebase. The first versions of Windows (1.0
through to 3.11) were actually just programs run from MS-DOS which then took over the screen
and launched an application called Program Manager; later on, Windows 95, though still being
based on MS-DOS, was its own operating system, using a 16-bit DOS-based kernel and a 32-
bit user space. Windows 95 introduced many staple features that remain in current versions of
Windows today, including the Start menu, the taskbar, and Windows Explorer (renamed File
Explorer in Windows 8).
In 1997, Microsoft released Internet Explorer 4 which included the (at the time)
controversial Windows Desktop Update, which aimed to integrate Internet Explorer and the web
into the user interface and also brought many new features into Windows, such as the ability to
display JPEG images as the desktop wallpaper and single window navigation in Windows
Explorer, all of which still exist in Windows today. In 1998, Microsoft released Windows 98,
which also included the Windows Desktop Update and Internet Explorer 4 by default. The
31. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
inclusion of Internet Explorer 4 and the Desktop Update led to an infamous anti-trust case.
Windows 98 also included plug and play, which allowed devices to simply work when plugged in
instead of requiring a system reboot, and USB support out of the box, which was previously only
available in specially updated versions of Windows 95 which were only shipped to OEMs and not
available to the general public. Windows ME, the last DOS-based version of Windows, was aimed
at consumers and released in 2000. It introduced the Help and Support Centre, System Restore,
and updated user-friendly versions of the Disk Defragmenter and other system tools.
6.3. Features
Window Types
o Overlapped Windows
o Pop-up Windows
o Child Windows
o Layered Windows
o Message-Only Windows
Window Relationships
o Foreground and Background Windows
o Owned Windows
o Z-Order
Window Show State
o Active Window
o Disabled Windows
o Window Visibility
o Minimized, Maximized, and Restored Windows
Window Size and Position
o Default Size and Position
o Tracking Size
o System Commands
o Size and Position Functions
o Size and Position Messages
Window Animation
Window Layout and Mirroring
o Mirroring Dialog Boxes and Message Boxes
o Mirroring Device Contexts Not Associated with a Window
32. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Window Destruction
6.4. Types
This section contains the following topics that describe window types.
Overlapped Windows
Pop-up Windows
Child Windows
6.5. Advantages:
Ease: Microsoft Windows has made much advancement and changes which made it
easy to use the operating system. Even though it is not the easiest, it is easier than Linux.
Software: Since there are more number of Microsoft users, there are more software
programs, games and utilities for windows. All most all games are compatible to
windows; some CPU intensive and graphic intensive games are also supported.
Hardware: All hardware manufacturers will support Microsoft windows. Due to large
number of Microsoft users and broader driver, all the hardware devices are supported.
Front Page Extension: When using a popular web design program having windows
hosting makes it lot more easily. You do not have to worry if it supported or not.
Development: If you plan to develop windows, based applications then windows
platform is most suggested, as Linux does not support windows applications.
6.6. Disadvantage:
Price: Microsoft windows is costly compared to Linux as each license costs between
$50.00-$100.00.
Security: When compared to Linux it is much more prone to viruses and other attacks.
Reliability: It needs to be rebooted periodically else, there is a possibility of hang up of
the system.
Software Cost: Even though the windows have software, games free most of the
programs will cost more than $200.
33. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
CHAPTER 07
AndroidOPERATING SYSTEM
34. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
7.1. Introduction
Android is a complete set of software for mobile devices such as tablet computers,
notebooks, smartphones, electronic book readers, set-top boxes etc. Android is a mobile operating
system developed by Google. Android is an Open source Linux-based Operating System. The
operating system have developed a lot in last 15 years starting from black and white phones to
recent smart phones or mini computers. One of the most widely used mobile OS these days is
android. The android is software that was founded in Palo Alto of California in 2003.The android
is a powerful operating system and it supports large number of applications in Smartphones. These
applications are more comfortable and advanced for the users. The android is an open source
operating system means that it is free and any one can use it. The android has got millions of apps
available that can help you managing your life one or other way and it is available low cost in
market (GOOGLE PLAY) at that reasons android is very popular. The android development
supports with the full java programming language. Even other packages that are API and JSE are
not supported. The first version 1.0 of android development kit (SDK) was released in 2008 and
2017 latest updated version is OREO v8.0.
7.2. History
The history of android are interesting to know. The code names of android ranges from A
to O currently, such as Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread,
Honeycomb, Ice-Cream Sandwitch, Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat and
Oreo. Initially, Andy Rubin founded Android Incorporation in Palo Alto, California, United
States in October 2003. In 17th August 2005, Google acquired android Incorporation. Since then,
it is in the subsidiary of Google Incorporation. The key employees of Android Incorporation are
Andy Rubin, Rich Miner, Chris White and Nick Sears. Android is the nickname of Andy Rubin
given by coworkers because of his love to robots. Android is developed by Google and later the
OHA (Open Handset Alliance). Java language is mainly used to write the android code even
though other languages can be used. It's a consortium of 84 companies such as google, Samsung,
AKM, synaptic, KDDI, Garmin, Teleca, EBay, Intel etc. It was established on 5th November 2007,
led by Google. It is committed to advance open standards, provide services and deploy handsets
using the Android Platform. In 2008, HTC launched the first android mobile.
35. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
7.3. Version
Versions 1.0 and 1.1 were not released under specific code names. Android code names
are confection-themed and have been in alphabetical order since 2009's Android 1.5 Cupcake;
after this version 1.0 and 1.1 are, has Aestro and Blender. The most recent major version being
Android 8.0 Oreo, released in August 2017.
Fig: Android Versions
7.4 FEATURES
The important features of android are given below:
1. It is open-source.
2. Anyone can customize the Android Platform.
3. There are a lot of mobile applications that can be chosen by the consumer.
4. It provides many interesting features like weather details, opening screen, live RSS
(Really Simple Syndication) feeds etc.
5. It provides support for messaging services (SMS and MMS), web browser, storage
(SQLite), connectivity (GSM, CDMA, Blue Tooth, and Wi-Fi etc.), media, handset
layout etc.
Codename Versionnumber Initialreleasedate APIlevel Securitypatches
(Nocodename) 1 September23,2008 1 Unsupported
(Internallyknownas"PetitFour") 1.1 February9,2009 2 Unsupported
Cupcake 1.5 April27,2009 3 Unsupported
Donut 1.6 September15,2009 4 Unsupported
Eclair 2.0–2.1 October26,2009 5–7 Unsupported
Froyo 2.2–2.2.3 May20,2010 8 Unsupported
Gingerbread 2.3–2.3.7 December6,2010 9–10 Unsupported
Honeycomb 3.0–3.2.6 February22,2011 11–13 Unsupported
IceCreamSandwich 4.0–4.0.4 October18,2011 14–15 Unsupported
JellyBean 4.1–4.3.1 July9,2012 16–18 Unsupported
KitKat 4.4–4.4.4 October31,2013 19–20 Supported;
Lollipop 5.0–5.1.1 November12,2014 21–22 Supported
Marshmallow 6.0–6.0.1 October5,2015 23 Supported
Nougat 7.0–7.1.2 August22,2016 24–25 Supported
Oreo 8 August21,2017 26 Supported
36. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
FOLLOWING TABLE OF ANDROID VERSIONS AND ITS FEATURES:
VERSION NAME FEATURES
No Code name Longer in-call screen timeout default when
using the speakerphone, plus ability to
show/hide dial pad
Ability to save attachments in messages
No Code name Download and updates via Android Market
Web Browser
Camera support
Gmail, Contacts and Google Agenda
synchronization
Google Maps
YouTube application
Cupcake Support for third-parry virtual keyboards
with text prediction and user dictionary for
custom words
Support for widgets - miniature application
views that can be embedded in other
applications (such as the Home screen) and
receive periodic updates.
Donut Voice and text entry search enhanced to
indude bookmark history, contacts, and the
web.
Ability for developers to include their
content in search results
Eclair Expanded Account sync, allowing users to
add multiple accounts to a device for
synchronization of email and contacts
Microsoft Exchange email support, with
combined inbox to browse email from
multiple accounts in one page
37. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
Froyo Support for the Android Cloud to Device
Messaging (C2DM) service, enabling push
notifications
USB tethering and Wi-Fi hotspot
functionality
Gingerbread Enhanced copy/paste functionality,
allowing users to select a word by press-
hold, copy, and paste
Support for multiple cameras on the device,
including a front-facing camera, if available
Honeycomb Added System Bar, featuring quick access
to notifications, status, and soft navigation
buttons, available at the bottom of the
screen.
Support for multi-core processors
Ice-Cream Sandwich Data Usage section in settings that lets
users set warnings when they approach a
certain usage limit and disable data use
when the limit is exceeded
Improved camera application with zero
shutter lag, time lapse settings, panorama
mode, and the ability to zoom while
recording
Jelly Bean Syncs timing across all drawing and
animation done by the Android framework
including application rendering, touch
events, screen composition and display
refresh
All devices now use the same interface
layout, previously adapted from phones on
4.1 for smaller tablets, regardless of screen
size
38. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
KitKat Ability for applications to use "immersive
mode" to keep the navigation and status
bars hidden while maintaining user
interaction
Action overflow menu buttons are always
visible, even on devices with a "Menu. key,
which was officially deprecated by Android
4.0
Lollipop Android Runtime (ART) with ahead-of-time
(A0T) compilation and improved garbage
collection (GC), replacing Dalvik that
combines bytecode interpretation with
trace-based just-in-time (JIT) compilation
High-definition voice calls, available
between compatible 4G LTE devices
running Android 5.1
Marshmallow App permissions now granted individually
at run-time, not all-or-nothing at install
time.
Native fingerprint reader support
Nougat Vulkan 3D rendering API
New Data Saver mode, which can force
apps to reduce bandwidth usage
Oreo PIP: Picture-in-Picture with resizable
windows
Android Instant apps
Improved notifications system
Improved system settings
Lock screen redesign
39. B.R. HARNE COLLEGE OF ENGINEERING AND TECHNOLOGY, Karav.
COMPUTER ENGINEERING DEPARTMENT, TE (AY 2017-18)
8. Reference
1. https://en.wikipedia.org/wiki/Operating_system
2. https://en.wikipedia.org/wiki/Unix_history
3. https://en.wikipedia.org/wiki/Unix
4. https://en.wikipedia.org/wiki/Linux_history
5. https://en.wikipedia.org/wiki/Linux
6. https://Linux.org
7. https://en.wikipedia.org/wiki/Windows
8. https://en.wikipedia.org/wiki/Windows_history
9. https://en.wikipedia.org/wiki/Android_version_history_Android_1.0_.
28API _1.29