0% found this document useful (0 votes)
91 views65 pages

Introduction and Structure of Operating System

Uploaded by

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

Introduction and Structure of Operating System

Uploaded by

gelopojih
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

OPERATING SYSTEMS

INTRODUCTION AND
STRUCTURE OF
OPERATING SYSTEMS
BSCS - 2B
MRS. MHONA LIZA PARAGAS
GROUP MEMBERS

Josh Khovick Dennis Delos Justine Yahweh Kurt Angelo


Fermano Santos Mantilla Sarceno Ballarta
TOPICS
Definition of an Operating System

History of Operating System

Objectives of an Operating System

Operating System Structure


I. OPERATING SYSTEM
INTRODUCTION
Definition of an Operating System
The operating system (OS) is the software that controls how a
computer's resources are used, particularly how they are
distributed across different applications. The central processing
unit (CPU), computer memory, file storage, input/output (I/O)
devices, and network connections are examples of common
resources.

Your computer's operating system (OS) manages all of the


software and hardware on the computer. Most of the time, there
are several different computer programs running at the same time,
and they all need to access your computer's central processing unit
(CPU), memory, and storage. The operating system coordinates all
of this to make sure each program gets what it needs.
HISTORY OF
OPERATING SYSTEM
GENERATIONS OF OPERATING
SYSTEMS

First Generation
Second Generation
Third Generation
Fourth Generation
The First Generation
(1940 to early 1950s)
The first electrical computer was created in 1940 without an
operating system. Early computer users developed programs in
machine language exclusively for every task, giving them total
control over the system. A programmer in the computer age can
only perform and resolve simple mathematical operations. These
calculations do not require the use of an operating system.
The Second Generation
(1955 – 1965)
The first operating system (OS), called GMOSIS, was created in the
early 1950s. General Motors developed the operating system for the
IBM Computer. The second-generation operating system was
developed on a single-stream batch processing system because it
aggregates all related jobs into groups or batches and then submits
them to the operating system using a punch card to finish them all.
The Third Generation
(1965 – 1980)
The second-generation operating system was based on a single
stream batch processing system, transferring control upon job
completion. Mainframes were introduced after this, and in the late
1960s, a new operating system was created capable of
multiprogramming, allowing simultaneous execution of several
tasks in a single computer program. Multiprogramming enabled
CPUs to be active at all times, and the release of the DEC PDP-1 in
1961 marked a new phase of growth and development in the third
generation of minicomputers.
The Fourth Generation
(1980 – Present Day)
The fourth generation of personal computers, originating from
PDPs, evolved from Generation IV (1980–Present) and shares
similarities with the third-generation minicomputers. Microsoft's
Windows operating system, developed in 1975, significantly
influenced the creation of personal computers. Despite its
complexity, Windows remains the most widely used and popular
operating system. Windows has since released several versions,
including Windows 95, 98, XP, and Windows 7, with the majority of
users currently running Windows 10. Apple is also a well-known
operating system.
TYPES OF OPERATING
SYSTEMS

No Operating Batch Processing Multiprogramming Time-Sharing


System Systems Systems Systems
(0s - 1940) (1940 - 1950) (1950 - 1960) (1960 - 1970)

(2010s - (Late 1990 - (1980 - 1990) (1970 - 1980)


Ongoing) Early 2000 )
Networked Systems Introduction of GUI
AI Integration Mobile Operating
Systems
Introduction of GUI
(1970s - 1980s)
Graphical User Interfaces (GUIs) evolved over time. The first
operating system improved user friendliness and altered how
people interacted with computers. GUI gives users access to the
visual components of the computer system, making computer
interaction more pleasant and user-friendly. Rather than entering
commands, the user can simply click on visual objects. These are a
few GUI features found in Microsoft Windows' menus, windows, and
icons.
Networked Systems
(1980s to 1990)
Computer networks were at their height in the 1980s, and certain
operating systems were required to handle network
communication. Operating systems such as Novell NetWare and
Windows NT were created to facilitate network connection, giving
users the ability to work in a team environment and simplifying file
sharing and remote access.
Mobile Operating Systems
(Late 1990s to Early 2000s)

The development of smartphones brought about a significant


upheaval in the software business. Specialized operating systems
were created to manage smartphone functionality. Among them
are Android and iOS, among others. With time, these operating
systems gained optimization and increased in strength.
MOBILE OS PLAYERS
AI Integration (2010s to Present)

Artificial intelligence became a reality as time went on. The


operating system has become more potent and effective in many
ways by integrating AI technology features like Siri, Google Assistant,
and Alexa. Such as voice commands, predictive text, and
personalized recommendations, these AI elements combined with
operating system capabilities offer a whole new feature.
AI INTEGRATED OPERATING SYSTEMS
WHY USE AN OPERATING
SYSTEM?
Offers significant advantages to computer software
and development

OS centralize essential functionalities from the


computer

Without OS, applications would need to manage all


computer functions independently

OS streamline software development by providing a


common platform for handling hardware interactions
OBJECTIVES OF AN
OPERATING SYSTEM
Resource Management
System resources including CPU, RAM, disk space, and peripherals
are all managed by the operating system. By allocating resources to
apps and processes, it maximizes their use and avoids conflicts
between them.

Process Management
The operating system (OS) initiates, plans, and ends processes,
enabling the simultaneous operation of several programs. It controls
process synchronization and communication, guarantees equitable
CPU time distribution, and offers interprocess coordinating tools.
Memory Management
The operating system tracks memory utilization by allocating and
releasing memory to processes. It optimizes memory use by using
tricks like virtual memory, which let processes access more memory
than is physically accessible.

File System Management


On storage devices, the OS offers an organized method for storing
and managing files. It controls the creation, removal, access, and
permissions of files. It manages file system backups, establishes file
sharing protocols, and guarantees data integrity.
Device Management
By controlling device drivers and offering a standardized interface
through which applications can access devices, the operating
system interfaces with physical devices. It manages device queues,
interrupt management, and input/output operations to provide
effective communication between hardware and software.

User Interface
Users can interact with the system using an intuitive interface
offered by the operating system. It lets users manage files, run
applications, and adjust system settings. It can be graphical or
command-line based.
Security and Protection
Security mechanisms are put in place by the OS to safeguard user
data and the system. It protects privacy and stops unwanted access
by enforcing encryption mechanisms, user authentication, and
access controls.

Error Handling
Errors and exceptions that arise during system operation are
recognized and managed by the OS. To help with problem diagnosis
and resolution, it offers debugging tools, logging techniques, and
error messages.
II. OPERATING SYSTEM
STRUCTURE
PROCESS
MANAGEMENT
Process Management

The core function of an operating


system that deals with the creation,
scheduling, and termination of
processes. A process is essentially a
program in execution, requiring
resources like CPU time, memory, and
I/O devices to function.
Process Management

Enables the efficient use of system


resources, improves system
performance, and ensures fairness and
transparency in resource allocation.
Process Management
Best Practices for Process Management OS:
Regularly monitor the system for resource usage and
performance.
Identify and terminate any unnecessary or unused
processes to free up system resources.
Be cautious when terminating a process, as it may have
unintended consequences.
Prioritize important or critical processes to ensure they
receive the resources they need.
Use appropriate scheduling algorithms to optimize the use
of system resources.
Use appropriate IPC mechanisms to allow processes to
communicate effectively and avoid conflicts
Process Management
Commonly used Commands and Tools for
Managing Processes:
PS - Provides information about running processes
TOP - Shows the current state of the system and the processes
running on it
HTOP - An interactive process viewer and system monitor
KILL - Used to terminate a process
RENICE: Used to change the priority of a process
NICE: Used to set the priority of a process at launch
Task Manager (Windows): A graphical user interface for managing
processes
Activity Monitor (macOS): A graphical user interface for managing
processes
MEMORY
MANAGEMENT
What is Memory
Management?
Memory management is the pivotal
process that governs the organization
and coordination of a computer's
primary memory. Its role is to ensure the
efficient allocation of memory resources
to the operating system (OS),
applications, and active processes. This
encompasses tasks such as allocating
memory space based on demand,
managing capacity limitations, and
deallocating memory that is no longer in
use.
Additionally, memory management
employs techniques like virtual memory
to extend available memory space when
necessary. By optimizing memory usage,
this process enhances overall system
performance, allowing the central
processing unit (CPU) to seamlessly
access instructions and data, thus
facilitating the concurrent execution of
multiple processes.
Memory
Management
at Hardware Level.
At the hardware level, it focuses on
physical components like RAM chips and
CPU memory caches (L1, L2, and L3),
overseen primarily by the memory
management unit (MMU). The MMU
translates logical addresses to physical
ones, crucial for efficient memory
utilization. It's typically integrated into the
processor or deployed as a separate
circuit. These levels collaborate to
optimize memory availability and
efficiency.
Memory
Management
at OS level.
Memory management at the OS
level involves the allocation (and
constant reallocation) of specific
memory blocks to individual processes
as the demands for CPU resources
change. To accommodate the allocation
process, the OS continuously moves
processes between memory and storage
devices (hard disk or SSD), while tracking
each memory location and its allocation
status.
The Operating system (OS) plays a crucial role in determining process
memory allocation and timing. It employs techniques like swapping to
manage memory efficiently. Swapping involves temporarily moving a
process from main memory to secondary storage to free up memory for
other processes. The OS then reinstates the original process into
memory when necessary. Memory management operates across
hardware, OS, and program/application levels, synergizing to enhance
memory availability and efficiency.
The OS is also responsible for handling processes when the computer
runs out of physical memory space. When that happens, the OS turns to
virtual memory, a type of pseudo-memory allocated from a storage drive
that's been set up to emulate the computer's main memory. If memory
demand exceeds the physical memory's capacity, the OS can
automatically allocate virtual memory to a process as it would physical
memory. However, the use of virtual memory can impact application
performance because secondary storage is much slower than a
computer's main memory.
Memory Management at the
Program/Application Level
Memory management at this level is implemented during
the application development process and controlled by the
application itself, rather than being managed centrally by the
OS or MMU. This type of memory management ensures the
availability of adequate memory for the program's objects and
data structures. It achieves this by combing two related tasks:
Allocation
When the program requests memory for an object or data
structure, the memory is allocated to that component until it is
explicitly freed up. The allocation process might be manual or
automatic. If manual, the developer must explicitly program
that allocation into the code. If the process is automatic, a
memory manager handles the allocation, using a component
called an allocator to assign the necessary memory to the
object. The memory manager might be built into the
programming language or available as a separate language
module
Recycling
When a program no longer needs the memory
space that has been allocated to an object or data
structure, that memory is released for
reassignment. This task can be done manually by
the programmer or automatically by the memory
manager, a process often called garbage
collection.
FILE
MANAGEMENT
File Management in
Operating System
File management in an operating system refers to the
processes and techniques involved in creating, organizing,
accessing, manipulating, and controlling files stored on
storage devices. It includes tasks such as file creation, deletion,
naming, classification, and access control.
Importance of
File management
File management is essential for maintaining an organized
and efficient file system. It ensures the availability, integrity,
and security of files, optimizes storage space utilization,
facilitates data sharing, and enables efficient data retrieval and
processing.
Types of
File Management
The different types of file organization techniques include
sequential file management, indexed file management, and
direct file management. Sequential files store data in a
sequential manner, indexed files use an index structure for
efficient access, and direct files allow random access to any
part of the file.
Management
and Permissions
File permissions and access control are managed through
access control lists (ACLs) or permission settings in the
operating system. Administrators can set permissions to
regulate who can read, write, or execute files, ensuring data
security and preventing unauthorized access.
Advantages of
Distributed File System
Distributed file systems enable files to be stored across
multiple networked devices or servers. They provide
transparent access to files from different locations, improve
fault tolerance, enhance scalability, and facilitate data sharing
and collaboration in distributed computing environments.
Backups and Recovery
File management systems typically incorporate
mechanisms for file backup and recovery. This may
involve periodic backups to external storage, data
replication for redundancy, and file system journaling
to log changes and enable quick recovery in case of
system failures or data corruption.
Handling File Conflicts
File management systems employ various
strategies to handle file conflicts, such as file locking
mechanisms. These mechanisms prevent multiple
users or processes from modifying a file
simultaneously, ensuring data consistency and
avoiding conflicts that can lead to data corruption.
INPUT & OUTPUT
SYSTEM MANAGEMENT
INPUT & OUTPUT
SYSTEM MANAGEMENT

A crucial aspect of computer systems that manages the


flow of information between the central processing unit (CPU)
and various external devices. It is a fundamental mechanism that
enables the exchange of data and instructions between the
computer and its peripheral devices, such as keyboards, mice,
printers, scanners, and storage devices.
INPUT & OUTPUT
SYSTEM MANAGEMENT
Operates through a combination of hardware and
software components. The hardware component includes the
physical connectors, cables, and controllers that facilitate the
transmission of data between the computer and external devices.
On the other hand, the software component involves the
implementation of protocols, drivers, and operating system
routines that govern the interaction between the CPU and
peripherals.
KEY ASPECTS OF
INPUT & OUTPUT
SYSTEM MANAGEMENT
KEY ASPECTS

Device Drivers - Software components that serve


as a bridge between hardware devices and the
operating system. They offer a uniform interface via
which the operating system can interact with
various kinds of devices. Device drivers are
necessary to handle the complexities of various
hardware setups.
KEY ASPECTS

Buffering - Use temporary storage areas (buffers)


to keep data while performing I/O operations is
known as buffering. This offers a more effective
means of handling data transfers and aids in the
management of speed disparities between the
CPU and I/O devices. It is possible to employ
buffers for both input and output operations.
KEY ASPECTS

Interrupt Handling - When a hardware device


requires attention or when an I/O operation is
complete, interrupts are generated to notify the
CPU. The operating system needs to handle these
interrupts efficiently to ensure timely processing of
I/O requests.
KEY ASPECTS

I/O Scheduling - Involves determining the order in


which multiple I/O requests are serviced. Different
algorithms are employed to optimize the use of
resources and reduce delays in processing I/O
operations.
KEY ASPECTS

Error Handling - The I/O system must be equipped


to handle errors that may occur during data
transfers or device interactions. This includes error
detection, reporting, and recovery mechanisms to
maintain the integrity and reliability of I/O
operations.
KEY ASPECTS

Direct Memory Access (DMA) - A technique that


allows peripherals to transfer data directly to and
from memory without involving the CPU. This can
significantly improve overall system performance
by offloading data transfer tasks from the CPU.
KEY ASPECTS

Logical Device Independence - The I/O system


abstracts the physical characteristics of devices
from the application programs, providing a logical
device independence. This allows applications to
interact with devices using a standardized
interface, making it easier to develop software that
can work with various types of hardware.
SECONDARY
STORAGE
MANAGEMENT
What is Secondary Storage
Management?
A classical feature of database management
systems. It is usually supported through a set of
mechanisms. These include index management, data
clustering, data buffering, access path selection and
query optimization.
What is Secondary Storage ?
Secondary storage devices are those devices whose memory is non volatile,
meaning, the stored data will be intact even if the system is turned off.

Here are a few things worth noting about secondary storage.


Secondary storage is also called auxiliary storage.
Secondary storage is less expensive when compared to primary memory like
RAMs.
The speed of the secondary storage is also lesser than that of primary storage.
The main purpose of a computer system is to execute programs. These
programs, together with the data they access, must be in main memory during
execution. Since the main memory is too small to permanently accommodate all
data and program, the computer system must provide secondary storage to
backup the main memory.
Most modern computer systems use disks as the principle on-line storage
medium, for both programs and data. Most programs, like compilers, assemblers,
sort routines, editors, formatters, and so on, are stored on the disk until loaded into
memory, and then use the disk as both the source and destination of their
processing.

The operating system is responsible for the following


activities in connection with disk management:
Free space management
Storage allocation
Disk scheduling
THANK YOU FOR
LISTENING!
https://edu.gcfglobal.org/en/computerbasics/understanding-
operating-systems/1/
https://www.britannica.com/technology/operating-system
https://www.mygreatlearning.com/blog/what-is-operating-
system/
https://www.techtarget.com/whatis/definition/operating-
system-OS

References
https://startup-house.com/inventory/input-output-control
https://www.tutorialspoint.com/operating_system/os_compon
ents.htm
https://www.prepbytes.com/blog/operating-system/file-
management-in-operating-
system/#:~:text=A%3A%20File%20management%20in%20an,%
2C%20classification%2C%20and%20access%20control.
https://www.techtarget.com/whatis/definition/memory-
management#:~:text=Memory%20management%20is%20the
%20process,to%20carry%20out%20their%20operations.
https://www.prepbytes.com/blog/operating-system/file-
management-in-operating-
system/#:~:text=A%3A%20File%20management%20in%20an,%
2C%20classification%2C%20and%20access%20control.

You might also like