0% found this document useful (0 votes)
28 views29 pages

Understanding Operating Systems Basics

introduction to os

Uploaded by

seyiafelister
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views29 pages

Understanding Operating Systems Basics

introduction to os

Uploaded by

seyiafelister
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

OPERATING SYSTEMS

LEC STEPHEN BOSIRE NYABUTO


WHAT IS AN OPERATING SYSTEM
• Is a core set of programs that control and supervise the hardware of a
computer and provide services to other systems software, application
software, programs and users of a computer
• An operating system is a program that controls the execution of
application programs and acts as an interface between the user of a
computer and the computer hardware.
• A more common definition is that the operating system is the one
program running at all times on the computer (usually called the
kernel), with all else being application programs.
• An operating system is concerned with the allocation of resources and
services, such as memory, processors, devices, and information. The
operating system correspondingly includes programs to manage these
resources, such as a traffic controller, a scheduler, memory
management module, I/O programs, and a file system.
ASPECTS OF OPERATING SYSTEM
Operating system performs three aspects:
• 1. Convenience: An OS makes a computer more convenient
to use.
• 2. Efficiency: An OS allows the computer system resources to
be used in an efficient manner.
• 3. Ability to Evolve: An OS should be constructed in such a
way as to permit the effective development, testing and
introduction of new system functions at the same time
without interfering with service.
OPERATING SYSTEM DEFINITIONS
• Resource allocator – manages and allocates resources.
• Control program – controls the execution of user programs and
operations of I/O devices .
• Kernel – The one program running at all times (all else being
application programs).
• Components of OS: OS has two parts.
• (1)Kernel.
• (2)Shell.
• (1) Kernel is an active part of an OS i.e., it is the part of OS running at
all times. It is a programs which can interact with the hardware. Ex:
Device driver, dll files, system files etc.
• (2) Shell is called as the command interpreter. It is a set of programs
used to interact with the application programs. It is responsible for
execution of instructions given to OS (called commands).
• Operating systems can be explored from two viewpoints: the
user and the system.
• User View: From the user’s point view, the OS is designed for
one user to monopolize its resources, to maximize the work
that the user is performing and for ease of use.
• System View: From the computer's point of view, an
operating system is a control program that manages the
execution of user programs to prevent errors and improper
use of the computer. It is concerned with the operation and
control of I/O devices.
FUNCTIONS OF OPERATING SYSTEM:
Important functions of an operating system:
1. Security
The operating system uses password protection to protect user data and
similar other techniques. it also prevents unauthorized access to programs
and user data.
2. Control over system performance
Monitors overall system health to help improve performance. records the
response time between service requests and system response to have a
complete view of the system health. This can help improve performance by
providing important information
needed to troubleshoot problems.
3. Job accounting
Operating system keeps track of time and resources used by various tasks
and users, this information can be used to track resource usage for a
particular user or group of user.
4. Error detecting aids
• Operating system constantly monitors the system to detect
errors and avoid the malfunctioning of computer system.
5. Coordination between other software and users
• Operating systems also coordinate and assign interpreters,
compilers, assemblers and other software to the various users
of the computer systems.
6. Memory Management
• The operating system manages the primary memory or main
memory. Main memory is made up of a large array of bytes or
words where each byte or word is assigned a certain address.
Main memory is a fast storage and it can be accessed directly
by the CPU. For a program to be executed, it should be first
loaded in the main memory.
An operating system performs the following activities for
memory management: It keeps tracks of primary memory, i.e.,
which bytes of memory are used by which user program. The
memory addresses that have already been allocated and the
memory addresses of the memory that has not yet been used.
In multi programming, the OS decides the order in which
process are granted access to memory, and for how long. It
Allocates the memory to a process when the process requests
it and deallocates the memory when the process has
terminated or is performing an I/O operation.
7. Processor Management
In a multi programming environment, the OS decides the order in which
processes have access to the processor, and how much processing time
each process has. This function of OS is called process scheduling. An
operating system performs the following activities for processor
management. Keeps tracks of the status of processes. The program which
perform this task is known as traffic controller. Allocates the CPU that is
processor to a process. De-allocates processor when a process is no more
required.
8. Device Management
An OS manages device communication via their respective drivers. It
performs the following activities for device management. Keeps tracks of
all devices connected to system. designates a program responsible for
every device known as the Input/Output controller. Decides which process
gets access to a certain device and for how long. Allocates devices in an
effective and efficient way. Deallocates devices when they are no longer
9. File Management
A file system is organized into directories for efficient or easy
navigation and usage. These directories may contain other
directories and other files. An operating system carries out the
following file management activities. It keeps track of where
information is
Moreover, operating system also provides certain services to the
computer system in one form or the other. The operating system provides
certain services to the users which can be listed in the following manner:
1. Program Execution
The operating system is responsible for execution of all types of programs
whether it be user programs or system programs. The operating system
utilizes various resources available for the efficient running of all types of
functionalities.
2. Handling Input/Output Operations
The operating system is responsible for handling all sort of inputs, i.e,
from keyboard, mouse, desktop, etc. The operating system does all
interfacing in the most appropriate manner regarding all kind of inputs
and outputs.
For example, there is difference in nature of all types of peripheral
devices such as mouse or keyboard, then operating system is responsible
for handling data between them.
3. Manipulation of File System
• The operating system is responsible for making of decisions
regarding the storage of all types of data or files, i.e, floppy
disk/hard disk/pen drive, etc. The operating system decides
as how the data should be manipulated and stored.
4. Error Detection and Handling
• The operating system is responsible for detection of any
types of error or bugs that can occur while any task. The well
secured OS sometimes also acts as countermeasure for
preventing any sort of breach to the computer system from
any external source and probably handling them.
5. Resource Allocation
The operating system ensures the proper use of all the resources
available by deciding which resource to be used by whom for how
much time. All the decisions are taken by the operating system.
6. Accounting
The operating system tracks an account of all the functionalities
taking place in the computer system at a time. All the details
such as the types of errors occurred are recorded by the
operating system.
7. Information and Resource Protection
The operating system is responsible for using all the information
and resources available on the machine in the most protected
way. The operating system must foil an attempt from any external
resource to hamper any sort of data or information.
EVOLUTION OF OS/TYPES OF OPERATING SYSTEMS
• 1. Batch Operating System - This type of operating system
does not interact with the computer directly. There is an
operator which takes similar jobs having same requirement
and groups them into batches. It is the responsibility of
operator to sort the jobs with similar needs.
Advantages of Batch Operating System:
• Multiple users can share the batch systems
• The idle time for batch system is very less
• It is easy to manage large work repeatedly in batch systems
Disadvantages of Batch Operating System:
• The computer operators should be well known with batch
systems
• Batch systems are hard to debug
• It is sometime costly
• The other jobs will have to wait for an unknown time if any job
fails
Examples of Batch based Operating System: Payroll System,
Bank Statements etc.
• 2. Time-Sharing Operating Systems
• Each task is given some time to execute, so that all the tasks
work smoothly. Each user gets time of CPU as they use single
system. These systems are also known as Multitasking
Systems. The task can be from single user or from different
users also. The time that each task gets to execute is called
quantum. After this time interval is over OS switches over to
next task.
Advantages of Time-Sharing OS:
• Each task gets an equal opportunity
• Less chances of duplication of software
• CPU idle time can be reduced
Disadvantages of Time-Sharing OS:
• Reliability problem
• One must have to take care of security and integrity of user
programs and data
• Data communication problem
Examples of Time-Sharing OSs are: Linux, Unix etc.
• 3. Distributed Operating System
• Various autonomous interconnected computers communicate
with each other using a shared communication network.
Independent systems possess their own memory unit and
CPU. These are referred as loosely coupled systems or
distributed systems. These system’s processors differ in size
and function. The major benefit of working with these types
of operating system is that it is always possible that one user
can access the files or software which are not actually
present on his system but on some other system connected
within this network i.e., remote access is enabled within the
devices connected in that network.
Advantages of Distributed Operating System:
• Failure of one will not affect the other network communication, as all systems
are independent from each other
• Electronic mail increases the data exchange speed
• Since resources are being shared, computation is highly fast and durable
• Load on host computer reduces
• These systems are easily scalable as many systems can be easily added to the
network
• Delay in data processing reduces
Disadvantages of Distributed Operating System:
• Failure of the main network will stop the entire communication
• To establish distributed systems the language which are used are not well
defined yet
• These types of systems are not readily available as they are very expensive. Not
only that the underlying software is highly complex and not understood well yet
Examples of Distributed Operating System are- LOCUS .
4. Network Operating System
• Historically operating systems with networking capabilities
were described as network operating system, because they
allowed personal computers (PCs) to participate in computer
networks and shared file and printer access within a local
area network (LAN).
• This description of operating systems is now largely
historical, as common operating systems include a network
stack to support a client–server model.
• These limited client/server networks were gradually replaced by Peer-to-peer networks,
which used networking capabilities to share resources and files located on a variety of
computers of all sizes. A peer-to-peer network sets all connected computers equal; they all
share the same abilities to use resources available on the network. The most popular peer-
to-peer networks as of 2020 are Ethernet, Wi-Fi and the Internet protocol suite. Software
that allowed users to interact with these networks, despite a lack of networking support in
the underlying manufacturer's operating system, was sometimes called a network operating
system. Examples of such add-on software include Phil Karn's KA9Q NOS (adding Internet
support to CP/M and MS-DOS), PC/TCP Packet Drivers (adding Ethernet and Internet support
to MS-DOS), and LANtastic (for MS-DOS, Microsoft Windows and OS/2), and Windows for
Workgroups (adding NetBIOS to Windows). Examples of early operating systems with peer-
to-peer networking capabilities built-in include MacOS (using AppleTalk and LocalTalk), and
the Berkeley Software Distribution.
• Today, distributed computing and groupware applications have become the norm. Computer
operating systems include a networking stack as a matter of course. During the 1980s the
need to integrate dissimilar computers with network capabilities grew and the number of
networked devices grew rapidly. Partly because it allowed for multi-vendor interoperability,
and could route packets globally rather than being restricted to a single building, the
Internet protocol suite became almost universally adopted in network architectures.
Thereafter, computer operating systems and the firmware of network devices tended to
support Internet protocols.
Advantages of Network Operating System:
• Highly stable centralized servers
• Security concerns are handled through servers
• New technologies and hardware up-gradation are easily integrated to
the system
• Server access are possible remotely from different locations and types
of systems
Disadvantages of Network Operating System:
• Servers are costly
• User has to depend on central location for most operations
• Maintenance and updates are required regularly
Examples of Network Operating System are: Microsoft Windows Server
2003, Microsoft Windows Server 2008, UNIX, Linux,Mac OS X, Novell
NetWare, and BSD etc.
• 5. Real-Time Operating System
• These types of OSs are used in real-time systems. The time interval
required to process and respond to inputs is very small. This time interval is
called response time.
• Real-time systems are used when the time requirements are very strict like
missile systems, air traffic control systems, robots etc.
• Two types of Real-Time Operating System which are as follows:
Hard Real-Time Systems:
• These OSs are meant for the applications where time constraints are very
strict and even the shortest possible delay is not acceptable. These systems
are built for saving life like automatic parachutes or air bags which are
required to be readily
• available in case of any accident. Virtual memory is almost never found in
these systems.
Soft Real-Time Systems:
• These OSs are for applications where for time-constraint is less strict.
• Advantages of RTOS:
• Maximum Consumption: Maximum utilization of devices and system,thus
more output from all the resources
• Task Shifting: Time assigned for shifting tasks in these systems are very
less. For example in older systems it takes about 10 micro seconds in
shifting one task to another and in latest systems it takes 3 micro seconds.
• Focus on Application: Focus on running applications and less importance to
applications which are in queue.
• Real time operating system in embedded system: Since size of programs
are small, RTOS can also be used in embedded systems like in transport
and others.
• Error Free: These types of systems MUST be able to deal with any
exceptions, so they are not really error free, but handle error conditions
without halting the system.
• Memory Allocation: Memory allocation is best managed in these type of
systems.
Disadvantages of RTOS:
• Limited Tasks: Very few tasks run at the same time and their
concentration is very less on few applications to avoid errors.
• Use heavy system resources: Sometimes the system resources are
not so good and they are expensive as well.
• Complex Algorithms: The algorithms are very complex and difficult
for the designer to write on.
• Device driver and interrupt signals: It needs specific device drivers
and interrupt signals to response earliest to interrupts.
• Thread Priority: It is not good to set thread priority as these systems
are very less prone to switching tasks.
Examples of Real-Time Operating Systems are: Scientific
experiments, medical imaging systems, industrial control systems,
weapon systems, robots, air traffic control systems, etc.

You might also like