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

Operating System

The document provides an overview of the evolution of operating systems from early systems designed for batch processing to modern operating systems optimized for cloud environments. It traces major developments like the introduction of graphical user interfaces, networked systems, mobile operating systems, and changes in user requirements that have shaped operating systems. The document also discusses the importance of operating systems in facilitating communication between users and computers and controlling computer functions.

Uploaded by

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

Operating System

The document provides an overview of the evolution of operating systems from early systems designed for batch processing to modern operating systems optimized for cloud environments. It traces major developments like the introduction of graphical user interfaces, networked systems, mobile operating systems, and changes in user requirements that have shaped operating systems. The document also discusses the importance of operating systems in facilitating communication between users and computers and controlling computer functions.

Uploaded by

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

Operating

System

STUDENT’S NAME
Daniyal Aqil BSCS
193 (E) 5TH Semester
Submitted to;
Arslan Tariq
Activity 1

a) Investigate the evolution of Operating Systems providing details on the


major changes to different systems

Operating systems (OS) have undergone a significant evolution since the


inception of modern computing. This report aims to investigate the
evolutionary journey of operating systems, tracing the major changes and
developments across various systems. By examining pivotal milestones,
technological advancements, and shifts in user requirements, this report
provides a comprehensive understanding of the transformation of operating
systems from their nascent stages to their current state.

Early Operating Systems:


The emergence of early operating systems, such as GM-NAA I/O, IAS, and
CTSS, paved the way for the development of more sophisticated systems.
These initial systems were primarily designed for batch processing and time-
sharing, laying the groundwork for subsequent advancements in computing.

Mainframe Era and Minicomputers:


The 1960s and 1970s saw the rise of mainframe computers and
minicomputers, leading to the development of operating systems like IBM's
OS/360 and UNIX. These systems introduced the concept of virtual memory,
multiprocessing, and time-sharing, marking a significant leap in the
capabilities of operating systems.

Graphical User Interface (GUI) Revolution:

2
REPORT TITLE
The 1980s witnessed a transformative shift with the introduction of GUI-
based operating systems. Apple's Macintosh System Software and Microsoft's
Windows 1.0 were instrumental in popularizing the use of graphical
interfaces, enabling users to interact with computers through icons, windows,
and a mouse-driven interface.

The Era of Networked Systems:


With the proliferation of networking technologies in the 1990s, operating
systems began to prioritize connectivity and network management. Novell
NetWare and Microsoft's Windows NT emerged as prominent network
operating systems, facilitating seamless communication and data sharing
across interconnected systems.

Mobile Operating Systems:


The late 20th century witnessed the rise of mobile computing, leading to the
development of specialized operating systems for handheld devices. Systems
such as Palm OS, Windows CE, and Symbian OS laid the foundation for
contemporary mobile operating systems like iOS and Android, revolutionizing
the way users interacted with mobile devices.

Modern Operating Systems and Cloud Computing:


In the 21st century, operating systems have evolved to meet the demands of a
highly interconnected world. Systems such as Microsoft Windows, macros,
and various Linux distributions have expanded to support a wide array of
applications and services. Moreover, the advent of virtualization and cloud
computing has led to the development of specialized operating systems
optimized for cloud environments, enabling scalable and efficient computing
solutions

Discuss the importance of Operating


Systems
The software that serves as an interface between the user and the hardware
components of your computer is called an operating system, or OS. An

3
REPORT TITLE
operating system is a necessity for any computer, be it a video game console,
a desktop or laptop, or a smartphone.

Programs that run and carry out tasks, such as browsers, notepads, Microsoft
Office, games, etc., require an environment. The operating system facilitates
communication between you and the computer. Without an operating system,
no computer or mobile device can function.

According to this, the operating system has developed over time and has turned
into a very useful tool. You do not notice it because it is universal and common; it
just functions. Your computer's and laptops' operating system is the fundamental
component that powers your everyday existence.

The operating system (OS) can be found everywhere: in cars, in smart devices, and
even in your mobile phones.
Due to the widespread use of technology, everyone has become familiar with the
most common operating system (OS): macros, also known as Windows.
Despite having distinctively different functions, these operating systems offer
largely comparable services to their users. In light of this, spending some time
learning about the significance of an operating system can help guarantee that you
have the knowledge necessary to select the ideal computer for your requirements.

An operating system controls almost every element of the user experience at its
most basic level. The operating system (OS) is essential to the operation of your
computer from the first second you turn it on to the very last second before it shuts
down.

Activity 2

a) Process management (Algorithms and Security)


b) Memory management (Algorithms and Security)

4
REPORT TITLE
c) Job scheduling capabilities (Algorithms and
Security)
d) File management (Algorithms and Security)

Process Management:

Algorithms:
Operating systems employ various algorithms for process management, including
the creation, execution, and termination of processes. Notable algorithms include
First-Come, First-Served (FCFS), Shortest Job Next (SJN), and Round Robin, each
catering to specific priorities and requirements. Additionally, preemptive and non-
preemptive scheduling algorithms such as Priority Scheduling and Multilevel
Queue Scheduling are utilized to optimize the utilization of CPU resources.

Security:
Process isolation and protection mechanisms are integral to the security of the
system. OS implements techniques such as process permissions, memory
protection, and access control lists to ensure that processes operate within
designated boundaries, preventing unauthorized access and interference between
processes.

*b) Memory Management:

Algorithms:
Memory management in operating systems involves the allocation and deallocation
of memory space for processes and data. Key algorithms include Paging,
Segmentation, and Virtual Memory, which enable efficient memory allocation,
addressing fragmentation issues, and maximizing the utilization of available
memory resources.

5
REPORT TITLE
Security:
Memory protection mechanisms are crucial in preventing unauthorized access and
manipulation of memory content. Techniques such as address space layout
randomization (ASLR), data execution prevention (DEP), and memory protection
keys are implemented to safeguard sensitive data and prevent malicious attacks that
exploit vulnerabilities within the memory space.

c) Job Scheduling Capabilities:

Algorithms:
Job scheduling algorithms are pivotal in determining the order and priority of tasks
to be executed. Operating systems utilize algorithms like First-Come, First-Served
(FCFS), Shortest Job Next (SJN), and Priority Scheduling to optimize job
execution, minimize response times, and ensure fair resource allocation for different
processes.

Security:
Job scheduling security involves ensuring that critical tasks are executed securely
and efficiently. The implementation of access controls, authentication protocols,
and secure communication channels helps in safeguarding sensitive job data and
preventing unauthorized access or tampering during job execution.

d) File Management:

*Algorithms:
Operating systems utilize various file management algorithms, such as File
Allocation Table (FAT), Indexed Allocation, and Linked Allocation, to organize
and manage file storage efficiently. These algorithms facilitate file creation,
deletion, and retrieval, ensuring data integrity and efficient access to stored
information.

Security:
File management security mechanisms involve access control and encryption to
protect sensitive data from unauthorized access and manipulation. Techniques like
access control lists (ACLs), file permissions, and encryption protocols are
employed to ensure the confidentiality, integrity, and availability of data stored
within the file system.
6
REPORT TITLE
Activity 3

You should further improve your analysis report by providing a


critical evaluation and accompanying diagram to further explain how
an operating system manages resources

Certainly, managing resources is a fundamental aspect of any operating system.


Operating systems play a crucial role in ensuring that hardware resources are
utilized efficiently, and processes are executed smoothly. Below is a critical
evaluation of how an operating system manages resources, along with an
accompanying diagram for a better understanding.

Critical Evaluation:

Operating systems use various techniques to manage resources effectively. Some of


the key strategies include process scheduling, memory management, file
management, and device management.

1. Process Scheduling:
The operating system employs various scheduling algorithms (such as First-
Come-First-Serve, Shortest Job Next, Round Robin, etc.) to determine the
order in which processes should be executed. This helps in maximizing CPU
utilization and ensuring fair allocation of resources to different processes.

2. Memory Management:

The OS handles memory allocation and deallocation to ensure that each


process has sufficient memory to execute without interfering with other
processes. Techniques like virtual memory and paging allow efficient usage of
physical memory, enabling the system to handle more processes
simultaneously.

7
REPORT TITLE
3. File Management:
The OS manages files on storage devices, ensuring data integrity and efficient
access. This involves organizing data into files, directories, and maintaining
file access permissions. File management also includes handling file system
structures, such as allocation methods (like FAT, NTFS, or EXT4) and
managing disk space allocation.

4. Device Management:
The OS controls the interaction between peripheral devices and the computer
system. It handles device drivers, which act as intermediaries between hardware
devices and the OS, enabling communication and data transfer. Techniques like
buffering and spooling ensure efficient device management, preventing
bottlenecks and improving overall system performance.

However, despite these efficient resource management techniques, operating


systems may face challenges such as resource contention, deadlock, and race
conditions, which can impact system performance and stability. Ensuring proper
synchronization and coordination among different processes and devices is crucial
to prevent these issues.

Diagram:

Here is a simplified diagram illustrating how an operating system manages


resources:

+------------------------------------+
| Operating System |
+------------------------------------+
| Process Management |
| Memory Management |
| File Management |
| Device Management |
+------------------------------------+

8
REPORT TITLE
The diagram demonstrates that the operating system serves as a central entity
overseeing various resource management functions, including process, memory,
file, and device management. These components work in tandem to ensure efficient
resource allocation and utilization, thereby enabling the smooth functioning of the
overall system.

In conclusion, a well-designed operating system employs various resource


management techniques to ensure optimal utilization of hardware resources and
smooth execution of processes. However, it is essential to address potential
challenges to maintain system stability and performance.

9
REPORT TITLE
10
REPORT TITLE

You might also like