0% found this document useful (0 votes)
47 views

Module 1

Module for introduction to Operating Systems

Uploaded by

alma cablinan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Module 1

Module for introduction to Operating Systems

Uploaded by

alma cablinan
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

COLLEGE COMPUTING SCIENCES

IT 221 - Operating Systems


2nd Semester, S. Y. 2022-2023

CHAPTER
01
THE OVERVIEW

Prepared by: Alma P. Cablinan |Page 1 of 21


CHAPTER I. CONTENTS

1.1. What Operating Systems Do


1.2. Computer System Operation
1.3. Computer System Architecture
1.4. Operating System Structures
1.5. Free and Open Source Operating Systems

CHAPTER I. LEARNING OUTCOMES

 Explain the role of the Operating System in the overall computer system.
 Draw and discuss the general organization of a computer system and the role of interrupts.
 Differentiate Single Processor Systems, Multiprocessor Systems, and Clustered Systems
 Illustrate the transition from user mode to kernel mode.
 Discuss how operating systems are used in various computing environments.
 Provide examples of free and open-source operating systems.

Prepared by: Alma P. Cablinan |Page 2 of 21


Introduction

An operating system software that acts as an intermediary between the user


of a computer and the computer hardware.
Why intermediary? Assuming, there are two people who speak different languages,
then how will they communicate with each other?

If Mr. Juan speaks Chinese and Ms. Juana speaks English, it will be very difficult
for them to communicate. Therefore, the solution is to have another person in
between, who understands and communicates in both languages. So, this person in
between is called an intermediate who will translate the communication for Juan
and Juana.
The same principle also applies to computer systems. The computer system's
hardware is on one side, and the user is on the other. Without an intermediate
between them, it is not possible for the computer user to operate the computer
system easily and efficiently.
In short, Operating System acts as
an interface between the user and the
computer hardware and controls the
execution of all kinds of programs.
In fact, Operating Systems are everywhere, from cars and home appliances that
include “Internet of Things” devices, to smartphones, personal computers, enterprise
computers, and cloud computing environments.
The operating system on cars is responsible for managing all the different
systems and subsystems in a vehicle. This
includes everything from the engine and
transmission to the headlight and
infotainment system. It is also responsible
for managing the data that is collected by
all the different sensors in a vehicle. A few
companies make car operating systems,
but the two most popular are Android
Automotive and Apple CarPlay. Android Automotive is used by several different
carmakers like Audi, Volvo, and Nissan. Apple CarPlay is used by BMW, Mercedes-
Benz, and Ferrari to mention some.

Prepared by: Alma P. Cablinan |Page 3 of 21


Furthermore, Linux-based operating
systems are used in home applications.
Many electronic devices in households
today require an operating system that
relays the inputted instructions, whether
you are pressing the TV remote or trying
to check your heart rate on your
smartwatch. Linux-embedded operating
systems usually provide that graphical
user interface. We can monitor home
security systems from across town when we’re stuck at the office. We get
notifications and videos when visitors approach our front door, and we can even
communicate with them without even opening the door. We can control lights all
around our home with a simple voice command.
In order to explore the role of an operating system in a modern computing
environment, it is important first to understand the abstract view of the components
of a computer system as shown below.

Prepared by: Alma P. Cablinan |Page 4 of 21


1.1. What Operating Systems Do
We begin our discussion by looking at the operating system’s role in the overall
computer system. A computer system can be divided into four (4) components:
 Hardware
o The central processing unit (CPU), the memory, and the
input/output (I/O) devices provide the system's basic computing
resources.
 Operating System
o Controls the hardware and coordinates its use among the various
application programs for the various users. It also provides the
means for the proper use of computer resources in the operation of
the computer system. It is like the government, it performs no useful
function by itself. It is simply an environment within which other
programs can do useful work.
 Application programs
o It is designed for specific tasks like word processors, spreadsheets,
compilers, programming languages, and web browsers which are
used to solve users’ computing problems.
 User
o It refers to the one who is using the computer systems.

The fundamental purpose of the operating system is to execute programs and


to make solving user problems easier. Computer hardware is constructed toward this
goal. Since bare hardware alone is not easy to use, application programs are
developed. These programs require certain common operations, such as those
controlling the I/O devices.
The Operating system is always the program running on the computer which
is usually called the kernel. The Kernel is the central component of an operating
system. It is considered the heart of the operating system since it gives an interface
between the applications and the operating system.

User Application Makes the software interact with


the hardware to make the
specific task done.

Kernel It facilitates the communication


between the application and the
hardware according to the user
input.
Hardware

Therefore, Kernel decides the number of resources used by every


application. Every program must get an unlimited amount of resources so that all
other programs run well and not be interrupted.

Prepared by: Alma P. Cablinan |Page 5 of 21


Along with the kernel, there are two other types of programs:
 System programs – communicate and coordinate the activities and
functions of hardware and software of a system and control the operations
of the hardware. Operating System is one of these.
 Application programs – it is designed for specific task like word
processing, spreadsheets, programming languages, and web browsers
which are used to solve users’ computing problems.
The system programs are responsible for the development and execution of a
program and they can be used with the help of a system call. System call acts as
an interface between software applications and Kernel. It provides the services via
Application Process Interface (API). When the process is being executed and
requires any resources, the process will create a system call in the form of an
interrupt and sends it to the kernel. In short, a system call is the only entry point to
the kernel.
There are types of system programs:
1. Utility program
 It manages, maintains, and controls various computer resources.
 Antivirus software, backup software, and disk tools are some
examples of utility programs.
2. Device drivers
 It controls the device connected to a computer system.
 Act as a translator between the operating system and devices
connected to the system.
 Some examples are printer drivers, scanner drivers, storage
drivers, etc.
3. Directory reporting tools
 These tools are required in an operating system to have some
software to facilitate navigation through the computer system.
 Example: dir, ls, Windows Explorer, etc.
Mobile Operating Systems often include not only a core kernel but also
middleware. Middleware is a set of software frameworks that provide additional
services to application developers. For example, each of the two most prominent
mobile operating systems is iOS for Apple and Google’s Android which features a
core kernel along with middleware that supports databases, multimedia, and
graphics.

Prepared by: Alma P. Cablinan |Page 6 of 21


1.2. Computer – System Operation
A modern general-purpose computer system consists of one or more CPUs
and several device controllers connected through a common bus that provides
access to shared memory.

Mouse Keyboard Printer Monitor


Disks

DISK USB VIDEO


CPU ADAPTER
CONTROLLER CONTROLLER

MEMORY

What is CPU?
- The main part of the computer system.
- It is the brain of the computer system.
- It is the processing unit that is where all the processing and calculations
take place in the computer.
- It is the small chip embedded into your motherboard and that small chip is
responsible for performing all computations and calculations.
Looking at the diagram above, there are some hardware like disk (hard disks),
mouse, keyboard, printer, monitor, and some other kinds of computer hardware.
Each of the hardware devices is connected to a controller. The controller is
responsible for the way these devices work. For example, disks are connected via a
disk controller, and the mouse, keyboard, and printer are USB devices and they are
connected to a USB controller that takes care of how these devices perform. The
monitor which is a display device is connected to a video adapter. Then, the CPU
along with the controllers are connected via a common bus which is represented by
the horizontal line and the common bus is connected to the memory.
Thus, each device controller is in charge of a specific type of device. The CPU
and the device controllers can execute concurrently, competing for memory cycles.
To ensure orderly access to the shared memory, a memory controller is provided
whose function is to synchronize access to the memory. Whenever you execute
something that must be loaded into your main memory. So, all these devices in order
to work need to be loaded into the main memory for any execution that must be
performed.

Prepared by: Alma P. Cablinan |Page 7 of 21


Some important terms:
1. Bootstrap Program
- The initial program that runs when a computer is powered up or rebooted.
- It is stored in the ROM
- It must know how to load the Operating System (OS) and start executing
that system.
- It must locate and load into memory the OS Kernel
2. Interrupt
- The occurrence of an event is usually signaled by an interrupt from
hardware or software.
- Hardware may trigger an interrupt at any time by sending a signal to the
CPU, usually by the way of the system bus.
3. System Call (Monitor Call)
- Software may trigger an interrupt by executing a specific operation
called a system call.
How the CPU responds when there is an interrupt?
- When the CPU is interrupted, it stops what is doing and immediately
transfers execution to a fixed location.
o Fixed location usually contains the starting address where the
Service Routine of the interrupt is located.
- The Interrupt Service Routine executes.
- On completion, the CPU resumes the interrupted computation.
1.3. Computer System Architecture
Types of Computer Systems based on the number of General-Purpose Processors.
 In this section, we are going to study how we can categorize computer
systems based on the number of general-purpose processors that they
used.

1. Single Processor Systems

 In this kind of computer system, we only have one (1) main CPU which can
execute the general-purpose instruction set as well as the instruction from
user processes.
 Other special-purpose processors are also present which perform device-
specific tasks.
o We have certain devices in our computer like keyboard, hard disk and
so on. There may be some microprocessors to do specific tasks related
to that device.
o For example, when you press any key from your keyboard the
keystroke must be converted to some kind of code like binary code so
that the computer will understand what you have pressed or what you
are typing. So, in order to convert the keystroke into a code there is a
little microprocessor present on your keyboard that is going to perform

Prepared by: Alma P. Cablinan |Page 8 of 21


only the task of converting keystrokes to code. So, those are examples
of special-purpose processors.

2. Multiprocessor Systems

 Also known as a parallel system or tightly coupled system.


 Has two (2) or more processors in close communication, sharing the
computer bus and sometimes the clock, memory, and peripheral devices.
 Advantages:
o Increase throughput/ performance
 Throughput is something that we can use to measure the
performance of the system. It is also called the amount of data
that can be transferred from one location to another.

o Economy of Scale
 Multiprocessor systems are more economical compared to a
single processor system and that is because they have different
processors sharing the resources of the computer systems.

o Increase reliability
 It is more reliable as compared to single-processor systems
because it has more processors and even if a single processor
fails the remaining processors can help to make the work done
without causing a total failure of the system.

 There are types of Multiprocessor Systems:

o Symmetric Multiprocessing

CPU 1 All the CPUs or processors they are the


P1 same means they are like each other
CPU 2 P2 and they all participate in performing
P3 these processes P1, P2, P3. So, All the
CPU 3 CPUs are involved in all these tasks.

o Asymmetric Multiprocessing

Master Master processor monitors other


processors and it assigns the tasks for
the processes. Slave 1 is in-charge in
Slave 1 Slave 2 Slave 3 taking caring the P1, Slave 2 takes care
for P2, and Slave 3 in-charge for P3.
If something fails in the other
P1 P2 P3 processors, the master processor will
take charge.
Prepared by: Alma P. Cablinan |Page 9 of 21
3. Clustered System

 Like multiprocessor systems, clustered systems gather together multiple


CPUs to accomplish computational work.
 Created when two or more computer systems are merged. Basically, they
have an independent computer but have common storage and the systems
work together. The components of clusters are usually connected using fast
area networks, with each node running its own instance of an operating
system.
 They are composed of two (2) or more individual systems coupled together.
 In a multiprocessor system, composed of two or more processors. So, only
the processors were the multiple things but in clustered systems, it has the
complete system is coupled together and they form a cluster.
 Provides high availability because of one or more systems present together.
The chance of complete failure is very less.
 Can be structured asymmetrically or symmetrically
o In Asymmetric type
 One machine in Hot-Standby mode
 Others run the applications
o In symmetric type
 Two or more hosts run applications
 Monitor each other
 All the resources are shared
 Clustered systems are used in the following:
o Supercomputing system – high storage units, do special tasks and
operations (Military and Defense, Genetic Engineering, Physics
simulations, Airlines, Data Mining, etc.).
 Top 10 Supercomputers in the World 2023:
 Summit IBM Power System Ac992 IBM
o The fastest, developed for the U.S Department of
Energy’s Oak Ridge National Laboratory.
 Sierra IBM Power System IBM
 Sunway TaihuLight Sunwaympp NRCPC
 Tianhe-2A TH-IVB_FEP NUDT
 Frontera Dell C640 Dell EMC
 Piz Daint CrayXC50 Cray
 Trinity Cray XC40 Cray
 Al Bridging Cloud Infrastructure PRIMERGY CX2550 M4
Fujitsu
 SuperMUC-NG
 ThinkSystem SD530 Lenovo
 Lassen IBM Power System
o IBM Load balancing – core networking solutions use to distribute traffic
across multiple servers in a server farm.
o Weather forecast

Prepared by: Alma P. Cablinan |Page 10 of 21


o Animated movies
o Scientific Computing
 Drawbacks of the clustered system:
o Technical look after – it needs staff to look after the system and extra
hardware is needed to maintain this system.
o Costly – building this type of system is costly because the network
devices are expensive and the programming and design that it needs
are complex.
1.4. Computer – System Structures

 In this lesson, we will discuss the structures of the operating system.


 We know that the operating system is a large and complex system and it must
be engineered carefully so that it will function properly and can be modified
easily.
 There are different structures that have been followed from the beginning till
now using which the operating systems have been designed. So, we will be
discussing some of those structures and we will see the advantages and the
disadvantages of those structures.
 First, let us go to the first structure that was followed in designing the
operating system which was used in the very beginning and in the old
operating systems which we call the simple structure.
1. Simple Structure

Application Programs

Resident System Program

Device Drivers

ROM BIOS Device Drivers

Prepared by: Alma P. Cablinan |Page 11 of 21


 The diagram above is the figure of a simple structure operating system that
did not have a very well-defined structure because this operating system was
designed long ago.
 This kind of operating system structure was followed by the Microsoft Disc
Operating System (MS-DOS). So, we know that MS-DOS is an old operating
system that was designed long back.
 At the bottommost, we have the ROM BIOS device drivers think of this as
your base hardware.
 The device drivers have access to the basic hardware, the resident programs
have access to the device drivers as well as to the basic hardware, and then
even the application program they have access to the resident program as
well as the base hardware.
 We see that the base hardware can be accessed by all the things above it.
 In this kind of structure, the interfaces and the level of functionality are not
well separated. It looks like a layered structure but not a layered one.
Because all the layers have access to the base hardware.
 Vulnerable to errant and malicious programs causing the entire system to
crash when the user program fails. That means if an application program is
being run by the user, and since it is directly accessing the base hardware, if
that program fails, then the entire system is going to crash because it is
having direct access.
 It is not well protected, it is not well structured, and not well defined.
 We can not blame the developers and designers for designing this because
MS-DOS was written on the Intel 8088 and this Intel 8088 does not provide
dual mode or any hardware protection. So, the developers and the designers
had no other option than to just leave this base hardware accessible by all the
layers above.
2. Monolithic Structure

(The User)

Shells and Commands


Compilers and Interpreters
System Libraries

System Call interface to the Kernel

File System
Signal, terminal CPU Scheduling
Swapping block I/O
handling Page replacement
Kernel system
Character I/O Demand paging
Disk and Tape
system Virtual Memory
drivers
Terminal derivers

Kernel Interface to the Hardware

Prepared by: Alma P. Cablinan |Page 12 of 21


Device Controllers
Memory controllers
Terminal Controllers Disk and Tapes
Physical Memory
Terminals

 Followed by the earlier UNIX operating system.


 Everything is packed into one level.
 All the functionalities are packed into one level which we call the kernel.
 The problem with this is that there are too many functions packed into one
level and this makes its implementation and maintenance very difficult.
 So, let’s say that you want to add something to this, then you have to change
or modify the entire thing or let’s say you have a problem with your CPU
scheduling, in order to fix that issue of CPU scheduling, you will have to
touch the entire kernel that leads to difficulty to be maintained and
implemented and that is a disadvantage.

Prepared by: Alma P. Cablinan |Page 13 of 21


3. Layered Structure

Layer N
User Interface

:
:

Layer 1

Layer 0
Hardware

 In order to solve the disadvantages of the previous OS structures, they came


up with another structure called the layered structure.
 In this structure, your operating system is divided into several layers.
 In the lowermost layer or at level zero, you have your hardware, layer 1, and
up to layer n, and at the topmost layer is the user interface.
 Broken down the functionalities into different layers and separated them.
 So, the main advantage of this is that it is easy to implement and debug
because every layer has different functionality therefore instead of keeping
them all together, it divided them into layers.
 Let’s say that the CPU scheduling layer is again having a problem, in order to
debug, just must look at the layer and debug it, instead of going and digging
into the entire operating system. This is one of the advantages of this kind of
OS structure.
 But again, we cannot say that this layered approach is the best because it has
its own disadvantages.

Prepared by: Alma P. Cablinan |Page 14 of 21


 One difficulty is designing this kind of structure because you must be careful
and specific in designing and deciding which will be the layer on top of a
certain layer or which will be the layer below a layer.
 Only the services by the below layers can be used by a particular layer.
 For example, let’s say we are having a layer that deals with the backing store.
So, we ensure that it must be below the layer dealing with memory
management.
 When one layer wants to use the services, provided by the layers below it, the
request must go down below each layer one by one and by the time the
service is provided it may be late or it may be very fast.
 The major advantage of this structure is the hardware is protected from the
layers above.
4. Microkernels Structure
 Micro – means “something small”
 So, instead of having
a big kernel with so
many functionalities,
what happens in this
approach is that we
remove all the non-
essential components
from the kernel and
implement them as a
system and user-level
program.
 Microkernel will just
provide the core
Source: https://youtu.be/XXPBl20J22w?t=829
functionalities of the
kernel, and then the other functionalities which are there like the device driver,
the file server, the process servers, and the virtual memory. All the services
are implemented as a user-level system program.
 The main function of the microkernel is to provide communication between the
client program and the services.
 The client program will request something, and the microkernel will just
provide communication between the client program. The communication
between the client program and system programs is called message passing.
 If the program is executing in user mode even if that program crashes, the
entire system is not going to crash. But if it’s running in kernel mode, and the
program fails then the entire system is going to crash.
 Therefore, the advantage of the microkernel approach is since most of the
functionalities will run in user mode the crashing problem of the entire system
is not going to happen mostly. But the disadvantage is microkernels can suffer
from performance decrease due to the increased system function overhead.
Since communication must be done always there could be a system overhead
leading to a decreased performance.

Prepared by: Alma P. Cablinan |Page 15 of 21


5. Module Structure
 Modules mean we follow up a modular approach in structuring the
operating system and are used by most of the operating systems.
 The best methodology for operating system design involves using object-
oriented program techniques to create a modular kernel.
 We have a core kernel and this core kernel will have only core
functionalities of the kernel. The other functionalities are present in the
form of modules which will be loaded to the kernel either at boot time or at
run time.
 Each module can communicate with the other module directly through the
core kernel.
 The advantage of this structure is all the modules is loaded directly to the
core kernel as an when needed so they don’t need to use message

Scheduling
Classes
Device & Bus
Drivers
File Systems

Miscellaneous
Core Kernel Loadable
Modules
System Calls

Stream
Modules Executable
Formats

passing.

Prepared by: Alma P. Cablinan |Page 16 of 21


1.5. Free and Open Source Operating Systems
Source: https://www.javatpoint.com/open-source-operating-system

What is an Open-Source Operating System?

 The term "open source" refers to computer software or applications where


the owners or copyright holders enable the users or third parties to use, see,
and edit the product's source code. The source code of an open-source OS is
publicly visible and editable. The usual operating systems such as Apple's
iOS, Microsoft's Windows, and Apple's Mac OS are closed operating systems.

 Open-Source Software is licensed in such a way that it is permissible to


produce as many copies as you want and to use them wherever you like. It
generally uses fewer resources than its commercial counterpart because it
lacks any code for licensing, promoting other products, authentication,
attaching advertisements, etc.

 The open-source operating system allows the use of code that is freely
distributed and available to anyone and for commercial purposes. Being an
open-source application or program, the program source code of an open-
source OS is available. The user may modify or change those codes and
develop new applications according to the user’s requirements. Some basic
examples of open-source operating systems are Linux, Open Solaris, Free
RTOS, Open BDS, Free BSD, Minix, etc.

How does Open-Source Operating System work?

 It works similarly to a closed operating system, except that the user may
modify the source code of the program or application. There may be a
difference in function even if there is no difference in performance.

 For instance, the information is packed and stored in a proprietary (closed)


operating system. In open-source, the same thing happens. However,
because the source code is visible to you, you may better understand the
process and change how data is processed.

 While the former operating system is secure and hassle-free, and the latter
requires some technical knowledge, you may customize these and increase
performance. There is no specific way or framework for working on the open-
source OS, but it may be customized to the user’s requirements.

Best Open-Source Operating System

 Most of the open-source operating systems are Linux based. Some of the
best open-source operating systems are as follows:

1. Linux Kernel

Prepared by: Alma P. Cablinan |Page 17 of 21


 Linux kernel was developed by Linus Torvalds. It offers the essential
functions required for an operating system, such as data cancellation,
memory processing, and interactions with computer hardware. It is open-
source software, and many developers researched the source code and
produced a plethora of helpful plug-ins and operating systems to meet their
requirements.

2. Linux Lite

 Linux Lite is another free, open-source operating


system that can run on lower-end hardware. It is a lightweight operating
system designed to help users who are unfamiliar with Linux-based operating
systems. The operating system includes all the required programs,
capabilities, tools, and desktops. It has a minimal interface and is entirely
based on the Ubuntu system.

 The operating system has been stable and has received regular updates in
the last five years. It is efficiently functional soon after installation. After
installation, users are not required to install any further drivers. If you want a
lightweight open-source operating system on your PC, go with Linux Lite.

3. Linux mint

 Linux Mint is a powerful Linux-based operating


system that exudes modernity and power. It is simple
to use and includes complete multimedia capabilities, making it a user-friendly
open-source operating system. It is an Ubuntu-based distribution that is
popular among both beginners and experts. It is built on the Debian platform
and includes one of the most powerful software managers. It is more stable
and has better visual aesthetics than Ubuntu.

4. Fedora

 Fedora is another popular Linux-based operating


system, and it is widely considered the best open-source
operating system after Ubuntu. It is an RPM-based general-purpose operating
system that is supported by Red Hat and built by the Fedora Project
community. Its purpose is to develop and share cutting-edge open-source
technology for free.

 As a result, Fedora developers prefer to make upstream improvements rather


than create fixes specifically for Fedora. Fedora developers' updates are
available to all Linux distributions.

Prepared by: Alma P. Cablinan |Page 18 of 21


5. React OS

 ReactOS is another free and open-source operating


system that has nearly 1 million downloads in over 100 countries.

 This community-based OS may run Windows apps, making it an excellent


alternative to the Windows operating system.

 Although ReactOS is still growing, users, who love highly customizable


operating systems, can select ReactOS. However, the operating system is
developer-focused.

6. Solus

 Solus is a free and open-source operating system for your desktop computer.
It's a new operating system from the Linux family, released in 2012.

 More than 6000 registered users are currently using the software. VLC,


XChat, Transmission, Thunderbird, OpenShot Video Editor, Firefox, Budgie
desktop environment, and LibreOffice Suite are all included with Solus.

 The most recent version of Solus, Solus 3, was released in August 2017.

7. Chrome OS

 Chrome OS is a partly open-source operating system with


various attractive features. It's part of the Chromium
and Linux families, with features including better security, compatibility for
supported Android and Chrome apps, Aura windows manager, Google cloud
print, integrated media player, virtual desktop access, and cloud-based
management.

 The only issue with the operating system is that it only supports Nexus
devices or its hardware. As a result, if you're a Google fan, you'll love Chrome
OS on a Chromebook.

Advantages and Disadvantages of Open-Source Operating Systems

Prepared by: Alma P. Cablinan |Page 19 of 21


 Various advantages and disadvantages of the open-source operating system
are as follows:

Advantages:
1. Reliable and efficient

 Open-source operating systems are most reliable and efficient. Thousands of


eyes monitor these because the source code is public. As a result, if there are
any bugs or errors, they are fixed by the best developers worldwide.

2. Cost-efficient
 Most open-source operating systems are free. And some of them are far less
expensive than commercially closed products.
3. Flexibility
 The great advantage is you may customize it as per your requirement. And
there is creative freedom.

Disadvantages:

1. Complicated
 It is not as user-friendly as the ones that are closed. To use this software, you
must have a basic understanding of technology.
2, Security Risk
 Despite the defects having been detected, there is a risk of assaults because
the attackers have access to the source code.
3. No support
 If you run across an issue, there is no customer support available to assist
you.

Three types of open-source software:


o Freeware – available free of cost for use and distribution but it cannot
be modified, source code is not available. It is called open-source
software because you cannot pay for it.
 Examples of freeware:
 Google Chrome
 Adobe Acrobat PDF Reader
 Skype
o Shareware – initially free and can be distributed but need to be paid for
a stipulated period. Source code not available
 For example – Win RAR
o Propriety software – can be used only by obtaining a license from its
developer. Individuals or companies can own such propriety software.
Sources code is a closely guarded secret.
 Can have major restrictions like:
 No further distributions (if you bought a license for
yourself then only you can use it and if you bought for a

Prepared by: Alma P. Cablinan |Page 20 of 21


multiuser license then you can use it for a few computer
systems only.)
 Number of users that can use it
 Type of computer it can be installed on, example
multitasking or single user, etc.
 For example: Microsoft Windows

<<<End of the chapter>>>

Prepared by: Alma P. Cablinan |Page 21 of 21

You might also like