Hardware:
It is the collection of
physical elements that constitutes a computer system. Computer hardware is the
physical parts or components of a computer, such as the monitor, mouse,
keyboard, computer data storage, hard disk drive (HDD), graphic cards, sound
cards, memory (RAM), motherboard, and so on,
Software: A set of computer program that
makes computer usable is called software. Software act as an interface between
the user and rest of the computer system.
Three
primary Software are
System
software (software
that acts as an intermediary between computer network and application program
are called system software. System software is responsible for accessing
computer hardware and providing required resources and services to application
software.), utility software- Utility software is system software
designed to help analyze, configure, optimize or maintain a computer.
Example (Disk defragmenters, disk cleaners,
antivirus, disk space analyzer, scandisk) and application software-- Application
software is a program or group of programs designed for end users. (Example
Ms-Word, MS-Excel, adobe Photoshop).
Operating
system: Operating
System:
An operating system is the collecting of program that acts as an interface
between the user and the computer and hardware of the computer providing and
operational environment to the users and application programs
Examples of operating
system are Windows, UNIX, Linux Mac Os, Sun Solaris
Objective
of operating systems
1. To make computer system convenient
to use in an efficient manner
2.
To
hide detail of the hardware resources from users.
3.
To
provide users a convenient interface to use the computer system
4.
To
act as an intermediary between the hardware and its users and making it easier
for the user to access and use resources.
5.
To
manage the resource such as CPU, memory, input device, output devices etc of
the computer system.
6.
To
keep track of resources, granting or denying resources requests, mediating
conflicting requests from different programs and users.
7.
To
provide efficient and fair sharing of resources among users and programs
8.
Interface
between user and computer
9.
Master
control program
10. Manages input and
output operations
11. Allocating the
resources
12. Tracking the use
of resources
13.
File
and disk management
14. Detects and
notifies the errors.
Multiprogramming:
It is the technique that allows more than one
program to be loaded into memory at once. All programs are in ready state for
execution. In this approach when a program is busy in CPU, another program can
be read input and third program can display output. The main motive is to
utilize the CPU and other resources efficiently.
Multiprocessing:
In multiprocessing operating system a task is
divided between more than one processor so that parallelism can be
achieved. The main motive is to increase
computation speed.
Multithreading:
It is the ability
of an operating system to execute the different parts of a program called
threads at the time. Threads are light weight processes which are independent
part of a process or program. In multithreading system, more than one thread is
executed simultaneously on a single CPU. Example in word processing systems
multiple threads are used such the one thread controls text processing, another
thread performs spelling checking, third thread performs grammar checking and
so on.
Multitasking:
It is ability of
an operating system to execute more than one task simultaneously on a single
processor machine. CPU switches from one task to the next task so quickly that
appears as if all the tasks are executing at the same time. The main motive is
to utilize the CPU efficiently and reduce the response time.
Types
of operating system
1. Batch Operating system: In this type of
operating system, job is not processed until all the data are fully input. The
jobs are stores in a disk in a batch in a queue and run one or more at one time
under the control of operating system. This is the oldest type of operating
system. Example MS-DOS, IBM DOS, Apple DOS
Problem with batch systems
o
Lack
of interaction between the user and job
o
CPU
if often idle, because the speed of the mechanical I/O devices is slower than
CPU
o
Difficult
to provide the desired priority.
2. Time-sharing
operating system: A time sharing system allows many users
to share the computer resources simultaneously. In other words, time sharing
refers to the allocation of computer resources in time slots to several
programs simultaneously. For example a mainframe computer that has many users
logged on to it. Each user uses the resources of the mainframe -i.e. memory,
CPU etc. The users feel that they are exclusive user of the CPU, even though
this is not possible with one CPU i.e. shared among different users.
Advantages:
o Provide advantages of quick
response.
o Avoids duplication of software.
o Reduces CPU idle time.
Disadvantages:
o Overhead of switching between
users.
o Difficult to maintain security and
integrity of user programs and data.
o Problem of data communication
between computer and terminals.
3.
Distributed operating system: It
is a model where applications can run on multiple computers linked by
communication. This system looks to its users like an ordinary centralized
operating system but runs on multiple, independent central processing units
(CPU).
Advantages
·
With
resource sharing facility user at one site may be able to use the resource
available at another.
·
If
one site fails in distributed systems, the remaining sites can potentially
continue operating which increases reliability.
·
People
at different sites can communicate with each other.
·
Computational
speed can be achieved because computation can be distributed among different
nodes.
4.
Network operating system: It is an operating system design for the sole
purpose of supporting workstations, database sharing, application sharing, file
and printer access sharing among multiple computers in a network. Example
Microsoft Windows Server 2003, Microsoft Windows Server 2008, Microsoft Windows
Server 2012, Linux, Mac OS X.
Advantages
·
Makes
security management easy.
·
Makes
user management and administration easy.
·
Enables
resource sharing.
·
Remote
access to servers is possible from different location and types if systems.
Disadvantages
·
High
cost of buying and running a server
·
Dependency
on a central location for most operations
·
Performance
will be degraded if numbers of clients are large.
5.
Real time Operating system: There is also an Operating System which is known as Real Time
Processing System. In this Response Time is already fixed. Means time to
Display the Results after Possessing has fixed by the Processor or CPU. Real
Time System is used at those Places in which we Requires higher and
Timely Response. Example industrial control systems, weapon
systems, robots, home appliance controllers, air traffic control system etc.
There
are two types of real-time operating system
v
Hard
real-time systems: It guarantees that critical tasks
complete on time. Secondary storage is limited or missing in hard real
time. Example industrial control
traffic, air traffic control system etc.
v
Soft
real-time systems:
In the Soft Real Time System, some Moments can be
Change. Means after giving the Command to the CPU, CPU Performs the Operation
after a Microsecond. example multimedia, virtual reality etc.
Function
of Operating system: Operating system direct and control
the allocation of processors, memory and peripheral devices to various programs
that use it. Functions of operating system are
1. Process Management: In multiprogramming environment,
more than one program resides in memory at the same time. A set of instruction
stored in secondary storage device is called program. When a program is loaded
into memory, it will be ready for execution and is termed as process.
Operating
system does the following activities for processor management
·
Process
scheduling.
·
Keeps
status of processes.
·
Interprocess
communication.
Process Scheduling: The problem of determining when a
processor or CPU should be assigned to which processes and for how much of time
is called processor scheduling or CPU scheduling.
Scheduler should consider
·
Fairness: It ensures that all processes get
a chance to execute in CPU after waiting some time.
·
Efficiency:
Scheduling policies should be able to utilize all resources in balance
way to achieve efficiency.
·
Response
Time: Time elapse
between arrival of a process and it gets the chance into CPU is called response
time. Goal of scheduling policies is to minimize response time.
·
Turnaround
Time: Time elapsed
between arrival of a job and its completion is called turnaround time.
·
Throughput: Number of jobs completed in unit
time called throughput.
Keeping
the status of processes: Operating
system is responsible for keeping the track of process state. It stores
information about process state in a table called PCB (process control block)
or process table.
A
process may be in one of three states.
v
Running:
only one process can be running state at any one time. Running process
is the process that is actually using the CPU at that time.
v Ready: A process that is ready but cannot
get access to the CPU due to another process using it.
v Blocked: A block process is unable to run
until some external event has taken place. Block process cannot use CPU even if
CPU has to do nothing.
Inter
process Communication: It
is a mechanism that allows the exchange of data between processes. IPC allows
one application to control another application thereby enabling data sharing
without interference.
2.
Memory Management: Memory
management refers to management of primary memory or main memory. Main memory
provides a fast storage that can be access directly by the CPU. For a program
to be executing it must be in main memory. Operating system does the following
activities
·
Managing
Free Space: To keep the track of which memory
space is free and which one is ready occupied, OS keeps either use bitmap or
linked list of processes and hole (free spaces). In bit map we need to store
one bit (either 0 or 1) for each memory block. 0 represent memory the block is
free and 1 represents memory block is ready used is vice versa.
Linked
is a way of organizing the data where the node containing first data holds the
address of node containing second data, node containing second data holds the
address of the node containing third data and so on.
Allocating
and deallocating Memory for process:
The memory management function determines how memory is allocated among
competing processes. When memory is allocated it determines which memory
locations will be assigned. Two widely used memory location techniques are:
a) Single Allocation: Single allocation is the simplest memory
management technique. The entire computer's memory is available to the single
application. Example MS-DOS, embedded system running a single application
b)
Partitioned
Allocation: This approach divides primary memory into
multiple memory partitions. Each partition might contain all the information
for a specific process or tasks. Partition can be fixed or variable. In fixed
partitions, partition can be of different sizes but once a partition has taken
on certain size then it remains at on that size. In variable partition,
partitions can change size as the need arise. Variable partitions can be summed
as
o
The
number of partition varies
o
The
size of the partitions varies
o
The
starting address of the partitions varies
Managing Virtual Memory: Virtual memory is the technique
that gives a computer ability to run programs that is larger than the size of
available physical memory. Example we can run a 2048K program on a 56K machine.
Virtual memory maps memory address used by a program, called virtual address,
into physical addresses in computer memory. Address translation hardware in the
CPU, Often referred to as a memory management unit or MMU is responsible for
translating virtual address to physical address.
Advantages
of virtual memory
o
Freeing
applications from having to manage a shared memory space.
o
Increased
security due to memory isolation
o
Being
able to conceptually use more memory than might be physically available.
3.
File Management: A file system is normally organized into
directories. Directories may contain files and other directories. File system
management describes the fundamental methods for
Naming
files :
1.
File name can be up to eight characters.
2.
The extension can be up to three
characters.
3.
The ".: dot separates the file name
and extension
4.
The characters set for the file name can
contain letters, numbers, and other special symbols.
5.
File name should not contain any blank
space.
6.
File name accepts any uppercase or
lowercase characters.
A
UNIX system allows file names up to 255 characters in length. Modern windows
allows up to 255 characters.
File structures: Files are stores as a sequence of
bytes. File structure can be grouped into three types
ü Byte sequence: File is
unstructured sequenced of bytes. In effect, the operating system does not know or care what
is in the file. All it sees are bytes. Any meaning must be imposed by
user-level programs. Both UNIX and Windows 98 use this approach.
ü
Record
sequence: File is
a sequenced of fixed length records each with some internal structure with read
operation returns and the write operation overwrites or appends one record.
ü
Tree
structure: File
consists of a hierarchy of records called tree. All record is not necessarily
be of same size, every record contains key field.
ü
File
Access: It refers
to the manner in which the records of a file may be accesses. Several ways to
access files: Sequential access: The records are access in some sequence. The
information in the file is processed in order, one record after the other.
Random
Access: Access the records directly. Each record has own address on the file
with by the help of which it can be directly accesses for reading or writing.
The record need not be in any sequence within the file and they need not be in
adjacent locations on the storage medium. Index sequential: It is based on sequentially
access. An index is created for each file which contains pointers to various
blocks. Index is searched sequentially and their pointer is used to access the
file directly.
ü File Attributes and operations: Every file has a name and its data.
Operating systems associate other information with each file such a as data and
time the file was created, size of file, password, owner etc.
ü
Storing
and Handling files:
Various methods are used in different operating system they are contiguous
allocation method, Linked allocation methods
Contiguous
allocation allocates N contiguous blocks to a file. If a file size is 100K and
the block size is 2K then 50 contiguous blocks are required to store the file.
The directory entry for each file contains the file name, start block number
and the file sized.
In
Linked allocation, the data blocks of a file can be scattered anywhere on the
disk. The directory entry of a file contains the start block number and file
name. Each block contains data and a pointer to the next block. This continuous
until the last block which has a special end-of-file (EOF) value.
Device
Management: Hardware
device provide the ability to input into the computer or output data from the
computer. Management of I/O devices is one of the principal tasks for the
operating system. This includes
v Handling Input/output.
v Providing device independence.
v Handling Errors.
Handling
Input Output:
Three different ways of performing I/O operations are programmed I/O, Interrupt
driven I/O, and I/O DMA
Programmed
I/O is also called pooling in which CPU is responsible for all communication
with I/O modules by executing instruction which control the attached devices or
transfer data. CPU needs to wait until transfer is complete.
Device
Independence: It
is the process of making a software application able to function on the variety
of devices regardless of the local hardware on which the software is used.
Example a program that reads a file as input should be able to read a file on
the floppy disk, on hard disk or in CD/DVD ROM without modifying the program
for each different device.
Error
Handling: If the controller discovers a read error, it
should try to correct the error itself. If it cannot the device should handle
it. Error correction is done by just trying to read the block again. If the
lower layer are not able to deal with the problem higher layer should be told
about it.
Example
of Operating Systems
Windows: Microsoft
introduced the first GUI base set of software which is properly known as
Windows. Example: Windows 95/98, Windows 2000, Windows NT, Windows Server,
Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows
10.
Advantages
of using windows
·
It
is easier to learn and use.
·
It
allows the user to work on a number of applications simultaneously.
·
Failures
to any application do not harm the computer system.
·
It
has features of communicating with other computers.
·
It
has many built in programs.
·
It
has fast processing capability.
·
It
helps to run the multiple applications at a time.
It
is GUI based software. So every item is in graphics form
UNIX: UNIX is a popular operating system
used in large variety of scientific engineering and other application. It was
developed at AT&T lab by Dennis Ritchie and Ken Thompson. Linux and UNIX
can run on variety of hardware and are available in different form.
Special features:
1.
Multi-user operating system: More than one
user can use the same machine via terminal computer.
2.
Multitasking operating system: More than
on program can be run at a time on a single computer.
3.
Portability operating system: UNIX has
less amount of machine dependent code. So it can run on different hardware
having fewer amounts of resources.
4.
Reliable and efficient operating system:
It is reliable operating system and handles thousands of users.
Linux: LINUX is an open
source operating system. It is a multitasking, multi-processing operation
system designed to use on personal computers. It was developed by Linus
Torvalds, hence the name is LINUX.
Hardware
layer: Hardware
consists of all peripherals devices e.g. RAM, HDD, and CPU
Kernel:
Interact directly with hardware; provide low
level service to upper layer components.
Shell:
An interface to
kernel, hiding complexity of kernel's functions from users. Takes command from
users and executes kernel's functions.
Utilities: IT gives user most of the functionalities
of an operating system.
No comments:
Post a Comment