COMPUTER FUNDAMENTAL MDU BBA Unit-3 and Unit-4
COMPUTER FUNDAMENTAL MDU BBA Unit-3 and Unit-4
3.1 CONCEPT
3.2 HISTORY
Generations of Operating System
The First Generation (1940 to early 1950s)
When the first electronic computer was developed in 1940, it was created without any operating
system. In early times, users have full access to the computer machine and write a program for
each task in absolute machine language. The programmer can perform and solve only simple
mathematical calculations during the computer generation, and this calculation does not require
an operating system.
The Second Generation (1955 - 1965)
The first operating system (OS) was created in the early 1950s and was known as GMOS.
General Motors has developed OS for the IBM computer. The second-generation operating
system was based on a single stream batch processing system because it collects all similar jobs
in groups or batches and then submits the jobs to the operating system using a punch card to
complete all jobs in a machine. At each completion of jobs (either normally or abnormally),
control transfer to the operating system that is cleaned after completing one job and then
continues to read and initiates the next job in a punch card. After that, new machines were called
mainframes, which were very big and used by professional operators.
The Third Generation (1965 - 1980)
During the late 1960s, operating system designers were very capable of developing a new
operating system that could simultaneously perform multiple tasks in a single computer program
called multiprogramming. The introduction of multiprogramming plays a very important role in
developing operating systems that allow a CPU to be busy every time by performing different
tasks on a computer at the same time. During the third generation, there was a new development
of minicomputer's phenomenal growth starting in 1961 with the DEC PDP-1. These PDP's leads
to the creation of personal computers in the fourth generation.
The Fourth Generation (1980 - Present Day)
The fourth generation of operating systems is related to the development of the personal
computer. However, the personal computer is very similar to the minicomputers that were
developed in the third generation. The cost of a personal computer was very high at that time;
there were small fractions of minicomputers costs. A major factor related to creating personal
computers was the birth of Microsoft and the Windows operating system. Microsoft created the
first window operating system in 1975. After introducing the Microsoft Windows OS, Bill Gates
and Paul Allen had the vision to take personal computers to the next level. Therefore, they
introduced the MS-DOS in 1981; however, it was very difficult for the person to understand its
cryptic commands. Today, Windows has become the most popular and most commonly used
operating system technology. And then, Windows released various operating systems such as
Windows 95, Windows 98, Windows XP and the latest operating system, Windows 7. Currently,
most Windows users use the Windows 10 operating system. Besides the Windows operating
system, Apple is another popular operating system built in the 1980s, and this operating system
was developed by Steve Jobs, a co-founder of Apple. They named the operating system
Macintosh OS or Mac OS.
3.3 FUNCTIONS OF OPERATING SYSTEM
/* From computer fundamentals book by nasib gill pg 192, 193*/
o Simple to implement.
o Easy to manage and design.
o In a Single contiguous memory management scheme, once a process is loaded, it is
given full processor's time, and no other processor will interrupt it.
o Wastage of memory space due to unused memory as the process is unlikely to use all
the available memory space.
o The CPU remains idle, waiting for the disk to load the binary image into the main
memory.
o It can not be executed if the program is too large to fit the entire available main memory
space.
o It does not support multiprogramming, i.e., it cannot handle multiple programs
simultaneously.
Multiple Partitioning:
o Fixed Partitioning
o Dynamic Partitioning
Fixed Partitioning
The main memory is divided into several fixed-sized partitions in a fixed partition
memory management scheme or static partitioning. These partitions can be of the same
size or different sizes. Each partition can hold a single process. The number of partitions
determines the degree of multiprogramming, i.e., the maximum number of processes in
memory. These partitions are made at the time of system generation and remain fixed
after that.
o Simple to implement.
o Easy to manage and design.
Dynamic Partitioning
What is paging?
Advantages of paging:
What is Segmentation?
The main memory is central to the operation of a modern computer. Main Memory is a
large array of words or bytes, ranging in size from hundreds of thousands to billions.
Main memory is a repository of rapidly available information shared by the CPU and I/O
devices. Main memory is the place where programs and information are kept when the
processor is effectively utilizing them. Main memory is associated with the processor, so
moving instructions and information into and out of the processor is extremely fast.
Main memory is also known as RAM(Random Access Memory). This memory is a
volatile memory.RAM lost its data when a power interruption occurs.
What is Memory Management :
To load a process into the main memory is done by a loader. There are two different
types of loading :
Static loading:- loading the entire program into a fixed address. It requires more
memory space.
Dynamic loading:- The entire program and all data of a process must be in physical
memory for the process to execute. So, the size of a process is limited to the size of
physical memory. To gain proper memory utilization, dynamic loading is used. In
dynamic loading, a routine is not loaded until it is called. All routines are residing on
disk in a relocatable load format. One of the advantages of dynamic loading is that
unused routine is never loaded. This loading is useful when a large amount of code is
needed to handle it efficiently.
To perform a linking task a linker is used. A linker is a program that takes one or more
object files generated by a compiler and combines them into a single executable file.
Static linking: In static linking, the linker combines all necessary program modules
into a single executable program. So there is no runtime dependency. Some operating
systems support only static linking, in which system language libraries are treated like
any other object module.
Dynamic linking: The basic concept of dynamic linking is similar to dynamic
loading. In dynamic linking, “Stub” is included for each appropriate library routine
reference. A stub is a small piece of code. When the stub is executed, it checks
whether the needed routine is already in memory or not. If not available then the
program loads the routine into memory.
Swapping :
The main memory should oblige both the operating system and the different client
processes. Therefore, the allocation of memory becomes an important task in the
operating system. The memory is usually divided into two partitions: one for the resident
operating system and one for the user processes. We normally need several user
processes to reside in memory simultaneously. Therefore, we need to consider how to
allocate available memory to the processes that are in the input queue waiting to be
brought into memory. In adjacent memory allotment, each process is contained in a
single contiguous segment of memory.
Memory allocation:
Here in this example, first, we traverse the complete list and find the last hole 25KB is
the best suitable hole for Process A(size 25KB).
In this method memory utilization is maximum as compared to other memory allocation
techniques.
Worst fit:-In the worst fit, allocate the largest available hole to process. This method
produces the largest leftover hole.
Here in this example, Process A (Size 25 KB) is allocated to the largest available memory
block which is 60KB. Inefficient memory utilization is a major issue in the worst fit.
Fragmentation:
Fragmentation is defined as when the process is loaded and removed after execution from
memory, it creates a small free hole. These holes can not be assigned to new processes
because holes are not combined or do not fulfill the memory requirement of the process.
To achieve a degree of multiprogramming, we must reduce the waste of memory or
fragmentation problems. In the operating systems two types of fragmentation:
Internal fragmentation:
Internal fragmentation occurs when memory blocks are allocated to the process more
than their requested size. Due to this some unused space is leftover and creates an internal
fragmentation problem.
Example: Suppose there is a fixed partitioning is used for memory allocation and the
different size of block 3MB, 6MB, and 7MB space in memory. Now a new process p4 of
size 2MB comes and demand for the block of memory. It gets a memory block of 3MB
but 1MB block memory is a waste, and it can not be allocated to other processes too. This
is called internal fragmentation.
External fragmentation:
In external fragmentation, we have a free memory block, but we can not assign it to
process because blocks are not contiguous.
Example: Suppose (consider above example) three process p1, p2, p3 comes with size
2MB, 4MB, and 7MB respectively. Now they get memory blocks of size 3MB, 6MB, and
7MB allocated respectively. After allocating process p1 process and p2 process left 1MB
and 2MB. Suppose a new process p4 comes and demands a 3MB block of memory,
which is available, but we can not assign it because free memory space is not contiguous.
This is called external fragmentation.
Both the first fit and best-fit systems for memory allocation affected by external
fragmentation. To overcome the external fragmentation problem Compaction is used. In
the compaction technique, all free memory space combines and makes one large block.
So, this space can be used by other processes effectively.
Another possible solution to the external fragmentation is to allow the logical address
space of the processes to be noncontiguous, thus permit a process to be allocated physical
memory wherever the latter is available.
Paging:
Paging is a memory management scheme that eliminates the need for contiguous
allocation of physical memory. This scheme permits the physical address space of a
process to be non-contiguous.
Logical Address or Virtual Address (represented in bits): An address generated by the
CPU
Logical Address Space or Virtual Address Space (represented in words or bytes): The
set of all logical addresses generated by a program
Physical Address (represented in bits): An address actually available on a memory
unit
Physical Address Space (represented in words or bytes): The set of all physical
addresses corresponding to the logical addresses
The mapping from virtual to physical address is done by the memory
management unit (MMU) which is a hardware device and this mapping is known
as the paging technique.
The Physical Address Space is conceptually divided into several fixed-size
blocks, called frames.
The Logical Address Space is also split into fixed-size blocks, called pages.
Page Size = Frame Size
File management tools are utility software that manages files of the computer system. Since files are an
important part of the system as all the data is stored in the files. Therefore, this utility software help to
browse, search, arrange, find information, and quickly preview the files of the system.
A utility software or system utilities is a type of system software that helps in the proper and smooth
functioning of a computer system. Moreover, they assist the operating system to manage, organize,
maintain and optimize the functioning of a computer system. A file management system has a limited
amount of capabilities. Furthermore, they work on files or a group of files. We can also call them file
manager.
For file management in the operating system or to make the operating system
understand a file, the file must be in a predefined structure or format. There are mainly
three types of file structures present in the operating systems:
3. object file: An object file is a file that contains object codes in the form of
assembling language code or machine language code. In simple terms, we can
say that object files contain program instructions in the form of a series of bytes
and are organized in the form of blocks.
2. Every file is associated with some name and some access permissions that tells us who
can access the files in which mode (read or write).
In the example above, we have the access permission depicted for a particular file.
Here r tells that the file is readable, w tells that the file is writeable, and x tells us that the
file is executable. While the dash (-) symbol tells no permission is given.
Now as we know in LINUX-based OS, there are three permission groups (owner, group,
and other). The first character tells us the type of file (either file or directory). Now the
next three characters are representing the permission of the owner, the next three is
representing the permissions of a group and the last three characters represent the
permissions of the other.
3. Whenever a user logs off then the file stored on the secondary storage device does not get
erased. If the data is stored in the primary memory like RAM the data gets lost.
Functions of File Management in Operating System
Now let us talk about some of the most important functions of file management in operating
systems.
Allows users to create, modify and delete files on the computer system.
Manages the locations of files present on the secondary memory or primary memory.
Manages and handles the permissions of a particular file for various users and groups.
Organizes the files in a tree-like structure for better visualization.
Provides interface to I/O operations.
Secures files from unauthorized access and hackers.
If the size of the files becomes large then the management takes a good amount of time
due to hierarchical order.
To get more advanced management features, we need an advanced version of the file
management system. One of the advanced features can be the document management
feature (DMS) that can organize important documents.
The file system in operating system can only manage the local files present in the
computer system.
Security can be an issue sometimes as a virus in a file can spread across the various other
files due to tree-like (hierarchal) structure.
Due to the hierarchal structure, file accessing can be slow sometimes.
Examples of File Management in Operating System
An example of file management in operating system is a file manager or a file browser. File
browsers are user interface that is developed to manage various files and folders present in the
operating system.
Some of the most common operations provided by the file browser of almost every operating
system are:
1. file creation.
2. file modification.
3. file deletion.
4. file transfer.
5. file renaming.
6. file copying and moving.
7. changing file creation.
Conclusion
File management is one of the basic but important features provided by the operating system.
The file management in the operating system is software that handles or manages the files
present in computer software.
The file system in the operating system is capable of managing individual as well as a group of
files present in the computer system.
The file system in operating system tells us about the location, owner, time of creation and
modification, type, and state of a file present on the computer system.
The file management in operating system allows users to create a new file, and modify and
delete the old files present at different locations of the computer system.
Processes share files so the file management in the operating system makes files sharable
between processes. It helps the various processes to securely access the required information
from a file.
The file management in the operating system provides input-output operation support to the
files so that the data can be written, read, or extracted from the file(s).
It organizes the files in a hierarchal manner in the form of files and folders (directories) so that
management of these files can be easier from the user's perspective as well.
UNIT-4
Computer application in offices
Computers are used in many ways in an office. They're used to make calculations that would
take too much time to do by hand. This includes financial, economical, technical,
Computers are also used to keep track of money flows, administration, making drawings for
Some of the popular uses of computers in offices include preparation of word documents
such as letters, reports, processing of work documents such as work orders and financial
reports, presentation of reports and proposals to and behalf of executive and higher level
office personnel, management of email services to maintain and sustain business and
communication services, filing, storage and retrieval of business information and support for
internal and external business services that require messaging, faxes, printing, photocopying,
Modern computer networks facilitate business interactions among offices in small and large
businesses and also promote productive two way or multi-path business flows with other
remote business, governmental, legal, commercial and almost any other relevant or related
business concerns.
computers to design and produce hard-copy books and e-books, market books to readers and
track sales. Readers download books and magazines to their phones, laptops and tablets to
Computers make designing books both faster and more complex. Designers and selfpublished
writers use page-layout and illustration software to pull together illustrations, cover designs,
layouts and typefaces in a fraction of the time it would take by hand. If the bookneeds revision,
it's easy to revise and make changes to digital files.
Digital books make up 30 percent of the book-publishing marketplace at the time of publication.
Special-interest magazines for niche markets thrive online, where they save on hard-copy printing
and paper costs. Digital publishing makes it easier for writers to release their work without a
traditional publisher's support.
In publishing, as in most industries, computers and the Internet are vital marketing tools.
Publishers email customers with newsletters about new releases. Magazines announce when
the next issue goes on sale. Publishers and authors rely on social media for promotion --
tweeting about new books, creating Facebook pages or promoting books on Good Reads.
Self-published authors use email and social media to publicize their work or send out digital
copies to book-review websites.
The Booksellers
Online bookselling works well for publishers who can sell to readers anywhere in the world,
but it's had the side effect of forcing many independent bookstores and a national chain to
shut their doors.
goal of discovering the required information. The results so obtained are communicated,
to portray the data for the ease of discovering the useful patterns in the data. The terms Data
Data Analysis Process consists of the following phases that are iterative in nature −
Data Collection
Data Processing
Data Cleaning
Data Analysis
Communication
All the above Data Analysis process are performed using the computer system.
These systems often connect to financial markets such as securities exchanges or third party
For example, a company such as Bloomberg is financial software, news, and data company
that offers financial software tools such as analytics and equity trading platform to financial